| STRT | FC | FA | YC | RC | G | A | SHOT | SOG | OFF | |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026-27 Scottish Premiership RAN | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025-26 Scottish Premiership RAN | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2024-25 Scottish Premiership RAN | 10 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2017-18 Scottish Premiership RAN | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| CS | SV | GA | |
|---|---|---|---|
| 2026-27 Scottish Premiership RAN | 0 | 0 | 0 |
| 2025-26 Scottish Premiership RAN | 0 | 0 | 0 |
| 2024-25 Scottish Premiership RAN | 4 | 19 | 10 |
| 2017-18 Scottish Premiership RAN | 0 | 0 | 0 |
Includes finals, playoffs and exhibition games, so totals run higher than regular-season figures.
| Season | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 International FriendlyScotland | 2 | 0 | 0 | 0 | 0 | 58 | 0 | 0 | 3 | 2 | 1 | 0 | 0 | 0 | 1 | 0 |
| 2024-25 Scottish PremiershipRangers | 10 | 0 | 0 | 0 | 0 | 900 | 0 | 0 | 12 | 7 | 0 | 0 | 1 | 0 | 7 | 0 |
| 2024-25 UEFA Europa LeagueRangers | 2 | 0 | 0 | 0 | 0 | 180 | 0 | 0 | 3 | 2 | 0 | 0 | 0 | 0 | 2 | 36 |
| 2023-24 Scottish PremiershipMotherwell | 8 | – | – | – | – | 720 | – | – | – | – | – | – | – | – | – | – |
| 2023 International FriendlyScotland | 1 | – | – | – | – | 45 | – | – | – | – | – | – | – | – | – | – |
| 2022-23 Scottish PremiershipMotherwell | 38 | – | – | – | – | 3,420 | – | – | – | – | – | – | – | – | – | – |
| 2021-22 Scottish PremiershipMotherwell | 38 | – | – | – | – | 3,420 | – | – | – | – | – | – | – | 1 | – | – |
| 2020-21 Scottish PremiershipMotherwell | 18 | – | – | – | – | 1,620 | – | – | – | – | – | – | – | – | – | – |
| 2019-20 EFL ChampionshipQueens Park Rangers | 19 | 0 | 0 | 0 | 0 | 1,710 | 0 | 0 | 48 | 19 | 0 | 1 | 1 | 0 | 29 | 0 |
| 2018-19 Scottish PremiershipLivingston | 36 | – | – | – | – | 3,240 | – | – | – | – | – | – | – | – | – | – |
| Career10 seasons | 172 | 0 | 0 | 0 | 0 | 15,313 | 0 | 0 | 66 | 30 | 1 | 1 | 2 | 1 | 39 | 36 |
| Game | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 30 May v CuraçaoW 4-1 30 May | 0 | 0 | 0 | 0 | 13 | 0 | 0 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
| 1 Apr @ Ivory CoastL 0-1 1 Apr | 0 | 0 | 0 | 0 | 45 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0 |
Stats from official league and public sports feeds. Updated hourly.
| Split | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| AwayHome or away, 0W | 2 | 0.0 | 0.0 | 0.0 | 0.0 | 45.0 | 0.0 | 0.0 | 0.5 | 0.5 | 0.0 | 0.0 | 0.0 | 0.0 | 0.5 | 0.0 |
| HomeHome or away, 1W | 1 | 0.0 | 0.0 | 0.0 | 0.0 | 13.0 | 0.0 | 0.0 | 2.0 | 1.0 | 1.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| LossesResult, 0W | 2 | 0.0 | 0.0 | 0.0 | 0.0 | 45.0 | 0.0 | 0.0 | 0.5 | 0.5 | 0.0 | 0.0 | 0.0 | 0.0 | 0.5 | 0.0 |
| WinsResult, 1W | 1 | 0.0 | 0.0 | 0.0 | 0.0 | 13.0 | 0.0 | 0.0 | 2.0 | 1.0 | 1.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| Regular seasonStage, 1W | 3 | 0.0 | 0.0 | 0.0 | 0.0 | 34.3 | 0.0 | 0.0 | 1.0 | 0.7 | 0.3 | 0.0 | 0.0 | 0.0 | 0.3 | 0.0 |
| CuraçaoOpponent, 1W | 1 | 0.0 | 0.0 | 0.0 | 0.0 | 13.0 | 0.0 | 0.0 | 2.0 | 1.0 | 1.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| FranceOpponent, 0W | 1 | – | – | – | – | 45.0 | – | – | – | – | – | – | – | – | – | – |
| Ivory CoastOpponent, 0W | 1 | 0.0 | 0.0 | 0.0 | 0.0 | 45.0 | 0.0 | 0.0 | 1.0 | 1.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 |
| Decathlon Arena - Stade Pierre-Mauroy, LilleGround, 0W | 1 | – | – | – | – | 45.0 | – | – | – | – | – | – | – | – | – | – |
| Hampden Park, GlasgowGround, 1W | 1 | 0.0 | 0.0 | 0.0 | 0.0 | 13.0 | 0.0 | 0.0 | 2.0 | 1.0 | 1.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
| Hill Dickinson Stadium, LiverpoolGround, 0W | 1 | 0.0 | 0.0 | 0.0 | 0.0 | 45.0 | 0.0 | 0.0 | 1.0 | 1.0 | 0.0 | 0.0 | 0.0 | 0.0 | 1.0 | 0.0 |