| STRT | FC | FA | YC | RC | G | A | SHOT | SOG | OFF | |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026-27 Scottish Championship MORT | 4 | 0 | 5 | 0 | 0 | 1 | 0 | 3 | 1 | 0 |
| 2025-26 Scottish Championship MORT | 10 | 15 | 9 | 3 | 0 | 2 | 2 | 9 | 2 | 0 |
Includes finals, playoffs and exhibition games, so totals run higher than regular-season figures.
| Season | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2022-23 Scottish PremiershipSt Johnstone | 4 | – | – | – | – | 34 | – | – | – | – | – | – | – | – | – | – |
| 2021-22 Scottish PremiershipSt Johnstone | 21 | 1 | – | – | – | 1,138 | – | – | – | – | – | – | – | – | – | – |
| 2020-21 Scottish PremiershipSt Johnstone | 25 | 1 | – | – | – | 1,089 | – | – | – | – | – | – | – | – | – | – |
| 2019-20 Scottish PremiershipSt Johnstone | 24 | 2 | – | – | – | 1,343 | – | – | – | – | – | – | – | – | – | – |
| 2018-19 Scottish PremiershipSt Johnstone | 14 | 1 | – | – | – | 779 | – | – | – | – | – | – | – | – | – | – |
| 2018-19 A-League MenMelbourne City FC | 1 | 0 | 0 | 0 | 0 | 26 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| 2016-17 UEFA Europa LeagueRangers | 1 | – | – | – | – | 90 | – | – | – | – | – | – | – | – | – | – |
| 2015-16 UEFA Europa LeagueSt Johnstone | 2 | 1 | – | – | – | 180 | – | – | – | – | – | – | – | – | – | – |
| 2014-15 UEFA Europa LeagueSt Johnstone | 1 | – | – | – | – | 11 | – | – | – | – | – | – | – | – | – | – |
| Career9 seasons | 93 | 6 | 0 | 0 | 0 | 4,690 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| Game | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 3 Jan v Dundee UnitedL 0-1 3 Jan | – | – | – | – | 5 | – | – | – | – | – | – | – | – | – | – |
| 6 Oct @ KilmarnockL 1-2 6 Oct | – | – | – | – | 10 | – | – | – | – | – | – | – | – | – | – |
| 21 Aug v AberdeenL 0-1 21 Aug | – | – | – | – | 6 | – | – | – | – | – | – | – | – | – | – |
| 14 Aug @ RangersL 0-4 14 Aug | – | – | – | – | 13 | – | – | – | – | – | – | – | – | – | – |
Stats from official league and public sports feeds. Updated hourly.
| Split | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AwayHome or away · won 8 of 44 | 44 | 0.1 | – | – | – | 54.0 | – | – | – | – | – | – | – | – | – | – |
| HomeHome or away · won 9 of 44 | 44 | 0.0 | – | – | – | 45.6 | – | – | – | – | – | – | – | – | – | – |
| LossesResult | 44 | 0.0 | – | – | – | 47.6 | – | – | – | – | – | – | – | – | – | – |
| DrawsResult | 27 | 0.1 | – | – | – | 47.2 | – | – | – | – | – | – | – | – | – | – |
| WinsResult | 17 | 0.1 | – | – | – | 59.7 | – | – | – | – | – | – | – | – | – | – |
| Regular seasonStage · won 17 of 88 | 88 | 0.1 | – | – | – | 49.8 | – | – | – | – | – | – | – | – | – | – |
| HibernianOpponent · won 2 of 10 | 10 | 0.1 | – | – | – | 72.2 | – | – | – | – | – | – | – | – | – | – |
| LivingstonOpponent · won 3 of 9 | 9 | 0.1 | – | – | – | 51.8 | – | – | – | – | – | – | – | – | – | – |
| AberdeenOpponent · won 2 of 8 | 8 | 0.1 | – | – | – | 42.0 | – | – | – | – | – | – | – | – | – | – |
| MotherwellOpponent · won 1 of 8 | 8 | – | – | – | – | 44.6 | – | – | – | – | – | – | – | – | – | – |
| RangersOpponent · won 0 of 8 | 8 | 0.1 | – | – | – | 38.1 | – | – | – | – | – | – | – | – | – | – |
| Ross CountyOpponent · won 0 of 8 | 8 | – | – | – | – | 29.8 | – | – | – | – | – | – | – | – | – | – |
| CelticOpponent · won 0 of 7 | 7 | – | – | – | – | 44.9 | – | – | – | – | – | – | – | – | – | – |
| KilmarnockOpponent · won 2 of 6 | 6 | 0.2 | – | – | – | 56.8 | – | – | – | – | – | – | – | – | – | – |
| St MirrenOpponent · won 1 of 6 | 6 | – | – | – | – | 58.0 | – | – | – | – | – | – | – | – | – | – |
| Dundee UnitedOpponent · won 1 of 5 | 5 | – | – | – | – | 30.4 | – | – | – | – | – | – | – | – | – | – |
| Hamilton AcademicalOpponent · won 1 of 5 | 5 | – | – | – | – | 41.4 | – | – | – | – | – | – | – | – | – | – |
| DundeeOpponent · won 3 of 4 | 4 | – | – | – | – | 84.5 | – | – | – | – | – | – | – | – | – | – |
| Heart of MidlothianOpponent · won 1 of 4 | 4 | – | – | – | – | 64.8 | – | – | – | – | – | – | – | – | – | – |
| McDiarmid Park, PerthGround · won 9 of 44 | 44 | 0.0 | – | – | – | 45.6 | – | – | – | – | – | – | – | – | – | – |
| Easter Road, EdinburghGround · won 1 of 6 | 6 | 0.2 | – | – | – | 71.2 | – | – | – | – | – | – | – | – | – | – |
| Global Energy Stadium, DingwellGround · won 0 of 5 | 5 | – | – | – | – | 31.6 | – | – | – | – | – | – | – | – | – | – |
| Fir Park, MotherwellGround · won 0 of 4 | 4 | – | – | – | – | 41.8 | – | – | – | – | – | – | – | – | – | – |
| Home of the Set Fare Arena, LivingstonGround · won 1 of 4 | 4 | – | – | – | – | 49.3 | – | – | – | – | – | – | – | – | – | – |
| New Douglas Park, HamiltonGround · won 1 of 4 | 4 | – | – | – | – | 50.8 | – | – | – | – | – | – | – | – | – | – |
| The BBSP Stadium, KilmarnockGround · won 1 of 4 | 4 | 0.3 | – | – | – | 57.0 | – | – | – | – | – | – | – | – | – | – |
| Celtic Park, GlasgowGround · won 0 of 3 | 3 | – | – | – | – | 60.3 | – | – | – | – | – | – | – | – | – | – |
| Pittodrie Stadium, AberdeenGround · won 2 of 3 | 3 | 0.3 | – | – | – | 54.7 | – | – | – | – | – | – | – | – | – | – |
| The SMISA Stadium, PaisleyGround · won 0 of 3 | 3 | – | – | – | – | 48.7 | – | – | – | – | – | – | – | – | – | – |
| Tynecastle Park, EdinburghGround · won 1 of 3 | 3 | – | – | – | – | 70.3 | – | – | – | – | – | – | – | – | – | – |
| CalForth Construction Arena at Tannadice Park, DundeeGround · won 1 of 2 | 2 | – | – | – | – | 61.0 | – | – | – | – | – | – | – | – | – | – |
| Ibrox Stadium, GlasgowGround · won 0 of 2 | 2 | – | – | – | – | 40.5 | – | – | – | – | – | – | – | – | – | – |
| Dens Park, DundeeGround · won 0 of 1 | 1 | – | – | – | – | 90.0 | – | – | – | – | – | – | – | – | – | – |