| STRT | FC | FA | YC | RC | G | A | SHOT | SOG | OFF | |
|---|---|---|---|---|---|---|---|---|---|---|
| 2025-26 Scottish Cup JSB | 0 | 3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Includes finals, playoffs and exhibition games, so totals run higher than regular-season figures.
| Season | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2022-23 Scottish PremiershipKilmarnock | 12 | 1 | – | – | – | 599 | – | – | – | – | – | – | – | – | – | – |
| 2022 UEFA Nations LeagueNorthern Ireland | 4 | 0 | 0 | 5 | 1 | 255 | 0 | 0 | 0 | 4 | 1 | 2 | 2 | 0 | 5 | 0 |
| 2021 International FriendlyNorthern Ireland | 2 | 0 | 1 | 3 | 0 | 119 | 0 | 0 | 0 | 2 | 1 | 4 | 1 | 0 | 2 | 0 |
| 2020-21 Scottish PremiershipKilmarnock | 9 | 6 | – | – | – | 732 | – | – | – | – | – | – | – | – | – | – |
| 2020 UEFA Nations LeagueNorthern Ireland | 2 | 0 | 1 | 0 | 0 | 74 | 0 | 0 | 1 | 2 | 1 | 3 | 2 | 0 | 1 | 0 |
| 2018-19 Scottish PremiershipHeart of Midlothian / Rangers | 23 | 5 | – | – | – | 860 | – | – | – | – | – | – | – | – | – | – |
| 2018-19 UEFA Europa LeagueRangers | 5 | 1 | 0 | 2 | 2 | 178 | 0 | 0 | 2 | 3 | 2 | 3 | 2 | 0 | 3 | 0 |
| 2018 UEFA Nations LeagueNorthern Ireland | 2 | 0 | 0 | 3 | 1 | 85 | 0 | 0 | 0 | 2 | 1 | 3 | 2 | 0 | 3 | 0 |
| 2016-17 EFL ChampionshipNorwich City | 12 | 1 | 0 | 2 | 1 | 113 | 1 | 0 | 0 | 12 | 12 | 3 | 3 | 0 | 5 | 0 |
| 2015-16 Premier LeagueNorwich City | 1 | 0 | 0 | 0 | 0 | 13 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| 2011-12 UEFA Europa LeagueRangers | 2 | 0 | 0 | 7 | 6 | 134 | 1 | 0 | 0 | 1 | 0 | 2 | 0 | 0 | 1 | 0 |
| 2010-11 UEFA Europa LeagueRangers | 4 | 0 | 0 | 8 | 4 | 255 | 2 | 0 | 6 | 4 | 1 | 4 | 1 | 0 | 3 | 0 |
| 2010-11 UEFA Champions LeagueRangers | 4 | 0 | 0 | 1 | 0 | 20 | 0 | 0 | 0 | 4 | 4 | 2 | 0 | 0 | 1 | 0 |
| 2009-10 UEFA Champions LeagueRangers | 4 | 0 | 1 | 7 | 0 | 266 | 2 | 0 | 2 | 4 | 2 | 10 | 1 | 1 | 6 | 0 |
| 2008-09 UEFA Champions LeagueRangers | 1 | – | – | – | – | 1 | – | – | – | – | – | – | – | – | – | – |
| Career15 seasons | 87 | 14 | 3 | 38 | 15 | 3,704 | 6 | 0 | 11 | 39 | 26 | 36 | 14 | 1 | 30 | 0 |
| Game | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 29 Jan @ Ross CountyL 0-3 29 Jan | – | – | – | – | 14 | – | – | – | – | – | – | – | – | – | – |
| 19 Jan v RangersL 2-3 19 Jan | – | – | – | – | 10 | – | – | – | – | – | – | – | – | – | – |
| 16 Oct @ St MirrenD 0-0 16 Oct | – | – | – | – | 70 | – | – | – | – | – | – | – | – | – | – |
| 10 Oct v Heart of MidlothianD 2-2 10 Oct | 1 | – | – | – | 67 | – | – | – | – | – | – | – | – | – | – |
| 6 Oct v St JohnstoneW 2-1 6 Oct | – | – | – | – | 65 | – | – | – | – | – | – | – | – | – | – |
| 18 Sept @ LivingstonL 0-1 18 Sept | – | – | – | – | 8 | – | – | – | – | – | – | – | – | – | – |
| 4 Sept @ HibernianL 0-1 4 Sept | – | – | – | – | 23 | – | – | – | – | – | – | – | – | – | – |
| 28 Aug v MotherwellW 2-1 28 Aug | – | – | – | – | 76 | – | – | – | – | – | – | – | – | – | – |
| 21 Aug @ Ross CountyL 0-1 21 Aug | – | – | – | – | 45 | – | – | – | – | – | – | – | – | – | – |
| 14 Aug v CelticL 0-5 14 Aug | – | – | – | – | 79 | – | – | – | – | – | – | – | – | – | – |
| 7 Aug @ RangersL 0-2 7 Aug | – | – | – | – | 75 | – | – | – | – | – | – | – | – | – | – |
| 31 July v Dundee UnitedD 1-1 31 July | – | – | – | – | 67 | – | – | – | – | – | – | – | – | – | – |
| Split | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HomeHome or away · won 13 of 24 | 24 | 0.3 | – | – | – | 51.0 | – | – | – | – | – | – | – | – | – | – |
| AwayHome or away · won 6 of 20 | 20 | 0.2 | – | – | – | 48.4 | – | – | – | – | – | – | – | – | – | – |
| WinsResult | 19 | 0.3 | – | – | – | 42.1 | – | – | – | – | – | – | – | – | – | – |
| LossesResult | 14 | 0.1 | – | – | – | 49.4 | – | – | – | – | – | – | – | – | – | – |
| DrawsResult | 11 | 0.5 | – | – | – | 63.6 | – | – | – | – | – | – | – | – | – | – |
| Regular seasonStage · won 19 of 44 | 44 | 0.3 | – | – | – | 49.8 | – | – | – | – | – | – | – | – | – | – |
| Heart of MidlothianOpponent · won 4 of 5 | 5 | 0.2 | – | – | – | 18.6 | – | – | – | – | – | – | – | – | – | – |
| MotherwellOpponent · won 3 of 5 | 5 | 0.6 | – | – | – | 76.0 | – | – | – | – | – | – | – | – | – | – |
| Hamilton AcademicalOpponent · won 4 of 4 | 4 | 0.3 | – | – | – | 51.3 | – | – | – | – | – | – | – | – | – | – |
| Ross CountyOpponent · won 0 of 4 | 4 | 0.3 | – | – | – | 59.8 | – | – | – | – | – | – | – | – | – | – |
| St JohnstoneOpponent · won 3 of 4 | 4 | 0.3 | – | – | – | 35.0 | – | – | – | – | – | – | – | – | – | – |
| CelticOpponent · won 1 of 3 | 3 | 0.3 | – | – | – | 83.3 | – | – | – | – | – | – | – | – | – | – |
| Dundee UnitedOpponent · won 1 of 3 | 3 | 0.7 | – | – | – | 77.7 | – | – | – | – | – | – | – | – | – | – |
| LivingstonOpponent · won 1 of 3 | 3 | – | – | – | – | 45.3 | – | – | – | – | – | – | – | – | – | – |
| St MirrenOpponent · won 1 of 3 | 3 | 0.7 | – | – | – | 55.7 | – | – | – | – | – | – | – | – | – | – |
| AberdeenOpponent · won 0 of 2 | 2 | – | – | – | – | 45.0 | – | – | – | – | – | – | – | – | – | – |
| DundeeOpponent · won 1 of 2 | 2 | – | – | – | – | 57.5 | – | – | – | – | – | – | – | – | – | – |
| HibernianOpponent · won 0 of 2 | 2 | – | – | – | – | 14.0 | – | – | – | – | – | – | – | – | – | – |
| KilmarnockOpponent · won 0 of 2 | 2 | – | – | – | – | 15.0 | – | – | – | – | – | – | – | – | – | – |
| RangersOpponent · won 0 of 2 | 2 | – | – | – | – | 42.5 | – | – | – | – | – | – | – | – | – | – |
| Ibrox Stadium, GlasgowGround · won 8 of 13 | 13 | 0.1 | – | – | – | 32.5 | – | – | – | – | – | – | – | – | – | – |
| The BBSP Stadium, KilmarnockGround · won 3 of 11 | 11 | 0.4 | – | – | – | 66.5 | – | – | – | – | – | – | – | – | – | – |
| Global Energy Stadium, DingwellGround · won 0 of 3 | 3 | 0.3 | – | – | – | 49.7 | – | – | – | – | – | – | – | – | – | – |
| New Douglas Park, HamiltonGround · won 3 of 3 | 3 | 0.3 | – | – | – | 38.3 | – | – | – | – | – | – | – | – | – | – |
| Tynecastle Park, EdinburghGround · won 3 of 3 | 3 | 0.3 | – | – | – | 30.7 | – | – | – | – | – | – | – | – | – | – |
| Fir Park, MotherwellGround · won 0 of 2 | 2 | 1.0 | – | – | – | 90.0 | – | – | – | – | – | – | – | – | – | – |
| Home of the Set Fare Arena, LivingstonGround · won 0 of 2 | 2 | – | – | – | – | 37.0 | – | – | – | – | – | – | – | – | – | – |
| Celtic Park, GlasgowGround · won 0 of 1 | 1 | – | – | – | – | 90.0 | – | – | – | – | – | – | – | – | – | – |
| Dens Park, DundeeGround · won 0 of 1 | 1 | – | – | – | – | 90.0 | – | – | – | – | – | – | – | – | – | – |
| Easter Road, EdinburghGround · won 0 of 1 | 1 | – | – | – | – | 23.0 | – | – | – | – | – | – | – | – | – | – |
| McDiarmid Park, PerthGround · won 1 of 1 | 1 | – | – | – | – | 34.0 | – | – | – | – | – | – | – | – | – | – |
| Pittodrie Stadium, AberdeenGround · won 0 of 1 | 1 | – | – | – | – | 45.0 | – | – | – | – | – | – | – | – | – | – |
| The SMISA Stadium, PaisleyGround · won 0 of 1 | 1 | – | – | – | – | 70.0 | – | – | – | – | – | – | – | – | – | – |
Stats from official league and public sports feeds. Updated hourly.