| 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 | |||||
| 2016-2017 | 18 | Fulham | eng ENG | 2. Championship | 2 | 0 | 27 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 18 | Fulham | eng ENG | FA Cup | 1 | 0 | 6 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 18 | Shrewsbury Town | eng ENG | 3. League One | 14 | 3 | 473 | 5.3 | 2 | 2 | 4 | 1 | 1 | 1 | 2 | 2 | 0.38 | 0.38 | 0.76 | 0.19 | 0.57 | Matches |
| 2017-2018 | 19 | Rochdale | eng ENG | FA Cup | 2 | 2 | 131 | 1.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.69 | 0.00 | 0.69 | 0.69 | 0.69 | Matches |
| 2017-2018 | 19 | Rochdale | eng ENG | 3. League One | 16 | 11 | 759 | 8.4 | 2 | 2 | 4 | 2 | 0 | 0 | 1 | 0 | 0.24 | 0.24 | 0.47 | 0.24 | 0.47 | Matches |
| 2017-2018 | 19 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 3 | 3 | 270 | 3.0 | 2 | 1 | 3 | 2 | 0 | 0 | 0 | 0 | 0.67 | 0.33 | 1.00 | 0.67 | 1.00 | Matches |
| 2018-2019 | 20 | Scunthorpe United | eng ENG | EFL Cup | 1 | 0 | 31 | 0.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2.90 | 0.00 | 2.90 | 2.90 | 2.90 | Matches |
| 2018-2019 | 20 | Scunthorpe United | eng ENG | FA Cup | 0 | 0 | Matches | |||||||||||||||
| 2018-2019 | 20 | Scunthorpe United | eng ENG | 3. League One | 16 | 10 | 895 | 9.9 | 3 | 2 | 5 | 3 | 0 | 0 | 1 | 0 | 0.30 | 0.20 | 0.50 | 0.30 | 0.50 | Matches |
| 2018-2019 | 20 | Southend United | eng ENG | 3. League One | 10 | 8 | 580 | 6.4 | 5 | 0 | 5 | 5 | 0 | 0 | 1 | 0 | 0.78 | 0.00 | 0.78 | 0.78 | 0.78 | Matches |
| 2018-2019 | 20 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 2 | 2 | 178 | 2.0 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 1.01 | 0.00 | 1.01 | 1.01 | 1.01 | Matches |
| 2019-2020 | 21 | Southend United | eng ENG | EFL Cup | 1 | 1 | 90 | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 1.00 | 1.00 | 0.00 | 1.00 | Matches |
| 2019-2020 | 21 | Southend United | eng ENG | 3. League One | 21 | 14 | 1,356 | 15.1 | 5 | 0 | 5 | 5 | 0 | 0 | 1 | 0 | 0.33 | 0.00 | 0.33 | 0.33 | 0.33 | Matches |
| 2020-2021 | 22 | Southend United | eng ENG | EFL Cup | 1 | 0 | 20 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 22 | Rochdale | eng ENG | 3. League One | 29 | 24 | 2,124 | 23.6 | 10 | 3 | 13 | 9 | 1 | 1 | 3 | 0 | 0.42 | 0.13 | 0.55 | 0.38 | 0.51 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | EFL Cup | 3 | 3 | 248 | 2.8 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.36 | 0.00 | 0.36 | 0.36 | 0.36 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | FA Cup | 4 | 1 | 124 | 1.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | 3. League One | 38 | 12 | 1,275 | 14.2 | 5 | 2 | 7 | 5 | 0 | 0 | 1 | 0 | 0.35 | 0.14 | 0.49 | 0.35 | 0.49 | Matches |
| 2022-2023 | 24 | Wigan Athletic | eng ENG | 2. Championship | 2 | 0 | 34 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 24 | Hearts | 3. Conf Lg | 4 | 1 | 169 | 1.9 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.53 | 0.00 | 0.53 | 0.53 | 0.53 | Matches | |
| 2022-2023 | 24 | Wigan Athletic | eng ENG | EFL Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 24 | Hearts | sct SCO | 1. Premiership | 19 | 7 | 799 | 8.9 | 3 | 0 | 3 | 3 | 0 | 0 | 2 | 0 | 0.34 | 0.00 | 0.34 | 0.34 | 0.34 | Matches |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | EFL Cup | 1 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | FA Cup | 3 | 3 | 224 | 2.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.40 | 0.00 | 0.40 | 0.40 | 0.40 | Matches |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | 3. League One | 38 | 24 | 2,108 | 23.4 | 9 | 3 | 12 | 9 | 0 | 2 | 7 | 0 | 0.38 | 0.13 | 0.51 | 0.38 | 0.51 | Matches |
| 2024-2025 | 26 | Barnsley | eng ENG | EFL Cup | 1 | 0 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 26 | Barnsley | eng ENG | FA Cup | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 26 | Barnsley | eng ENG | 3. League One | 37 | 26 | 2,282 | 25.4 | 9 | 2 | 11 | 9 | 0 | 0 | 3 | 0 | 0.35 | 0.08 | 0.43 | 0.35 | 0.43 | Matches |
| 2025-2026 | 27 | Bradford City | eng ENG | EFL Cup | 2 | 1 | 92 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 27 | Bradford City | eng ENG | FA Cup | 1 | 0 | 27 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 27 | Bradford City | eng ENG | 3. League One | 38 | 23 | 2,302 | 25.6 | 7 | 4 | 11 | 7 | 0 | 0 | 0 | 0 | 0.27 | 0.16 | 0.43 | 0.27 | 0.43 | Matches |
| 10 Seasons | 9 Clubs | 6 Leagues | 308 | 178 | 16,611 | 184.6 | 65 | 21 | 86 | 63 | 2 | 4 | 25 | 2 | 0.35 | 0.11 | 0.47 | 0.34 | 0.46 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Wigan Athletic (3 Seasons) | 4 Leagues | 90 | 45 | 4,223 | 46.9 | 16 | 5 | 21 | 16 | 0 | 2 | 8 | 0 | 0.34 | 0.11 | 0.45 | 0.34 | 0.45 | ||||
| Southend United (3 Seasons) | 2 Leagues | 33 | 23 | 2,046 | 22.7 | 10 | 1 | 11 | 10 | 0 | 0 | 3 | 0 | 0.44 | 0.04 | 0.48 | 0.44 | 0.48 | ||||
| Rochdale (2 Seasons) | 2 Leagues | 47 | 37 | 3,014 | 33.5 | 13 | 5 | 18 | 12 | 1 | 1 | 4 | 0 | 0.39 | 0.15 | 0.54 | 0.36 | 0.51 | ||||
| Fulham (2 Seasons) | 1 League | 5 | 5 | 448 | 5.0 | 4 | 1 | 5 | 4 | 0 | 0 | 1 | 0 | 0.80 | 0.20 | 1.00 | 0.80 | 1.00 | ||||
| Bradford City (1 Season) | 3 Leagues | 41 | 24 | 2,421 | 26.9 | 7 | 4 | 11 | 7 | 0 | 0 | 1 | 0 | 0.26 | 0.15 | 0.41 | 0.26 | 0.41 | ||||
| Barnsley (1 Season) | 3 Leagues | 40 | 28 | 2,507 | 27.9 | 9 | 2 | 11 | 9 | 0 | 0 | 4 | 0 | 0.32 | 0.07 | 0.39 | 0.32 | 0.39 | ||||
| Hearts (1 Season) | 2 Leagues | 23 | 8 | 968 | 10.8 | 4 | 0 | 4 | 4 | 0 | 0 | 2 | 0 | 0.37 | 0.00 | 0.37 | 0.37 | 0.37 | ||||
| Scunthorpe United (1 Season) | 3 Leagues | 17 | 10 | 926 | 10.3 | 4 | 2 | 6 | 4 | 0 | 0 | 1 | 0 | 0.39 | 0.19 | 0.58 | 0.39 | 0.58 | ||||
| Shrewsbury Town (1 Season) | 1 League | 14 | 3 | 473 | 5.3 | 2 | 2 | 4 | 1 | 1 | 1 | 2 | 2 | 0.38 | 0.38 | 0.76 | 0.19 | 0.57 | ||||
| Fulham (1 Season) | 2 Leagues | 3 | 0 | 33 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| League One (9 Seasons) | 257 | 155 | 14,154 | 157.3 | 57 | 20 | 77 | 55 | 2 | 4 | 20 | 2 | 0.36 | 0.13 | 0.49 | 0.35 | 0.48 | |||||
| EFL Cup (8 Seasons) | 11 | 7 | 736 | 8.2 | 2 | 1 | 3 | 2 | 0 | 0 | 3 | 0 | 0.24 | 0.12 | 0.37 | 0.24 | 0.37 | |||||
| FA Cup (7 Seasons) | 13 | 8 | 692 | 7.7 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0.26 | 0.00 | 0.26 | 0.26 | 0.26 | |||||
| PL2 — Div. 2 (2 Seasons) | 5 | 5 | 448 | 5.0 | 4 | 1 | 5 | 4 | 0 | 0 | 1 | 0 | 0.80 | 0.20 | 1.00 | 0.80 | 1.00 | |||||
| Championship (2 Seasons) | 4 | 0 | 61 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Premiership (1 Season) | 19 | 7 | 799 | 8.9 | 3 | 0 | 3 | 3 | 0 | 0 | 2 | 0 | 0.34 | 0.00 | 0.34 | 0.34 | 0.34 | |||||
| Conf Lg (1 Season) | 4 | 1 | 169 | 1.9 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.53 | 0.00 | 0.53 | 0.53 | 0.53 | |||||
| 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 | |||||
| 2016-2017 | 18 | Shrewsbury Town | 1 League | 14 | 3 | 473 | 5.3 | 2 | 2 | 4 | 1 | 1 | 1 | 2 | 2 | 0.38 | 0.38 | 0.76 | 0.19 | 0.57 | |
| 2016-2017 | 18 | Fulham | 2 Leagues | 3 | 0 | 33 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2017-2018 | 19 | Rochdale | 2 Leagues | 18 | 13 | 890 | 9.9 | 3 | 2 | 5 | 3 | 0 | 0 | 1 | 0 | 0.30 | 0.20 | 0.51 | 0.30 | 0.51 | |
| 2017-2018 | 19 | Fulham | 1 League | 3 | 3 | 270 | 3.0 | 2 | 1 | 3 | 2 | 0 | 0 | 0 | 0 | 0.67 | 0.33 | 1.00 | 0.67 | 1.00 | |
| 2018-2019 | 20 | Fulham | 1 League | 2 | 2 | 178 | 2.0 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 1.01 | 0.00 | 1.01 | 1.01 | 1.01 | |
| 2018-2019 | 20 | Scunthorpe United | 3 Leagues | 17 | 10 | 926 | 10.3 | 4 | 2 | 6 | 4 | 0 | 0 | 1 | 0 | 0.39 | 0.19 | 0.58 | 0.39 | 0.58 | |
| 2018-2019 | 20 | Southend United | 1 League | 10 | 8 | 580 | 6.4 | 5 | 0 | 5 | 5 | 0 | 0 | 1 | 0 | 0.78 | 0.00 | 0.78 | 0.78 | 0.78 | |
| 2019-2020 | 21 | Southend United | 2 Leagues | 22 | 15 | 1,446 | 16.1 | 5 | 1 | 6 | 5 | 0 | 0 | 2 | 0 | 0.31 | 0.06 | 0.37 | 0.31 | 0.37 | |
| 2020-2021 | 22 | Southend United | 1 League | 1 | 0 | 20 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2020-2021 | 22 | Rochdale | 1 League | 29 | 24 | 2,124 | 23.6 | 10 | 3 | 13 | 9 | 1 | 1 | 3 | 0 | 0.42 | 0.13 | 0.55 | 0.38 | 0.51 | |
| 2021-2022 | 23 | Wigan Athletic | 3 Leagues | 45 | 16 | 1,647 | 18.3 | 6 | 2 | 8 | 6 | 0 | 0 | 1 | 0 | 0.33 | 0.11 | 0.44 | 0.33 | 0.44 | |
| 2022-2023 | 24 | Hearts | 2 Leagues | 23 | 8 | 968 | 10.8 | 4 | 0 | 4 | 4 | 0 | 0 | 2 | 0 | 0.37 | 0.00 | 0.37 | 0.37 | 0.37 | |
| 2022-2023 | 24 | Wigan Athletic | 2 Leagues | 3 | 1 | 124 | 1.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2023-2024 | 25 | Wigan Athletic | 3 Leagues | 42 | 28 | 2,452 | 27.2 | 10 | 3 | 13 | 10 | 0 | 2 | 7 | 0 | 0.37 | 0.11 | 0.48 | 0.37 | 0.48 | |
| 2024-2025 | 26 | Barnsley | 3 Leagues | 40 | 28 | 2,507 | 27.9 | 9 | 2 | 11 | 9 | 0 | 0 | 4 | 0 | 0.32 | 0.07 | 0.39 | 0.32 | 0.39 | |
| 2025-2026 | 27 | Bradford City | 3 Leagues | 41 | 24 | 2,421 | 26.9 | 7 | 4 | 11 | 7 | 0 | 0 | 1 | 0 | 0.26 | 0.15 | 0.41 | 0.26 | 0.41 | |
| 10 Seasons | 9 Clubs | 6 Leagues | 308 | 178 | 16,611 | 184.6 | 65 | 21 | 86 | 63 | 2 | 4 | 25 | 2 | 0.35 | 0.11 | 0.47 | 0.34 | 0.46 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Wigan Athletic (3 Seasons) | 4 Leagues | 90 | 45 | 4,223 | 46.9 | 16 | 5 | 21 | 16 | 0 | 2 | 8 | 0 | 0.34 | 0.11 | 0.45 | 0.34 | 0.45 | |||
| Southend United (3 Seasons) | 2 Leagues | 33 | 23 | 2,046 | 22.7 | 10 | 1 | 11 | 10 | 0 | 0 | 3 | 0 | 0.44 | 0.04 | 0.48 | 0.44 | 0.48 | |||
| Rochdale (2 Seasons) | 2 Leagues | 47 | 37 | 3,014 | 33.5 | 13 | 5 | 18 | 12 | 1 | 1 | 4 | 0 | 0.39 | 0.15 | 0.54 | 0.36 | 0.51 | |||
| Fulham (2 Seasons) | 1 League | 5 | 5 | 448 | 5.0 | 4 | 1 | 5 | 4 | 0 | 0 | 1 | 0 | 0.80 | 0.20 | 1.00 | 0.80 | 1.00 | |||
| Bradford City (1 Season) | 3 Leagues | 41 | 24 | 2,421 | 26.9 | 7 | 4 | 11 | 7 | 0 | 0 | 1 | 0 | 0.26 | 0.15 | 0.41 | 0.26 | 0.41 | |||
| Barnsley (1 Season) | 3 Leagues | 40 | 28 | 2,507 | 27.9 | 9 | 2 | 11 | 9 | 0 | 0 | 4 | 0 | 0.32 | 0.07 | 0.39 | 0.32 | 0.39 | |||
| Hearts (1 Season) | 2 Leagues | 23 | 8 | 968 | 10.8 | 4 | 0 | 4 | 4 | 0 | 0 | 2 | 0 | 0.37 | 0.00 | 0.37 | 0.37 | 0.37 | |||
| Scunthorpe United (1 Season) | 3 Leagues | 17 | 10 | 926 | 10.3 | 4 | 2 | 6 | 4 | 0 | 0 | 1 | 0 | 0.39 | 0.19 | 0.58 | 0.39 | 0.58 | |||
| Shrewsbury Town (1 Season) | 1 League | 14 | 3 | 473 | 5.3 | 2 | 2 | 4 | 1 | 1 | 1 | 2 | 2 | 0.38 | 0.38 | 0.76 | 0.19 | 0.57 | |||
| Fulham (1 Season) | 2 Leagues | 3 | 0 | 33 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| League One (9 Seasons) | 257 | 155 | 14,154 | 157.3 | 57 | 20 | 77 | 55 | 2 | 4 | 20 | 2 | 0.36 | 0.13 | 0.49 | 0.35 | 0.48 | ||||
| EFL Cup (8 Seasons) | 11 | 7 | 736 | 8.2 | 2 | 1 | 3 | 2 | 0 | 0 | 3 | 0 | 0.24 | 0.12 | 0.37 | 0.24 | 0.37 | ||||
| FA Cup (7 Seasons) | 13 | 8 | 692 | 7.7 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0.26 | 0.00 | 0.26 | 0.26 | 0.26 | ||||
| PL2 — Div. 2 (2 Seasons) | 5 | 5 | 448 | 5.0 | 4 | 1 | 5 | 4 | 0 | 0 | 1 | 0 | 0.80 | 0.20 | 1.00 | 0.80 | 1.00 | ||||
| Championship (2 Seasons) | 4 | 0 | 61 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Premiership (1 Season) | 19 | 7 | 799 | 8.9 | 3 | 0 | 3 | 3 | 0 | 0 | 2 | 0 | 0.34 | 0.00 | 0.34 | 0.34 | 0.34 | ||||
| Conf Lg (1 Season) | 4 | 1 | 169 | 1.9 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.53 | 0.00 | 0.53 | 0.53 | 0.53 | ||||
| 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 | |||||
| 2016-2017 | 18 | Shrewsbury Town | eng ENG | 3. League One | 18th | 14 | 3 | 473 | 5.3 | 2 | 2 | 4 | 1 | 1 | 1 | 2 | 2 | 0.38 | 0.38 | 0.76 | 0.19 | 0.57 | Matches |
| 2016-2017 | 18 | Fulham | eng ENG | 2. Championship | 6th | 2 | 0 | 27 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 19 | Rochdale | eng ENG | 3. League One | 20th | 16 | 11 | 759 | 8.4 | 2 | 2 | 4 | 2 | 0 | 0 | 1 | 0 | 0.24 | 0.24 | 0.47 | 0.24 | 0.47 | Matches |
| 2017-2018 | 19 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 8th | 3 | 3 | 270 | 3.0 | 2 | 1 | 3 | 2 | 0 | 0 | 0 | 0 | 0.67 | 0.33 | 1.00 | 0.67 | 1.00 | Matches |
| 2018-2019 | 20 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 10th | 2 | 2 | 178 | 2.0 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 1.01 | 0.00 | 1.01 | 1.01 | 1.01 | Matches |
| 2018-2019 | 20 | Scunthorpe United | eng ENG | 3. League One | 23rd | 16 | 10 | 895 | 9.9 | 3 | 2 | 5 | 3 | 0 | 0 | 1 | 0 | 0.30 | 0.20 | 0.50 | 0.30 | 0.50 | Matches |
| 2018-2019 | 20 | Southend United | eng ENG | 3. League One | 19th | 10 | 8 | 580 | 6.4 | 5 | 0 | 5 | 5 | 0 | 0 | 1 | 0 | 0.78 | 0.00 | 0.78 | 0.78 | 0.78 | Matches |
| 2019-2020 | 21 | Southend United | eng ENG | 3. League One | 22nd | 21 | 14 | 1,356 | 15.1 | 5 | 0 | 5 | 5 | 0 | 0 | 1 | 0 | 0.33 | 0.00 | 0.33 | 0.33 | 0.33 | Matches |
| 2020-2021 | 22 | Rochdale | eng ENG | 3. League One | 21st | 29 | 24 | 2,124 | 23.6 | 10 | 3 | 13 | 9 | 1 | 1 | 3 | 0 | 0.42 | 0.13 | 0.55 | 0.38 | 0.51 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | 3. League One | 1st | 38 | 12 | 1,275 | 14.2 | 5 | 2 | 7 | 5 | 0 | 0 | 1 | 0 | 0.35 | 0.14 | 0.49 | 0.35 | 0.49 | Matches |
| 2022-2023 | 24 | Hearts | sct SCO | 1. Premiership | 4th | 19 | 7 | 799 | 8.9 | 3 | 0 | 3 | 3 | 0 | 0 | 2 | 0 | 0.34 | 0.00 | 0.34 | 0.34 | 0.34 | Matches |
| 2022-2023 | 24 | Wigan Athletic | eng ENG | 2. Championship | 24th | 2 | 0 | 34 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | 3. League One | 12th | 38 | 24 | 2,108 | 23.4 | 9 | 3 | 12 | 9 | 0 | 2 | 7 | 0 | 0.38 | 0.13 | 0.51 | 0.38 | 0.51 | Matches |
| 2024-2025 | 26 | Barnsley | eng ENG | 3. League One | 12th | 37 | 26 | 2,282 | 25.4 | 9 | 2 | 11 | 9 | 0 | 0 | 3 | 0 | 0.35 | 0.08 | 0.43 | 0.35 | 0.43 | Matches |
| 2025-2026 | 27 | Bradford City | eng ENG | 3. League One | 4th | 38 | 23 | 2,302 | 25.6 | 7 | 4 | 11 | 7 | 0 | 0 | 0 | 0 | 0.27 | 0.16 | 0.43 | 0.27 | 0.43 | Matches |
| 10 Seasons | 9 Clubs | 3 Leagues | 280 | 162 | 15,014 | 166.8 | 60 | 20 | 80 | 58 | 2 | 4 | 22 | 2 | 0.36 | 0.12 | 0.48 | 0.35 | 0.47 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Wigan Athletic (3 Seasons) | 2 Leagues | 78 | 36 | 3,417 | 38.0 | 14 | 5 | 19 | 14 | 0 | 2 | 8 | 0 | 0.37 | 0.13 | 0.50 | 0.37 | 0.50 | |||||
| Rochdale (2 Seasons) | 1 League | 45 | 35 | 2,883 | 32.0 | 12 | 5 | 17 | 11 | 1 | 1 | 4 | 0 | 0.37 | 0.16 | 0.53 | 0.34 | 0.50 | |||||
| Southend United (2 Seasons) | 1 League | 31 | 22 | 1,936 | 21.5 | 10 | 0 | 10 | 10 | 0 | 0 | 2 | 0 | 0.46 | 0.00 | 0.46 | 0.46 | 0.46 | |||||
| Fulham (2 Seasons) | 1 League | 5 | 5 | 448 | 5.0 | 4 | 1 | 5 | 4 | 0 | 0 | 1 | 0 | 0.80 | 0.20 | 1.00 | 0.80 | 1.00 | |||||
| Bradford City (1 Season) | 1 League | 38 | 23 | 2,302 | 25.6 | 7 | 4 | 11 | 7 | 0 | 0 | 0 | 0 | 0.27 | 0.16 | 0.43 | 0.27 | 0.43 | |||||
| Barnsley (1 Season) | 1 League | 37 | 26 | 2,282 | 25.4 | 9 | 2 | 11 | 9 | 0 | 0 | 3 | 0 | 0.35 | 0.08 | 0.43 | 0.35 | 0.43 | |||||
| Hearts (1 Season) | 1 League | 19 | 7 | 799 | 8.9 | 3 | 0 | 3 | 3 | 0 | 0 | 2 | 0 | 0.34 | 0.00 | 0.34 | 0.34 | 0.34 | |||||
| Scunthorpe United (1 Season) | 1 League | 16 | 10 | 895 | 9.9 | 3 | 2 | 5 | 3 | 0 | 0 | 1 | 0 | 0.30 | 0.20 | 0.50 | 0.30 | 0.50 | |||||
| Shrewsbury Town (1 Season) | 1 League | 14 | 3 | 473 | 5.3 | 2 | 2 | 4 | 1 | 1 | 1 | 2 | 2 | 0.38 | 0.38 | 0.76 | 0.19 | 0.57 | |||||
| Fulham (1 Season) | 1 League | 2 | 0 | 27 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| League One (9 Seasons) | 257 | 155 | 14,154 | 157.3 | 57 | 20 | 77 | 55 | 2 | 4 | 20 | 2 | 0.36 | 0.13 | 0.49 | 0.35 | 0.48 | ||||||
| PL2 — Div. 2 (2 Seasons) | 5 | 5 | 448 | 5.0 | 4 | 1 | 5 | 4 | 0 | 0 | 1 | 0 | 0.80 | 0.20 | 1.00 | 0.80 | 1.00 | ||||||
| Championship (2 Seasons) | 4 | 0 | 61 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| Premiership (1 Season) | 19 | 7 | 799 | 8.9 | 3 | 0 | 3 | 3 | 0 | 0 | 2 | 0 | 0.34 | 0.00 | 0.34 | 0.34 | 0.34 | ||||||
| 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 | |||||
| 2016-2017 | 18 | Fulham | eng ENG | FA Cup | 9th | 1 | 0 | 6 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 19 | Rochdale | eng ENG | FA Cup | 9th | 2 | 2 | 131 | 1.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.69 | 0.00 | 0.69 | 0.69 | 0.69 | Matches |
| 2018-2019 | 20 | Scunthorpe United | eng ENG | EFL Cup | 58th | 1 | 0 | 31 | 0.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2.90 | 0.00 | 2.90 | 2.90 | 2.90 | Matches |
| 2018-2019 | 20 | Scunthorpe United | eng ENG | FA Cup | 65th | 0 | 0 | Matches | |||||||||||||||
| 2019-2020 | 21 | Southend United | eng ENG | EFL Cup | 33rd | 1 | 1 | 90 | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 1.00 | 1.00 | 0.00 | 1.00 | Matches |
| 2020-2021 | 22 | Southend United | eng ENG | EFL Cup | 58th | 1 | 0 | 20 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | EFL Cup | Rd3 | 3 | 3 | 248 | 2.8 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.36 | 0.00 | 0.36 | 0.36 | 0.36 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | FA Cup | 4 | 1 | 124 | 1.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022-2023 | 24 | Wigan Athletic | eng ENG | EFL Cup | Rd1 | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | EFL Cup | Rd1 | 1 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | FA Cup | 3 | 3 | 224 | 2.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.40 | 0.00 | 0.40 | 0.40 | 0.40 | Matches | |
| 2024-2025 | 26 | Barnsley | eng ENG | EFL Cup | Rd3 | 1 | 0 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 26 | Barnsley | eng ENG | FA Cup | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2025-2026 | 27 | Bradford City | eng ENG | EFL Cup | Rd3 | 2 | 1 | 92 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 27 | Bradford City | eng ENG | FA Cup | 1 | 0 | 27 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 10 Seasons | 7 Clubs | 2 Leagues | 24 | 15 | 1,428 | 15.9 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.25 | 0.06 | 0.32 | 0.25 | 0.32 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Wigan Athletic (3 Seasons) | 2 Leagues | 12 | 9 | 806 | 9.0 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0.22 | 0.00 | 0.22 | 0.22 | 0.22 | |||||
| Southend United (2 Seasons) | 1 League | 2 | 1 | 110 | 1.2 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.82 | 0.82 | 0.00 | 0.82 | |||||
| Barnsley (1 Season) | 2 Leagues | 3 | 2 | 225 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Bradford City (1 Season) | 2 Leagues | 3 | 1 | 119 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Rochdale (1 Season) | 1 League | 2 | 2 | 131 | 1.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.69 | 0.00 | 0.69 | 0.69 | 0.69 | |||||
| Scunthorpe United (1 Season) | 2 Leagues | 1 | 0 | 31 | 0.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2.90 | 0.00 | 2.90 | 2.90 | 2.90 | |||||
| Fulham (1 Season) | 1 League | 1 | 0 | 6 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| EFL Cup (8 Seasons) | 11 | 7 | 736 | 8.2 | 2 | 1 | 3 | 2 | 0 | 0 | 3 | 0 | 0.24 | 0.12 | 0.37 | 0.24 | 0.37 | ||||||
| FA Cup (7 Seasons) | 13 | 8 | 692 | 7.7 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0.26 | 0.00 | 0.26 | 0.26 | 0.26 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016-2017 | 18 | Fulham | eng ENG | 2. Championship | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2016-2017 | 18 | Fulham | eng ENG | FA Cup | 0.1 | 0 | 0 | 0 | Matches | |||||||
| 2016-2017 | 18 | Shrewsbury Town | eng ENG | 3. League One | 5.3 | 2 | 0 | 5 | 0.00 | 0.95 | 0.20 | 1 | 1 | Matches | ||
| 2017-2018 | 19 | Rochdale | eng ENG | FA Cup | 1.5 | 1 | 2 | 1 | 50.0 | 1.37 | 0.69 | 0.50 | 1.00 | 0 | 0 | Matches |
| 2017-2018 | 19 | Rochdale | eng ENG | 3. League One | 8.4 | 2 | 0 | 12 | 0.00 | 1.42 | 0.17 | 0 | 0 | Matches | ||
| 2017-2018 | 19 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 3.0 | 2 | 0 | 0 | Matches | |||||||
| 2018-2019 | 20 | Scunthorpe United | eng ENG | EFL Cup | 0.3 | 1 | 1 | 1 | 100.0 | 2.90 | 2.90 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2018-2019 | 20 | Scunthorpe United | eng ENG | 3. League One | 9.9 | 3 | 0 | 0 | Matches | |||||||
| 2018-2019 | 20 | Southend United | eng ENG | 3. League One | 6.4 | 5 | 0 | 0 | Matches | |||||||
| 2018-2019 | 20 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 2.0 | 2 | 0 | 0 | Matches | |||||||
| 2019-2020 | 21 | Southend United | eng ENG | EFL Cup | 1.0 | 0 | 8 | 2 | 25.0 | 8.00 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 21 | Southend United | eng ENG | 3. League One | 15.1 | 5 | 54 | 20 | 37.0 | 3.58 | 1.33 | 0.09 | 0.25 | 0 | 0 | Matches |
| 2020-2021 | 22 | Southend United | eng ENG | EFL Cup | 0.2 | 0 | 2 | 0 | 0.0 | 9.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 22 | Rochdale | eng ENG | 3. League One | 23.6 | 10 | 93 | 28 | 30.1 | 3.94 | 1.19 | 0.10 | 0.32 | 1 | 1 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | EFL Cup | 2.8 | 1 | 12 | 6 | 50.0 | 4.35 | 2.18 | 0.08 | 0.17 | 0 | 0 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | FA Cup | 1.4 | 0 | 2 | 1 | 50.0 | 1.45 | 0.73 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | 3. League One | 14.2 | 5 | 45 | 14 | 31.1 | 3.18 | 0.99 | 0.11 | 0.36 | 0 | 0 | Matches |
| 2022-2023 | 24 | Wigan Athletic | eng ENG | 2. Championship | 0.4 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2022-2023 | 24 | Hearts | 3. Conf Lg | 1.9 | 1 | 0 | 0 | Matches | ||||||||
| 2022-2023 | 24 | Wigan Athletic | eng ENG | EFL Cup | 1.0 | 0 | 4 | 2 | 50.0 | 4.00 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 24 | Hearts | sct SCO | 1. Premiership | 8.9 | 3 | 31 | 12 | 38.7 | 3.49 | 1.35 | 0.10 | 0.25 | 0 | 0 | Matches |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | EFL Cup | 1.3 | 0 | 4 | 2 | 50.0 | 3.00 | 1.50 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | FA Cup | 2.5 | 1 | 12 | 2 | 16.7 | 4.82 | 0.80 | 0.08 | 0.50 | 0 | 0 | Matches |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | 3. League One | 23.4 | 9 | 61 | 21 | 34.4 | 2.60 | 0.90 | 0.15 | 0.43 | 0 | 2 | Matches |
| 2024-2025 | 26 | Barnsley | eng ENG | EFL Cup | 0.5 | 0 | 1 | 0 | 0.0 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2024-2025 | 26 | Barnsley | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | Matches | |||||||
| 2024-2025 | 26 | Barnsley | eng ENG | 3. League One | 25.4 | 9 | 79 | 34 | 43.0 | 3.12 | 1.34 | 0.11 | 0.26 | 0 | 0 | Matches |
| 2025-2026 | 27 | Bradford City | eng ENG | EFL Cup | 1.0 | 0 | 2 | 2 | 100.0 | 1.96 | 1.96 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2025-2026 | 27 | Bradford City | eng ENG | FA Cup | 0.3 | 0 | 0 | 0 | Matches | |||||||
| 2025-2026 | 27 | Bradford City | eng ENG | 3. League One | 25.6 | 7 | 90 | 29 | 32.2 | 3.52 | 1.13 | 0.08 | 0.24 | 0 | 0 | Matches |
| 10 Seasons | 9 Clubs | 6 Leagues | 184.6 | 65 | 503 | 194 | 38.6 | 3.07 | 1.18 | 0.11 | 0.28 | 2 | 4 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Wigan Athletic (3 Seasons) | 4 Leagues | 46.9 | 16 | 140 | 48 | 34.3 | 2.98 | 1.02 | 0.11 | 0.33 | 0 | 2 | ||||
| Southend United (3 Seasons) | 2 Leagues | 22.7 | 10 | 64 | 22 | 34.4 | 3.93 | 1.35 | 0.08 | 0.23 | 0 | 0 | ||||
| Rochdale (2 Seasons) | 2 Leagues | 33.5 | 13 | 95 | 41 | 43.2 | 2.84 | 1.22 | 0.13 | 0.29 | 1 | 1 | ||||
| Fulham (2 Seasons) | 1 League | 5.0 | 4 | 0 | 0 | |||||||||||
| Bradford City (1 Season) | 3 Leagues | 26.9 | 7 | 92 | 31 | 33.7 | 3.46 | 1.17 | 0.08 | 0.23 | 0 | 0 | ||||
| Barnsley (1 Season) | 3 Leagues | 27.9 | 9 | 80 | 34 | 42.5 | 3.09 | 1.31 | 0.11 | 0.26 | 0 | 0 | ||||
| Hearts (1 Season) | 2 Leagues | 10.8 | 4 | 31 | 12 | 38.7 | 3.49 | 1.35 | 0.10 | 0.25 | 0 | 0 | ||||
| Scunthorpe United (1 Season) | 3 Leagues | 10.3 | 4 | 1 | 1 | 100.0 | 2.90 | 2.90 | 1.00 | 1.00 | 0 | 0 | ||||
| Shrewsbury Town (1 Season) | 1 League | 5.3 | 2 | 0 | 5 | 0.00 | 0.95 | 0.20 | 1 | 1 | ||||||
| Fulham (1 Season) | 2 Leagues | 0.4 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||
| League One (9 Seasons) | 157.3 | 57 | 422 | 163 | 38.6 | 3.00 | 1.16 | 0.11 | 0.29 | 2 | 4 | |||||
| EFL Cup (8 Seasons) | 8.2 | 2 | 34 | 15 | 44.1 | 4.16 | 1.83 | 0.06 | 0.13 | 0 | 0 | |||||
| FA Cup (7 Seasons) | 7.7 | 2 | 16 | 4 | 25.0 | 3.01 | 0.75 | 0.13 | 0.50 | 0 | 0 | |||||
| PL2 — Div. 2 (2 Seasons) | 5.0 | 4 | 0 | 0 | ||||||||||||
| Championship (2 Seasons) | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Premiership (1 Season) | 8.9 | 3 | 31 | 12 | 38.7 | 3.49 | 1.35 | 0.10 | 0.25 | 0 | 0 | |||||
| Conf Lg (1 Season) | 1.9 | 1 | 0 | 0 | ||||||||||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016-2017 | 18 | Shrewsbury Town | 1 League | 5.3 | 2 | 0 | 5 | 0.00 | 0.95 | 0.20 | 1 | 1 | |||
| 2016-2017 | 18 | Fulham | 2 Leagues | 0.4 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2017-2018 | 19 | Rochdale | 2 Leagues | 9.9 | 3 | 2 | 13 | 650.0 | 0.20 | 1.31 | 1.50 | 0.23 | 0 | 0 | |
| 2017-2018 | 19 | Fulham | 1 League | 3.0 | 2 | 0 | 0 | ||||||||
| 2018-2019 | 20 | Fulham | 1 League | 2.0 | 2 | 0 | 0 | ||||||||
| 2018-2019 | 20 | Scunthorpe United | 3 Leagues | 10.3 | 4 | 1 | 1 | 100.0 | 2.90 | 2.90 | 1.00 | 1.00 | 0 | 0 | |
| 2018-2019 | 20 | Southend United | 1 League | 6.4 | 5 | 0 | 0 | ||||||||
| 2019-2020 | 21 | Southend United | 2 Leagues | 16.1 | 5 | 62 | 22 | 35.5 | 3.86 | 1.37 | 0.08 | 0.23 | 0 | 0 | |
| 2020-2021 | 22 | Southend United | 1 League | 0.2 | 0 | 2 | 0 | 0.0 | 9.00 | 0.00 | 0.00 | 0 | 0 | ||
| 2020-2021 | 22 | Rochdale | 1 League | 23.6 | 10 | 93 | 28 | 30.1 | 3.94 | 1.19 | 0.10 | 0.32 | 1 | 1 | |
| 2021-2022 | 23 | Wigan Athletic | 3 Leagues | 18.3 | 6 | 59 | 21 | 35.6 | 3.22 | 1.15 | 0.10 | 0.29 | 0 | 0 | |
| 2022-2023 | 24 | Hearts | 2 Leagues | 10.8 | 4 | 31 | 12 | 38.7 | 3.49 | 1.35 | 0.10 | 0.25 | 0 | 0 | |
| 2022-2023 | 24 | Wigan Athletic | 2 Leagues | 1.4 | 0 | 4 | 2 | 50.0 | 2.90 | 1.45 | 0.00 | 0.00 | 0 | 0 | |
| 2023-2024 | 25 | Wigan Athletic | 3 Leagues | 27.2 | 10 | 77 | 25 | 32.5 | 2.83 | 0.92 | 0.13 | 0.40 | 0 | 2 | |
| 2024-2025 | 26 | Barnsley | 3 Leagues | 27.9 | 9 | 80 | 34 | 42.5 | 3.09 | 1.31 | 0.11 | 0.26 | 0 | 0 | |
| 2025-2026 | 27 | Bradford City | 3 Leagues | 26.9 | 7 | 92 | 31 | 33.7 | 3.46 | 1.17 | 0.08 | 0.23 | 0 | 0 | |
| 10 Seasons | 9 Clubs | 6 Leagues | 184.6 | 65 | 503 | 194 | 38.6 | 3.07 | 1.18 | 0.11 | 0.28 | 2 | 4 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Wigan Athletic (3 Seasons) | 4 Leagues | 46.9 | 16 | 140 | 48 | 34.3 | 2.98 | 1.02 | 0.11 | 0.33 | 0 | 2 | |||
| Southend United (3 Seasons) | 2 Leagues | 22.7 | 10 | 64 | 22 | 34.4 | 3.93 | 1.35 | 0.08 | 0.23 | 0 | 0 | |||
| Rochdale (2 Seasons) | 2 Leagues | 33.5 | 13 | 95 | 41 | 43.2 | 2.84 | 1.22 | 0.13 | 0.29 | 1 | 1 | |||
| Fulham (2 Seasons) | 1 League | 5.0 | 4 | 0 | 0 | ||||||||||
| Bradford City (1 Season) | 3 Leagues | 26.9 | 7 | 92 | 31 | 33.7 | 3.46 | 1.17 | 0.08 | 0.23 | 0 | 0 | |||
| Barnsley (1 Season) | 3 Leagues | 27.9 | 9 | 80 | 34 | 42.5 | 3.09 | 1.31 | 0.11 | 0.26 | 0 | 0 | |||
| Hearts (1 Season) | 2 Leagues | 10.8 | 4 | 31 | 12 | 38.7 | 3.49 | 1.35 | 0.10 | 0.25 | 0 | 0 | |||
| Scunthorpe United (1 Season) | 3 Leagues | 10.3 | 4 | 1 | 1 | 100.0 | 2.90 | 2.90 | 1.00 | 1.00 | 0 | 0 | |||
| Shrewsbury Town (1 Season) | 1 League | 5.3 | 2 | 0 | 5 | 0.00 | 0.95 | 0.20 | 1 | 1 | |||||
| Fulham (1 Season) | 2 Leagues | 0.4 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||
| League One (9 Seasons) | 157.3 | 57 | 422 | 163 | 38.6 | 3.00 | 1.16 | 0.11 | 0.29 | 2 | 4 | ||||
| EFL Cup (8 Seasons) | 8.2 | 2 | 34 | 15 | 44.1 | 4.16 | 1.83 | 0.06 | 0.13 | 0 | 0 | ||||
| FA Cup (7 Seasons) | 7.7 | 2 | 16 | 4 | 25.0 | 3.01 | 0.75 | 0.13 | 0.50 | 0 | 0 | ||||
| PL2 — Div. 2 (2 Seasons) | 5.0 | 4 | 0 | 0 | |||||||||||
| Championship (2 Seasons) | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||
| Premiership (1 Season) | 8.9 | 3 | 31 | 12 | 38.7 | 3.49 | 1.35 | 0.10 | 0.25 | 0 | 0 | ||||
| Conf Lg (1 Season) | 1.9 | 1 | 0 | 0 | |||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016-2017 | 18 | Shrewsbury Town | eng ENG | 3. League One | 18th | 5.3 | 2 | 0 | 5 | 0.00 | 0.95 | 0.20 | 1 | 1 | Matches | ||
| 2016-2017 | 18 | Fulham | eng ENG | 2. Championship | 6th | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2017-2018 | 19 | Rochdale | eng ENG | 3. League One | 20th | 8.4 | 2 | 0 | 12 | 0.00 | 1.42 | 0.17 | 0 | 0 | Matches | ||
| 2017-2018 | 19 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 8th | 3.0 | 2 | 0 | 0 | Matches | |||||||
| 2018-2019 | 20 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 10th | 2.0 | 2 | 0 | 0 | Matches | |||||||
| 2018-2019 | 20 | Scunthorpe United | eng ENG | 3. League One | 23rd | 9.9 | 3 | 0 | 0 | Matches | |||||||
| 2018-2019 | 20 | Southend United | eng ENG | 3. League One | 19th | 6.4 | 5 | 0 | 0 | Matches | |||||||
| 2019-2020 | 21 | Southend United | eng ENG | 3. League One | 22nd | 15.1 | 5 | 54 | 20 | 37.0 | 3.58 | 1.33 | 0.09 | 0.25 | 0 | 0 | Matches |
| 2020-2021 | 22 | Rochdale | eng ENG | 3. League One | 21st | 23.6 | 10 | 93 | 28 | 30.1 | 3.94 | 1.19 | 0.10 | 0.32 | 1 | 1 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | 3. League One | 1st | 14.2 | 5 | 45 | 14 | 31.1 | 3.18 | 0.99 | 0.11 | 0.36 | 0 | 0 | Matches |
| 2022-2023 | 24 | Hearts | sct SCO | 1. Premiership | 4th | 8.9 | 3 | 31 | 12 | 38.7 | 3.49 | 1.35 | 0.10 | 0.25 | 0 | 0 | Matches |
| 2022-2023 | 24 | Wigan Athletic | eng ENG | 2. Championship | 24th | 0.4 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2023-2024 | 25 | Wigan Athletic | eng ENG | 3. League One | 12th | 23.4 | 9 | 61 | 21 | 34.4 | 2.60 | 0.90 | 0.15 | 0.43 | 0 | 2 | Matches |
| 2024-2025 | 26 | Barnsley | eng ENG | 3. League One | 12th | 25.4 | 9 | 79 | 34 | 43.0 | 3.12 | 1.34 | 0.11 | 0.26 | 0 | 0 | Matches |
| 2025-2026 | 27 | Bradford City | eng ENG | 3. League One | 4th | 25.6 | 7 | 90 | 29 | 32.2 | 3.52 | 1.13 | 0.08 | 0.24 | 0 | 0 | Matches |
| 10 Seasons | 9 Clubs | 3 Leagues | 166.8 | 60 | 453 | 175 | 38.6 | 3.01 | 1.16 | 0.11 | 0.29 | 2 | 4 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Wigan Athletic (3 Seasons) | 2 Leagues | 38.0 | 14 | 106 | 35 | 33.0 | 2.79 | 0.92 | 0.13 | 0.40 | 0 | 2 | |||||
| Rochdale (2 Seasons) | 1 League | 32.0 | 12 | 93 | 40 | 43.0 | 2.90 | 1.25 | 0.12 | 0.28 | 1 | 1 | |||||
| Southend United (2 Seasons) | 1 League | 21.5 | 10 | 54 | 20 | 37.0 | 3.58 | 1.33 | 0.09 | 0.25 | 0 | 0 | |||||
| Fulham (2 Seasons) | 1 League | 5.0 | 4 | 0 | 0 | ||||||||||||
| Bradford City (1 Season) | 1 League | 25.6 | 7 | 90 | 29 | 32.2 | 3.52 | 1.13 | 0.08 | 0.24 | 0 | 0 | |||||
| Barnsley (1 Season) | 1 League | 25.4 | 9 | 79 | 34 | 43.0 | 3.12 | 1.34 | 0.11 | 0.26 | 0 | 0 | |||||
| Hearts (1 Season) | 1 League | 8.9 | 3 | 31 | 12 | 38.7 | 3.49 | 1.35 | 0.10 | 0.25 | 0 | 0 | |||||
| Scunthorpe United (1 Season) | 1 League | 9.9 | 3 | 0 | 0 | ||||||||||||
| Shrewsbury Town (1 Season) | 1 League | 5.3 | 2 | 0 | 5 | 0.00 | 0.95 | 0.20 | 1 | 1 | |||||||
| Fulham (1 Season) | 1 League | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| League One (9 Seasons) | 157.3 | 57 | 422 | 163 | 38.6 | 3.00 | 1.16 | 0.11 | 0.29 | 2 | 4 | ||||||
| PL2 — Div. 2 (2 Seasons) | 5.0 | 4 | 0 | 0 | |||||||||||||
| Championship (2 Seasons) | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||||
| Premiership (1 Season) | 8.9 | 3 | 31 | 12 | 38.7 | 3.49 | 1.35 | 0.10 | 0.25 | 0 | 0 | ||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016-2017 | 18 | Fulham | eng ENG | FA Cup | 9th | 0.1 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 19 | Rochdale | eng ENG | FA Cup | 9th | 1.5 | 1 | 2 | 1 | 50.0 | 1.37 | 0.69 | 0.50 | 1.00 | 0 | 0 | Matches |
| 2018-2019 | 20 | Scunthorpe United | eng ENG | EFL Cup | 58th | 0.3 | 1 | 1 | 1 | 100.0 | 2.90 | 2.90 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2019-2020 | 21 | Southend United | eng ENG | EFL Cup | 33rd | 1.0 | 0 | 8 | 2 | 25.0 | 8.00 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 22 | Southend United | eng ENG | EFL Cup | 58th | 0.2 | 0 | 2 | 0 | 0.0 | 9.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | EFL Cup | Rd3 | 2.8 | 1 | 12 | 6 | 50.0 | 4.35 | 2.18 | 0.08 | 0.17 | 0 | 0 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | FA Cup | 1.4 | 0 | 2 | 1 | 50.0 | 1.45 | 0.73 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 24 | Wigan Athletic | eng ENG | EFL Cup | Rd1 | 1.0 | 0 | 4 | 2 | 50.0 | 4.00 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | EFL Cup | Rd1 | 1.3 | 0 | 4 | 2 | 50.0 | 3.00 | 1.50 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | FA Cup | 2.5 | 1 | 12 | 2 | 16.7 | 4.82 | 0.80 | 0.08 | 0.50 | 0 | 0 | Matches | |
| 2024-2025 | 26 | Barnsley | eng ENG | EFL Cup | Rd3 | 0.5 | 0 | 1 | 0 | 0.0 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2024-2025 | 26 | Barnsley | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | Matches | ||||||||
| 2025-2026 | 27 | Bradford City | eng ENG | EFL Cup | Rd3 | 1.0 | 0 | 2 | 2 | 100.0 | 1.96 | 1.96 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2025-2026 | 27 | Bradford City | eng ENG | FA Cup | 0.3 | 0 | 0 | 0 | Matches | ||||||||
| 10 Seasons | 7 Clubs | 2 Leagues | 15.9 | 4 | 50 | 19 | 38.0 | 3.70 | 1.41 | 0.08 | 0.21 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Wigan Athletic (3 Seasons) | 2 Leagues | 9.0 | 2 | 34 | 13 | 38.2 | 3.80 | 1.45 | 0.06 | 0.15 | 0 | 0 | |||||
| Southend United (2 Seasons) | 1 League | 1.2 | 0 | 10 | 2 | 20.0 | 8.18 | 1.64 | 0.00 | 0.00 | 0 | 0 | |||||
| Barnsley (1 Season) | 2 Leagues | 2.5 | 0 | 1 | 0 | 0.0 | 2.00 | 0.00 | 0.00 | 0 | 0 | ||||||
| Bradford City (1 Season) | 2 Leagues | 1.3 | 0 | 2 | 2 | 100.0 | 1.96 | 1.96 | 0.00 | 0.00 | 0 | 0 | |||||
| Rochdale (1 Season) | 1 League | 1.5 | 1 | 2 | 1 | 50.0 | 1.37 | 0.69 | 0.50 | 1.00 | 0 | 0 | |||||
| Scunthorpe United (1 Season) | 2 Leagues | 0.3 | 1 | 1 | 1 | 100.0 | 2.90 | 2.90 | 1.00 | 1.00 | 0 | 0 | |||||
| Fulham (1 Season) | 1 League | 0.1 | 0 | 0 | 0 | ||||||||||||
| EFL Cup (8 Seasons) | 8.2 | 2 | 34 | 15 | 44.1 | 4.16 | 1.83 | 0.06 | 0.13 | 0 | 0 | ||||||
| FA Cup (7 Seasons) | 7.7 | 2 | 16 | 4 | 25.0 | 3.01 | 0.75 | 0.13 | 0.50 | 0 | 0 | ||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016-2017 | 18 | Fulham | eng ENG | 2. Championship | 2 | 27 | 14 | 0.7 | 0.3 | 0 | 0 | 2 | 0 | 0.50 | 0 | 2 | -2 | -6.67 | -7.32 | Matches | ||
| 2016-2017 | 18 | Fulham | eng ENG | FA Cup | 1 | 6 | 6 | 2.2 | 0.1 | 0 | 0 | 1 | 5 | 0 | 3.00 | 0 | 0 | 0 | 0.00 | -0.34 | Matches | |
| 2016-2017 | 18 | Shrewsbury Town | eng ENG | 3. League One | 14 | 473 | 34 | 11.4 | 5.3 | 3 | 0 | 11 | 1 | 1.21 | 11 | 6 | +5 | +0.95 | +1.49 | Matches | ||
| 2017-2018 | 19 | Rochdale | eng ENG | FA Cup | 2 | 131 | 66 | 20.8 | 1.5 | 2 | 66 | 0 | 0 | 0 | 0.50 | 2 | 4 | -2 | -1.37 | -2.64 | Matches | |
| 2017-2018 | 19 | Rochdale | eng ENG | 3. League One | 16 | 759 | 47 | 18.3 | 8.4 | 11 | 2 | 5 | 3 | 1.44 | 8 | 9 | -1 | -0.12 | +0.07 | Matches | ||
| 2017-2018 | 19 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 3 | 270 | 90 | 15.0 | 3.0 | 3 | 90 | 3 | 0 | 0 | 1.00 | 5 | 4 | +1 | +0.33 | +0.33 | Matches | |
| 2018-2019 | 20 | Scunthorpe United | eng ENG | EFL Cup | 1 | 31 | 31 | 34.4 | 0.3 | 0 | 0 | 1 | 30 | 0 | 0.00 | 1 | 0 | +1 | +2.90 | +5.95 | Matches | |
| 2018-2019 | 20 | Scunthorpe United | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 2 | Matches | ||||||||||||
| 2018-2019 | 20 | Scunthorpe United | eng ENG | 3. League One | 16 | 895 | 56 | 21.6 | 9.9 | 10 | 81 | 6 | 6 | 14 | 4 | 0.94 | 12 | 22 | -10 | -1.01 | -0.45 | Matches |
| 2018-2019 | 20 | Southend United | eng ENG | 3. League One | 10 | 580 | 58 | 14.0 | 6.4 | 8 | 68 | 3 | 2 | 17 | 0 | 1.00 | 9 | 10 | -1 | -0.16 | +0.15 | Matches |
| 2018-2019 | 20 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 2 | 178 | 89 | 9.0 | 2.0 | 2 | 89 | 1 | 0 | 0 | 2.00 | 5 | 3 | +2 | +1.01 | +1.51 | Matches | |
| 2019-2020 | 21 | Southend United | eng ENG | EFL Cup | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 1 | 0.00 | 1 | 4 | -3 | -3.00 | -4.00 | Matches | |
| 2019-2020 | 21 | Southend United | eng ENG | 3. League One | 21 | 1,356 | 65 | 43.0 | 15.1 | 14 | 79 | 8 | 7 | 35 | 0 | 0.33 | 17 | 41 | -24 | -1.59 | -0.49 | Matches |
| 2020-2021 | 22 | Southend United | eng ENG | EFL Cup | 1 | 20 | 20 | 22.2 | 0.2 | 0 | 0 | 1 | 20 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.29 | Matches | |
| 2020-2021 | 22 | Rochdale | eng ENG | 3. League One | 29 | 2,124 | 73 | 51.3 | 23.6 | 24 | 84 | 16 | 5 | 20 | 0 | 0.86 | 33 | 48 | -15 | -0.64 | -0.55 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | EFL Cup | 3 | 248 | 83 | 91.9 | 2.8 | 3 | 83 | 2 | 0 | 0 | 0.67 | 1 | 3 | -2 | -0.73 | -0.73 | Matches | |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | FA Cup | 4 | 124 | 31 | 25.8 | 1.4 | 1 | 75 | 0 | 3 | 16 | 0 | 1.75 | 3 | 2 | +1 | +0.73 | +0.73 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | 3. League One | 38 | 1,275 | 34 | 30.8 | 14.2 | 12 | 77 | 2 | 26 | 14 | 7 | 1.95 | 31 | 10 | +21 | +1.48 | +0.95 | Matches |
| 2022-2023 | 24 | Wigan Athletic | eng ENG | 2. Championship | 2 | 34 | 17 | 0.8 | 0.4 | 0 | 0 | 2 | 17 | 4 | 1.00 | 0 | 0 | 0 | 0.00 | +0.59 | Matches | |
| 2022-2023 | 24 | Hearts | 3. Conf Lg | 4 | 169 | 42 | 31.3 | 1.9 | 1 | 74 | 0 | 3 | 32 | 0 | 0.75 | 2 | 8 | -6 | -3.20 | -2.22 | Matches | |
| 2022-2023 | 24 | Wigan Athletic | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2022-2023 | 24 | Hearts | sct SCO | 1. Premiership | 19 | 799 | 42 | 23.4 | 8.9 | 7 | 74 | 3 | 12 | 24 | 0 | 1.11 | 7 | 14 | -7 | -0.79 | -1.23 | Matches |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | EFL Cup | 1 | 120 | 120 | 100.0 | 1.3 | 1 | 120 | 1 | 0 | 0 | 1.00 | 0 | 0 | 0 | 0.00 | Matches | ||
| 2023-2024 | 25 | Wigan Athletic | eng ENG | FA Cup | 3 | 224 | 75 | 83.0 | 2.5 | 3 | 75 | 0 | 0 | 0 | 2.00 | 2 | 1 | +1 | +0.40 | +0.40 | Matches | |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | 3. League One | 38 | 2,108 | 55 | 50.9 | 23.4 | 24 | 70 | 4 | 14 | 31 | 1 | 1.50 | 34 | 27 | +7 | +0.30 | +0.30 | Matches |
| 2024-2025 | 26 | Barnsley | eng ENG | EFL Cup | 1 | 45 | 45 | 16.7 | 0.5 | 0 | 0 | 1 | 45 | 0 | 0.00 | 0 | 4 | -4 | -8.00 | -7.20 | Matches | |
| 2024-2025 | 26 | Barnsley | eng ENG | FA Cup | 2 | 180 | 90 | 85.7 | 2.0 | 2 | 90 | 1 | 0 | 0 | 2.00 | 3 | 1 | +2 | +1.00 | +1.00 | Matches | |
| 2024-2025 | 26 | Barnsley | eng ENG | 3. League One | 37 | 2,282 | 62 | 55.1 | 25.4 | 26 | 76 | 6 | 11 | 27 | 1 | 1.27 | 37 | 38 | -1 | -0.04 | +0.11 | Matches |
| 2025-2026 | 27 | Bradford City | eng ENG | EFL Cup | 2 | 92 | 46 | 34.1 | 1.0 | 1 | 61 | 0 | 1 | 31 | 0 | 1.50 | 0 | 2 | -2 | -1.96 | -3.47 | Matches |
| 2025-2026 | 27 | Bradford City | eng ENG | FA Cup | 1 | 27 | 27 | 30.0 | 0.3 | 0 | 0 | 1 | 27 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.43 | Matches | |
| 2025-2026 | 27 | Bradford City | eng ENG | 3. League One | 38 | 2,302 | 61 | 55.6 | 25.6 | 23 | 80 | 10 | 15 | 30 | 5 | 1.46 | 32 | 30 | +2 | +0.08 | -0.17 | Matches |
| 10 Seasons | 9 Clubs | 6 Leagues | 308 | 16,611 | 54 | 29.6 | 184.6 | 178 | 78 | 66 | 130 | 23 | 29 | 1.25 | 246 | 287 | -41 | -0.22 | -0.11 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Wigan Athletic (3 Seasons) | 4 Leagues | 90 | 4,223 | 47 | 30.9 | 46.9 | 45 | 75 | 10 | 45 | 19 | 12 | 1.66 | 71 | 44 | +27 | +0.58 | +0.67 | ||||
| Southend United (3 Seasons) | 2 Leagues | 33 | 2,046 | 62 | 27.1 | 22.7 | 23 | 76 | 12 | 10 | 30 | 1 | 0.51 | 27 | 55 | -28 | -1.23 | -0.68 | ||||
| Rochdale (2 Seasons) | 2 Leagues | 47 | 3,014 | 64 | 33.8 | 33.5 | 37 | 83 | 18 | 10 | 20 | 3 | 1.04 | 43 | 61 | -18 | -0.54 | -0.51 | ||||
| Fulham (2 Seasons) | 1 League | 5 | 448 | 90 | 11.9 | 5.0 | 5 | 90 | 4 | 0 | 0 | 1.40 | 10 | 7 | +3 | +0.60 | +0.87 | |||||
| Bradford City (1 Season) | 3 Leagues | 41 | 2,421 | 59 | 53.8 | 26.9 | 24 | 79 | 10 | 17 | 30 | 5 | 1.43 | 32 | 32 | 0 | 0.00 | -0.30 | ||||
| Barnsley (1 Season) | 3 Leagues | 40 | 2,507 | 63 | 54.3 | 27.9 | 28 | 77 | 7 | 12 | 29 | 1 | 1.27 | 40 | 43 | -3 | -0.11 | +0.11 | ||||
| Hearts (1 Season) | 2 Leagues | 23 | 968 | 42 | 24.4 | 10.8 | 8 | 74 | 3 | 15 | 25 | 0 | 1.05 | 9 | 22 | -13 | -1.21 | -1.48 | ||||
| Scunthorpe United (1 Season) | 3 Leagues | 17 | 926 | 54 | 21.0 | 10.3 | 10 | 81 | 6 | 7 | 16 | 6 | 0.88 | 13 | 22 | -9 | -0.87 | -0.28 | ||||
| Shrewsbury Town (1 Season) | 1 League | 14 | 473 | 34 | 11.4 | 5.3 | 3 | 0 | 11 | 1 | 1.21 | 11 | 6 | +5 | +0.95 | +1.49 | ||||||
| Fulham (1 Season) | 2 Leagues | 3 | 33 | 11 | 0.7 | 0.4 | 0 | 0 | 3 | 5 | 0 | 1.33 | 0 | 2 | -2 | -5.45 | -6.09 | |||||
| League One (9 Seasons) | 257 | 14,154 | 55 | 35.0 | 157.3 | 155 | 77 | 57 | 102 | 23 | 22 | 1.29 | 224 | 241 | -17 | -0.11 | +0.12 | |||||
| EFL Cup (8 Seasons) | 11 | 736 | 67 | 53.3 | 8.2 | 7 | 87 | 5 | 4 | 32 | 1 | 0.55 | 3 | 14 | -11 | -1.35 | -1.21 | |||||
| FA Cup (7 Seasons) | 13 | 692 | 53 | 32.5 | 7.7 | 8 | 76 | 1 | 5 | 16 | 2 | 1.62 | 10 | 8 | +2 | +0.26 | -0.24 | |||||
| PL2 — Div. 2 (2 Seasons) | 5 | 448 | 90 | 11.9 | 5.0 | 5 | 90 | 4 | 0 | 0 | 1.40 | 10 | 7 | +3 | +0.60 | +0.87 | ||||||
| Championship (2 Seasons) | 4 | 61 | 15 | 0.7 | 0.7 | 0 | 0 | 4 | 17 | 4 | 0.75 | 0 | 2 | -2 | -2.95 | -2.98 | ||||||
| Premiership (1 Season) | 19 | 799 | 42 | 23.4 | 8.9 | 7 | 74 | 3 | 12 | 24 | 0 | 1.11 | 7 | 14 | -7 | -0.79 | -1.23 | |||||
| Conf Lg (1 Season) | 4 | 169 | 42 | 31.3 | 1.9 | 1 | 74 | 0 | 3 | 32 | 0 | 0.75 | 2 | 8 | -6 | -3.20 | -2.22 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016-2017 | 18 | Shrewsbury Town | 1 League | 14 | 473 | 34 | 11.4 | 5.3 | 3 | 0 | 11 | 1 | 1.21 | 11 | 6 | +5 | +0.95 | +1.49 | |||
| 2016-2017 | 18 | Fulham | 2 Leagues | 3 | 33 | 11 | 0.7 | 0.4 | 0 | 0 | 3 | 5 | 0 | 1.33 | 0 | 2 | -2 | -5.45 | -6.09 | ||
| 2017-2018 | 19 | Rochdale | 2 Leagues | 18 | 890 | 49 | 18.7 | 9.9 | 13 | 66 | 2 | 5 | 3 | 1.34 | 10 | 13 | -3 | -0.30 | -0.30 | ||
| 2017-2018 | 19 | Fulham | 1 League | 3 | 270 | 90 | 15.0 | 3.0 | 3 | 90 | 3 | 0 | 0 | 1.00 | 5 | 4 | +1 | +0.33 | +0.33 | ||
| 2018-2019 | 20 | Fulham | 1 League | 2 | 178 | 89 | 9.0 | 2.0 | 2 | 89 | 1 | 0 | 0 | 2.00 | 5 | 3 | +2 | +1.01 | +1.51 | ||
| 2018-2019 | 20 | Scunthorpe United | 3 Leagues | 17 | 926 | 54 | 21.0 | 10.3 | 10 | 81 | 6 | 7 | 16 | 6 | 0.88 | 13 | 22 | -9 | -0.87 | -0.28 | |
| 2018-2019 | 20 | Southend United | 1 League | 10 | 580 | 58 | 14.0 | 6.4 | 8 | 68 | 3 | 2 | 17 | 0 | 1.00 | 9 | 10 | -1 | -0.16 | +0.15 | |
| 2019-2020 | 21 | Southend United | 2 Leagues | 22 | 1,446 | 66 | 43.4 | 16.1 | 15 | 80 | 9 | 7 | 35 | 1 | 0.32 | 18 | 45 | -27 | -1.68 | -0.68 | |
| 2020-2021 | 22 | Southend United | 1 League | 1 | 20 | 20 | 22.2 | 0.2 | 0 | 0 | 1 | 20 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.29 | ||
| 2020-2021 | 22 | Rochdale | 1 League | 29 | 2,124 | 73 | 51.3 | 23.6 | 24 | 84 | 16 | 5 | 20 | 0 | 0.86 | 33 | 48 | -15 | -0.64 | -0.55 | |
| 2021-2022 | 23 | Wigan Athletic | 3 Leagues | 45 | 1,647 | 37 | 33.7 | 18.3 | 16 | 78 | 4 | 29 | 14 | 7 | 1.85 | 35 | 15 | +20 | +1.09 | +0.62 | |
| 2022-2023 | 24 | Hearts | 2 Leagues | 23 | 968 | 42 | 24.4 | 10.8 | 8 | 74 | 3 | 15 | 25 | 0 | 1.05 | 9 | 22 | -13 | -1.21 | -1.48 | |
| 2022-2023 | 24 | Wigan Athletic | 2 Leagues | 3 | 124 | 41 | 2.9 | 1.4 | 1 | 90 | 1 | 2 | 17 | 4 | 0.67 | 0 | 1 | -1 | -0.73 | -0.13 | |
| 2023-2024 | 25 | Wigan Athletic | 3 Leagues | 42 | 2,452 | 58 | 54.1 | 27.2 | 28 | 72 | 5 | 14 | 31 | 1 | 1.52 | 36 | 28 | +8 | +0.29 | +0.29 | |
| 2024-2025 | 26 | Barnsley | 3 Leagues | 40 | 2,507 | 63 | 54.3 | 27.9 | 28 | 77 | 7 | 12 | 29 | 1 | 1.27 | 40 | 43 | -3 | -0.11 | +0.11 | |
| 2025-2026 | 27 | Bradford City | 3 Leagues | 41 | 2,421 | 59 | 53.8 | 26.9 | 24 | 79 | 10 | 17 | 30 | 5 | 1.43 | 32 | 32 | 0 | 0.00 | -0.30 | |
| 10 Seasons | 9 Clubs | 6 Leagues | 308 | 16,611 | 54 | 29.6 | 184.6 | 178 | 78 | 66 | 130 | 23 | 29 | 1.25 | 246 | 287 | -41 | -0.22 | -0.11 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Wigan Athletic (3 Seasons) | 4 Leagues | 90 | 4,223 | 47 | 30.9 | 46.9 | 45 | 75 | 10 | 45 | 19 | 12 | 1.66 | 71 | 44 | +27 | +0.58 | +0.67 | |||
| Southend United (3 Seasons) | 2 Leagues | 33 | 2,046 | 62 | 27.1 | 22.7 | 23 | 76 | 12 | 10 | 30 | 1 | 0.51 | 27 | 55 | -28 | -1.23 | -0.68 | |||
| Rochdale (2 Seasons) | 2 Leagues | 47 | 3,014 | 64 | 33.8 | 33.5 | 37 | 83 | 18 | 10 | 20 | 3 | 1.04 | 43 | 61 | -18 | -0.54 | -0.51 | |||
| Fulham (2 Seasons) | 1 League | 5 | 448 | 90 | 11.9 | 5.0 | 5 | 90 | 4 | 0 | 0 | 1.40 | 10 | 7 | +3 | +0.60 | +0.87 | ||||
| Bradford City (1 Season) | 3 Leagues | 41 | 2,421 | 59 | 53.8 | 26.9 | 24 | 79 | 10 | 17 | 30 | 5 | 1.43 | 32 | 32 | 0 | 0.00 | -0.30 | |||
| Barnsley (1 Season) | 3 Leagues | 40 | 2,507 | 63 | 54.3 | 27.9 | 28 | 77 | 7 | 12 | 29 | 1 | 1.27 | 40 | 43 | -3 | -0.11 | +0.11 | |||
| Hearts (1 Season) | 2 Leagues | 23 | 968 | 42 | 24.4 | 10.8 | 8 | 74 | 3 | 15 | 25 | 0 | 1.05 | 9 | 22 | -13 | -1.21 | -1.48 | |||
| Scunthorpe United (1 Season) | 3 Leagues | 17 | 926 | 54 | 21.0 | 10.3 | 10 | 81 | 6 | 7 | 16 | 6 | 0.88 | 13 | 22 | -9 | -0.87 | -0.28 | |||
| Shrewsbury Town (1 Season) | 1 League | 14 | 473 | 34 | 11.4 | 5.3 | 3 | 0 | 11 | 1 | 1.21 | 11 | 6 | +5 | +0.95 | +1.49 | |||||
| Fulham (1 Season) | 2 Leagues | 3 | 33 | 11 | 0.7 | 0.4 | 0 | 0 | 3 | 5 | 0 | 1.33 | 0 | 2 | -2 | -5.45 | -6.09 | ||||
| League One (9 Seasons) | 257 | 14,154 | 55 | 35.0 | 157.3 | 155 | 77 | 57 | 102 | 23 | 22 | 1.29 | 224 | 241 | -17 | -0.11 | +0.12 | ||||
| EFL Cup (8 Seasons) | 11 | 736 | 67 | 53.3 | 8.2 | 7 | 87 | 5 | 4 | 32 | 1 | 0.55 | 3 | 14 | -11 | -1.35 | -1.21 | ||||
| FA Cup (7 Seasons) | 13 | 692 | 53 | 32.5 | 7.7 | 8 | 76 | 1 | 5 | 16 | 2 | 1.62 | 10 | 8 | +2 | +0.26 | -0.24 | ||||
| PL2 — Div. 2 (2 Seasons) | 5 | 448 | 90 | 11.9 | 5.0 | 5 | 90 | 4 | 0 | 0 | 1.40 | 10 | 7 | +3 | +0.60 | +0.87 | |||||
| Championship (2 Seasons) | 4 | 61 | 15 | 0.7 | 0.7 | 0 | 0 | 4 | 17 | 4 | 0.75 | 0 | 2 | -2 | -2.95 | -2.98 | |||||
| Premiership (1 Season) | 19 | 799 | 42 | 23.4 | 8.9 | 7 | 74 | 3 | 12 | 24 | 0 | 1.11 | 7 | 14 | -7 | -0.79 | -1.23 | ||||
| Conf Lg (1 Season) | 4 | 169 | 42 | 31.3 | 1.9 | 1 | 74 | 0 | 3 | 32 | 0 | 0.75 | 2 | 8 | -6 | -3.20 | -2.22 | ||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016-2017 | 18 | Shrewsbury Town | eng ENG | 3. League One | 18th | 14 | 473 | 34 | 11.4 | 5.3 | 3 | 0 | 11 | 1 | 1.21 | 11 | 6 | +5 | +0.95 | +1.49 | Matches | ||
| 2016-2017 | 18 | Fulham | eng ENG | 2. Championship | 6th | 2 | 27 | 14 | 0.7 | 0.3 | 0 | 0 | 2 | 0 | 0.50 | 0 | 2 | -2 | -6.67 | -7.32 | Matches | ||
| 2017-2018 | 19 | Rochdale | eng ENG | 3. League One | 20th | 16 | 759 | 47 | 18.3 | 8.4 | 11 | 2 | 5 | 3 | 1.44 | 8 | 9 | -1 | -0.12 | +0.07 | Matches | ||
| 2017-2018 | 19 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 8th | 3 | 270 | 90 | 15.0 | 3.0 | 3 | 90 | 3 | 0 | 0 | 1.00 | 5 | 4 | +1 | +0.33 | +0.33 | Matches | |
| 2018-2019 | 20 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 10th | 2 | 178 | 89 | 9.0 | 2.0 | 2 | 89 | 1 | 0 | 0 | 2.00 | 5 | 3 | +2 | +1.01 | +1.51 | Matches | |
| 2018-2019 | 20 | Scunthorpe United | eng ENG | 3. League One | 23rd | 16 | 895 | 56 | 21.6 | 9.9 | 10 | 81 | 6 | 6 | 14 | 4 | 0.94 | 12 | 22 | -10 | -1.01 | -0.45 | Matches |
| 2018-2019 | 20 | Southend United | eng ENG | 3. League One | 19th | 10 | 580 | 58 | 14.0 | 6.4 | 8 | 68 | 3 | 2 | 17 | 0 | 1.00 | 9 | 10 | -1 | -0.16 | +0.15 | Matches |
| 2019-2020 | 21 | Southend United | eng ENG | 3. League One | 22nd | 21 | 1,356 | 65 | 43.0 | 15.1 | 14 | 79 | 8 | 7 | 35 | 0 | 0.33 | 17 | 41 | -24 | -1.59 | -0.49 | Matches |
| 2020-2021 | 22 | Rochdale | eng ENG | 3. League One | 21st | 29 | 2,124 | 73 | 51.3 | 23.6 | 24 | 84 | 16 | 5 | 20 | 0 | 0.86 | 33 | 48 | -15 | -0.64 | -0.55 | Matches |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | 3. League One | 1st | 38 | 1,275 | 34 | 30.8 | 14.2 | 12 | 77 | 2 | 26 | 14 | 7 | 1.95 | 31 | 10 | +21 | +1.48 | +0.95 | Matches |
| 2022-2023 | 24 | Hearts | sct SCO | 1. Premiership | 4th | 19 | 799 | 42 | 23.4 | 8.9 | 7 | 74 | 3 | 12 | 24 | 0 | 1.11 | 7 | 14 | -7 | -0.79 | -1.23 | Matches |
| 2022-2023 | 24 | Wigan Athletic | eng ENG | 2. Championship | 24th | 2 | 34 | 17 | 0.8 | 0.4 | 0 | 0 | 2 | 17 | 4 | 1.00 | 0 | 0 | 0 | 0.00 | +0.59 | Matches | |
| 2023-2024 | 25 | Wigan Athletic | eng ENG | 3. League One | 12th | 38 | 2,108 | 55 | 50.9 | 23.4 | 24 | 70 | 4 | 14 | 31 | 1 | 1.50 | 34 | 27 | +7 | +0.30 | +0.30 | Matches |
| 2024-2025 | 26 | Barnsley | eng ENG | 3. League One | 12th | 37 | 2,282 | 62 | 55.1 | 25.4 | 26 | 76 | 6 | 11 | 27 | 1 | 1.27 | 37 | 38 | -1 | -0.04 | +0.11 | Matches |
| 2025-2026 | 27 | Bradford City | eng ENG | 3. League One | 4th | 38 | 2,302 | 61 | 55.6 | 25.6 | 23 | 80 | 10 | 15 | 30 | 5 | 1.46 | 32 | 30 | +2 | +0.08 | -0.17 | Matches |
| 10 Seasons | 9 Clubs | 3 Leagues | 280 | 15,014 | 54 | 28.8 | 166.8 | 162 | 77 | 60 | 118 | 23 | 26 | 1.27 | 231 | 257 | -26 | -0.16 | -0.03 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Wigan Athletic (3 Seasons) | 2 Leagues | 78 | 3,417 | 44 | 27.5 | 38.0 | 36 | 72 | 6 | 42 | 20 | 12 | 1.71 | 65 | 37 | +28 | +0.74 | +0.84 | |||||
| Rochdale (2 Seasons) | 1 League | 45 | 2,883 | 64 | 34.8 | 32.0 | 35 | 84 | 18 | 10 | 20 | 3 | 1.07 | 41 | 57 | -16 | -0.50 | -0.35 | |||||
| Southend United (2 Seasons) | 1 League | 31 | 1,936 | 62 | 26.6 | 21.5 | 22 | 75 | 11 | 9 | 31 | 0 | 0.55 | 26 | 51 | -25 | -1.16 | -0.59 | |||||
| Fulham (2 Seasons) | 1 League | 5 | 448 | 90 | 11.9 | 5.0 | 5 | 90 | 4 | 0 | 0 | 1.40 | 10 | 7 | +3 | +0.60 | +0.87 | ||||||
| Bradford City (1 Season) | 1 League | 38 | 2,302 | 61 | 55.6 | 25.6 | 23 | 80 | 10 | 15 | 30 | 5 | 1.46 | 32 | 30 | +2 | +0.08 | -0.17 | |||||
| Barnsley (1 Season) | 1 League | 37 | 2,282 | 62 | 55.1 | 25.4 | 26 | 76 | 6 | 11 | 27 | 1 | 1.27 | 37 | 38 | -1 | -0.04 | +0.11 | |||||
| Hearts (1 Season) | 1 League | 19 | 799 | 42 | 23.4 | 8.9 | 7 | 74 | 3 | 12 | 24 | 0 | 1.11 | 7 | 14 | -7 | -0.79 | -1.23 | |||||
| Scunthorpe United (1 Season) | 1 League | 16 | 895 | 56 | 21.6 | 9.9 | 10 | 81 | 6 | 6 | 14 | 4 | 0.94 | 12 | 22 | -10 | -1.01 | -0.45 | |||||
| Shrewsbury Town (1 Season) | 1 League | 14 | 473 | 34 | 11.4 | 5.3 | 3 | 0 | 11 | 1 | 1.21 | 11 | 6 | +5 | +0.95 | +1.49 | |||||||
| Fulham (1 Season) | 1 League | 2 | 27 | 14 | 0.7 | 0.3 | 0 | 0 | 2 | 0 | 0.50 | 0 | 2 | -2 | -6.67 | -7.32 | |||||||
| League One (9 Seasons) | 257 | 14,154 | 55 | 35.0 | 157.3 | 155 | 77 | 57 | 102 | 23 | 22 | 1.29 | 224 | 241 | -17 | -0.11 | +0.12 | ||||||
| PL2 — Div. 2 (2 Seasons) | 5 | 448 | 90 | 11.9 | 5.0 | 5 | 90 | 4 | 0 | 0 | 1.40 | 10 | 7 | +3 | +0.60 | +0.87 | |||||||
| Championship (2 Seasons) | 4 | 61 | 15 | 0.7 | 0.7 | 0 | 0 | 4 | 17 | 4 | 0.75 | 0 | 2 | -2 | -2.95 | -2.98 | |||||||
| Premiership (1 Season) | 19 | 799 | 42 | 23.4 | 8.9 | 7 | 74 | 3 | 12 | 24 | 0 | 1.11 | 7 | 14 | -7 | -0.79 | -1.23 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016-2017 | 18 | Fulham | eng ENG | FA Cup | 9th | 1 | 6 | 6 | 2.2 | 0.1 | 0 | 0 | 1 | 5 | 0 | 3.00 | 0 | 0 | 0 | 0.00 | -0.34 | Matches | |
| 2017-2018 | 19 | Rochdale | eng ENG | FA Cup | 9th | 2 | 131 | 66 | 20.8 | 1.5 | 2 | 66 | 0 | 0 | 0 | 0.50 | 2 | 4 | -2 | -1.37 | -2.64 | Matches | |
| 2018-2019 | 20 | Scunthorpe United | eng ENG | EFL Cup | 58th | 1 | 31 | 31 | 34.4 | 0.3 | 0 | 0 | 1 | 30 | 0 | 0.00 | 1 | 0 | +1 | +2.90 | +5.95 | Matches | |
| 2018-2019 | 20 | Scunthorpe United | eng ENG | FA Cup | 65th | 0 | 0 | 0 | 0 | 2 | Matches | ||||||||||||
| 2019-2020 | 21 | Southend United | eng ENG | EFL Cup | 33rd | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 1 | 0.00 | 1 | 4 | -3 | -3.00 | -4.00 | Matches | |
| 2020-2021 | 22 | Southend United | eng ENG | EFL Cup | 58th | 1 | 20 | 20 | 22.2 | 0.2 | 0 | 0 | 1 | 20 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.29 | Matches | |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | EFL Cup | Rd3 | 3 | 248 | 83 | 91.9 | 2.8 | 3 | 83 | 2 | 0 | 0 | 0.67 | 1 | 3 | -2 | -0.73 | -0.73 | Matches | |
| 2021-2022 | 23 | Wigan Athletic | eng ENG | FA Cup | 4 | 124 | 31 | 25.8 | 1.4 | 1 | 75 | 0 | 3 | 16 | 0 | 1.75 | 3 | 2 | +1 | +0.73 | +0.73 | Matches | |
| 2022-2023 | 24 | Wigan Athletic | eng ENG | EFL Cup | Rd1 | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2023-2024 | 25 | Wigan Athletic | eng ENG | EFL Cup | Rd1 | 1 | 120 | 120 | 100.0 | 1.3 | 1 | 120 | 1 | 0 | 0 | 1.00 | 0 | 0 | 0 | 0.00 | Matches | ||
| 2023-2024 | 25 | Wigan Athletic | eng ENG | FA Cup | 3 | 224 | 75 | 83.0 | 2.5 | 3 | 75 | 0 | 0 | 0 | 2.00 | 2 | 1 | +1 | +0.40 | +0.40 | Matches | ||
| 2024-2025 | 26 | Barnsley | eng ENG | EFL Cup | Rd3 | 1 | 45 | 45 | 16.7 | 0.5 | 0 | 0 | 1 | 45 | 0 | 0.00 | 0 | 4 | -4 | -8.00 | -7.20 | Matches | |
| 2024-2025 | 26 | Barnsley | eng ENG | FA Cup | 2 | 180 | 90 | 85.7 | 2.0 | 2 | 90 | 1 | 0 | 0 | 2.00 | 3 | 1 | +2 | +1.00 | +1.00 | Matches | ||
| 2025-2026 | 27 | Bradford City | eng ENG | EFL Cup | Rd3 | 2 | 92 | 46 | 34.1 | 1.0 | 1 | 61 | 0 | 1 | 31 | 0 | 1.50 | 0 | 2 | -2 | -1.96 | -3.47 | Matches |
| 2025-2026 | 27 | Bradford City | eng ENG | FA Cup | 1 | 27 | 27 | 30.0 | 0.3 | 0 | 0 | 1 | 27 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.43 | Matches | ||
| 10 Seasons | 7 Clubs | 2 Leagues | 24 | 1,428 | 60 | 40.7 | 15.9 | 15 | 81 | 6 | 9 | 23 | 3 | 1.13 | 13 | 22 | -9 | -0.57 | -0.85 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Wigan Athletic (3 Seasons) | 2 Leagues | 12 | 806 | 67 | 65.5 | 9.0 | 9 | 84 | 4 | 3 | 16 | 0 | 1.33 | 6 | 7 | -1 | -0.11 | -0.11 | |||||
| Southend United (2 Seasons) | 1 League | 2 | 110 | 55 | 40.7 | 1.2 | 1 | 90 | 1 | 1 | 20 | 1 | 0.00 | 1 | 4 | -3 | -2.45 | -2.45 | |||||
| Barnsley (1 Season) | 2 Leagues | 3 | 225 | 75 | 46.9 | 2.5 | 2 | 90 | 1 | 1 | 45 | 0 | 1.33 | 3 | 5 | -2 | -0.80 | -0.09 | |||||
| Bradford City (1 Season) | 2 Leagues | 3 | 119 | 40 | 33.1 | 1.3 | 1 | 61 | 0 | 2 | 29 | 0 | 1.00 | 0 | 2 | -2 | -1.51 | -2.26 | |||||
| Rochdale (1 Season) | 1 League | 2 | 131 | 66 | 20.8 | 1.5 | 2 | 66 | 0 | 0 | 0 | 0.50 | 2 | 4 | -2 | -1.37 | -2.64 | ||||||
| Scunthorpe United (1 Season) | 2 Leagues | 1 | 31 | 31 | 11.5 | 0.3 | 0 | 0 | 1 | 30 | 2 | 0.00 | 1 | 0 | +1 | +2.90 | +5.95 | ||||||
| Fulham (1 Season) | 1 League | 1 | 6 | 6 | 2.2 | 0.1 | 0 | 0 | 1 | 5 | 0 | 3.00 | 0 | 0 | 0 | 0.00 | -0.34 | ||||||
| EFL Cup (8 Seasons) | 11 | 736 | 67 | 53.3 | 8.2 | 7 | 87 | 5 | 4 | 32 | 1 | 0.55 | 3 | 14 | -11 | -1.35 | -1.21 | ||||||
| FA Cup (7 Seasons) | 13 | 692 | 53 | 32.5 | 7.7 | 8 | 76 | 1 | 5 | 16 | 2 | 1.62 | 10 | 8 | +2 | +0.26 | -0.24 | ||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016-2017 | 18 | Fulham | eng ENG | 2. Championship | 0.3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 18 | Fulham | eng ENG | FA Cup | 0.1 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2016-2017 | 18 | Shrewsbury Town | eng ENG | 3. League One | 5.3 | 2 | 2 | 1 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 19 | Rochdale | eng ENG | FA Cup | 1.5 | 0 | 0 | 0 | 5 | 3 | 2 | 1 | 1 | 2 | 0 | Matches | ||
| 2017-2018 | 19 | Rochdale | eng ENG | 3. League One | 8.4 | 1 | 0 | 0 | 21 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 19 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 3.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 20 | Scunthorpe United | eng ENG | EFL Cup | 0.3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 20 | Scunthorpe United | eng ENG | 3. League One | 9.9 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 20 | Southend United | eng ENG | 3. League One | 6.4 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 20 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 2.0 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 21 | Southend United | eng ENG | EFL Cup | 1.0 | 1 | 0 | 0 | 3 | 1 | 0 | 1 | 0 | 1 | 0 | Matches | ||
| 2019-2020 | 21 | Southend United | eng ENG | 3. League One | 15.1 | 1 | 0 | 0 | 40 | 30 | 11 | 26 | 1 | 7 | 0 | 0 | 0 | Matches |
| 2020-2021 | 22 | Southend United | eng ENG | EFL Cup | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 22 | Rochdale | eng ENG | 3. League One | 23.6 | 3 | 0 | 0 | 39 | 18 | 5 | 12 | 4 | 14 | 0 | Matches | ||
| 2021-2022 | 23 | Wigan Athletic | eng ENG | EFL Cup | 2.8 | 0 | 0 | 0 | 3 | 4 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 23 | Wigan Athletic | eng ENG | FA Cup | 1.4 | 0 | 0 | 0 | 6 | 1 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 23 | Wigan Athletic | eng ENG | 3. League One | 14.2 | 1 | 0 | 0 | 21 | 18 | 8 | 16 | 3 | 17 | 0 | Matches | ||
| 2022-2023 | 24 | Wigan Athletic | eng ENG | 2. Championship | 0.4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 24 | Hearts | 3. Conf Lg | 1.9 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2022-2023 | 24 | Wigan Athletic | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 24 | Hearts | sct SCO | 1. Premiership | 8.9 | 2 | 0 | 0 | 13 | 8 | 1 | 2 | 1 | 4 | 0 | Matches | ||
| 2023-2024 | 25 | Wigan Athletic | eng ENG | EFL Cup | 1.3 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 1 | 0 | 0 | Matches | ||
| 2023-2024 | 25 | Wigan Athletic | eng ENG | FA Cup | 2.5 | 0 | 0 | 0 | 1 | 4 | 1 | 1 | 0 | 4 | 0 | Matches | ||
| 2023-2024 | 25 | Wigan Athletic | eng ENG | 3. League One | 23.4 | 7 | 0 | 0 | 29 | 32 | 4 | 68 | 6 | 15 | 0 | Matches | ||
| 2024-2025 | 26 | Barnsley | eng ENG | EFL Cup | 0.5 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2024-2025 | 26 | Barnsley | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2024-2025 | 26 | Barnsley | eng ENG | 3. League One | 25.4 | 3 | 0 | 0 | 34 | 27 | 10 | 28 | 3 | 12 | 0 | Matches | ||
| 2025-2026 | 27 | Bradford City | eng ENG | EFL Cup | 1.0 | 1 | 0 | 0 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2025-2026 | 27 | Bradford City | eng ENG | FA Cup | 0.3 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2025-2026 | 27 | Bradford City | eng ENG | 3. League One | 25.6 | 0 | 0 | 0 | 16 | 30 | 10 | 27 | 1 | 10 | 0 | Matches | ||
| 10 Seasons | 9 Clubs | 6 Leagues | 184.6 | 25 | 2 | 1 | 247 | 182 | 52 | 187 | 23 | 86 | 0 | 0 | 0 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Wigan Athletic (3 Seasons) | 4 Leagues | 46.9 | 8 | 0 | 0 | 62 | 62 | 13 | 89 | 10 | 36 | 0 | ||||||
| Southend United (3 Seasons) | 2 Leagues | 22.7 | 3 | 0 | 0 | 43 | 31 | 11 | 28 | 1 | 8 | 0 | 0 | 0 | ||||
| Rochdale (2 Seasons) | 2 Leagues | 33.5 | 4 | 0 | 0 | 65 | 21 | 7 | 13 | 5 | 16 | 0 | 0 | 0 | ||||
| Fulham (2 Seasons) | 1 League | 5.0 | 1 | 0 | 0 | 0 | ||||||||||||
| Bradford City (1 Season) | 3 Leagues | 26.9 | 1 | 0 | 0 | 18 | 31 | 10 | 27 | 2 | 10 | 0 | ||||||
| Barnsley (1 Season) | 3 Leagues | 27.9 | 4 | 0 | 0 | 35 | 28 | 10 | 28 | 4 | 12 | 0 | ||||||
| Hearts (1 Season) | 2 Leagues | 10.8 | 2 | 0 | 0 | 13 | 8 | 1 | 2 | 1 | 4 | 0 | ||||||
| Scunthorpe United (1 Season) | 3 Leagues | 10.3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Shrewsbury Town (1 Season) | 1 League | 5.3 | 2 | 2 | 1 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Fulham (1 Season) | 2 Leagues | 0.4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| League One (9 Seasons) | 157.3 | 20 | 2 | 1 | 210 | 155 | 48 | 177 | 18 | 75 | 0 | 0 | 0 | |||||
| EFL Cup (8 Seasons) | 8.2 | 3 | 0 | 0 | 10 | 11 | 0 | 5 | 3 | 1 | 0 | 0 | 0 | |||||
| FA Cup (7 Seasons) | 7.7 | 0 | 0 | 0 | 12 | 8 | 3 | 3 | 1 | 6 | 0 | |||||||
| PL2 — Div. 2 (2 Seasons) | 5.0 | 1 | 0 | 0 | 0 | |||||||||||||
| Championship (2 Seasons) | 0.7 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Premiership (1 Season) | 8.9 | 2 | 0 | 0 | 13 | 8 | 1 | 2 | 1 | 4 | 0 | |||||||
| Conf Lg (1 Season) | 1.9 | 0 | 0 | 0 | 0 | |||||||||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016-2017 | 18 | Shrewsbury Town | 1 League | 5.3 | 2 | 2 | 1 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2016-2017 | 18 | Fulham | 2 Leagues | 0.4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2017-2018 | 19 | Rochdale | 2 Leagues | 9.9 | 1 | 0 | 0 | 26 | 3 | 2 | 1 | 1 | 2 | 0 | 0 | 0 | |
| 2017-2018 | 19 | Fulham | 1 League | 3.0 | 0 | 0 | 0 | 0 | |||||||||
| 2018-2019 | 20 | Fulham | 1 League | 2.0 | 1 | 0 | 0 | 0 | |||||||||
| 2018-2019 | 20 | Scunthorpe United | 3 Leagues | 10.3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2018-2019 | 20 | Southend United | 1 League | 6.4 | 1 | 0 | 0 | 0 | |||||||||
| 2019-2020 | 21 | Southend United | 2 Leagues | 16.1 | 2 | 0 | 0 | 43 | 31 | 11 | 27 | 1 | 8 | 0 | 0 | 0 | |
| 2020-2021 | 22 | Southend United | 1 League | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | |||
| 2020-2021 | 22 | Rochdale | 1 League | 23.6 | 3 | 0 | 0 | 39 | 18 | 5 | 12 | 4 | 14 | 0 | |||
| 2021-2022 | 23 | Wigan Athletic | 3 Leagues | 18.3 | 1 | 0 | 0 | 30 | 23 | 8 | 17 | 3 | 17 | 0 | |||
| 2022-2023 | 24 | Hearts | 2 Leagues | 10.8 | 2 | 0 | 0 | 13 | 8 | 1 | 2 | 1 | 4 | 0 | |||
| 2022-2023 | 24 | Wigan Athletic | 2 Leagues | 1.4 | 0 | 0 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | |||
| 2023-2024 | 25 | Wigan Athletic | 3 Leagues | 27.2 | 7 | 0 | 0 | 30 | 37 | 5 | 72 | 7 | 19 | 0 | |||
| 2024-2025 | 26 | Barnsley | 3 Leagues | 27.9 | 4 | 0 | 0 | 35 | 28 | 10 | 28 | 4 | 12 | 0 | |||
| 2025-2026 | 27 | Bradford City | 3 Leagues | 26.9 | 1 | 0 | 0 | 18 | 31 | 10 | 27 | 2 | 10 | 0 | |||
| 10 Seasons | 9 Clubs | 6 Leagues | 184.6 | 25 | 2 | 1 | 247 | 182 | 52 | 187 | 23 | 86 | 0 | 0 | 0 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Wigan Athletic (3 Seasons) | 4 Leagues | 46.9 | 8 | 0 | 0 | 62 | 62 | 13 | 89 | 10 | 36 | 0 | |||||
| Southend United (3 Seasons) | 2 Leagues | 22.7 | 3 | 0 | 0 | 43 | 31 | 11 | 28 | 1 | 8 | 0 | 0 | 0 | |||
| Rochdale (2 Seasons) | 2 Leagues | 33.5 | 4 | 0 | 0 | 65 | 21 | 7 | 13 | 5 | 16 | 0 | 0 | 0 | |||
| Fulham (2 Seasons) | 1 League | 5.0 | 1 | 0 | 0 | 0 | |||||||||||
| Bradford City (1 Season) | 3 Leagues | 26.9 | 1 | 0 | 0 | 18 | 31 | 10 | 27 | 2 | 10 | 0 | |||||
| Barnsley (1 Season) | 3 Leagues | 27.9 | 4 | 0 | 0 | 35 | 28 | 10 | 28 | 4 | 12 | 0 | |||||
| Hearts (1 Season) | 2 Leagues | 10.8 | 2 | 0 | 0 | 13 | 8 | 1 | 2 | 1 | 4 | 0 | |||||
| Scunthorpe United (1 Season) | 3 Leagues | 10.3 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Shrewsbury Town (1 Season) | 1 League | 5.3 | 2 | 2 | 1 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Fulham (1 Season) | 2 Leagues | 0.4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| League One (9 Seasons) | 157.3 | 20 | 2 | 1 | 210 | 155 | 48 | 177 | 18 | 75 | 0 | 0 | 0 | ||||
| EFL Cup (8 Seasons) | 8.2 | 3 | 0 | 0 | 10 | 11 | 0 | 5 | 3 | 1 | 0 | 0 | 0 | ||||
| FA Cup (7 Seasons) | 7.7 | 0 | 0 | 0 | 12 | 8 | 3 | 3 | 1 | 6 | 0 | ||||||
| PL2 — Div. 2 (2 Seasons) | 5.0 | 1 | 0 | 0 | 0 | ||||||||||||
| Championship (2 Seasons) | 0.7 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Premiership (1 Season) | 8.9 | 2 | 0 | 0 | 13 | 8 | 1 | 2 | 1 | 4 | 0 | ||||||
| Conf Lg (1 Season) | 1.9 | 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 |
| 2016-2017 | 18 | Shrewsbury Town | eng ENG | 3. League One | 18th | 5.3 | 2 | 2 | 1 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 18 | Fulham | eng ENG | 2. Championship | 6th | 0.3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 19 | Rochdale | eng ENG | 3. League One | 20th | 8.4 | 1 | 0 | 0 | 21 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 19 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 8th | 3.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 20 | Fulham | eng ENG | Jr. PL2 — Div. 2 | 10th | 2.0 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 20 | Scunthorpe United | eng ENG | 3. League One | 23rd | 9.9 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 20 | Southend United | eng ENG | 3. League One | 19th | 6.4 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 21 | Southend United | eng ENG | 3. League One | 22nd | 15.1 | 1 | 0 | 0 | 40 | 30 | 11 | 26 | 1 | 7 | 0 | 0 | 0 | Matches |
| 2020-2021 | 22 | Rochdale | eng ENG | 3. League One | 21st | 23.6 | 3 | 0 | 0 | 39 | 18 | 5 | 12 | 4 | 14 | 0 | Matches | ||
| 2021-2022 | 23 | Wigan Athletic | eng ENG | 3. League One | 1st | 14.2 | 1 | 0 | 0 | 21 | 18 | 8 | 16 | 3 | 17 | 0 | Matches | ||
| 2022-2023 | 24 | Hearts | sct SCO | 1. Premiership | 4th | 8.9 | 2 | 0 | 0 | 13 | 8 | 1 | 2 | 1 | 4 | 0 | Matches | ||
| 2022-2023 | 24 | Wigan Athletic | eng ENG | 2. Championship | 24th | 0.4 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 25 | Wigan Athletic | eng ENG | 3. League One | 12th | 23.4 | 7 | 0 | 0 | 29 | 32 | 4 | 68 | 6 | 15 | 0 | Matches | ||
| 2024-2025 | 26 | Barnsley | eng ENG | 3. League One | 12th | 25.4 | 3 | 0 | 0 | 34 | 27 | 10 | 28 | 3 | 12 | 0 | Matches | ||
| 2025-2026 | 27 | Bradford City | eng ENG | 3. League One | 4th | 25.6 | 0 | 0 | 0 | 16 | 30 | 10 | 27 | 1 | 10 | 0 | Matches | ||
| 10 Seasons | 9 Clubs | 3 Leagues | 166.8 | 22 | 2 | 1 | 225 | 163 | 49 | 179 | 19 | 79 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Wigan Athletic (3 Seasons) | 2 Leagues | 38.0 | 8 | 0 | 0 | 51 | 50 | 12 | 84 | 9 | 32 | 0 | |||||||
| Rochdale (2 Seasons) | 1 League | 32.0 | 4 | 0 | 0 | 60 | 18 | 5 | 12 | 4 | 14 | 0 | 0 | 0 | |||||
| Southend United (2 Seasons) | 1 League | 21.5 | 2 | 0 | 0 | 40 | 30 | 11 | 26 | 1 | 7 | 0 | 0 | 0 | |||||
| Fulham (2 Seasons) | 1 League | 5.0 | 1 | 0 | 0 | 0 | |||||||||||||
| Bradford City (1 Season) | 1 League | 25.6 | 0 | 0 | 0 | 16 | 30 | 10 | 27 | 1 | 10 | 0 | |||||||
| Barnsley (1 Season) | 1 League | 25.4 | 3 | 0 | 0 | 34 | 27 | 10 | 28 | 3 | 12 | 0 | |||||||
| Hearts (1 Season) | 1 League | 8.9 | 2 | 0 | 0 | 13 | 8 | 1 | 2 | 1 | 4 | 0 | |||||||
| Scunthorpe United (1 Season) | 1 League | 9.9 | 1 | 0 | 0 | 0 | |||||||||||||
| Shrewsbury Town (1 Season) | 1 League | 5.3 | 2 | 2 | 1 | 10 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Fulham (1 Season) | 1 League | 0.3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| League One (9 Seasons) | 157.3 | 20 | 2 | 1 | 210 | 155 | 48 | 177 | 18 | 75 | 0 | 0 | 0 | ||||||
| PL2 — Div. 2 (2 Seasons) | 5.0 | 1 | 0 | 0 | 0 | ||||||||||||||
| Championship (2 Seasons) | 0.7 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| Premiership (1 Season) | 8.9 | 2 | 0 | 0 | 13 | 8 | 1 | 2 | 1 | 4 | 0 | ||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016-2017 | 18 | Fulham | eng ENG | FA Cup | 9th | 0.1 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 19 | Rochdale | eng ENG | FA Cup | 9th | 1.5 | 0 | 0 | 0 | 5 | 3 | 2 | 1 | 1 | 2 | 0 | Matches | ||
| 2018-2019 | 20 | Scunthorpe United | eng ENG | EFL Cup | 58th | 0.3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2019-2020 | 21 | Southend United | eng ENG | EFL Cup | 33rd | 1.0 | 1 | 0 | 0 | 3 | 1 | 0 | 1 | 0 | 1 | 0 | Matches | ||
| 2020-2021 | 22 | Southend United | eng ENG | EFL Cup | 58th | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 23 | Wigan Athletic | eng ENG | EFL Cup | Rd3 | 2.8 | 0 | 0 | 0 | 3 | 4 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 23 | Wigan Athletic | eng ENG | FA Cup | 1.4 | 0 | 0 | 0 | 6 | 1 | 0 | 1 | 0 | 0 | 0 | Matches | |||
| 2022-2023 | 24 | Wigan Athletic | eng ENG | EFL Cup | Rd1 | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 25 | Wigan Athletic | eng ENG | EFL Cup | Rd1 | 1.3 | 0 | 0 | 0 | 0 | 1 | 0 | 3 | 1 | 0 | 0 | Matches | ||
| 2023-2024 | 25 | Wigan Athletic | eng ENG | FA Cup | 2.5 | 0 | 0 | 0 | 1 | 4 | 1 | 1 | 0 | 4 | 0 | Matches | |||
| 2024-2025 | 26 | Barnsley | eng ENG | EFL Cup | Rd3 | 0.5 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2024-2025 | 26 | Barnsley | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2025-2026 | 27 | Bradford City | eng ENG | EFL Cup | Rd3 | 1.0 | 1 | 0 | 0 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2025-2026 | 27 | Bradford City | eng ENG | FA Cup | 0.3 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 10 Seasons | 7 Clubs | 2 Leagues | 15.9 | 3 | 0 | 0 | 22 | 19 | 3 | 8 | 4 | 7 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Wigan Athletic (3 Seasons) | 2 Leagues | 9.0 | 0 | 0 | 0 | 11 | 12 | 1 | 5 | 1 | 4 | 0 | |||||||
| Southend United (2 Seasons) | 1 League | 1.2 | 1 | 0 | 0 | 3 | 1 | 0 | 2 | 0 | 1 | 0 | |||||||
| Barnsley (1 Season) | 2 Leagues | 2.5 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | |||||||
| Bradford City (1 Season) | 2 Leagues | 1.3 | 1 | 0 | 0 | 2 | 1 | 0 | 0 | 1 | 0 | 0 | |||||||
| Rochdale (1 Season) | 1 League | 1.5 | 0 | 0 | 0 | 5 | 3 | 2 | 1 | 1 | 2 | 0 | |||||||
| Scunthorpe United (1 Season) | 2 Leagues | 0.3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Fulham (1 Season) | 1 League | 0.1 | 0 | 0 | 0 | 0 | |||||||||||||
| EFL Cup (8 Seasons) | 8.2 | 3 | 0 | 0 | 10 | 11 | 0 | 5 | 3 | 1 | 0 | 0 | 0 | ||||||
| FA Cup (7 Seasons) | 7.7 | 0 | 0 | 0 | 12 | 8 | 3 | 3 | 1 | 6 | 0 | ||||||||
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