| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2017-2018 | 19 | Carlisle United | eng ENG | FA Cup | 5 | 5 | 393 | 4.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 19 | Carlisle United | eng ENG | 4. League Two | 27 | 27 | 2,165 | 24.1 | 0 | 3 | 3 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.12 | 0.12 | 0.00 | 0.12 | Matches |
| 2018-2019 | 20 | Millwall | eng ENG | 2. Championship | 0 | 0 | Matches | |||||||||||||||
| 2018-2019 | 20 | Millwall | eng ENG | FA Cup | 0 | 0 | Matches | |||||||||||||||
| 2018-2019 | 20 | Lincoln City | eng ENG | 4. League Two | 0 | 0 | Matches | |||||||||||||||
| 2018-2019 | 20 | Livingston | sct SCO | 1. Premiership | 1 | 1 | 59 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 21 | Millwall | eng ENG | 2. Championship | 1 | 1 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 21 | Millwall | eng ENG | FA Cup | 2 | 1 | 98 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 22 | Millwall | eng ENG | 2. Championship | 0 | 0 | Matches | |||||||||||||||
| 2020-2021 | 22 | St Johnstone | sct SCO | 1. Premiership | 5 | 4 | 368 | 4.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 23 | St Johnstone | sct SCO | 1. Premiership | 22 | 16 | 1,492 | 16.6 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | Matches |
| 2022-2023 | 24 | St Johnstone | sct SCO | 1. Premiership | 26 | 23 | 1,937 | 21.5 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | Matches |
| 2023-2024 | 25 | Raith Rovers | sct SCO | 2. Championship | 12 | 11 | 928 | 10.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 25 | St Johnstone | sct SCO | 1. Premiership | 11 | 8 | 749 | 8.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 7 Seasons | 6 Clubs | 5 Leagues | 112 | 97 | 8,249 | 91.7 | 1 | 4 | 5 | 1 | 0 | 0 | 9 | 0 | 0.01 | 0.04 | 0.05 | 0.01 | 0.05 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| St Johnstone (4 Seasons) | 1 League | 64 | 51 | 4,546 | 50.5 | 1 | 1 | 2 | 1 | 0 | 0 | 8 | 0 | 0.02 | 0.02 | 0.04 | 0.02 | 0.04 | ||||
| Millwall (3 Seasons) | 2 Leagues | 3 | 2 | 158 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Carlisle United (1 Season) | 2 Leagues | 32 | 32 | 2,558 | 28.4 | 0 | 3 | 3 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.11 | 0.11 | 0.00 | 0.11 | ||||
| Raith Rovers (1 Season) | 1 League | 12 | 11 | 928 | 10.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Livingston (1 Season) | 1 League | 1 | 1 | 59 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Lincoln City (1 Season) | 1 League | 0 | 0 | |||||||||||||||||||
| Premiership (5 Seasons) | 65 | 52 | 4,605 | 51.2 | 1 | 1 | 2 | 1 | 0 | 0 | 8 | 0 | 0.02 | 0.02 | 0.04 | 0.02 | 0.04 | |||||
| FA Cup (3 Seasons) | 7 | 6 | 491 | 5.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Championship (3 Seasons) | 1 | 1 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| League Two (2 Seasons) | 27 | 27 | 2,165 | 24.1 | 0 | 3 | 3 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.12 | 0.12 | 0.00 | 0.12 | |||||
| Championship (1 Season) | 12 | 11 | 928 | 10.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2017-2018 | 19 | Carlisle United | 2 Leagues | 32 | 32 | 2,558 | 28.4 | 0 | 3 | 3 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.11 | 0.11 | 0.00 | 0.11 | |
| 2018-2019 | 20 | Livingston | 1 League | 1 | 1 | 59 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2018-2019 | 20 | Lincoln City | 1 League | 0 | 0 | ||||||||||||||||
| 2018-2019 | 20 | Millwall | 2 Leagues | 0 | 0 | ||||||||||||||||
| 2019-2020 | 21 | Millwall | 2 Leagues | 3 | 2 | 158 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2020-2021 | 22 | Millwall | 1 League | 0 | 0 | ||||||||||||||||
| 2020-2021 | 22 | St Johnstone | 1 League | 5 | 4 | 368 | 4.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2021-2022 | 23 | St Johnstone | 1 League | 22 | 16 | 1,492 | 16.6 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | |
| 2022-2023 | 24 | St Johnstone | 1 League | 26 | 23 | 1,937 | 21.5 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | |
| 2023-2024 | 25 | St Johnstone | 1 League | 11 | 8 | 749 | 8.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2023-2024 | 25 | Raith Rovers | 1 League | 12 | 11 | 928 | 10.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 7 Seasons | 6 Clubs | 5 Leagues | 112 | 97 | 8,249 | 91.7 | 1 | 4 | 5 | 1 | 0 | 0 | 9 | 0 | 0.01 | 0.04 | 0.05 | 0.01 | 0.05 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| St Johnstone (4 Seasons) | 1 League | 64 | 51 | 4,546 | 50.5 | 1 | 1 | 2 | 1 | 0 | 0 | 8 | 0 | 0.02 | 0.02 | 0.04 | 0.02 | 0.04 | |||
| Millwall (3 Seasons) | 2 Leagues | 3 | 2 | 158 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Carlisle United (1 Season) | 2 Leagues | 32 | 32 | 2,558 | 28.4 | 0 | 3 | 3 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.11 | 0.11 | 0.00 | 0.11 | |||
| Raith Rovers (1 Season) | 1 League | 12 | 11 | 928 | 10.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Livingston (1 Season) | 1 League | 1 | 1 | 59 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Lincoln City (1 Season) | 1 League | 0 | 0 | ||||||||||||||||||
| Premiership (5 Seasons) | 65 | 52 | 4,605 | 51.2 | 1 | 1 | 2 | 1 | 0 | 0 | 8 | 0 | 0.02 | 0.02 | 0.04 | 0.02 | 0.04 | ||||
| FA Cup (3 Seasons) | 7 | 6 | 491 | 5.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Championship (3 Seasons) | 1 | 1 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| League Two (2 Seasons) | 27 | 27 | 2,165 | 24.1 | 0 | 3 | 3 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.12 | 0.12 | 0.00 | 0.12 | ||||
| Championship (1 Season) | 12 | 11 | 928 | 10.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2017-2018 | 19 | Carlisle United | eng ENG | 4. League Two | 10th | 27 | 27 | 2,165 | 24.1 | 0 | 3 | 3 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.12 | 0.12 | 0.00 | 0.12 | Matches |
| 2018-2019 | 20 | Livingston | sct SCO | 1. Premiership | 9th | 1 | 1 | 59 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 20 | Lincoln City | eng ENG | 4. League Two | 1st | 0 | 0 | Matches | |||||||||||||||
| 2018-2019 | 20 | Millwall | eng ENG | 2. Championship | 21st | 0 | 0 | Matches | |||||||||||||||
| 2019-2020 | 21 | Millwall | eng ENG | 2. Championship | 8th | 1 | 1 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 22 | Millwall | eng ENG | 2. Championship | 11th | 0 | 0 | Matches | |||||||||||||||
| 2020-2021 | 22 | St Johnstone | sct SCO | 1. Premiership | 5th | 5 | 4 | 368 | 4.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 23 | St Johnstone | sct SCO | 1. Premiership | 11th | 22 | 16 | 1,492 | 16.6 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | Matches |
| 2022-2023 | 24 | St Johnstone | sct SCO | 1. Premiership | 9th | 26 | 23 | 1,937 | 21.5 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | Matches |
| 2023-2024 | 25 | St Johnstone | sct SCO | 1. Premiership | 10th | 11 | 8 | 749 | 8.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 25 | Raith Rovers | sct SCO | 2. Championship | 2nd | 12 | 11 | 928 | 10.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 7 Seasons | 6 Clubs | 4 Leagues | 105 | 91 | 7,758 | 86.2 | 1 | 4 | 5 | 1 | 0 | 0 | 9 | 0 | 0.01 | 0.05 | 0.06 | 0.01 | 0.06 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| St Johnstone (4 Seasons) | 1 League | 64 | 51 | 4,546 | 50.5 | 1 | 1 | 2 | 1 | 0 | 0 | 8 | 0 | 0.02 | 0.02 | 0.04 | 0.02 | 0.04 | |||||
| Millwall (3 Seasons) | 1 League | 1 | 1 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Carlisle United (1 Season) | 1 League | 27 | 27 | 2,165 | 24.1 | 0 | 3 | 3 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.12 | 0.12 | 0.00 | 0.12 | |||||
| Raith Rovers (1 Season) | 1 League | 12 | 11 | 928 | 10.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Livingston (1 Season) | 1 League | 1 | 1 | 59 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Lincoln City (1 Season) | 1 League | 0 | 0 | ||||||||||||||||||||
| Premiership (5 Seasons) | 65 | 52 | 4,605 | 51.2 | 1 | 1 | 2 | 1 | 0 | 0 | 8 | 0 | 0.02 | 0.02 | 0.04 | 0.02 | 0.04 | ||||||
| Championship (3 Seasons) | 1 | 1 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| League Two (2 Seasons) | 27 | 27 | 2,165 | 24.1 | 0 | 3 | 3 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.12 | 0.12 | 0.00 | 0.12 | ||||||
| Championship (1 Season) | 12 | 11 | 928 | 10.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2017-2018 | 19 | Carlisle United | eng ENG | FA Cup | 33rd | 5 | 5 | 393 | 4.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 20 | Millwall | eng ENG | FA Cup | 5th | 0 | 0 | Matches | |||||||||||||||
| 2019-2020 | 21 | Millwall | eng ENG | FA Cup | 17th | 2 | 1 | 98 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 3 Seasons | 2 Clubs | 1 League | 7 | 6 | 491 | 5.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Millwall (2 Seasons) | 1 League | 2 | 1 | 98 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Carlisle United (1 Season) | 1 League | 5 | 5 | 393 | 4.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2022 | 24 | mt Malta | Friendlies (M) | 2 | 1 | 135 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022-2023 | 24 | mt Malta | UEFA Nations League | LgD | 0 | 0 | Matches | |||||||||||||||
| 2024 | 26 | mt Malta | UEFA Euro Qualifying | 1 | 0 | 8 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2 Seasons | 1 Club | 3 Leagues | 3 | 1 | 143 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Friendlies (M) (1 Season) | 2 | 1 | 135 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| UEFA Euro Qualifying (1 Season) | 1 | 0 | 8 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| UEFA Nations League (1 Season) | 0 | 0 | ||||||||||||||||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2017-2018 | 19 | Carlisle United | eng ENG | FA Cup | 4.4 | 0 | 1 | 0 | 0.0 | 0.23 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2017-2018 | 19 | Carlisle United | eng ENG | 4. League Two | 24.1 | 0 | 0 | 1 | 0.00 | 0.04 | 0.00 | 0 | 0 | Matches | ||
| 2018-2019 | 20 | Livingston | sct SCO | 1. Premiership | 0.7 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 21 | Millwall | eng ENG | 2. Championship | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 21 | Millwall | eng ENG | FA Cup | 1.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2020-2021 | 22 | St Johnstone | sct SCO | 1. Premiership | 4.1 | 0 | 1 | 0 | 0.0 | 0.24 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 23 | St Johnstone | sct SCO | 1. Premiership | 16.6 | 0 | 4 | 1 | 25.0 | 0.24 | 0.06 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 24 | St Johnstone | sct SCO | 1. Premiership | 21.5 | 1 | 8 | 1 | 12.5 | 0.37 | 0.05 | 0.13 | 1.00 | 0 | 0 | Matches |
| 2023-2024 | 25 | Raith Rovers | sct SCO | 2. Championship | 10.3 | 0 | 0 | 0 | Matches | |||||||
| 2023-2024 | 25 | St Johnstone | sct SCO | 1. Premiership | 8.3 | 0 | 4 | 0 | 0.0 | 0.48 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 7 Seasons | 6 Clubs | 5 Leagues | 91.7 | 1 | 18 | 3 | 16.7 | 0.22 | 0.04 | 0.06 | 0.33 | 0 | 0 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| St Johnstone (4 Seasons) | 1 League | 50.5 | 1 | 17 | 2 | 11.8 | 0.34 | 0.04 | 0.06 | 0.50 | 0 | 0 | ||||
| Millwall (3 Seasons) | 2 Leagues | 1.8 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||
| Carlisle United (1 Season) | 2 Leagues | 28.4 | 0 | 1 | 1 | 100.0 | 0.04 | 0.04 | 0.00 | 0.00 | 0 | 0 | ||||
| Raith Rovers (1 Season) | 1 League | 10.3 | 0 | 0 | 0 | |||||||||||
| Livingston (1 Season) | 1 League | 0.7 | 0 | 0 | 0 | |||||||||||
| Lincoln City (1 Season) | 1 League | |||||||||||||||
| Premiership (5 Seasons) | 51.2 | 1 | 17 | 2 | 11.8 | 0.34 | 0.04 | 0.06 | 0.50 | 0 | 0 | |||||
| FA Cup (3 Seasons) | 5.5 | 0 | 1 | 0 | 0.0 | 0.18 | 0.00 | 0.00 | 0 | 0 | ||||||
| Championship (3 Seasons) | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| League Two (2 Seasons) | 24.1 | 0 | 0 | 1 | 0.00 | 0.04 | 0.00 | 0 | 0 | |||||||
| Championship (1 Season) | 10.3 | 0 | 0 | 0 | ||||||||||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2017-2018 | 19 | Carlisle United | 2 Leagues | 28.4 | 0 | 1 | 1 | 100.0 | 0.04 | 0.04 | 0.00 | 0.00 | 0 | 0 | |
| 2018-2019 | 20 | Livingston | 1 League | 0.7 | 0 | 0 | 0 | ||||||||
| 2019-2020 | 21 | Millwall | 2 Leagues | 1.8 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2020-2021 | 22 | St Johnstone | 1 League | 4.1 | 0 | 1 | 0 | 0.0 | 0.24 | 0.00 | 0.00 | 0 | 0 | ||
| 2021-2022 | 23 | St Johnstone | 1 League | 16.6 | 0 | 4 | 1 | 25.0 | 0.24 | 0.06 | 0.00 | 0.00 | 0 | 0 | |
| 2022-2023 | 24 | St Johnstone | 1 League | 21.5 | 1 | 8 | 1 | 12.5 | 0.37 | 0.05 | 0.13 | 1.00 | 0 | 0 | |
| 2023-2024 | 25 | St Johnstone | 1 League | 8.3 | 0 | 4 | 0 | 0.0 | 0.48 | 0.00 | 0.00 | 0 | 0 | ||
| 2023-2024 | 25 | Raith Rovers | 1 League | 10.3 | 0 | 0 | 0 | ||||||||
| 7 Seasons | 6 Clubs | 5 Leagues | 91.7 | 1 | 18 | 3 | 16.7 | 0.22 | 0.04 | 0.06 | 0.33 | 0 | 0 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| St Johnstone (4 Seasons) | 1 League | 50.5 | 1 | 17 | 2 | 11.8 | 0.34 | 0.04 | 0.06 | 0.50 | 0 | 0 | |||
| Millwall (3 Seasons) | 2 Leagues | 1.8 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||
| Carlisle United (1 Season) | 2 Leagues | 28.4 | 0 | 1 | 1 | 100.0 | 0.04 | 0.04 | 0.00 | 0.00 | 0 | 0 | |||
| Raith Rovers (1 Season) | 1 League | 10.3 | 0 | 0 | 0 | ||||||||||
| Livingston (1 Season) | 1 League | 0.7 | 0 | 0 | 0 | ||||||||||
| Lincoln City (1 Season) | 1 League | ||||||||||||||
| Premiership (5 Seasons) | 51.2 | 1 | 17 | 2 | 11.8 | 0.34 | 0.04 | 0.06 | 0.50 | 0 | 0 | ||||
| FA Cup (3 Seasons) | 5.5 | 0 | 1 | 0 | 0.0 | 0.18 | 0.00 | 0.00 | 0 | 0 | |||||
| Championship (3 Seasons) | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||
| League Two (2 Seasons) | 24.1 | 0 | 0 | 1 | 0.00 | 0.04 | 0.00 | 0 | 0 | ||||||
| Championship (1 Season) | 10.3 | 0 | 0 | 0 | |||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2017-2018 | 19 | Carlisle United | eng ENG | 4. League Two | 10th | 24.1 | 0 | 0 | 1 | 0.00 | 0.04 | 0.00 | 0 | 0 | Matches | ||
| 2018-2019 | 20 | Livingston | sct SCO | 1. Premiership | 9th | 0.7 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 21 | Millwall | eng ENG | 2. Championship | 8th | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2020-2021 | 22 | St Johnstone | sct SCO | 1. Premiership | 5th | 4.1 | 0 | 1 | 0 | 0.0 | 0.24 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 23 | St Johnstone | sct SCO | 1. Premiership | 11th | 16.6 | 0 | 4 | 1 | 25.0 | 0.24 | 0.06 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 24 | St Johnstone | sct SCO | 1. Premiership | 9th | 21.5 | 1 | 8 | 1 | 12.5 | 0.37 | 0.05 | 0.13 | 1.00 | 0 | 0 | Matches |
| 2023-2024 | 25 | St Johnstone | sct SCO | 1. Premiership | 10th | 8.3 | 0 | 4 | 0 | 0.0 | 0.48 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 25 | Raith Rovers | sct SCO | 2. Championship | 2nd | 10.3 | 0 | 0 | 0 | Matches | |||||||
| 7 Seasons | 6 Clubs | 4 Leagues | 86.2 | 1 | 17 | 3 | 17.6 | 0.23 | 0.04 | 0.06 | 0.33 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| St Johnstone (4 Seasons) | 1 League | 50.5 | 1 | 17 | 2 | 11.8 | 0.34 | 0.04 | 0.06 | 0.50 | 0 | 0 | |||||
| Millwall (3 Seasons) | 1 League | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Carlisle United (1 Season) | 1 League | 24.1 | 0 | 0 | 1 | 0.00 | 0.04 | 0.00 | 0 | 0 | |||||||
| Raith Rovers (1 Season) | 1 League | 10.3 | 0 | 0 | 0 | ||||||||||||
| Livingston (1 Season) | 1 League | 0.7 | 0 | 0 | 0 | ||||||||||||
| Lincoln City (1 Season) | 1 League | ||||||||||||||||
| Premiership (5 Seasons) | 51.2 | 1 | 17 | 2 | 11.8 | 0.34 | 0.04 | 0.06 | 0.50 | 0 | 0 | ||||||
| Championship (3 Seasons) | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||||
| League Two (2 Seasons) | 24.1 | 0 | 0 | 1 | 0.00 | 0.04 | 0.00 | 0 | 0 | ||||||||
| Championship (1 Season) | 10.3 | 0 | 0 | 0 | |||||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2017-2018 | 19 | Carlisle United | eng ENG | FA Cup | 33rd | 4.4 | 0 | 1 | 0 | 0.0 | 0.23 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2019-2020 | 21 | Millwall | eng ENG | FA Cup | 17th | 1.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 3 Seasons | 2 Clubs | 1 League | 5.5 | 0 | 1 | 0 | 0.0 | 0.18 | 0.00 | 0.00 | 0 | 0 | |||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Millwall (2 Seasons) | 1 League | 1.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Carlisle United (1 Season) | 1 League | 4.4 | 0 | 1 | 0 | 0.0 | 0.23 | 0.00 | 0.00 | 0 | 0 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2022 | 24 | mt Malta | Friendlies (M) | 1.5 | 0 | 0 | 0 | Matches | ||||||||
| 2024 | 26 | mt Malta | UEFA Euro Qualifying | 0.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | ||||
| 2 Seasons | 1 Club | 3 Leagues | 1.6 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||
| Friendlies (M) (1 Season) | 1.5 | 0 | 0 | 0 | ||||||||||||
| UEFA Euro Qualifying (1 Season) | 0.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| UEFA Nations League (1 Season) | ||||||||||||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2017-2018 | 19 | Carlisle United | eng ENG | FA Cup | 5 | 393 | 79 | 87.3 | 4.4 | 5 | 79 | 3 | 0 | 0 | 1.60 | 6 | 5 | +1 | +0.23 | +0.23 | Matches | |
| 2017-2018 | 19 | Carlisle United | eng ENG | 4. League Two | 27 | 2,165 | 80 | 52.3 | 24.1 | 27 | 16 | 0 | 13 | 1.52 | 32 | 26 | +6 | +0.25 | +0.16 | Matches | ||
| 2018-2019 | 20 | Millwall | eng ENG | 2. Championship | 0 | 0 | 0 | 0 | 3 | Matches | ||||||||||||
| 2018-2019 | 20 | Millwall | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2018-2019 | 20 | Lincoln City | eng ENG | 4. League Two | 0 | 0 | 0 | 0 | 4 | Matches | ||||||||||||
| 2018-2019 | 20 | Livingston | sct SCO | 1. Premiership | 1 | 59 | 59 | 1.7 | 0.7 | 1 | 59 | 0 | 0 | 1 | 0.00 | 0 | 3 | -3 | -4.58 | -4.60 | Matches | |
| 2019-2020 | 21 | Millwall | eng ENG | 2. Championship | 1 | 60 | 60 | 1.4 | 0.7 | 1 | 60 | 0 | 0 | 7 | 3.00 | 2 | 1 | +1 | +1.50 | +1.39 | Matches | |
| 2019-2020 | 21 | Millwall | eng ENG | FA Cup | 2 | 98 | 49 | 54.4 | 1.1 | 1 | 90 | 1 | 1 | 8 | 0 | 1.50 | 0 | 2 | -2 | -1.84 | -5.13 | Matches |
| 2020-2021 | 22 | Millwall | eng ENG | 2. Championship | 0 | 0 | 0 | 4 | Matches | |||||||||||||
| 2020-2021 | 22 | St Johnstone | sct SCO | 1. Premiership | 5 | 368 | 74 | 10.8 | 4.1 | 4 | 82 | 2 | 1 | 41 | 9 | 1.00 | 2 | 5 | -3 | -0.73 | -0.53 | Matches |
| 2021-2022 | 23 | St Johnstone | sct SCO | 1. Premiership | 22 | 1,492 | 68 | 43.6 | 16.6 | 16 | 85 | 14 | 6 | 22 | 11 | 0.82 | 11 | 28 | -17 | -1.03 | -0.56 | Matches |
| 2022-2023 | 24 | St Johnstone | sct SCO | 1. Premiership | 26 | 1,937 | 75 | 56.6 | 21.5 | 23 | 82 | 15 | 3 | 17 | 12 | 1.08 | 20 | 39 | -19 | -0.88 | -0.94 | Matches |
| 2023-2024 | 25 | Raith Rovers | sct SCO | 2. Championship | 12 | 928 | 77 | 28.6 | 10.3 | 11 | 83 | 8 | 1 | 16 | 1 | 1.92 | 13 | 10 | +3 | +0.29 | -0.22 | Matches |
| 2023-2024 | 25 | St Johnstone | sct SCO | 1. Premiership | 11 | 749 | 68 | 21.9 | 8.3 | 8 | 86 | 7 | 3 | 22 | 3 | 1.18 | 6 | 10 | -4 | -0.48 | +0.23 | Matches |
| 7 Seasons | 6 Clubs | 5 Leagues | 112 | 8,249 | 74 | 19.6 | 91.7 | 97 | 82 | 66 | 15 | 21 | 69 | 1.27 | 92 | 129 | -37 | -0.40 | -0.35 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| St Johnstone (4 Seasons) | 1 League | 64 | 4,546 | 71 | 33.2 | 50.5 | 51 | 83 | 38 | 13 | 22 | 35 | 1.00 | 39 | 82 | -43 | -0.85 | -0.49 | ||||
| Millwall (3 Seasons) | 2 Leagues | 3 | 158 | 53 | 1.2 | 1.8 | 2 | 75 | 1 | 1 | 8 | 15 | 2.00 | 2 | 3 | -1 | -0.57 | -0.74 | ||||
| Carlisle United (1 Season) | 2 Leagues | 32 | 2,558 | 80 | 55.7 | 28.4 | 32 | 79 | 19 | 0 | 13 | 1.53 | 38 | 31 | +7 | +0.25 | +0.16 | |||||
| Raith Rovers (1 Season) | 1 League | 12 | 928 | 77 | 28.6 | 10.3 | 11 | 83 | 8 | 1 | 16 | 1 | 1.92 | 13 | 10 | +3 | +0.29 | -0.22 | ||||
| Livingston (1 Season) | 1 League | 1 | 59 | 59 | 1.7 | 0.7 | 1 | 59 | 0 | 0 | 1 | 0.00 | 0 | 3 | -3 | -4.58 | -4.60 | |||||
| Lincoln City (1 Season) | 1 League | 0 | 0 | 0 | 0 | 4 | ||||||||||||||||
| Premiership (5 Seasons) | 65 | 4,605 | 71 | 26.9 | 51.2 | 52 | 83 | 38 | 13 | 22 | 36 | 0.99 | 39 | 85 | -46 | -0.90 | -0.64 | |||||
| FA Cup (3 Seasons) | 7 | 491 | 70 | 48.1 | 5.5 | 6 | 81 | 4 | 1 | 8 | 1 | 1.57 | 6 | 7 | -1 | -0.18 | -2.13 | |||||
| Championship (3 Seasons) | 1 | 60 | 60 | 0.5 | 0.7 | 1 | 60 | 0 | 0 | 14 | 3.00 | 2 | 1 | +1 | +1.50 | +1.39 | ||||||
| League Two (2 Seasons) | 27 | 2,165 | 80 | 26.1 | 24.1 | 27 | 16 | 0 | 17 | 1.52 | 32 | 26 | +6 | +0.25 | +0.16 | |||||||
| Championship (1 Season) | 12 | 928 | 77 | 28.6 | 10.3 | 11 | 83 | 8 | 1 | 16 | 1 | 1.92 | 13 | 10 | +3 | +0.29 | -0.22 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2017-2018 | 19 | Carlisle United | 2 Leagues | 32 | 2,558 | 80 | 55.7 | 28.4 | 32 | 79 | 19 | 0 | 13 | 1.53 | 38 | 31 | +7 | +0.25 | +0.16 | ||
| 2018-2019 | 20 | Livingston | 1 League | 1 | 59 | 59 | 1.7 | 0.7 | 1 | 59 | 0 | 0 | 1 | 0.00 | 0 | 3 | -3 | -4.58 | -4.60 | ||
| 2018-2019 | 20 | Lincoln City | 1 League | 0 | 0 | 0 | 0 | 4 | |||||||||||||
| 2018-2019 | 20 | Millwall | 2 Leagues | 0 | 0 | 0 | 0 | 4 | |||||||||||||
| 2019-2020 | 21 | Millwall | 2 Leagues | 3 | 158 | 53 | 3.7 | 1.8 | 2 | 75 | 1 | 1 | 8 | 7 | 2.00 | 2 | 3 | -1 | -0.57 | -0.74 | |
| 2020-2021 | 22 | Millwall | 1 League | 0 | 0 | 0 | 4 | ||||||||||||||
| 2020-2021 | 22 | St Johnstone | 1 League | 5 | 368 | 74 | 10.8 | 4.1 | 4 | 82 | 2 | 1 | 41 | 9 | 1.00 | 2 | 5 | -3 | -0.73 | -0.53 | |
| 2021-2022 | 23 | St Johnstone | 1 League | 22 | 1,492 | 68 | 43.6 | 16.6 | 16 | 85 | 14 | 6 | 22 | 11 | 0.82 | 11 | 28 | -17 | -1.03 | -0.56 | |
| 2022-2023 | 24 | St Johnstone | 1 League | 26 | 1,937 | 75 | 56.6 | 21.5 | 23 | 82 | 15 | 3 | 17 | 12 | 1.08 | 20 | 39 | -19 | -0.88 | -0.94 | |
| 2023-2024 | 25 | St Johnstone | 1 League | 11 | 749 | 68 | 21.9 | 8.3 | 8 | 86 | 7 | 3 | 22 | 3 | 1.18 | 6 | 10 | -4 | -0.48 | +0.23 | |
| 2023-2024 | 25 | Raith Rovers | 1 League | 12 | 928 | 77 | 28.6 | 10.3 | 11 | 83 | 8 | 1 | 16 | 1 | 1.92 | 13 | 10 | +3 | +0.29 | -0.22 | |
| 7 Seasons | 6 Clubs | 5 Leagues | 112 | 8,249 | 74 | 19.6 | 91.7 | 97 | 82 | 66 | 15 | 21 | 69 | 1.27 | 92 | 129 | -37 | -0.40 | -0.35 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| St Johnstone (4 Seasons) | 1 League | 64 | 4,546 | 71 | 33.2 | 50.5 | 51 | 83 | 38 | 13 | 22 | 35 | 1.00 | 39 | 82 | -43 | -0.85 | -0.49 | |||
| Millwall (3 Seasons) | 2 Leagues | 3 | 158 | 53 | 1.2 | 1.8 | 2 | 75 | 1 | 1 | 8 | 15 | 2.00 | 2 | 3 | -1 | -0.57 | -0.74 | |||
| Carlisle United (1 Season) | 2 Leagues | 32 | 2,558 | 80 | 55.7 | 28.4 | 32 | 79 | 19 | 0 | 13 | 1.53 | 38 | 31 | +7 | +0.25 | +0.16 | ||||
| Raith Rovers (1 Season) | 1 League | 12 | 928 | 77 | 28.6 | 10.3 | 11 | 83 | 8 | 1 | 16 | 1 | 1.92 | 13 | 10 | +3 | +0.29 | -0.22 | |||
| Livingston (1 Season) | 1 League | 1 | 59 | 59 | 1.7 | 0.7 | 1 | 59 | 0 | 0 | 1 | 0.00 | 0 | 3 | -3 | -4.58 | -4.60 | ||||
| Lincoln City (1 Season) | 1 League | 0 | 0 | 0 | 0 | 4 | |||||||||||||||
| Premiership (5 Seasons) | 65 | 4,605 | 71 | 26.9 | 51.2 | 52 | 83 | 38 | 13 | 22 | 36 | 0.99 | 39 | 85 | -46 | -0.90 | -0.64 | ||||
| FA Cup (3 Seasons) | 7 | 491 | 70 | 48.1 | 5.5 | 6 | 81 | 4 | 1 | 8 | 1 | 1.57 | 6 | 7 | -1 | -0.18 | -2.13 | ||||
| Championship (3 Seasons) | 1 | 60 | 60 | 0.5 | 0.7 | 1 | 60 | 0 | 0 | 14 | 3.00 | 2 | 1 | +1 | +1.50 | +1.39 | |||||
| League Two (2 Seasons) | 27 | 2,165 | 80 | 26.1 | 24.1 | 27 | 16 | 0 | 17 | 1.52 | 32 | 26 | +6 | +0.25 | +0.16 | ||||||
| Championship (1 Season) | 12 | 928 | 77 | 28.6 | 10.3 | 11 | 83 | 8 | 1 | 16 | 1 | 1.92 | 13 | 10 | +3 | +0.29 | -0.22 | ||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2017-2018 | 19 | Carlisle United | eng ENG | 4. League Two | 10th | 27 | 2,165 | 80 | 52.3 | 24.1 | 27 | 16 | 0 | 13 | 1.52 | 32 | 26 | +6 | +0.25 | +0.16 | Matches | ||
| 2018-2019 | 20 | Livingston | sct SCO | 1. Premiership | 9th | 1 | 59 | 59 | 1.7 | 0.7 | 1 | 59 | 0 | 0 | 1 | 0.00 | 0 | 3 | -3 | -4.58 | -4.60 | Matches | |
| 2018-2019 | 20 | Lincoln City | eng ENG | 4. League Two | 1st | 0 | 0 | 0 | 0 | 4 | Matches | ||||||||||||
| 2018-2019 | 20 | Millwall | eng ENG | 2. Championship | 21st | 0 | 0 | 0 | 0 | 3 | Matches | ||||||||||||
| 2019-2020 | 21 | Millwall | eng ENG | 2. Championship | 8th | 1 | 60 | 60 | 1.4 | 0.7 | 1 | 60 | 0 | 0 | 7 | 3.00 | 2 | 1 | +1 | +1.50 | +1.39 | Matches | |
| 2020-2021 | 22 | Millwall | eng ENG | 2. Championship | 11th | 0 | 0 | 0 | 4 | Matches | |||||||||||||
| 2020-2021 | 22 | St Johnstone | sct SCO | 1. Premiership | 5th | 5 | 368 | 74 | 10.8 | 4.1 | 4 | 82 | 2 | 1 | 41 | 9 | 1.00 | 2 | 5 | -3 | -0.73 | -0.53 | Matches |
| 2021-2022 | 23 | St Johnstone | sct SCO | 1. Premiership | 11th | 22 | 1,492 | 68 | 43.6 | 16.6 | 16 | 85 | 14 | 6 | 22 | 11 | 0.82 | 11 | 28 | -17 | -1.03 | -0.56 | Matches |
| 2022-2023 | 24 | St Johnstone | sct SCO | 1. Premiership | 9th | 26 | 1,937 | 75 | 56.6 | 21.5 | 23 | 82 | 15 | 3 | 17 | 12 | 1.08 | 20 | 39 | -19 | -0.88 | -0.94 | Matches |
| 2023-2024 | 25 | St Johnstone | sct SCO | 1. Premiership | 10th | 11 | 749 | 68 | 21.9 | 8.3 | 8 | 86 | 7 | 3 | 22 | 3 | 1.18 | 6 | 10 | -4 | -0.48 | +0.23 | Matches |
| 2023-2024 | 25 | Raith Rovers | sct SCO | 2. Championship | 2nd | 12 | 928 | 77 | 28.6 | 10.3 | 11 | 83 | 8 | 1 | 16 | 1 | 1.92 | 13 | 10 | +3 | +0.29 | -0.22 | Matches |
| 7 Seasons | 6 Clubs | 4 Leagues | 105 | 7,758 | 74 | 18.9 | 86.2 | 91 | 83 | 62 | 14 | 22 | 68 | 1.25 | 86 | 122 | -36 | -0.42 | -0.35 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| St Johnstone (4 Seasons) | 1 League | 64 | 4,546 | 71 | 33.2 | 50.5 | 51 | 83 | 38 | 13 | 22 | 35 | 1.00 | 39 | 82 | -43 | -0.85 | -0.49 | |||||
| Millwall (3 Seasons) | 1 League | 1 | 60 | 60 | 0.5 | 0.7 | 1 | 60 | 0 | 0 | 14 | 3.00 | 2 | 1 | +1 | +1.50 | +1.39 | ||||||
| Carlisle United (1 Season) | 1 League | 27 | 2,165 | 80 | 52.3 | 24.1 | 27 | 16 | 0 | 13 | 1.52 | 32 | 26 | +6 | +0.25 | +0.16 | |||||||
| Raith Rovers (1 Season) | 1 League | 12 | 928 | 77 | 28.6 | 10.3 | 11 | 83 | 8 | 1 | 16 | 1 | 1.92 | 13 | 10 | +3 | +0.29 | -0.22 | |||||
| Livingston (1 Season) | 1 League | 1 | 59 | 59 | 1.7 | 0.7 | 1 | 59 | 0 | 0 | 1 | 0.00 | 0 | 3 | -3 | -4.58 | -4.60 | ||||||
| Lincoln City (1 Season) | 1 League | 0 | 0 | 0 | 0 | 4 | |||||||||||||||||
| Premiership (5 Seasons) | 65 | 4,605 | 71 | 26.9 | 51.2 | 52 | 83 | 38 | 13 | 22 | 36 | 0.99 | 39 | 85 | -46 | -0.90 | -0.64 | ||||||
| Championship (3 Seasons) | 1 | 60 | 60 | 0.5 | 0.7 | 1 | 60 | 0 | 0 | 14 | 3.00 | 2 | 1 | +1 | +1.50 | +1.39 | |||||||
| League Two (2 Seasons) | 27 | 2,165 | 80 | 26.1 | 24.1 | 27 | 16 | 0 | 17 | 1.52 | 32 | 26 | +6 | +0.25 | +0.16 | ||||||||
| Championship (1 Season) | 12 | 928 | 77 | 28.6 | 10.3 | 11 | 83 | 8 | 1 | 16 | 1 | 1.92 | 13 | 10 | +3 | +0.29 | -0.22 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2017-2018 | 19 | Carlisle United | eng ENG | FA Cup | 33rd | 5 | 393 | 79 | 87.3 | 4.4 | 5 | 79 | 3 | 0 | 0 | 1.60 | 6 | 5 | +1 | +0.23 | +0.23 | Matches | |
| 2018-2019 | 20 | Millwall | eng ENG | FA Cup | 5th | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2019-2020 | 21 | Millwall | eng ENG | FA Cup | 17th | 2 | 98 | 49 | 54.4 | 1.1 | 1 | 90 | 1 | 1 | 8 | 0 | 1.50 | 0 | 2 | -2 | -1.84 | -5.13 | Matches |
| 3 Seasons | 2 Clubs | 1 League | 7 | 491 | 70 | 48.1 | 5.5 | 6 | 81 | 4 | 1 | 8 | 1 | 1.57 | 6 | 7 | -1 | -0.18 | -2.13 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Millwall (2 Seasons) | 1 League | 2 | 98 | 49 | 17.2 | 1.1 | 1 | 90 | 1 | 1 | 8 | 1 | 1.50 | 0 | 2 | -2 | -1.84 | -5.13 | |||||
| Carlisle United (1 Season) | 1 League | 5 | 393 | 79 | 87.3 | 4.4 | 5 | 79 | 3 | 0 | 0 | 1.60 | 6 | 5 | +1 | +0.23 | +0.23 | ||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2022 | 24 | mt Malta | Friendlies (M) | 2 | 135 | 68 | 25.0 | 1.5 | 1 | 90 | 1 | 1 | 45 | 1 | 1.50 | 2 | 1 | +1 | +0.67 | +0.44 | Matches | |
| 2022-2023 | 24 | mt Malta | UEFA Nations League | LgD | 0 | 0 | 0 | 0 | 3 | Matches | ||||||||||||
| 2024 | 26 | mt Malta | UEFA Euro Qualifying | 1 | 8 | 8 | 1.1 | 0.1 | 0 | 0 | 1 | 8 | 1 | 0.00 | 0 | 0 | 0 | 0.00 | +2.28 | Matches | ||
| 2 Seasons | 1 Club | 3 Leagues | 3 | 143 | 48 | 8.8 | 1.6 | 1 | 90 | 1 | 2 | 27 | 5 | 1.00 | 2 | 1 | +1 | +0.63 | +2.00 | |||
| Friendlies (M) (1 Season) | 2 | 135 | 68 | 25.0 | 1.5 | 1 | 90 | 1 | 1 | 45 | 1 | 1.50 | 2 | 1 | +1 | +0.67 | +0.44 | |||||
| UEFA Euro Qualifying (1 Season) | 1 | 8 | 8 | 1.1 | 0.1 | 0 | 0 | 1 | 8 | 1 | 0.00 | 0 | 0 | 0 | 0.00 | +2.28 | ||||||
| UEFA Nations League (1 Season) | 0 | 0 | 0 | 0 | 3 | |||||||||||||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2017-2018 | 19 | Carlisle United | eng ENG | FA Cup | 4.4 | 0 | 0 | 0 | 5 | 5 | 0 | 6 | 0 | 0 | 0 | Matches | ||
| 2017-2018 | 19 | Carlisle United | eng ENG | 4. League Two | 24.1 | 1 | 0 | 0 | 15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 20 | Livingston | sct SCO | 1. Premiership | 0.7 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 21 | Millwall | eng ENG | 2. Championship | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2019-2020 | 21 | Millwall | eng ENG | FA Cup | 1.1 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 22 | St Johnstone | sct SCO | 1. Premiership | 4.1 | 0 | 0 | 0 | 3 | 8 | 0 | 4 | 1 | 2 | 0 | Matches | ||
| 2021-2022 | 23 | St Johnstone | sct SCO | 1. Premiership | 16.6 | 2 | 0 | 0 | 11 | 23 | 0 | 32 | 17 | 24 | 0 | Matches | ||
| 2022-2023 | 24 | St Johnstone | sct SCO | 1. Premiership | 21.5 | 5 | 0 | 0 | 17 | 28 | 2 | 20 | 23 | 24 | 0 | Matches | ||
| 2023-2024 | 25 | Raith Rovers | sct SCO | 2. Championship | 10.3 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2023-2024 | 25 | St Johnstone | sct SCO | 1. Premiership | 8.3 | 1 | 0 | 0 | 6 | 17 | 0 | 19 | 2 | 11 | 0 | Matches | ||
| 7 Seasons | 6 Clubs | 5 Leagues | 91.7 | 9 | 0 | 0 | 58 | 83 | 2 | 82 | 43 | 61 | 0 | 0 | 0 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| St Johnstone (4 Seasons) | 1 League | 50.5 | 8 | 0 | 0 | 37 | 76 | 2 | 75 | 43 | 61 | 0 | ||||||
| Millwall (3 Seasons) | 2 Leagues | 1.8 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0 | 0 | ||||||
| Carlisle United (1 Season) | 2 Leagues | 28.4 | 1 | 0 | 0 | 20 | 5 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | ||||
| Raith Rovers (1 Season) | 1 League | 10.3 | 0 | 0 | 0 | 0 | ||||||||||||
| Livingston (1 Season) | 1 League | 0.7 | 0 | 0 | 0 | 0 | ||||||||||||
| Lincoln City (1 Season) | 1 League | |||||||||||||||||
| Premiership (5 Seasons) | 51.2 | 8 | 0 | 0 | 37 | 76 | 2 | 75 | 43 | 61 | 0 | |||||||
| FA Cup (3 Seasons) | 5.5 | 0 | 0 | 0 | 6 | 7 | 0 | 6 | 0 | 0 | 0 | |||||||
| Championship (3 Seasons) | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |||||||
| League Two (2 Seasons) | 24.1 | 1 | 0 | 0 | 15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Championship (1 Season) | 10.3 | 0 | 0 | 0 | 0 | |||||||||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2017-2018 | 19 | Carlisle United | 2 Leagues | 28.4 | 1 | 0 | 0 | 20 | 5 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | |
| 2018-2019 | 20 | Livingston | 1 League | 0.7 | 0 | 0 | 0 | 0 | |||||||||
| 2019-2020 | 21 | Millwall | 2 Leagues | 1.8 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0 | 0 | |||
| 2020-2021 | 22 | St Johnstone | 1 League | 4.1 | 0 | 0 | 0 | 3 | 8 | 0 | 4 | 1 | 2 | 0 | |||
| 2021-2022 | 23 | St Johnstone | 1 League | 16.6 | 2 | 0 | 0 | 11 | 23 | 0 | 32 | 17 | 24 | 0 | |||
| 2022-2023 | 24 | St Johnstone | 1 League | 21.5 | 5 | 0 | 0 | 17 | 28 | 2 | 20 | 23 | 24 | 0 | |||
| 2023-2024 | 25 | St Johnstone | 1 League | 8.3 | 1 | 0 | 0 | 6 | 17 | 0 | 19 | 2 | 11 | 0 | |||
| 2023-2024 | 25 | Raith Rovers | 1 League | 10.3 | 0 | 0 | 0 | 0 | |||||||||
| 7 Seasons | 6 Clubs | 5 Leagues | 91.7 | 9 | 0 | 0 | 58 | 83 | 2 | 82 | 43 | 61 | 0 | 0 | 0 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| St Johnstone (4 Seasons) | 1 League | 50.5 | 8 | 0 | 0 | 37 | 76 | 2 | 75 | 43 | 61 | 0 | |||||
| Millwall (3 Seasons) | 2 Leagues | 1.8 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 0 | 0 | 0 | |||||
| Carlisle United (1 Season) | 2 Leagues | 28.4 | 1 | 0 | 0 | 20 | 5 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | |||
| Raith Rovers (1 Season) | 1 League | 10.3 | 0 | 0 | 0 | 0 | |||||||||||
| Livingston (1 Season) | 1 League | 0.7 | 0 | 0 | 0 | 0 | |||||||||||
| Lincoln City (1 Season) | 1 League | ||||||||||||||||
| Premiership (5 Seasons) | 51.2 | 8 | 0 | 0 | 37 | 76 | 2 | 75 | 43 | 61 | 0 | ||||||
| FA Cup (3 Seasons) | 5.5 | 0 | 0 | 0 | 6 | 7 | 0 | 6 | 0 | 0 | 0 | ||||||
| Championship (3 Seasons) | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | ||||||
| League Two (2 Seasons) | 24.1 | 1 | 0 | 0 | 15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Championship (1 Season) | 10.3 | 0 | 0 | 0 | 0 | ||||||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2017-2018 | 19 | Carlisle United | eng ENG | 4. League Two | 10th | 24.1 | 1 | 0 | 0 | 15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 20 | Livingston | sct SCO | 1. Premiership | 9th | 0.7 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 21 | Millwall | eng ENG | 2. Championship | 8th | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 22 | St Johnstone | sct SCO | 1. Premiership | 5th | 4.1 | 0 | 0 | 0 | 3 | 8 | 0 | 4 | 1 | 2 | 0 | Matches | ||
| 2021-2022 | 23 | St Johnstone | sct SCO | 1. Premiership | 11th | 16.6 | 2 | 0 | 0 | 11 | 23 | 0 | 32 | 17 | 24 | 0 | Matches | ||
| 2022-2023 | 24 | St Johnstone | sct SCO | 1. Premiership | 9th | 21.5 | 5 | 0 | 0 | 17 | 28 | 2 | 20 | 23 | 24 | 0 | Matches | ||
| 2023-2024 | 25 | St Johnstone | sct SCO | 1. Premiership | 10th | 8.3 | 1 | 0 | 0 | 6 | 17 | 0 | 19 | 2 | 11 | 0 | Matches | ||
| 2023-2024 | 25 | Raith Rovers | sct SCO | 2. Championship | 2nd | 10.3 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 7 Seasons | 6 Clubs | 4 Leagues | 86.2 | 9 | 0 | 0 | 52 | 76 | 2 | 76 | 43 | 61 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| St Johnstone (4 Seasons) | 1 League | 50.5 | 8 | 0 | 0 | 37 | 76 | 2 | 75 | 43 | 61 | 0 | |||||||
| Millwall (3 Seasons) | 1 League | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |||||||
| Carlisle United (1 Season) | 1 League | 24.1 | 1 | 0 | 0 | 15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Raith Rovers (1 Season) | 1 League | 10.3 | 0 | 0 | 0 | 0 | |||||||||||||
| Livingston (1 Season) | 1 League | 0.7 | 0 | 0 | 0 | 0 | |||||||||||||
| Lincoln City (1 Season) | 1 League | ||||||||||||||||||
| Premiership (5 Seasons) | 51.2 | 8 | 0 | 0 | 37 | 76 | 2 | 75 | 43 | 61 | 0 | ||||||||
| Championship (3 Seasons) | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | ||||||||
| League Two (2 Seasons) | 24.1 | 1 | 0 | 0 | 15 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| Championship (1 Season) | 10.3 | 0 | 0 | 0 | 0 | ||||||||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2017-2018 | 19 | Carlisle United | eng ENG | FA Cup | 33rd | 4.4 | 0 | 0 | 0 | 5 | 5 | 0 | 6 | 0 | 0 | 0 | Matches | ||
| 2019-2020 | 21 | Millwall | eng ENG | FA Cup | 17th | 1.1 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 3 Seasons | 2 Clubs | 1 League | 5.5 | 0 | 0 | 0 | 6 | 7 | 0 | 6 | 0 | 0 | 0 | ||||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Millwall (2 Seasons) | 1 League | 1.1 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | |||||||
| Carlisle United (1 Season) | 1 League | 4.4 | 0 | 0 | 0 | 5 | 5 | 0 | 6 | 0 | 0 | 0 | |||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2022 | 24 | mt Malta | Friendlies (M) | 1.5 | 1 | 0 | 0 | 0 | Matches | |||||||||
| 2024 | 26 | mt Malta | UEFA Euro Qualifying | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 2 Seasons | 1 Club | 3 Leagues | 1.6 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Friendlies (M) (1 Season) | 1.5 | 1 | 0 | 0 | 0 | |||||||||||||
| UEFA Euro Qualifying (1 Season) | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||
| UEFA Nations League (1 Season) | ||||||||||||||||||
About FBref.com
FBref.com launched (June 13, 2018) with domestic league coverage for England, France, Germany, Italy, Spain, and United States. Since then we have been steadily expanding our coverage to include domestic leagues from over 40 countries as well as domestic cup, super cup and youth leagues from top European countries. We have also added coverage for major international cups such as the UEFA Champions League and Copa Libertadores.
FBref is the most complete sources for women's football data on the internet. This includes the entire history of the FIFA Women's World Cup as well as recent domestic league seasons from nine countries.
Note that player records are likely not complete for their careers. Players may come from or move to leagues we don't currently cover. This issue will go down over time, as we add new leagues and seasons.
You can sign up to receive an e-mail when new countries and features launch.
For more information, see our Launch Blog Post, the overall leagues/competition page with details on leagues and seasons we include, or our About Page. Let us know if you find an issue or have a suggestion.
FBref is one of seven Sports-Reference.com sites.

Player Club Summary