 
          | Season | League | Team | A | G | Assists | Y/YR/R | MP | 
|---|---|---|---|---|---|---|---|
| 2020/2021 | Premiership Play-Offs |  Dunfermline Athletic | 2 | 0 | 0 | 1/0/0 | 180 | 
| 2020/2021 | Scottish Cup |  Dunfermline Athletic | 1 | 0 | 0 | 0/0/0 | 0 | 
| 2020/2021 | League Cup |  Dunfermline Athletic | 3 | 0 | 0 | 1/0/0 | 256 | 
| 2020/2021 | Championship |  Dunfermline Athletic | 18 | 0 | 0 | 6/0/0 | 1276 | 
| 2019/2020 | Scottish Cup |  Hibernian | 4 | 0 | 0 | 0/0/0 | 330 | 
| 2019/2020 | League Cup |  Hibernian | 4 | 0 | 0 | 0/0/0 | 286 | 
| 2019/2020 | Premiership |  Hibernian | 7 | 0 | 0 | 1/1/0 | 449 | 
| 2018/2019 | League Cup |  Hibernian | 2 | 0 | 0 | 1/0/0 | 59 | 
| 2018/2019 | Europa League |  Hibernian | 4 | 0 | 0 | 0/0/0 | 225 | 
| 2018/2019 | Premiership |  Hibernian | 13 | 0 | 0 | 1/0/0 | 475 | 
| 2018/2019 | Scottish Cup |  Hibernian | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2017/2018 | Premiership |  Hibernian | 26 | 2 | 1 | 6/0/0 | 1802 | 
| 2017 | League Cup |  Hibernian | 1 | 0 | 1 | 0/0/0 | 121 | 
| 2016/2017 | FA Cup |  Norwich City | 1 | 1 | 1 | 0/0/0 | 90 | 
| 2016/2017 | Carabao Cup |  Norwich City | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2016/2017 | Championship |  Norwich City | 12 | 0 | 1 | 2/0/0 | 838 | 
| 2015/2016 | Premier League |  Norwich City | 8 | 1 | 0 | 2/1/0 | 661 | 
| 2015/2016 | Carabao Cup |  Norwich City | 1 | 0 | 0 | 0/0/0 | 0 | 
| 2014/2015 | Championship |  Norwich City | 40 | 2 | 5 | 3/0/0 | 3526 | 
| 2013/2014 | Premier League |  Norwich City | 20 | 1 | 1 | 3/0/0 | 1421 | 
| 2013/2014 | FA Cup |  Norwich City | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2013/2014 | Carabao Cup |  Norwich City | 3 | 1 | 0 | 0/0/0 | 0 | 
| 2012/2013 | Premier League |  Norwich City | 13 | 1 | 0 | 0/0/0 | 1046 | 
| 2011/2012 | Premiership |  Rangers | 25 | 2 | 0 | 5/0/0 | 2192 | 
| 2011/2012 | Champions League |  Rangers | 2 | 0 | 0 | 0/0/1 | 108 | 
| 2010/2011 | Scottish Cup |  Rangers | 3 | 2 | 0 | 1/1/0 | 0 | 
| 2010/2011 | League Cup |  Rangers | 3 | 0 | 0 | 0/0/0 | 0 | 
| 2010/2011 | Premiership |  Rangers | 30 | 1 | 0 | 1/0/0 | 0 | 
| 2010/2011 | Champions League |  Rangers | 6 | 0 | 1 | 1/0/0 | 540 | 
| 2010/2011 | Europa League |  Rangers | 4 | 1 | 0 | 0/0/0 | 360 | 
| 2009/2010 | Premiership |  Rangers | 34 | 4 | 0 | 3/0/0 | 2902 | 
| 2009/2010 | Champions League |  Rangers | 6 | 0 | 0 | 0/0/0 | 540 | 
| 2009/2010 | Scottish Cup |  Rangers | 5 | 3 | 0 | 1/0/0 | 480 | 
| 2009/2010 | League Cup |  Rangers | 4 | 1 | 0 | 2/0/0 | 0 | 
| 2008/2009 | Champions League |  Rangers | 2 | 0 | 0 | 0/0/0 | 180 | 
| 2008/2009 | Premiership |  Rangers | 23 | 1 | 0 | 3/0/0 | 1726 | 
| 2008/2009 | Scottish Cup |  Rangers | 4 | 1 | 0 | 1/0/0 | 0 | 
| 2007/2008 | Champions League |  Rangers | 4 | 0 | 0 | 0/0/0 | 278 | 
| 2007/2008 | Premiership |  Rangers | 6 | 2 | 0 | 1/1/0 | 540 | 
| 2007/2008 | Scottish Cup |  Rangers | 4 | 0 | 0 | 1/0/0 | 0 | 
| 2007/2008 | Europa League |  Rangers | 3 | 1 | 0 | 0/0/0 | 0 | 
| Total: | 356 | 28 | 11 | 47/4/1 | 22977 | 
| Season | League | Team | A | G | Assists | Y/YR/R | MP | 
|---|---|---|---|---|---|---|---|
| 2017 | Friendly International |  Scotland | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2016 | Euro Qualification |  Scotland | 4 | 0 | 0 | 0/0/0 | 360 | 
| 2016 | Friendly International |  Scotland | 1 | 0 | 0 | 0/0/0 | 90 | 
| 2015 | Friendly International |  Scotland | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2014 | Euro Qualification |  Scotland | 5 | 0 | 0 | 2/0/0 | 0 | 
| 2013 | Friendly International |  Scotland | 3 | 0 | 0 | 0/0/0 | 0 | 
| 2012 | Euro Qualification |  Scotland | 4 | 0 | 0 | 2/1/0 | 0 | 
| 2011 | Friendly International |  Scotland | 2 | 0 | 0 | 1/0/0 | 0 | 
| 2010 | Friendly International |  Scotland | 2 | 0 | 0 | 0/0/0 | 0 | 
| 2010 | World Cup Qualification Europe |  Scotland | 3 | 0 | 0 | 0/0/0 | 177 | 
| 2009 | Friendly International |  Scotland | 1 | 0 | 0 | 0/0/0 | 90 | 
| World Cup Qualification Europe |  Scotland | 4 | 0 | 0 | 2/0/0 | 350 | |
| Total: | 32 | 0 | 0 | 7/1/0 | 1157 |