| 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 | |||||
| 2014-2015 | 18 | Norwich City | eng ENG | 2. Championship | 1 | 0 | 14 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2014-2015 | 18 | Oxford United | eng ENG | League Cup | 2 | 2 | 152 | 1.7 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.59 | 0.00 | 0.59 | 0.59 | 0.59 | Matches |
| 2014-2015 | 18 | Oxford United | eng ENG | 4. League Two | 7 | 5 | 430 | 4.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2014-2015 | 18 | York City | eng ENG | 4. League Two | 8 | 0 | 132 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 19 | Hamilton Acad. | sct SCO | 1. Premiership | 32 | 27 | 2,199 | 24.4 | 8 | 2 | 10 | 8 | 0 | 0 | 10 | 0 | 0.33 | 0.08 | 0.41 | 0.33 | 0.41 | Matches |
| 2016-2017 | 20 | Norwich City | eng ENG | 2. Championship | 0 | 0 | Matches | |||||||||||||||
| 2016-2017 | 20 | Rotherham United | eng ENG | 2. Championship | 8 | 6 | 473 | 5.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 20 | Norwich City | eng ENG | EFL Cup | 0 | 0 | Matches | |||||||||||||||
| 2016-2017 | 20 | Norwich City | eng ENG | FA Cup | 0 | 0 | Matches | |||||||||||||||
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | FA Cup | 4 | 1 | 153 | 1.7 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.59 | 0.00 | 0.59 | 0.59 | 0.59 | Matches |
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | 3. League One | 42 | 32 | 2,769 | 30.8 | 6 | 4 | 10 | 6 | 0 | 0 | 5 | 0 | 0.20 | 0.13 | 0.33 | 0.20 | 0.33 | Matches |
| 2018-2019 | 22 | Norwich City | eng ENG | Jr. PL2 — Div. 2 | 3 | 3 | 225 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 23 | Rotherham United | eng ENG | EFL Cup | 1 | 1 | 5 | 0.1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 18.00 | 18.00 | 0.00 | 18.00 | Matches |
| 2019-2020 | 23 | Rotherham United | eng ENG | FA Cup | 3 | 2 | 144 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 23 | Rotherham United | eng ENG | 3. League One | 21 | 11 | 1,052 | 11.7 | 3 | 3 | 6 | 3 | 0 | 0 | 3 | 0 | 0.26 | 0.26 | 0.51 | 0.26 | 0.51 | Matches |
| 2019-2020 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 10 | 9 | 822 | 9.1 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 1 | 0.22 | 0.00 | 0.22 | 0.22 | 0.22 | Matches |
| 2020-2021 | 24 | Barnsley | eng ENG | 2. Championship | 23 | 6 | 1,081 | 12.0 | 7 | 3 | 10 | 7 | 0 | 0 | 3 | 0 | 0.58 | 0.25 | 0.83 | 0.58 | 0.83 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | EFL Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 2 | 2 | 210 | 2.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 18 | 14 | 1,344 | 14.9 | 3 | 1 | 4 | 3 | 0 | 0 | 2 | 0 | 0.20 | 0.07 | 0.27 | 0.20 | 0.27 | Matches |
| 2021-2022 | 25 | Barnsley | eng ENG | 2. Championship | 28 | 26 | 2,278 | 25.3 | 7 | 3 | 10 | 6 | 1 | 1 | 5 | 0 | 0.28 | 0.12 | 0.40 | 0.24 | 0.36 | Matches |
| 2021-2022 | 25 | Barnsley | eng ENG | FA Cup | 2 | 0 | 101 | 1.1 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 1.78 | 0.00 | 1.78 | 1.78 | 1.78 | Matches |
| 2022-2023 | 26 | Luton Town | eng ENG | 2. Championship | 44 | 41 | 3,368 | 37.4 | 20 | 6 | 26 | 19 | 1 | 1 | 11 | 0 | 0.53 | 0.16 | 0.69 | 0.51 | 0.67 | Matches |
| 2022-2023 | 26 | Luton Town | eng ENG | EFL Cup | 1 | 0 | 29 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 26 | Luton Town | eng ENG | FA Cup | 3 | 1 | 107 | 1.2 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.84 | 0.84 | 0.00 | 0.84 | Matches |
| 2023-2024 | 27 | Luton Town | eng ENG | EFL Cup | 1 | 0 | 16 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 27 | Luton Town | eng ENG | FA Cup | 4 | 4 | 345 | 3.8 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.52 | 0.52 | 0.00 | 0.52 | Matches |
| 2023-2024 | 27 | Luton Town | eng ENG | 1. Premier League | 38 | 32 | 2,862 | 31.8 | 11 | 4 | 15 | 6 | 5 | 5 | 4 | 0 | 0.35 | 0.13 | 0.47 | 0.19 | 0.31 | Matches |
| 2024-2025 | 28 | Luton Town | eng ENG | 2. Championship | 41 | 37 | 3,123 | 34.7 | 8 | 2 | 10 | 6 | 2 | 2 | 10 | 0 | 0.23 | 0.06 | 0.29 | 0.17 | 0.23 | Matches |
| 2024-2025 | 28 | Luton Town | eng ENG | EFL Cup | 1 | 1 | 74 | 0.8 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 1.22 | 1.22 | 0.00 | 1.22 | Matches |
| 2024-2025 | 28 | Luton Town | eng ENG | FA 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 |
| 2025-2026 | 29 | Derby County | eng ENG | 2. Championship | 31 | 24 | 2,121 | 23.6 | 12 | 2 | 14 | 9 | 3 | 3 | 5 | 0 | 0.51 | 0.08 | 0.59 | 0.38 | 0.47 | Matches |
| 11 Seasons | 10 Clubs | 7 Leagues | 378 | 286 | 25,584 | 284.3 | 91 | 35 | 126 | 79 | 12 | 13 | 64 | 1 | 0.32 | 0.12 | 0.44 | 0.28 | 0.40 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Luton Town (3 Seasons) | 4 Leagues | 134 | 117 | 10,014 | 111.3 | 39 | 16 | 55 | 31 | 8 | 8 | 26 | 0 | 0.35 | 0.14 | 0.49 | 0.28 | 0.42 | ||||
| Barnsley (2 Seasons) | 2 Leagues | 53 | 32 | 3,460 | 38.4 | 16 | 6 | 22 | 15 | 1 | 1 | 9 | 0 | 0.42 | 0.16 | 0.57 | 0.39 | 0.55 | ||||
| Rotherham United (2 Seasons) | 4 Leagues | 33 | 20 | 1,674 | 18.6 | 3 | 4 | 7 | 3 | 0 | 0 | 3 | 0 | 0.16 | 0.22 | 0.38 | 0.16 | 0.38 | ||||
| Milton Keynes Dons (2 Seasons) | 3 Leagues | 31 | 26 | 2,466 | 27.4 | 5 | 1 | 6 | 5 | 0 | 1 | 4 | 1 | 0.18 | 0.04 | 0.22 | 0.18 | 0.22 | ||||
| Norwich City (2 Seasons) | 3 Leagues | 1 | 0 | 14 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Shrewsbury Town (1 Season) | 2 Leagues | 46 | 33 | 2,922 | 32.5 | 7 | 4 | 11 | 7 | 0 | 0 | 5 | 0 | 0.22 | 0.12 | 0.34 | 0.22 | 0.34 | ||||
| Hamilton Acad. (1 Season) | 1 League | 32 | 27 | 2,199 | 24.4 | 8 | 2 | 10 | 8 | 0 | 0 | 10 | 0 | 0.33 | 0.08 | 0.41 | 0.33 | 0.41 | ||||
| Derby County (1 Season) | 1 League | 31 | 24 | 2,121 | 23.6 | 12 | 2 | 14 | 9 | 3 | 3 | 5 | 0 | 0.51 | 0.08 | 0.59 | 0.38 | 0.47 | ||||
| Oxford United (1 Season) | 2 Leagues | 9 | 7 | 582 | 6.5 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.15 | 0.00 | 0.15 | 0.15 | 0.15 | ||||
| York City (1 Season) | 1 League | 8 | 0 | 132 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Norwich City (1 Season) | 1 League | 3 | 3 | 225 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| FA Cup (8 Seasons) | 19 | 11 | 1,150 | 12.8 | 3 | 3 | 6 | 3 | 0 | 0 | 2 | 0 | 0.23 | 0.23 | 0.47 | 0.23 | 0.47 | |||||
| Championship (7 Seasons) | 176 | 140 | 12,458 | 138.4 | 54 | 16 | 70 | 47 | 7 | 7 | 34 | 0 | 0.39 | 0.12 | 0.51 | 0.34 | 0.46 | |||||
| EFL Cup (7 Seasons) | 7 | 5 | 366 | 4.1 | 1 | 2 | 3 | 1 | 0 | 1 | 1 | 0 | 0.25 | 0.49 | 0.74 | 0.25 | 0.74 | |||||
| League One (3 Seasons) | 91 | 66 | 5,987 | 66.5 | 14 | 8 | 22 | 14 | 0 | 0 | 11 | 1 | 0.21 | 0.12 | 0.33 | 0.21 | 0.33 | |||||
| Premier League (1 Season) | 38 | 32 | 2,862 | 31.8 | 11 | 4 | 15 | 6 | 5 | 5 | 4 | 0 | 0.35 | 0.13 | 0.47 | 0.19 | 0.31 | |||||
| Premiership (1 Season) | 32 | 27 | 2,199 | 24.4 | 8 | 2 | 10 | 8 | 0 | 0 | 10 | 0 | 0.33 | 0.08 | 0.41 | 0.33 | 0.41 | |||||
| League Two (1 Season) | 15 | 5 | 562 | 6.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| PL2 — Div. 2 (1 Season) | 3 | 3 | 225 | 2.5 | 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 | |||||
| 2014-2015 | 18 | Oxford United | 2 Leagues | 9 | 7 | 582 | 6.5 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.15 | 0.00 | 0.15 | 0.15 | 0.15 | |
| 2014-2015 | 18 | York City | 1 League | 8 | 0 | 132 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2014-2015 | 18 | Norwich City | 1 League | 1 | 0 | 14 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2015-2016 | 19 | Hamilton Acad. | 1 League | 32 | 27 | 2,199 | 24.4 | 8 | 2 | 10 | 8 | 0 | 0 | 10 | 0 | 0.33 | 0.08 | 0.41 | 0.33 | 0.41 | |
| 2016-2017 | 20 | Norwich City | 3 Leagues | 0 | 0 | ||||||||||||||||
| 2016-2017 | 20 | Rotherham United | 1 League | 8 | 6 | 473 | 5.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2017-2018 | 21 | Shrewsbury Town | 2 Leagues | 46 | 33 | 2,922 | 32.5 | 7 | 4 | 11 | 7 | 0 | 0 | 5 | 0 | 0.22 | 0.12 | 0.34 | 0.22 | 0.34 | |
| 2018-2019 | 22 | Norwich City | 1 League | 3 | 3 | 225 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2019-2020 | 23 | Rotherham United | 3 Leagues | 25 | 14 | 1,201 | 13.3 | 3 | 4 | 7 | 3 | 0 | 0 | 3 | 0 | 0.22 | 0.30 | 0.52 | 0.22 | 0.52 | |
| 2019-2020 | 23 | Milton Keynes Dons | 1 League | 10 | 9 | 822 | 9.1 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 1 | 0.22 | 0.00 | 0.22 | 0.22 | 0.22 | |
| 2020-2021 | 24 | Milton Keynes Dons | 3 Leagues | 21 | 17 | 1,644 | 18.3 | 3 | 1 | 4 | 3 | 0 | 1 | 3 | 0 | 0.16 | 0.05 | 0.22 | 0.16 | 0.22 | |
| 2020-2021 | 24 | Barnsley | 1 League | 23 | 6 | 1,081 | 12.0 | 7 | 3 | 10 | 7 | 0 | 0 | 3 | 0 | 0.58 | 0.25 | 0.83 | 0.58 | 0.83 | |
| 2021-2022 | 25 | Barnsley | 2 Leagues | 30 | 26 | 2,379 | 26.4 | 9 | 3 | 12 | 8 | 1 | 1 | 6 | 0 | 0.34 | 0.11 | 0.45 | 0.30 | 0.42 | |
| 2022-2023 | 26 | Luton Town | 3 Leagues | 48 | 42 | 3,504 | 38.9 | 20 | 7 | 27 | 19 | 1 | 1 | 11 | 0 | 0.51 | 0.18 | 0.69 | 0.49 | 0.67 | |
| 2023-2024 | 27 | Luton Town | 3 Leagues | 43 | 36 | 3,223 | 35.8 | 11 | 6 | 17 | 6 | 5 | 5 | 4 | 0 | 0.31 | 0.17 | 0.47 | 0.17 | 0.34 | |
| 2024-2025 | 28 | Luton Town | 3 Leagues | 43 | 39 | 3,287 | 36.5 | 8 | 3 | 11 | 6 | 2 | 2 | 11 | 0 | 0.22 | 0.08 | 0.30 | 0.16 | 0.25 | |
| 2025-2026 | 29 | Derby County | 1 League | 31 | 24 | 2,121 | 23.6 | 12 | 2 | 14 | 9 | 3 | 3 | 5 | 0 | 0.51 | 0.08 | 0.59 | 0.38 | 0.47 | |
| 11 Seasons | 10 Clubs | 7 Leagues | 378 | 286 | 25,584 | 284.3 | 91 | 35 | 126 | 79 | 12 | 13 | 64 | 1 | 0.32 | 0.12 | 0.44 | 0.28 | 0.40 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Luton Town (3 Seasons) | 4 Leagues | 134 | 117 | 10,014 | 111.3 | 39 | 16 | 55 | 31 | 8 | 8 | 26 | 0 | 0.35 | 0.14 | 0.49 | 0.28 | 0.42 | |||
| Barnsley (2 Seasons) | 2 Leagues | 53 | 32 | 3,460 | 38.4 | 16 | 6 | 22 | 15 | 1 | 1 | 9 | 0 | 0.42 | 0.16 | 0.57 | 0.39 | 0.55 | |||
| Rotherham United (2 Seasons) | 4 Leagues | 33 | 20 | 1,674 | 18.6 | 3 | 4 | 7 | 3 | 0 | 0 | 3 | 0 | 0.16 | 0.22 | 0.38 | 0.16 | 0.38 | |||
| Milton Keynes Dons (2 Seasons) | 3 Leagues | 31 | 26 | 2,466 | 27.4 | 5 | 1 | 6 | 5 | 0 | 1 | 4 | 1 | 0.18 | 0.04 | 0.22 | 0.18 | 0.22 | |||
| Norwich City (2 Seasons) | 3 Leagues | 1 | 0 | 14 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Shrewsbury Town (1 Season) | 2 Leagues | 46 | 33 | 2,922 | 32.5 | 7 | 4 | 11 | 7 | 0 | 0 | 5 | 0 | 0.22 | 0.12 | 0.34 | 0.22 | 0.34 | |||
| Hamilton Acad. (1 Season) | 1 League | 32 | 27 | 2,199 | 24.4 | 8 | 2 | 10 | 8 | 0 | 0 | 10 | 0 | 0.33 | 0.08 | 0.41 | 0.33 | 0.41 | |||
| Derby County (1 Season) | 1 League | 31 | 24 | 2,121 | 23.6 | 12 | 2 | 14 | 9 | 3 | 3 | 5 | 0 | 0.51 | 0.08 | 0.59 | 0.38 | 0.47 | |||
| Oxford United (1 Season) | 2 Leagues | 9 | 7 | 582 | 6.5 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.15 | 0.00 | 0.15 | 0.15 | 0.15 | |||
| York City (1 Season) | 1 League | 8 | 0 | 132 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Norwich City (1 Season) | 1 League | 3 | 3 | 225 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| FA Cup (8 Seasons) | 19 | 11 | 1,150 | 12.8 | 3 | 3 | 6 | 3 | 0 | 0 | 2 | 0 | 0.23 | 0.23 | 0.47 | 0.23 | 0.47 | ||||
| Championship (7 Seasons) | 176 | 140 | 12,458 | 138.4 | 54 | 16 | 70 | 47 | 7 | 7 | 34 | 0 | 0.39 | 0.12 | 0.51 | 0.34 | 0.46 | ||||
| EFL Cup (7 Seasons) | 7 | 5 | 366 | 4.1 | 1 | 2 | 3 | 1 | 0 | 1 | 1 | 0 | 0.25 | 0.49 | 0.74 | 0.25 | 0.74 | ||||
| League One (3 Seasons) | 91 | 66 | 5,987 | 66.5 | 14 | 8 | 22 | 14 | 0 | 0 | 11 | 1 | 0.21 | 0.12 | 0.33 | 0.21 | 0.33 | ||||
| Premier League (1 Season) | 38 | 32 | 2,862 | 31.8 | 11 | 4 | 15 | 6 | 5 | 5 | 4 | 0 | 0.35 | 0.13 | 0.47 | 0.19 | 0.31 | ||||
| Premiership (1 Season) | 32 | 27 | 2,199 | 24.4 | 8 | 2 | 10 | 8 | 0 | 0 | 10 | 0 | 0.33 | 0.08 | 0.41 | 0.33 | 0.41 | ||||
| League Two (1 Season) | 15 | 5 | 562 | 6.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| PL2 — Div. 2 (1 Season) | 3 | 3 | 225 | 2.5 | 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 | |||||
| 2014-2015 | 18 | Oxford United | eng ENG | 4. League Two | 13th | 7 | 5 | 430 | 4.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2014-2015 | 18 | York City | eng ENG | 4. League Two | 18th | 8 | 0 | 132 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2014-2015 | 18 | Norwich City | eng ENG | 2. Championship | 3rd | 1 | 0 | 14 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 19 | Hamilton Acad. | sct SCO | 1. Premiership | 10th | 32 | 27 | 2,199 | 24.4 | 8 | 2 | 10 | 8 | 0 | 0 | 10 | 0 | 0.33 | 0.08 | 0.41 | 0.33 | 0.41 | Matches |
| 2016-2017 | 20 | Norwich City | eng ENG | 2. Championship | 8th | 0 | 0 | Matches | |||||||||||||||
| 2016-2017 | 20 | Rotherham United | eng ENG | 2. Championship | 24th | 8 | 6 | 473 | 5.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | 3. League One | 3rd | 42 | 32 | 2,769 | 30.8 | 6 | 4 | 10 | 6 | 0 | 0 | 5 | 0 | 0.20 | 0.13 | 0.33 | 0.20 | 0.33 | Matches |
| 2018-2019 | 22 | Norwich City | eng ENG | Jr. PL2 — Div. 2 | 11th | 3 | 3 | 225 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 23 | Rotherham United | eng ENG | 3. League One | 2nd | 21 | 11 | 1,052 | 11.7 | 3 | 3 | 6 | 3 | 0 | 0 | 3 | 0 | 0.26 | 0.26 | 0.51 | 0.26 | 0.51 | Matches |
| 2019-2020 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 19th | 10 | 9 | 822 | 9.1 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 1 | 0.22 | 0.00 | 0.22 | 0.22 | 0.22 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 13th | 18 | 14 | 1,344 | 14.9 | 3 | 1 | 4 | 3 | 0 | 0 | 2 | 0 | 0.20 | 0.07 | 0.27 | 0.20 | 0.27 | Matches |
| 2020-2021 | 24 | Barnsley | eng ENG | 2. Championship | 5th | 23 | 6 | 1,081 | 12.0 | 7 | 3 | 10 | 7 | 0 | 0 | 3 | 0 | 0.58 | 0.25 | 0.83 | 0.58 | 0.83 | Matches |
| 2021-2022 | 25 | Barnsley | eng ENG | 2. Championship | 24th | 28 | 26 | 2,278 | 25.3 | 7 | 3 | 10 | 6 | 1 | 1 | 5 | 0 | 0.28 | 0.12 | 0.40 | 0.24 | 0.36 | Matches |
| 2022-2023 | 26 | Luton Town | eng ENG | 2. Championship | 3rd | 44 | 41 | 3,368 | 37.4 | 20 | 6 | 26 | 19 | 1 | 1 | 11 | 0 | 0.53 | 0.16 | 0.69 | 0.51 | 0.67 | Matches |
| 2023-2024 | 27 | Luton Town | eng ENG | 1. Premier League | 18th | 38 | 32 | 2,862 | 31.8 | 11 | 4 | 15 | 6 | 5 | 5 | 4 | 0 | 0.35 | 0.13 | 0.47 | 0.19 | 0.31 | Matches |
| 2024-2025 | 28 | Luton Town | eng ENG | 2. Championship | 22nd | 41 | 37 | 3,123 | 34.7 | 8 | 2 | 10 | 6 | 2 | 2 | 10 | 0 | 0.23 | 0.06 | 0.29 | 0.17 | 0.23 | Matches |
| 2025-2026 | 29 | Derby County | eng ENG | 2. Championship | 8th | 31 | 24 | 2,121 | 23.6 | 12 | 2 | 14 | 9 | 3 | 3 | 5 | 0 | 0.51 | 0.08 | 0.59 | 0.38 | 0.47 | Matches |
| 11 Seasons | 10 Clubs | 5 Leagues | 352 | 270 | 24,068 | 267.4 | 87 | 30 | 117 | 75 | 12 | 12 | 61 | 1 | 0.33 | 0.11 | 0.44 | 0.28 | 0.39 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Luton Town (3 Seasons) | 2 Leagues | 123 | 110 | 9,353 | 103.9 | 39 | 12 | 51 | 31 | 8 | 8 | 25 | 0 | 0.38 | 0.12 | 0.49 | 0.30 | 0.41 | |||||
| Barnsley (2 Seasons) | 1 League | 51 | 32 | 3,359 | 37.3 | 14 | 6 | 20 | 13 | 1 | 1 | 8 | 0 | 0.38 | 0.16 | 0.54 | 0.35 | 0.51 | |||||
| Rotherham United (2 Seasons) | 2 Leagues | 29 | 17 | 1,525 | 16.9 | 3 | 3 | 6 | 3 | 0 | 0 | 3 | 0 | 0.18 | 0.18 | 0.35 | 0.18 | 0.35 | |||||
| Milton Keynes Dons (2 Seasons) | 1 League | 28 | 23 | 2,166 | 24.1 | 5 | 1 | 6 | 5 | 0 | 0 | 3 | 1 | 0.21 | 0.04 | 0.25 | 0.21 | 0.25 | |||||
| Norwich City (2 Seasons) | 1 League | 1 | 0 | 14 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Shrewsbury Town (1 Season) | 1 League | 42 | 32 | 2,769 | 30.8 | 6 | 4 | 10 | 6 | 0 | 0 | 5 | 0 | 0.20 | 0.13 | 0.33 | 0.20 | 0.33 | |||||
| Hamilton Acad. (1 Season) | 1 League | 32 | 27 | 2,199 | 24.4 | 8 | 2 | 10 | 8 | 0 | 0 | 10 | 0 | 0.33 | 0.08 | 0.41 | 0.33 | 0.41 | |||||
| Derby County (1 Season) | 1 League | 31 | 24 | 2,121 | 23.6 | 12 | 2 | 14 | 9 | 3 | 3 | 5 | 0 | 0.51 | 0.08 | 0.59 | 0.38 | 0.47 | |||||
| York City (1 Season) | 1 League | 8 | 0 | 132 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Oxford United (1 Season) | 1 League | 7 | 5 | 430 | 4.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Norwich City (1 Season) | 1 League | 3 | 3 | 225 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Championship (7 Seasons) | 176 | 140 | 12,458 | 138.4 | 54 | 16 | 70 | 47 | 7 | 7 | 34 | 0 | 0.39 | 0.12 | 0.51 | 0.34 | 0.46 | ||||||
| League One (3 Seasons) | 91 | 66 | 5,987 | 66.5 | 14 | 8 | 22 | 14 | 0 | 0 | 11 | 1 | 0.21 | 0.12 | 0.33 | 0.21 | 0.33 | ||||||
| Premier League (1 Season) | 38 | 32 | 2,862 | 31.8 | 11 | 4 | 15 | 6 | 5 | 5 | 4 | 0 | 0.35 | 0.13 | 0.47 | 0.19 | 0.31 | ||||||
| Premiership (1 Season) | 32 | 27 | 2,199 | 24.4 | 8 | 2 | 10 | 8 | 0 | 0 | 10 | 0 | 0.33 | 0.08 | 0.41 | 0.33 | 0.41 | ||||||
| League Two (1 Season) | 15 | 5 | 562 | 6.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| PL2 — Div. 2 (1 Season) | 3 | 3 | 225 | 2.5 | 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 | |||||
| 2014-2015 | 18 | Oxford United | eng ENG | League Cup | 33rd | 2 | 2 | 152 | 1.7 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.59 | 0.00 | 0.59 | 0.59 | 0.59 | Matches |
| 2016-2017 | 20 | Norwich City | eng ENG | EFL Cup | 9th | 0 | 0 | Matches | |||||||||||||||
| 2016-2017 | 20 | Norwich City | eng ENG | FA Cup | 33rd | 0 | 0 | Matches | |||||||||||||||
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | FA Cup | 33rd | 4 | 1 | 153 | 1.7 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.59 | 0.00 | 0.59 | 0.59 | 0.59 | Matches |
| 2019-2020 | 23 | Rotherham United | eng ENG | EFL Cup | 33rd | 1 | 1 | 5 | 0.1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 18.00 | 18.00 | 0.00 | 18.00 | Matches |
| 2019-2020 | 23 | Rotherham United | eng ENG | FA Cup | 33rd | 3 | 2 | 144 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | EFL Cup | 58th | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 33rd | 2 | 2 | 210 | 2.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 25 | Barnsley | eng ENG | FA Cup | 2 | 0 | 101 | 1.1 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 1.78 | 0.00 | 1.78 | 1.78 | 1.78 | Matches | |
| 2022-2023 | 26 | Luton Town | eng ENG | EFL Cup | Rd1 | 1 | 0 | 29 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 26 | Luton Town | eng ENG | FA Cup | 3 | 1 | 107 | 1.2 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.84 | 0.84 | 0.00 | 0.84 | Matches | |
| 2023-2024 | 27 | Luton Town | eng ENG | EFL Cup | Rd3 | 1 | 0 | 16 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 27 | Luton Town | eng ENG | FA Cup | 4 | 4 | 345 | 3.8 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.52 | 0.52 | 0.00 | 0.52 | Matches | |
| 2024-2025 | 28 | Luton Town | eng ENG | EFL Cup | Rd2 | 1 | 1 | 74 | 0.8 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 1.22 | 1.22 | 0.00 | 1.22 | Matches |
| 2024-2025 | 28 | Luton Town | eng ENG | FA 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 | |
| 9 Seasons | 7 Clubs | 2 Leagues | 26 | 16 | 1,516 | 16.8 | 4 | 5 | 9 | 4 | 0 | 1 | 3 | 0 | 0.24 | 0.30 | 0.53 | 0.24 | 0.53 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Luton Town (3 Seasons) | 2 Leagues | 11 | 7 | 661 | 7.3 | 0 | 4 | 4 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.54 | 0.54 | 0.00 | 0.54 | |||||
| Rotherham United (1 Season) | 2 Leagues | 4 | 3 | 149 | 1.7 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.60 | 0.60 | 0.00 | 0.60 | |||||
| Shrewsbury Town (1 Season) | 1 League | 4 | 1 | 153 | 1.7 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.59 | 0.00 | 0.59 | 0.59 | 0.59 | |||||
| Milton Keynes Dons (1 Season) | 2 Leagues | 3 | 3 | 300 | 3.3 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Barnsley (1 Season) | 1 League | 2 | 0 | 101 | 1.1 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 1.78 | 0.00 | 1.78 | 1.78 | 1.78 | |||||
| Oxford United (1 Season) | 1 League | 2 | 2 | 152 | 1.7 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.59 | 0.00 | 0.59 | 0.59 | 0.59 | |||||
| Norwich City (1 Season) | 2 Leagues | 0 | 0 | ||||||||||||||||||||
| FA Cup (8 Seasons) | 19 | 11 | 1,150 | 12.8 | 3 | 3 | 6 | 3 | 0 | 0 | 2 | 0 | 0.23 | 0.23 | 0.47 | 0.23 | 0.47 | ||||||
| EFL Cup (7 Seasons) | 7 | 5 | 366 | 4.1 | 1 | 2 | 3 | 1 | 0 | 1 | 1 | 0 | 0.25 | 0.49 | 0.74 | 0.25 | 0.74 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014-2015 | 18 | Norwich City | eng ENG | 2. Championship | 0.2 | 0 | 0 | 0.00 | 0 | 0 | Matches | |||||
| 2014-2015 | 18 | Oxford United | eng ENG | League Cup | 1.7 | 1 | 0 | 0 | Matches | |||||||
| 2014-2015 | 18 | Oxford United | eng ENG | 4. League Two | 4.8 | 0 | 0 | 0.00 | 0 | 0 | Matches | |||||
| 2014-2015 | 18 | York City | eng ENG | 4. League Two | 1.5 | 0 | 2 | 1.36 | 0.00 | 0 | 0 | Matches | ||||
| 2015-2016 | 19 | Hamilton Acad. | sct SCO | 1. Premiership | 24.4 | 8 | 18 | 0.74 | 0.44 | 0 | 0 | Matches | ||||
| 2016-2017 | 20 | Rotherham United | eng ENG | 2. Championship | 5.3 | 0 | 0 | 5 | 0.00 | 0.95 | 0.00 | 0 | 0 | Matches | ||
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | FA Cup | 1.7 | 1 | 7 | 3 | 42.9 | 4.12 | 1.76 | 0.14 | 0.33 | 0 | 0 | Matches |
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | 3. League One | 30.8 | 6 | 0 | 21 | 0.00 | 0.68 | 0.29 | 0 | 0 | Matches | ||
| 2018-2019 | 22 | Norwich City | eng ENG | Jr. PL2 — Div. 2 | 2.5 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 23 | Rotherham United | eng ENG | EFL Cup | 0.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 23 | Rotherham United | eng ENG | FA Cup | 1.6 | 0 | 5 | 2 | 40.0 | 3.12 | 1.25 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 23 | Rotherham United | eng ENG | 3. League One | 11.7 | 3 | 30 | 9 | 30.0 | 2.57 | 0.77 | 0.10 | 0.33 | 0 | 0 | Matches |
| 2019-2020 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 9.1 | 2 | 23 | 6 | 26.1 | 2.52 | 0.66 | 0.09 | 0.33 | 0 | 0 | Matches |
| 2020-2021 | 24 | Barnsley | eng ENG | 2. Championship | 12.0 | 7 | 27 | 15 | 55.6 | 2.25 | 1.25 | 0.26 | 0.47 | 0 | 0 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | EFL Cup | 1.0 | 0 | 8 | 2 | 25.0 | 8.00 | 2.00 | 0.00 | 0.00 | 0 | 1 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 2.3 | 0 | 5 | 1 | 20.0 | 2.14 | 0.43 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 14.9 | 3 | 28 | 9 | 32.1 | 1.87 | 0.60 | 0.11 | 0.33 | 0 | 0 | Matches |
| 2021-2022 | 25 | Barnsley | eng ENG | 2. Championship | 25.3 | 7 | 60 | 27 | 45.0 | 2.37 | 1.07 | 0.10 | 0.22 | 1 | 1 | Matches |
| 2021-2022 | 25 | Barnsley | eng ENG | FA Cup | 1.1 | 2 | 5 | 2 | 40.0 | 4.46 | 1.78 | 0.40 | 1.00 | 0 | 0 | Matches |
| 2022-2023 | 26 | Luton Town | eng ENG | 2. Championship | 37.4 | 20 | 116 | 41 | 35.3 | 3.10 | 1.10 | 0.16 | 0.46 | 1 | 1 | Matches |
| 2022-2023 | 26 | Luton Town | eng ENG | EFL Cup | 0.3 | 0 | 1 | 0 | 0.0 | 3.10 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 26 | Luton Town | eng ENG | FA Cup | 1.2 | 0 | 5 | 4 | 80.0 | 4.21 | 3.36 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 27 | Luton Town | eng ENG | EFL Cup | 0.2 | 0 | 2 | 0 | 0.0 | 11.25 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 27 | Luton Town | eng ENG | FA Cup | 3.8 | 0 | 11 | 5 | 45.5 | 2.87 | 1.30 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 27 | Luton Town | eng ENG | 1. Premier League | 31.8 | 11 | 73 | 31 | 42.5 | 2.30 | 0.97 | 0.08 | 0.19 | 5 | 5 | Matches |
| 2024-2025 | 28 | Luton Town | eng ENG | 2. Championship | 34.7 | 8 | 63 | 28 | 44.4 | 1.82 | 0.81 | 0.10 | 0.21 | 2 | 2 | Matches |
| 2024-2025 | 28 | Luton Town | eng ENG | EFL Cup | 0.8 | 0 | 5 | 3 | 60.0 | 6.08 | 3.65 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 28 | Luton Town | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2025-2026 | 29 | Derby County | eng ENG | 2. Championship | 23.6 | 12 | 46 | 20 | 43.5 | 1.95 | 0.85 | 0.20 | 0.45 | 3 | 3 | Matches |
| 11 Seasons | 10 Clubs | 7 Leagues | 284.3 | 91 | 520 | 254 | 45.0 | 2.07 | 0.90 | 0.13 | 0.31 | 12 | 13 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Luton Town (3 Seasons) | 4 Leagues | 111.3 | 39 | 276 | 112 | 40.6 | 2.50 | 1.02 | 0.11 | 0.28 | 8 | 8 | ||||
| Barnsley (2 Seasons) | 2 Leagues | 38.4 | 16 | 92 | 44 | 47.8 | 2.39 | 1.14 | 0.16 | 0.34 | 1 | 1 | ||||
| Rotherham United (2 Seasons) | 4 Leagues | 18.6 | 3 | 35 | 16 | 45.7 | 1.88 | 0.86 | 0.09 | 0.19 | 0 | 0 | ||||
| Milton Keynes Dons (2 Seasons) | 3 Leagues | 27.4 | 5 | 64 | 18 | 28.1 | 2.34 | 0.66 | 0.08 | 0.28 | 0 | 1 | ||||
| Norwich City (2 Seasons) | 3 Leagues | 0.2 | 0 | 0 | 0.00 | 0 | 0 | |||||||||
| Shrewsbury Town (1 Season) | 2 Leagues | 32.5 | 7 | 7 | 24 | 342.9 | 0.22 | 0.74 | 1.00 | 0.29 | 0 | 0 | ||||
| Hamilton Acad. (1 Season) | 1 League | 24.4 | 8 | 18 | 0.74 | 0.44 | 0 | 0 | ||||||||
| Derby County (1 Season) | 1 League | 23.6 | 12 | 46 | 20 | 43.5 | 1.95 | 0.85 | 0.20 | 0.45 | 3 | 3 | ||||
| Oxford United (1 Season) | 2 Leagues | 6.5 | 1 | 0 | 0.00 | 0 | 0 | |||||||||
| York City (1 Season) | 1 League | 1.5 | 0 | 2 | 1.36 | 0.00 | 0 | 0 | ||||||||
| Norwich City (1 Season) | 1 League | 2.5 | 0 | 0 | 0 | |||||||||||
| FA Cup (8 Seasons) | 12.8 | 3 | 38 | 17 | 44.7 | 3.23 | 1.44 | 0.08 | 0.18 | 0 | 0 | |||||
| Championship (7 Seasons) | 138.4 | 54 | 312 | 136 | 43.6 | 2.26 | 0.98 | 0.15 | 0.35 | 7 | 7 | |||||
| EFL Cup (7 Seasons) | 4.1 | 1 | 16 | 5 | 31.3 | 6.73 | 2.10 | 0.00 | 0.00 | 0 | 1 | |||||
| League One (3 Seasons) | 66.5 | 14 | 81 | 45 | 55.6 | 1.22 | 0.68 | 0.17 | 0.31 | 0 | 0 | |||||
| Premier League (1 Season) | 31.8 | 11 | 73 | 31 | 42.5 | 2.30 | 0.97 | 0.08 | 0.19 | 5 | 5 | |||||
| Premiership (1 Season) | 24.4 | 8 | 18 | 0.74 | 0.44 | 0 | 0 | |||||||||
| League Two (1 Season) | 6.2 | 0 | 2 | 0.32 | 0.00 | 0 | 0 | |||||||||
| PL2 — Div. 2 (1 Season) | 2.5 | 0 | 0 | 0 | ||||||||||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014-2015 | 18 | Oxford United | 2 Leagues | 6.5 | 1 | 0 | 0.00 | 0 | 0 | ||||||
| 2014-2015 | 18 | York City | 1 League | 1.5 | 0 | 2 | 1.36 | 0.00 | 0 | 0 | |||||
| 2014-2015 | 18 | Norwich City | 1 League | 0.2 | 0 | 0 | 0.00 | 0 | 0 | ||||||
| 2015-2016 | 19 | Hamilton Acad. | 1 League | 24.4 | 8 | 18 | 0.74 | 0.44 | 0 | 0 | |||||
| 2016-2017 | 20 | Rotherham United | 1 League | 5.3 | 0 | 0 | 5 | 0.00 | 0.95 | 0.00 | 0 | 0 | |||
| 2017-2018 | 21 | Shrewsbury Town | 2 Leagues | 32.5 | 7 | 7 | 24 | 342.9 | 0.22 | 0.74 | 1.00 | 0.29 | 0 | 0 | |
| 2018-2019 | 22 | Norwich City | 1 League | 2.5 | 0 | 0 | 0 | ||||||||
| 2019-2020 | 23 | Rotherham United | 3 Leagues | 13.3 | 3 | 35 | 11 | 31.4 | 2.62 | 0.82 | 0.09 | 0.27 | 0 | 0 | |
| 2019-2020 | 23 | Milton Keynes Dons | 1 League | 9.1 | 2 | 23 | 6 | 26.1 | 2.52 | 0.66 | 0.09 | 0.33 | 0 | 0 | |
| 2020-2021 | 24 | Milton Keynes Dons | 3 Leagues | 18.3 | 3 | 41 | 12 | 29.3 | 2.24 | 0.66 | 0.07 | 0.25 | 0 | 1 | |
| 2020-2021 | 24 | Barnsley | 1 League | 12.0 | 7 | 27 | 15 | 55.6 | 2.25 | 1.25 | 0.26 | 0.47 | 0 | 0 | |
| 2021-2022 | 25 | Barnsley | 2 Leagues | 26.4 | 9 | 65 | 29 | 44.6 | 2.46 | 1.10 | 0.12 | 0.28 | 1 | 1 | |
| 2022-2023 | 26 | Luton Town | 3 Leagues | 38.9 | 20 | 122 | 45 | 36.9 | 3.13 | 1.16 | 0.16 | 0.42 | 1 | 1 | |
| 2023-2024 | 27 | Luton Town | 3 Leagues | 35.8 | 11 | 86 | 36 | 41.9 | 2.40 | 1.01 | 0.07 | 0.17 | 5 | 5 | |
| 2024-2025 | 28 | Luton Town | 3 Leagues | 36.5 | 8 | 68 | 31 | 45.6 | 1.91 | 0.87 | 0.09 | 0.19 | 2 | 2 | |
| 2025-2026 | 29 | Derby County | 1 League | 23.6 | 12 | 46 | 20 | 43.5 | 1.95 | 0.85 | 0.20 | 0.45 | 3 | 3 | |
| 11 Seasons | 10 Clubs | 7 Leagues | 284.3 | 91 | 520 | 254 | 45.0 | 2.07 | 0.90 | 0.13 | 0.31 | 12 | 13 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Luton Town (3 Seasons) | 4 Leagues | 111.3 | 39 | 276 | 112 | 40.6 | 2.50 | 1.02 | 0.11 | 0.28 | 8 | 8 | |||
| Barnsley (2 Seasons) | 2 Leagues | 38.4 | 16 | 92 | 44 | 47.8 | 2.39 | 1.14 | 0.16 | 0.34 | 1 | 1 | |||
| Rotherham United (2 Seasons) | 4 Leagues | 18.6 | 3 | 35 | 16 | 45.7 | 1.88 | 0.86 | 0.09 | 0.19 | 0 | 0 | |||
| Milton Keynes Dons (2 Seasons) | 3 Leagues | 27.4 | 5 | 64 | 18 | 28.1 | 2.34 | 0.66 | 0.08 | 0.28 | 0 | 1 | |||
| Norwich City (2 Seasons) | 3 Leagues | 0.2 | 0 | 0 | 0.00 | 0 | 0 | ||||||||
| Shrewsbury Town (1 Season) | 2 Leagues | 32.5 | 7 | 7 | 24 | 342.9 | 0.22 | 0.74 | 1.00 | 0.29 | 0 | 0 | |||
| Hamilton Acad. (1 Season) | 1 League | 24.4 | 8 | 18 | 0.74 | 0.44 | 0 | 0 | |||||||
| Derby County (1 Season) | 1 League | 23.6 | 12 | 46 | 20 | 43.5 | 1.95 | 0.85 | 0.20 | 0.45 | 3 | 3 | |||
| Oxford United (1 Season) | 2 Leagues | 6.5 | 1 | 0 | 0.00 | 0 | 0 | ||||||||
| York City (1 Season) | 1 League | 1.5 | 0 | 2 | 1.36 | 0.00 | 0 | 0 | |||||||
| Norwich City (1 Season) | 1 League | 2.5 | 0 | 0 | 0 | ||||||||||
| FA Cup (8 Seasons) | 12.8 | 3 | 38 | 17 | 44.7 | 3.23 | 1.44 | 0.08 | 0.18 | 0 | 0 | ||||
| Championship (7 Seasons) | 138.4 | 54 | 312 | 136 | 43.6 | 2.26 | 0.98 | 0.15 | 0.35 | 7 | 7 | ||||
| EFL Cup (7 Seasons) | 4.1 | 1 | 16 | 5 | 31.3 | 6.73 | 2.10 | 0.00 | 0.00 | 0 | 1 | ||||
| League One (3 Seasons) | 66.5 | 14 | 81 | 45 | 55.6 | 1.22 | 0.68 | 0.17 | 0.31 | 0 | 0 | ||||
| Premier League (1 Season) | 31.8 | 11 | 73 | 31 | 42.5 | 2.30 | 0.97 | 0.08 | 0.19 | 5 | 5 | ||||
| Premiership (1 Season) | 24.4 | 8 | 18 | 0.74 | 0.44 | 0 | 0 | ||||||||
| League Two (1 Season) | 6.2 | 0 | 2 | 0.32 | 0.00 | 0 | 0 | ||||||||
| PL2 — Div. 2 (1 Season) | 2.5 | 0 | 0 | 0 | |||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014-2015 | 18 | Oxford United | eng ENG | 4. League Two | 13th | 4.8 | 0 | 0 | 0.00 | 0 | 0 | Matches | |||||
| 2014-2015 | 18 | York City | eng ENG | 4. League Two | 18th | 1.5 | 0 | 2 | 1.36 | 0.00 | 0 | 0 | Matches | ||||
| 2014-2015 | 18 | Norwich City | eng ENG | 2. Championship | 3rd | 0.2 | 0 | 0 | 0.00 | 0 | 0 | Matches | |||||
| 2015-2016 | 19 | Hamilton Acad. | sct SCO | 1. Premiership | 10th | 24.4 | 8 | 18 | 0.74 | 0.44 | 0 | 0 | Matches | ||||
| 2016-2017 | 20 | Rotherham United | eng ENG | 2. Championship | 24th | 5.3 | 0 | 0 | 5 | 0.00 | 0.95 | 0.00 | 0 | 0 | Matches | ||
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | 3. League One | 3rd | 30.8 | 6 | 0 | 21 | 0.00 | 0.68 | 0.29 | 0 | 0 | Matches | ||
| 2018-2019 | 22 | Norwich City | eng ENG | Jr. PL2 — Div. 2 | 11th | 2.5 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 23 | Rotherham United | eng ENG | 3. League One | 2nd | 11.7 | 3 | 30 | 9 | 30.0 | 2.57 | 0.77 | 0.10 | 0.33 | 0 | 0 | Matches |
| 2019-2020 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 19th | 9.1 | 2 | 23 | 6 | 26.1 | 2.52 | 0.66 | 0.09 | 0.33 | 0 | 0 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 13th | 14.9 | 3 | 28 | 9 | 32.1 | 1.87 | 0.60 | 0.11 | 0.33 | 0 | 0 | Matches |
| 2020-2021 | 24 | Barnsley | eng ENG | 2. Championship | 5th | 12.0 | 7 | 27 | 15 | 55.6 | 2.25 | 1.25 | 0.26 | 0.47 | 0 | 0 | Matches |
| 2021-2022 | 25 | Barnsley | eng ENG | 2. Championship | 24th | 25.3 | 7 | 60 | 27 | 45.0 | 2.37 | 1.07 | 0.10 | 0.22 | 1 | 1 | Matches |
| 2022-2023 | 26 | Luton Town | eng ENG | 2. Championship | 3rd | 37.4 | 20 | 116 | 41 | 35.3 | 3.10 | 1.10 | 0.16 | 0.46 | 1 | 1 | Matches |
| 2023-2024 | 27 | Luton Town | eng ENG | 1. Premier League | 18th | 31.8 | 11 | 73 | 31 | 42.5 | 2.30 | 0.97 | 0.08 | 0.19 | 5 | 5 | Matches |
| 2024-2025 | 28 | Luton Town | eng ENG | 2. Championship | 22nd | 34.7 | 8 | 63 | 28 | 44.4 | 1.82 | 0.81 | 0.10 | 0.21 | 2 | 2 | Matches |
| 2025-2026 | 29 | Derby County | eng ENG | 2. Championship | 8th | 23.6 | 12 | 46 | 20 | 43.5 | 1.95 | 0.85 | 0.20 | 0.45 | 3 | 3 | Matches |
| 11 Seasons | 10 Clubs | 5 Leagues | 267.4 | 87 | 466 | 232 | 45.5 | 1.97 | 0.87 | 0.14 | 0.32 | 12 | 12 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Luton Town (3 Seasons) | 2 Leagues | 103.9 | 39 | 252 | 100 | 39.7 | 2.42 | 0.96 | 0.12 | 0.31 | 8 | 8 | |||||
| Barnsley (2 Seasons) | 1 League | 37.3 | 14 | 87 | 42 | 48.3 | 2.33 | 1.13 | 0.15 | 0.31 | 1 | 1 | |||||
| Rotherham United (2 Seasons) | 2 Leagues | 16.9 | 3 | 30 | 14 | 46.7 | 1.77 | 0.83 | 0.10 | 0.21 | 0 | 0 | |||||
| Milton Keynes Dons (2 Seasons) | 1 League | 24.1 | 5 | 51 | 15 | 29.4 | 2.12 | 0.62 | 0.10 | 0.33 | 0 | 0 | |||||
| Norwich City (2 Seasons) | 1 League | 0.2 | 0 | 0 | 0.00 | 0 | 0 | ||||||||||
| Shrewsbury Town (1 Season) | 1 League | 30.8 | 6 | 0 | 21 | 0.00 | 0.68 | 0.29 | 0 | 0 | |||||||
| Hamilton Acad. (1 Season) | 1 League | 24.4 | 8 | 18 | 0.74 | 0.44 | 0 | 0 | |||||||||
| Derby County (1 Season) | 1 League | 23.6 | 12 | 46 | 20 | 43.5 | 1.95 | 0.85 | 0.20 | 0.45 | 3 | 3 | |||||
| York City (1 Season) | 1 League | 1.5 | 0 | 2 | 1.36 | 0.00 | 0 | 0 | |||||||||
| Oxford United (1 Season) | 1 League | 4.8 | 0 | 0 | 0.00 | 0 | 0 | ||||||||||
| Norwich City (1 Season) | 1 League | 2.5 | 0 | 0 | 0 | ||||||||||||
| Championship (7 Seasons) | 138.4 | 54 | 312 | 136 | 43.6 | 2.26 | 0.98 | 0.15 | 0.35 | 7 | 7 | ||||||
| League One (3 Seasons) | 66.5 | 14 | 81 | 45 | 55.6 | 1.22 | 0.68 | 0.17 | 0.31 | 0 | 0 | ||||||
| Premier League (1 Season) | 31.8 | 11 | 73 | 31 | 42.5 | 2.30 | 0.97 | 0.08 | 0.19 | 5 | 5 | ||||||
| Premiership (1 Season) | 24.4 | 8 | 18 | 0.74 | 0.44 | 0 | 0 | ||||||||||
| League Two (1 Season) | 6.2 | 0 | 2 | 0.32 | 0.00 | 0 | 0 | ||||||||||
| PL2 — Div. 2 (1 Season) | 2.5 | 0 | 0 | 0 | |||||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014-2015 | 18 | Oxford United | eng ENG | League Cup | 33rd | 1.7 | 1 | 0 | 0 | Matches | |||||||
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | FA Cup | 33rd | 1.7 | 1 | 7 | 3 | 42.9 | 4.12 | 1.76 | 0.14 | 0.33 | 0 | 0 | Matches |
| 2019-2020 | 23 | Rotherham United | eng ENG | EFL Cup | 33rd | 0.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 23 | Rotherham United | eng ENG | FA Cup | 33rd | 1.6 | 0 | 5 | 2 | 40.0 | 3.12 | 1.25 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | EFL Cup | 58th | 1.0 | 0 | 8 | 2 | 25.0 | 8.00 | 2.00 | 0.00 | 0.00 | 0 | 1 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 33rd | 2.3 | 0 | 5 | 1 | 20.0 | 2.14 | 0.43 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 25 | Barnsley | eng ENG | FA Cup | 1.1 | 2 | 5 | 2 | 40.0 | 4.46 | 1.78 | 0.40 | 1.00 | 0 | 0 | Matches | |
| 2022-2023 | 26 | Luton Town | eng ENG | EFL Cup | Rd1 | 0.3 | 0 | 1 | 0 | 0.0 | 3.10 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 26 | Luton Town | eng ENG | FA Cup | 1.2 | 0 | 5 | 4 | 80.0 | 4.21 | 3.36 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 27 | Luton Town | eng ENG | EFL Cup | Rd3 | 0.2 | 0 | 2 | 0 | 0.0 | 11.25 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 27 | Luton Town | eng ENG | FA Cup | 3.8 | 0 | 11 | 5 | 45.5 | 2.87 | 1.30 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2024-2025 | 28 | Luton Town | eng ENG | EFL Cup | Rd2 | 0.8 | 0 | 5 | 3 | 60.0 | 6.08 | 3.65 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 28 | Luton Town | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | Matches | ||||||||
| 9 Seasons | 7 Clubs | 2 Leagues | 16.8 | 4 | 54 | 22 | 40.7 | 3.81 | 1.55 | 0.06 | 0.14 | 0 | 1 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Luton Town (3 Seasons) | 2 Leagues | 7.3 | 0 | 24 | 12 | 50.0 | 3.78 | 1.89 | 0.00 | 0.00 | 0 | 0 | |||||
| Rotherham United (1 Season) | 2 Leagues | 1.7 | 0 | 5 | 2 | 40.0 | 3.02 | 1.21 | 0.00 | 0.00 | 0 | 0 | |||||
| Shrewsbury Town (1 Season) | 1 League | 1.7 | 1 | 7 | 3 | 42.9 | 4.12 | 1.76 | 0.14 | 0.33 | 0 | 0 | |||||
| Milton Keynes Dons (1 Season) | 2 Leagues | 3.3 | 0 | 13 | 3 | 23.1 | 3.90 | 0.90 | 0.00 | 0.00 | 0 | 1 | |||||
| Barnsley (1 Season) | 1 League | 1.1 | 2 | 5 | 2 | 40.0 | 4.46 | 1.78 | 0.40 | 1.00 | 0 | 0 | |||||
| Oxford United (1 Season) | 1 League | 1.7 | 1 | 0 | 0 | ||||||||||||
| Norwich City (1 Season) | 2 Leagues | ||||||||||||||||
| FA Cup (8 Seasons) | 12.8 | 3 | 38 | 17 | 44.7 | 3.23 | 1.44 | 0.08 | 0.18 | 0 | 0 | ||||||
| EFL Cup (7 Seasons) | 4.1 | 1 | 16 | 5 | 31.3 | 6.73 | 2.10 | 0.00 | 0.00 | 0 | 1 | ||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 18 | Norwich City | eng ENG | 2. Championship | 1 | 14 | 14 | 0.3 | 0.2 | 0 | 0 | 1 | 1 | 0.00 | 0 | 0 | 0 | 0.00 | -0.87 | Matches | ||
| 2014-2015 | 18 | Oxford United | eng ENG | League Cup | 2 | 152 | 76 | 72.4 | 1.7 | 2 | 76 | 0 | 0 | 0 | 1.50 | 1 | 2 | -1 | -0.59 | -3.70 | Matches | |
| 2014-2015 | 18 | Oxford United | eng ENG | 4. League Two | 7 | 430 | 61 | 10.4 | 4.8 | 5 | 2 | 2 | 7 | 1.00 | 3 | 7 | -4 | -0.84 | -0.96 | Matches | ||
| 2014-2015 | 18 | York City | eng ENG | 4. League Two | 8 | 132 | 17 | 3.2 | 1.5 | 0 | 0 | 8 | 3 | 0.88 | 3 | 1 | +2 | +1.36 | +1.52 | Matches | ||
| 2015-2016 | 19 | Hamilton Acad. | sct SCO | 1. Premiership | 32 | 2,199 | 69 | 64.3 | 24.4 | 27 | 6 | 5 | 2 | 1.28 | 29 | 37 | -8 | -0.33 | +0.63 | Matches | ||
| 2016-2017 | 20 | Norwich City | eng ENG | 2. Championship | 0 | 0 | 0 | 0 | 3 | Matches | ||||||||||||
| 2016-2017 | 20 | Rotherham United | eng ENG | 2. Championship | 8 | 473 | 59 | 11.4 | 5.3 | 6 | 1 | 2 | 1 | 0.63 | 3 | 7 | -4 | -0.76 | +0.56 | Matches | ||
| 2016-2017 | 20 | Norwich City | eng ENG | EFL Cup | 0 | 0 | 0 | 0 | 3 | Matches | ||||||||||||
| 2016-2017 | 20 | Norwich City | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | FA Cup | 4 | 153 | 38 | 39.2 | 1.7 | 1 | 81 | 0 | 3 | 24 | 0 | 1.75 | 1 | 1 | 0 | 0.00 | -2.28 | Matches |
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | 3. League One | 42 | 2,769 | 66 | 66.9 | 30.8 | 32 | 8 | 10 | 3 | 1.80 | 38 | 28 | +10 | +0.33 | -0.40 | Matches | ||
| 2018-2019 | 22 | Norwich City | eng ENG | Jr. PL2 — Div. 2 | 3 | 225 | 75 | 11.4 | 2.5 | 3 | 75 | 2 | 0 | 0 | 0.00 | 2 | 6 | -4 | -1.60 | -0.68 | Matches | |
| 2019-2020 | 23 | Rotherham United | eng ENG | EFL Cup | 1 | 5 | 5 | 2.8 | 0.1 | 1 | 5 | 0 | 0 | 0 | 3.00 | 2 | 0 | +2 | +36.00 | +35.49 | Matches | |
| 2019-2020 | 23 | Rotherham United | eng ENG | FA Cup | 3 | 144 | 48 | 53.3 | 1.6 | 2 | 72 | 1 | 1 | 1 | 0 | 2.00 | 3 | 4 | -1 | -0.62 | -2.77 | Matches |
| 2019-2020 | 23 | Rotherham United | eng ENG | 3. League One | 21 | 1,052 | 50 | 33.4 | 11.7 | 11 | 79 | 3 | 10 | 18 | 1 | 1.62 | 21 | 11 | +10 | +0.86 | +0.30 | Matches |
| 2019-2020 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 10 | 822 | 82 | 26.1 | 9.1 | 9 | 86 | 4 | 1 | 45 | 0 | 1.20 | 8 | 8 | 0 | 0.00 | +0.43 | Matches |
| 2020-2021 | 24 | Barnsley | eng ENG | 2. Championship | 23 | 1,081 | 47 | 26.1 | 12.0 | 6 | 73 | 2 | 17 | 38 | 0 | 1.80 | 22 | 10 | +12 | +1.00 | +1.12 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 2 | 210 | 105 | 63.6 | 2.3 | 2 | 105 | 2 | 0 | 0 | 2.00 | 1 | 0 | +1 | +0.43 | +0.43 | Matches | |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 18 | 1,344 | 75 | 32.5 | 14.9 | 14 | 87 | 12 | 4 | 30 | 0 | 0.89 | 14 | 18 | -4 | -0.27 | -0.46 | Matches |
| 2021-2022 | 25 | Barnsley | eng ENG | 2. Championship | 28 | 2,278 | 81 | 55.0 | 25.3 | 26 | 85 | 21 | 2 | 32 | 0 | 0.82 | 21 | 39 | -18 | -0.71 | +0.35 | Matches |
| 2021-2022 | 25 | Barnsley | eng ENG | FA Cup | 2 | 101 | 51 | 48.1 | 1.1 | 0 | 0 | 2 | 51 | 0 | 1.50 | 3 | 3 | 0 | 0.00 | 0.00 | Matches | |
| 2022-2023 | 26 | Luton Town | eng ENG | 2. Championship | 44 | 3,368 | 77 | 81.4 | 37.4 | 41 | 80 | 16 | 3 | 25 | 0 | 1.70 | 49 | 29 | +20 | +0.53 | +0.77 | Matches |
| 2022-2023 | 26 | Luton Town | eng ENG | EFL Cup | 1 | 29 | 29 | 32.2 | 0.3 | 0 | 0 | 1 | 29 | 0 | 0.00 | 0 | 1 | -1 | -3.10 | -3.10 | Matches | |
| 2022-2023 | 26 | Luton Town | eng ENG | FA Cup | 3 | 107 | 36 | 29.7 | 1.2 | 1 | 45 | 0 | 2 | 31 | 0 | 0.67 | 2 | 2 | 0 | 0.00 | +0.71 | Matches |
| 2023-2024 | 27 | Luton Town | eng ENG | EFL Cup | 1 | 16 | 16 | 8.9 | 0.2 | 0 | 0 | 1 | 16 | 1 | 0.00 | 0 | 1 | -1 | -5.63 | -6.17 | Matches | |
| 2023-2024 | 27 | Luton Town | eng ENG | FA Cup | 4 | 345 | 86 | 95.8 | 3.8 | 4 | 86 | 3 | 0 | 0 | 1.75 | 6 | 8 | -2 | -0.52 | -0.52 | Matches | |
| 2023-2024 | 27 | Luton Town | eng ENG | 1. Premier League | 38 | 2,862 | 75 | 83.7 | 31.8 | 32 | 86 | 22 | 6 | 21 | 0 | 0.68 | 40 | 73 | -33 | -1.04 | -1.04 | Matches |
| 2024-2025 | 28 | Luton Town | eng ENG | 2. Championship | 41 | 3,123 | 76 | 75.4 | 34.7 | 37 | 81 | 20 | 4 | 31 | 1 | 1.15 | 33 | 42 | -9 | -0.26 | +1.07 | Matches |
| 2024-2025 | 28 | Luton Town | eng ENG | EFL Cup | 1 | 74 | 74 | 82.2 | 0.8 | 1 | 74 | 0 | 0 | 0 | 1.00 | 1 | 1 | 0 | 0.00 | 0.00 | Matches | |
| 2024-2025 | 28 | Luton Town | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | Matches | ||
| 2025-2026 | 29 | Derby County | eng ENG | 2. Championship | 31 | 2,121 | 68 | 51.2 | 23.6 | 24 | 84 | 14 | 7 | 17 | 0 | 1.52 | 31 | 31 | 0 | 0.00 | -0.36 | Matches |
| 11 Seasons | 10 Clubs | 7 Leagues | 378 | 25,584 | 68 | 38.7 | 284.3 | 286 | 82 | 139 | 92 | 28 | 27 | 1.30 | 335 | 367 | -32 | -0.11 | -0.03 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Luton Town (3 Seasons) | 4 Leagues | 134 | 10,014 | 75 | 77.8 | 111.3 | 117 | 82 | 62 | 17 | 25 | 2 | 1.18 | 131 | 159 | -28 | -0.25 | +0.32 | ||||
| Barnsley (2 Seasons) | 2 Leagues | 53 | 3,460 | 65 | 40.8 | 38.4 | 32 | 83 | 23 | 21 | 38 | 0 | 1.27 | 46 | 52 | -6 | -0.16 | +0.31 | ||||
| Rotherham United (2 Seasons) | 4 Leagues | 33 | 1,674 | 51 | 21.6 | 18.6 | 20 | 73 | 5 | 13 | 17 | 2 | 1.46 | 29 | 22 | +7 | +0.38 | +0.93 | ||||
| Milton Keynes Dons (2 Seasons) | 3 Leagues | 31 | 2,466 | 80 | 32.0 | 27.4 | 26 | 89 | 19 | 5 | 33 | 0 | 1.03 | 23 | 27 | -4 | -0.15 | -0.06 | ||||
| Norwich City (2 Seasons) | 3 Leagues | 1 | 14 | 14 | 0.2 | 0.2 | 0 | 0 | 1 | 8 | 0.00 | 0 | 0 | 0 | 0.00 | -0.87 | ||||||
| Shrewsbury Town (1 Season) | 2 Leagues | 46 | 2,922 | 64 | 64.5 | 32.5 | 33 | 81 | 8 | 13 | 24 | 3 | 1.80 | 39 | 29 | +10 | +0.31 | -0.64 | ||||
| Hamilton Acad. (1 Season) | 1 League | 32 | 2,199 | 69 | 64.3 | 24.4 | 27 | 6 | 5 | 2 | 1.28 | 29 | 37 | -8 | -0.33 | +0.63 | ||||||
| Derby County (1 Season) | 1 League | 31 | 2,121 | 68 | 51.2 | 23.6 | 24 | 84 | 14 | 7 | 17 | 0 | 1.52 | 31 | 31 | 0 | 0.00 | -0.36 | ||||
| Oxford United (1 Season) | 2 Leagues | 9 | 582 | 65 | 13.4 | 6.5 | 7 | 76 | 2 | 2 | 7 | 1.11 | 4 | 9 | -5 | -0.77 | -0.94 | |||||
| York City (1 Season) | 1 League | 8 | 132 | 17 | 3.2 | 1.5 | 0 | 0 | 8 | 3 | 0.88 | 3 | 1 | +2 | +1.36 | +1.52 | ||||||
| Norwich City (1 Season) | 1 League | 3 | 225 | 75 | 11.4 | 2.5 | 3 | 75 | 2 | 0 | 0 | 0.00 | 2 | 6 | -4 | -1.60 | -0.68 | |||||
| FA Cup (8 Seasons) | 19 | 1,150 | 61 | 52.5 | 12.8 | 11 | 83 | 7 | 8 | 30 | 1 | 1.53 | 16 | 20 | -4 | -0.31 | -1.05 | |||||
| Championship (7 Seasons) | 176 | 12,458 | 71 | 37.6 | 138.4 | 140 | 82 | 74 | 36 | 31 | 6 | 1.35 | 159 | 158 | +1 | +0.01 | +0.27 | |||||
| EFL Cup (7 Seasons) | 7 | 366 | 52 | 32.1 | 4.1 | 5 | 64 | 1 | 2 | 23 | 4 | 1.00 | 4 | 6 | -2 | -0.49 | -1.25 | |||||
| League One (3 Seasons) | 91 | 5,987 | 66 | 41.1 | 66.5 | 66 | 84 | 27 | 25 | 23 | 4 | 1.51 | 81 | 65 | +16 | +0.24 | +0.04 | |||||
| Premier League (1 Season) | 38 | 2,862 | 75 | 83.7 | 31.8 | 32 | 86 | 22 | 6 | 21 | 0 | 0.68 | 40 | 73 | -33 | -1.04 | -1.04 | |||||
| Premiership (1 Season) | 32 | 2,199 | 69 | 64.3 | 24.4 | 27 | 6 | 5 | 2 | 1.28 | 29 | 37 | -8 | -0.33 | +0.63 | |||||||
| League Two (1 Season) | 15 | 562 | 37 | 6.8 | 6.2 | 5 | 2 | 10 | 10 | 0.94 | 6 | 8 | -2 | -0.32 | -0.30 | |||||||
| PL2 — Div. 2 (1 Season) | 3 | 225 | 75 | 11.4 | 2.5 | 3 | 75 | 2 | 0 | 0 | 0.00 | 2 | 6 | -4 | -1.60 | -0.68 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 18 | Oxford United | 2 Leagues | 9 | 582 | 65 | 13.4 | 6.5 | 7 | 76 | 2 | 2 | 7 | 1.11 | 4 | 9 | -5 | -0.77 | -0.94 | ||
| 2014-2015 | 18 | York City | 1 League | 8 | 132 | 17 | 3.2 | 1.5 | 0 | 0 | 8 | 3 | 0.88 | 3 | 1 | +2 | +1.36 | +1.52 | |||
| 2014-2015 | 18 | Norwich City | 1 League | 1 | 14 | 14 | 0.3 | 0.2 | 0 | 0 | 1 | 1 | 0.00 | 0 | 0 | 0 | 0.00 | -0.87 | |||
| 2015-2016 | 19 | Hamilton Acad. | 1 League | 32 | 2,199 | 69 | 64.3 | 24.4 | 27 | 6 | 5 | 2 | 1.28 | 29 | 37 | -8 | -0.33 | +0.63 | |||
| 2016-2017 | 20 | Norwich City | 3 Leagues | 0 | 0 | 0 | 0 | 7 | |||||||||||||
| 2016-2017 | 20 | Rotherham United | 1 League | 8 | 473 | 59 | 11.4 | 5.3 | 6 | 1 | 2 | 1 | 0.63 | 3 | 7 | -4 | -0.76 | +0.56 | |||
| 2017-2018 | 21 | Shrewsbury Town | 2 Leagues | 46 | 2,922 | 64 | 64.5 | 32.5 | 33 | 81 | 8 | 13 | 24 | 3 | 1.80 | 39 | 29 | +10 | +0.31 | -0.64 | |
| 2018-2019 | 22 | Norwich City | 1 League | 3 | 225 | 75 | 11.4 | 2.5 | 3 | 75 | 2 | 0 | 0 | 0.00 | 2 | 6 | -4 | -1.60 | -0.68 | ||
| 2019-2020 | 23 | Rotherham United | 3 Leagues | 25 | 1,201 | 48 | 33.4 | 13.3 | 14 | 73 | 4 | 11 | 17 | 1 | 1.72 | 26 | 15 | +11 | +0.82 | +0.19 | |
| 2019-2020 | 23 | Milton Keynes Dons | 1 League | 10 | 822 | 82 | 26.1 | 9.1 | 9 | 86 | 4 | 1 | 45 | 0 | 1.20 | 8 | 8 | 0 | 0.00 | +0.43 | |
| 2020-2021 | 24 | Milton Keynes Dons | 3 Leagues | 21 | 1,644 | 78 | 36.1 | 18.3 | 17 | 90 | 15 | 4 | 30 | 0 | 0.95 | 15 | 19 | -4 | -0.22 | -0.40 | |
| 2020-2021 | 24 | Barnsley | 1 League | 23 | 1,081 | 47 | 26.1 | 12.0 | 6 | 73 | 2 | 17 | 38 | 0 | 1.80 | 22 | 10 | +12 | +1.00 | +1.12 | |
| 2021-2022 | 25 | Barnsley | 2 Leagues | 30 | 2,379 | 79 | 54.7 | 26.4 | 26 | 85 | 21 | 4 | 41 | 0 | 0.87 | 24 | 42 | -18 | -0.68 | +0.32 | |
| 2022-2023 | 26 | Luton Town | 3 Leagues | 48 | 3,504 | 73 | 76.3 | 38.9 | 42 | 79 | 16 | 6 | 28 | 0 | 1.60 | 51 | 32 | +19 | +0.49 | +0.82 | |
| 2023-2024 | 27 | Luton Town | 3 Leagues | 43 | 3,223 | 75 | 81.4 | 35.8 | 36 | 86 | 25 | 7 | 20 | 1 | 0.76 | 46 | 82 | -36 | -1.01 | -1.13 | |
| 2024-2025 | 28 | Luton Town | 3 Leagues | 43 | 3,287 | 76 | 76.1 | 36.5 | 39 | 81 | 21 | 4 | 31 | 1 | 1.12 | 34 | 45 | -11 | -0.30 | +1.01 | |
| 2025-2026 | 29 | Derby County | 1 League | 31 | 2,121 | 68 | 51.2 | 23.6 | 24 | 84 | 14 | 7 | 17 | 0 | 1.52 | 31 | 31 | 0 | 0.00 | -0.36 | |
| 11 Seasons | 10 Clubs | 7 Leagues | 378 | 25,584 | 68 | 38.7 | 284.3 | 286 | 82 | 139 | 92 | 28 | 27 | 1.30 | 335 | 367 | -32 | -0.11 | -0.03 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Luton Town (3 Seasons) | 4 Leagues | 134 | 10,014 | 75 | 77.8 | 111.3 | 117 | 82 | 62 | 17 | 25 | 2 | 1.18 | 131 | 159 | -28 | -0.25 | +0.32 | |||
| Barnsley (2 Seasons) | 2 Leagues | 53 | 3,460 | 65 | 40.8 | 38.4 | 32 | 83 | 23 | 21 | 38 | 0 | 1.27 | 46 | 52 | -6 | -0.16 | +0.31 | |||
| Rotherham United (2 Seasons) | 4 Leagues | 33 | 1,674 | 51 | 21.6 | 18.6 | 20 | 73 | 5 | 13 | 17 | 2 | 1.46 | 29 | 22 | +7 | +0.38 | +0.93 | |||
| Milton Keynes Dons (2 Seasons) | 3 Leagues | 31 | 2,466 | 80 | 32.0 | 27.4 | 26 | 89 | 19 | 5 | 33 | 0 | 1.03 | 23 | 27 | -4 | -0.15 | -0.06 | |||
| Norwich City (2 Seasons) | 3 Leagues | 1 | 14 | 14 | 0.2 | 0.2 | 0 | 0 | 1 | 8 | 0.00 | 0 | 0 | 0 | 0.00 | -0.87 | |||||
| Shrewsbury Town (1 Season) | 2 Leagues | 46 | 2,922 | 64 | 64.5 | 32.5 | 33 | 81 | 8 | 13 | 24 | 3 | 1.80 | 39 | 29 | +10 | +0.31 | -0.64 | |||
| Hamilton Acad. (1 Season) | 1 League | 32 | 2,199 | 69 | 64.3 | 24.4 | 27 | 6 | 5 | 2 | 1.28 | 29 | 37 | -8 | -0.33 | +0.63 | |||||
| Derby County (1 Season) | 1 League | 31 | 2,121 | 68 | 51.2 | 23.6 | 24 | 84 | 14 | 7 | 17 | 0 | 1.52 | 31 | 31 | 0 | 0.00 | -0.36 | |||
| Oxford United (1 Season) | 2 Leagues | 9 | 582 | 65 | 13.4 | 6.5 | 7 | 76 | 2 | 2 | 7 | 1.11 | 4 | 9 | -5 | -0.77 | -0.94 | ||||
| York City (1 Season) | 1 League | 8 | 132 | 17 | 3.2 | 1.5 | 0 | 0 | 8 | 3 | 0.88 | 3 | 1 | +2 | +1.36 | +1.52 | |||||
| Norwich City (1 Season) | 1 League | 3 | 225 | 75 | 11.4 | 2.5 | 3 | 75 | 2 | 0 | 0 | 0.00 | 2 | 6 | -4 | -1.60 | -0.68 | ||||
| FA Cup (8 Seasons) | 19 | 1,150 | 61 | 52.5 | 12.8 | 11 | 83 | 7 | 8 | 30 | 1 | 1.53 | 16 | 20 | -4 | -0.31 | -1.05 | ||||
| Championship (7 Seasons) | 176 | 12,458 | 71 | 37.6 | 138.4 | 140 | 82 | 74 | 36 | 31 | 6 | 1.35 | 159 | 158 | +1 | +0.01 | +0.27 | ||||
| EFL Cup (7 Seasons) | 7 | 366 | 52 | 32.1 | 4.1 | 5 | 64 | 1 | 2 | 23 | 4 | 1.00 | 4 | 6 | -2 | -0.49 | -1.25 | ||||
| League One (3 Seasons) | 91 | 5,987 | 66 | 41.1 | 66.5 | 66 | 84 | 27 | 25 | 23 | 4 | 1.51 | 81 | 65 | +16 | +0.24 | +0.04 | ||||
| Premier League (1 Season) | 38 | 2,862 | 75 | 83.7 | 31.8 | 32 | 86 | 22 | 6 | 21 | 0 | 0.68 | 40 | 73 | -33 | -1.04 | -1.04 | ||||
| Premiership (1 Season) | 32 | 2,199 | 69 | 64.3 | 24.4 | 27 | 6 | 5 | 2 | 1.28 | 29 | 37 | -8 | -0.33 | +0.63 | ||||||
| League Two (1 Season) | 15 | 562 | 37 | 6.8 | 6.2 | 5 | 2 | 10 | 10 | 0.94 | 6 | 8 | -2 | -0.32 | -0.30 | ||||||
| PL2 — Div. 2 (1 Season) | 3 | 225 | 75 | 11.4 | 2.5 | 3 | 75 | 2 | 0 | 0 | 0.00 | 2 | 6 | -4 | -1.60 | -0.68 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 18 | Oxford United | eng ENG | 4. League Two | 13th | 7 | 430 | 61 | 10.4 | 4.8 | 5 | 2 | 2 | 7 | 1.00 | 3 | 7 | -4 | -0.84 | -0.96 | Matches | ||
| 2014-2015 | 18 | York City | eng ENG | 4. League Two | 18th | 8 | 132 | 17 | 3.2 | 1.5 | 0 | 0 | 8 | 3 | 0.88 | 3 | 1 | +2 | +1.36 | +1.52 | Matches | ||
| 2014-2015 | 18 | Norwich City | eng ENG | 2. Championship | 3rd | 1 | 14 | 14 | 0.3 | 0.2 | 0 | 0 | 1 | 1 | 0.00 | 0 | 0 | 0 | 0.00 | -0.87 | Matches | ||
| 2015-2016 | 19 | Hamilton Acad. | sct SCO | 1. Premiership | 10th | 32 | 2,199 | 69 | 64.3 | 24.4 | 27 | 6 | 5 | 2 | 1.28 | 29 | 37 | -8 | -0.33 | +0.63 | Matches | ||
| 2016-2017 | 20 | Norwich City | eng ENG | 2. Championship | 8th | 0 | 0 | 0 | 0 | 3 | Matches | ||||||||||||
| 2016-2017 | 20 | Rotherham United | eng ENG | 2. Championship | 24th | 8 | 473 | 59 | 11.4 | 5.3 | 6 | 1 | 2 | 1 | 0.63 | 3 | 7 | -4 | -0.76 | +0.56 | Matches | ||
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | 3. League One | 3rd | 42 | 2,769 | 66 | 66.9 | 30.8 | 32 | 8 | 10 | 3 | 1.80 | 38 | 28 | +10 | +0.33 | -0.40 | Matches | ||
| 2018-2019 | 22 | Norwich City | eng ENG | Jr. PL2 — Div. 2 | 11th | 3 | 225 | 75 | 11.4 | 2.5 | 3 | 75 | 2 | 0 | 0 | 0.00 | 2 | 6 | -4 | -1.60 | -0.68 | Matches | |
| 2019-2020 | 23 | Rotherham United | eng ENG | 3. League One | 2nd | 21 | 1,052 | 50 | 33.4 | 11.7 | 11 | 79 | 3 | 10 | 18 | 1 | 1.62 | 21 | 11 | +10 | +0.86 | +0.30 | Matches |
| 2019-2020 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 19th | 10 | 822 | 82 | 26.1 | 9.1 | 9 | 86 | 4 | 1 | 45 | 0 | 1.20 | 8 | 8 | 0 | 0.00 | +0.43 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 13th | 18 | 1,344 | 75 | 32.5 | 14.9 | 14 | 87 | 12 | 4 | 30 | 0 | 0.89 | 14 | 18 | -4 | -0.27 | -0.46 | Matches |
| 2020-2021 | 24 | Barnsley | eng ENG | 2. Championship | 5th | 23 | 1,081 | 47 | 26.1 | 12.0 | 6 | 73 | 2 | 17 | 38 | 0 | 1.80 | 22 | 10 | +12 | +1.00 | +1.12 | Matches |
| 2021-2022 | 25 | Barnsley | eng ENG | 2. Championship | 24th | 28 | 2,278 | 81 | 55.0 | 25.3 | 26 | 85 | 21 | 2 | 32 | 0 | 0.82 | 21 | 39 | -18 | -0.71 | +0.35 | Matches |
| 2022-2023 | 26 | Luton Town | eng ENG | 2. Championship | 3rd | 44 | 3,368 | 77 | 81.4 | 37.4 | 41 | 80 | 16 | 3 | 25 | 0 | 1.70 | 49 | 29 | +20 | +0.53 | +0.77 | Matches |
| 2023-2024 | 27 | Luton Town | eng ENG | 1. Premier League | 18th | 38 | 2,862 | 75 | 83.7 | 31.8 | 32 | 86 | 22 | 6 | 21 | 0 | 0.68 | 40 | 73 | -33 | -1.04 | -1.04 | Matches |
| 2024-2025 | 28 | Luton Town | eng ENG | 2. Championship | 22nd | 41 | 3,123 | 76 | 75.4 | 34.7 | 37 | 81 | 20 | 4 | 31 | 1 | 1.15 | 33 | 42 | -9 | -0.26 | +1.07 | Matches |
| 2025-2026 | 29 | Derby County | eng ENG | 2. Championship | 8th | 31 | 2,121 | 68 | 51.2 | 23.6 | 24 | 84 | 14 | 7 | 17 | 0 | 1.52 | 31 | 31 | 0 | 0.00 | -0.36 | Matches |
| 11 Seasons | 10 Clubs | 5 Leagues | 352 | 24,068 | 68 | 38.3 | 267.4 | 270 | 83 | 131 | 82 | 28 | 22 | 1.30 | 315 | 341 | -26 | -0.10 | +0.02 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Luton Town (3 Seasons) | 2 Leagues | 123 | 9,353 | 76 | 79.9 | 103.9 | 110 | 82 | 58 | 13 | 25 | 1 | 1.20 | 122 | 144 | -22 | -0.21 | +0.44 | |||||
| Barnsley (2 Seasons) | 1 League | 51 | 3,359 | 66 | 40.6 | 37.3 | 32 | 83 | 23 | 19 | 37 | 0 | 1.26 | 43 | 49 | -6 | -0.16 | +0.31 | |||||
| Rotherham United (2 Seasons) | 2 Leagues | 29 | 1,525 | 53 | 20.9 | 16.9 | 17 | 79 | 4 | 12 | 18 | 2 | 1.35 | 24 | 18 | +6 | +0.35 | +0.99 | |||||
| Milton Keynes Dons (2 Seasons) | 1 League | 28 | 2,166 | 77 | 29.7 | 24.1 | 23 | 87 | 16 | 5 | 33 | 0 | 1.00 | 22 | 26 | -4 | -0.17 | -0.08 | |||||
| Norwich City (2 Seasons) | 1 League | 1 | 14 | 14 | 0.2 | 0.2 | 0 | 0 | 1 | 4 | 0.00 | 0 | 0 | 0 | 0.00 | -0.87 | |||||||
| Shrewsbury Town (1 Season) | 1 League | 42 | 2,769 | 66 | 66.9 | 30.8 | 32 | 8 | 10 | 3 | 1.80 | 38 | 28 | +10 | +0.33 | -0.40 | |||||||
| Hamilton Acad. (1 Season) | 1 League | 32 | 2,199 | 69 | 64.3 | 24.4 | 27 | 6 | 5 | 2 | 1.28 | 29 | 37 | -8 | -0.33 | +0.63 | |||||||
| Derby County (1 Season) | 1 League | 31 | 2,121 | 68 | 51.2 | 23.6 | 24 | 84 | 14 | 7 | 17 | 0 | 1.52 | 31 | 31 | 0 | 0.00 | -0.36 | |||||
| York City (1 Season) | 1 League | 8 | 132 | 17 | 3.2 | 1.5 | 0 | 0 | 8 | 3 | 0.88 | 3 | 1 | +2 | +1.36 | +1.52 | |||||||
| Oxford United (1 Season) | 1 League | 7 | 430 | 61 | 10.4 | 4.8 | 5 | 2 | 2 | 7 | 1.00 | 3 | 7 | -4 | -0.84 | -0.96 | |||||||
| Norwich City (1 Season) | 1 League | 3 | 225 | 75 | 11.4 | 2.5 | 3 | 75 | 2 | 0 | 0 | 0.00 | 2 | 6 | -4 | -1.60 | -0.68 | ||||||
| Championship (7 Seasons) | 176 | 12,458 | 71 | 37.6 | 138.4 | 140 | 82 | 74 | 36 | 31 | 6 | 1.35 | 159 | 158 | +1 | +0.01 | +0.27 | ||||||
| League One (3 Seasons) | 91 | 5,987 | 66 | 41.1 | 66.5 | 66 | 84 | 27 | 25 | 23 | 4 | 1.51 | 81 | 65 | +16 | +0.24 | +0.04 | ||||||
| Premier League (1 Season) | 38 | 2,862 | 75 | 83.7 | 31.8 | 32 | 86 | 22 | 6 | 21 | 0 | 0.68 | 40 | 73 | -33 | -1.04 | -1.04 | ||||||
| Premiership (1 Season) | 32 | 2,199 | 69 | 64.3 | 24.4 | 27 | 6 | 5 | 2 | 1.28 | 29 | 37 | -8 | -0.33 | +0.63 | ||||||||
| League Two (1 Season) | 15 | 562 | 37 | 6.8 | 6.2 | 5 | 2 | 10 | 10 | 0.94 | 6 | 8 | -2 | -0.32 | -0.30 | ||||||||
| PL2 — Div. 2 (1 Season) | 3 | 225 | 75 | 11.4 | 2.5 | 3 | 75 | 2 | 0 | 0 | 0.00 | 2 | 6 | -4 | -1.60 | -0.68 | |||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 18 | Oxford United | eng ENG | League Cup | 33rd | 2 | 152 | 76 | 72.4 | 1.7 | 2 | 76 | 0 | 0 | 0 | 1.50 | 1 | 2 | -1 | -0.59 | -3.70 | Matches | |
| 2016-2017 | 20 | Norwich City | eng ENG | EFL Cup | 9th | 0 | 0 | 0 | 0 | 3 | Matches | ||||||||||||
| 2016-2017 | 20 | Norwich City | eng ENG | FA Cup | 33rd | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | FA Cup | 33rd | 4 | 153 | 38 | 39.2 | 1.7 | 1 | 81 | 0 | 3 | 24 | 0 | 1.75 | 1 | 1 | 0 | 0.00 | -2.28 | Matches |
| 2019-2020 | 23 | Rotherham United | eng ENG | EFL Cup | 33rd | 1 | 5 | 5 | 2.8 | 0.1 | 1 | 5 | 0 | 0 | 0 | 3.00 | 2 | 0 | +2 | +36.00 | +35.49 | Matches | |
| 2019-2020 | 23 | Rotherham United | eng ENG | FA Cup | 33rd | 3 | 144 | 48 | 53.3 | 1.6 | 2 | 72 | 1 | 1 | 1 | 0 | 2.00 | 3 | 4 | -1 | -0.62 | -2.77 | Matches |
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | EFL Cup | 58th | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 33rd | 2 | 210 | 105 | 63.6 | 2.3 | 2 | 105 | 2 | 0 | 0 | 2.00 | 1 | 0 | +1 | +0.43 | +0.43 | Matches | |
| 2021-2022 | 25 | Barnsley | eng ENG | FA Cup | 2 | 101 | 51 | 48.1 | 1.1 | 0 | 0 | 2 | 51 | 0 | 1.50 | 3 | 3 | 0 | 0.00 | 0.00 | Matches | ||
| 2022-2023 | 26 | Luton Town | eng ENG | EFL Cup | Rd1 | 1 | 29 | 29 | 32.2 | 0.3 | 0 | 0 | 1 | 29 | 0 | 0.00 | 0 | 1 | -1 | -3.10 | -3.10 | Matches | |
| 2022-2023 | 26 | Luton Town | eng ENG | FA Cup | 3 | 107 | 36 | 29.7 | 1.2 | 1 | 45 | 0 | 2 | 31 | 0 | 0.67 | 2 | 2 | 0 | 0.00 | +0.71 | Matches | |
| 2023-2024 | 27 | Luton Town | eng ENG | EFL Cup | Rd3 | 1 | 16 | 16 | 8.9 | 0.2 | 0 | 0 | 1 | 16 | 1 | 0.00 | 0 | 1 | -1 | -5.63 | -6.17 | Matches | |
| 2023-2024 | 27 | Luton Town | eng ENG | FA Cup | 4 | 345 | 86 | 95.8 | 3.8 | 4 | 86 | 3 | 0 | 0 | 1.75 | 6 | 8 | -2 | -0.52 | -0.52 | Matches | ||
| 2024-2025 | 28 | Luton Town | eng ENG | EFL Cup | Rd2 | 1 | 74 | 74 | 82.2 | 0.8 | 1 | 74 | 0 | 0 | 0 | 1.00 | 1 | 1 | 0 | 0.00 | 0.00 | Matches | |
| 2024-2025 | 28 | Luton Town | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | Matches | |||
| 9 Seasons | 7 Clubs | 2 Leagues | 26 | 1,516 | 58 | 45.5 | 16.8 | 16 | 77 | 8 | 10 | 28 | 5 | 1.39 | 20 | 26 | -6 | -0.36 | -1.10 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Luton Town (3 Seasons) | 2 Leagues | 11 | 661 | 60 | 56.5 | 7.3 | 7 | 79 | 4 | 4 | 27 | 1 | 0.91 | 9 | 15 | -6 | -0.82 | -0.64 | |||||
| Rotherham United (1 Season) | 2 Leagues | 4 | 149 | 37 | 33.1 | 1.7 | 3 | 49 | 1 | 1 | 1 | 0 | 2.25 | 5 | 4 | +1 | +0.60 | -0.59 | |||||
| Shrewsbury Town (1 Season) | 1 League | 4 | 153 | 38 | 39.2 | 1.7 | 1 | 81 | 0 | 3 | 24 | 0 | 1.75 | 1 | 1 | 0 | 0.00 | -2.28 | |||||
| Milton Keynes Dons (1 Season) | 2 Leagues | 3 | 300 | 100 | 71.4 | 3.3 | 3 | 100 | 3 | 0 | 0 | 1.33 | 1 | 1 | 0 | 0.00 | 0.00 | ||||||
| Barnsley (1 Season) | 1 League | 2 | 101 | 51 | 48.1 | 1.1 | 0 | 0 | 2 | 51 | 0 | 1.50 | 3 | 3 | 0 | 0.00 | 0.00 | ||||||
| Oxford United (1 Season) | 1 League | 2 | 152 | 76 | 72.4 | 1.7 | 2 | 76 | 0 | 0 | 0 | 1.50 | 1 | 2 | -1 | -0.59 | -3.70 | ||||||
| Norwich City (1 Season) | 2 Leagues | 0 | 0 | 0 | 0 | 4 | |||||||||||||||||
| FA Cup (8 Seasons) | 19 | 1,150 | 61 | 52.5 | 12.8 | 11 | 83 | 7 | 8 | 30 | 1 | 1.53 | 16 | 20 | -4 | -0.31 | -1.05 | ||||||
| EFL Cup (7 Seasons) | 7 | 366 | 52 | 32.1 | 4.1 | 5 | 64 | 1 | 2 | 23 | 4 | 1.00 | 4 | 6 | -2 | -0.49 | -1.25 | ||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2014-2015 | 18 | Norwich City | eng ENG | 2. Championship | 0.2 | 0 | 0 | 0 | Matches | |||||||||
| 2014-2015 | 18 | Oxford United | eng ENG | League Cup | 1.7 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2014-2015 | 18 | Oxford United | eng ENG | 4. League Two | 4.8 | 1 | 0 | 4 | Matches | |||||||||
| 2014-2015 | 18 | York City | eng ENG | 4. League Two | 1.5 | 1 | 0 | 4 | Matches | |||||||||
| 2015-2016 | 19 | Hamilton Acad. | sct SCO | 1. Premiership | 24.4 | 10 | 0 | 57 | Matches | |||||||||
| 2016-2017 | 20 | Rotherham United | eng ENG | 2. Championship | 5.3 | 0 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | FA Cup | 1.7 | 0 | 0 | 0 | 6 | 5 | 1 | 1 | 0 | 0 | 0 | Matches | ||
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | 3. League One | 30.8 | 5 | 0 | 0 | 58 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 22 | Norwich City | eng ENG | Jr. PL2 — Div. 2 | 2.5 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 23 | Rotherham United | eng ENG | EFL Cup | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2019-2020 | 23 | Rotherham United | eng ENG | FA Cup | 1.6 | 0 | 0 | 0 | 6 | 1 | 0 | 4 | 0 | 1 | 0 | Matches | ||
| 2019-2020 | 23 | Rotherham United | eng ENG | 3. League One | 11.7 | 3 | 0 | 0 | 13 | 29 | 3 | 37 | 5 | 3 | 1 | 0 | 0 | Matches |
| 2019-2020 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 9.1 | 1 | 1 | 0 | 15 | 11 | 5 | 17 | 2 | 2 | 0 | Matches | ||
| 2020-2021 | 24 | Barnsley | eng ENG | 2. Championship | 12.0 | 3 | 0 | 0 | 16 | 21 | 0 | 27 | 6 | 6 | 0 | Matches | ||
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 2.3 | 1 | 0 | 0 | 6 | 4 | 2 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 14.9 | 2 | 0 | 0 | 20 | 18 | 7 | 15 | 7 | 3 | 0 | Matches | ||
| 2021-2022 | 25 | Barnsley | eng ENG | 2. Championship | 25.3 | 5 | 0 | 0 | 37 | 46 | 11 | 21 | 8 | 20 | 0 | Matches | ||
| 2021-2022 | 25 | Barnsley | eng ENG | FA Cup | 1.1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 26 | Luton Town | eng ENG | 2. Championship | 37.4 | 11 | 0 | 0 | 65 | 41 | 20 | 52 | 3 | 13 | 1 | Matches | ||
| 2022-2023 | 26 | Luton Town | eng ENG | EFL Cup | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 26 | Luton Town | eng ENG | FA Cup | 1.2 | 0 | 0 | 0 | 2 | 1 | 2 | 2 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 27 | Luton Town | eng ENG | EFL Cup | 0.2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 27 | Luton Town | eng ENG | FA Cup | 3.8 | 0 | 0 | 0 | 5 | 6 | 2 | 2 | 1 | 1 | 0 | Matches | ||
| 2023-2024 | 27 | Luton Town | eng ENG | 1. Premier League | 31.8 | 4 | 0 | 0 | 50 | 43 | 10 | 15 | 1 | 9 | 0 | Matches | ||
| 2024-2025 | 28 | Luton Town | eng ENG | 2. Championship | 34.7 | 10 | 0 | 0 | 61 | 60 | 28 | 25 | 5 | 9 | 0 | Matches | ||
| 2024-2025 | 28 | Luton Town | eng ENG | EFL Cup | 0.8 | 1 | 0 | 0 | 4 | 2 | 1 | 1 | 0 | 0 | 0 | Matches | ||
| 2024-2025 | 28 | Luton Town | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2025-2026 | 29 | Derby County | eng ENG | 2. Championship | 23.6 | 5 | 0 | 0 | 43 | 33 | 4 | 12 | 2 | 8 | 0 | Matches | ||
| 11 Seasons | 10 Clubs | 7 Leagues | 284.3 | 64 | 1 | 0 | 484 | 322 | 96 | 234 | 41 | 75 | 1 | 0 | 1 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Luton Town (3 Seasons) | 4 Leagues | 111.3 | 26 | 0 | 0 | 188 | 153 | 63 | 100 | 10 | 32 | 1 | ||||||
| Barnsley (2 Seasons) | 2 Leagues | 38.4 | 9 | 0 | 0 | 54 | 68 | 11 | 48 | 14 | 26 | 0 | ||||||
| Rotherham United (2 Seasons) | 4 Leagues | 18.6 | 3 | 0 | 0 | 28 | 30 | 3 | 41 | 5 | 4 | 1 | 0 | 0 | ||||
| Milton Keynes Dons (2 Seasons) | 3 Leagues | 27.4 | 4 | 1 | 0 | 42 | 33 | 14 | 32 | 10 | 5 | 0 | ||||||
| Norwich City (2 Seasons) | 3 Leagues | 0.2 | 0 | 0 | 0 | |||||||||||||
| Shrewsbury Town (1 Season) | 2 Leagues | 32.5 | 5 | 0 | 0 | 64 | 5 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | ||||
| Hamilton Acad. (1 Season) | 1 League | 24.4 | 10 | 0 | 57 | |||||||||||||
| Derby County (1 Season) | 1 League | 23.6 | 5 | 0 | 0 | 43 | 33 | 4 | 12 | 2 | 8 | 0 | ||||||
| Oxford United (1 Season) | 2 Leagues | 6.5 | 1 | 0 | 0 | 4 | 0 | |||||||||||
| York City (1 Season) | 1 League | 1.5 | 1 | 0 | 4 | |||||||||||||
| Norwich City (1 Season) | 1 League | 2.5 | 0 | 0 | 0 | 0 | ||||||||||||
| FA Cup (8 Seasons) | 12.8 | 2 | 0 | 0 | 26 | 18 | 7 | 9 | 1 | 2 | 0 | |||||||
| Championship (7 Seasons) | 138.4 | 34 | 0 | 0 | 231 | 201 | 63 | 137 | 24 | 56 | 0 | 0 | 1 | |||||
| EFL Cup (7 Seasons) | 4.1 | 1 | 0 | 0 | 6 | 2 | 1 | 4 | 1 | 0 | 0 | |||||||
| League One (3 Seasons) | 66.5 | 11 | 1 | 0 | 106 | 58 | 15 | 69 | 14 | 8 | 1 | 0 | 0 | |||||
| Premier League (1 Season) | 31.8 | 4 | 0 | 0 | 50 | 43 | 10 | 15 | 1 | 9 | 0 | |||||||
| Premiership (1 Season) | 24.4 | 10 | 0 | 57 | ||||||||||||||
| League Two (1 Season) | 6.2 | 2 | 0 | 8 | ||||||||||||||
| PL2 — Div. 2 (1 Season) | 2.5 | 0 | 0 | 0 | 0 | |||||||||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2014-2015 | 18 | Oxford United | 2 Leagues | 6.5 | 1 | 0 | 0 | 4 | 0 | ||||||||
| 2014-2015 | 18 | York City | 1 League | 1.5 | 1 | 0 | 4 | ||||||||||
| 2014-2015 | 18 | Norwich City | 1 League | 0.2 | 0 | 0 | 0 | ||||||||||
| 2015-2016 | 19 | Hamilton Acad. | 1 League | 24.4 | 10 | 0 | 57 | ||||||||||
| 2016-2017 | 20 | Rotherham United | 1 League | 5.3 | 0 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2017-2018 | 21 | Shrewsbury Town | 2 Leagues | 32.5 | 5 | 0 | 0 | 64 | 5 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | |
| 2018-2019 | 22 | Norwich City | 1 League | 2.5 | 0 | 0 | 0 | 0 | |||||||||
| 2019-2020 | 23 | Rotherham United | 3 Leagues | 13.3 | 3 | 0 | 0 | 19 | 30 | 3 | 41 | 5 | 4 | 1 | 0 | 0 | |
| 2019-2020 | 23 | Milton Keynes Dons | 1 League | 9.1 | 1 | 1 | 0 | 15 | 11 | 5 | 17 | 2 | 2 | 0 | |||
| 2020-2021 | 24 | Milton Keynes Dons | 3 Leagues | 18.3 | 3 | 0 | 0 | 27 | 22 | 9 | 15 | 8 | 3 | 0 | |||
| 2020-2021 | 24 | Barnsley | 1 League | 12.0 | 3 | 0 | 0 | 16 | 21 | 0 | 27 | 6 | 6 | 0 | |||
| 2021-2022 | 25 | Barnsley | 2 Leagues | 26.4 | 6 | 0 | 0 | 38 | 47 | 11 | 21 | 8 | 20 | 0 | |||
| 2022-2023 | 26 | Luton Town | 3 Leagues | 38.9 | 11 | 0 | 0 | 67 | 42 | 22 | 56 | 3 | 13 | 1 | |||
| 2023-2024 | 27 | Luton Town | 3 Leagues | 35.8 | 4 | 0 | 0 | 56 | 49 | 12 | 18 | 2 | 10 | 0 | |||
| 2024-2025 | 28 | Luton Town | 3 Leagues | 36.5 | 11 | 0 | 0 | 65 | 62 | 29 | 26 | 5 | 9 | 0 | |||
| 2025-2026 | 29 | Derby County | 1 League | 23.6 | 5 | 0 | 0 | 43 | 33 | 4 | 12 | 2 | 8 | 0 | |||
| 11 Seasons | 10 Clubs | 7 Leagues | 284.3 | 64 | 1 | 0 | 484 | 322 | 96 | 234 | 41 | 75 | 1 | 0 | 1 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Luton Town (3 Seasons) | 4 Leagues | 111.3 | 26 | 0 | 0 | 188 | 153 | 63 | 100 | 10 | 32 | 1 | |||||
| Barnsley (2 Seasons) | 2 Leagues | 38.4 | 9 | 0 | 0 | 54 | 68 | 11 | 48 | 14 | 26 | 0 | |||||
| Rotherham United (2 Seasons) | 4 Leagues | 18.6 | 3 | 0 | 0 | 28 | 30 | 3 | 41 | 5 | 4 | 1 | 0 | 0 | |||
| Milton Keynes Dons (2 Seasons) | 3 Leagues | 27.4 | 4 | 1 | 0 | 42 | 33 | 14 | 32 | 10 | 5 | 0 | |||||
| Norwich City (2 Seasons) | 3 Leagues | 0.2 | 0 | 0 | 0 | ||||||||||||
| Shrewsbury Town (1 Season) | 2 Leagues | 32.5 | 5 | 0 | 0 | 64 | 5 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | |||
| Hamilton Acad. (1 Season) | 1 League | 24.4 | 10 | 0 | 57 | ||||||||||||
| Derby County (1 Season) | 1 League | 23.6 | 5 | 0 | 0 | 43 | 33 | 4 | 12 | 2 | 8 | 0 | |||||
| Oxford United (1 Season) | 2 Leagues | 6.5 | 1 | 0 | 0 | 4 | 0 | ||||||||||
| York City (1 Season) | 1 League | 1.5 | 1 | 0 | 4 | ||||||||||||
| Norwich City (1 Season) | 1 League | 2.5 | 0 | 0 | 0 | 0 | |||||||||||
| FA Cup (8 Seasons) | 12.8 | 2 | 0 | 0 | 26 | 18 | 7 | 9 | 1 | 2 | 0 | ||||||
| Championship (7 Seasons) | 138.4 | 34 | 0 | 0 | 231 | 201 | 63 | 137 | 24 | 56 | 0 | 0 | 1 | ||||
| EFL Cup (7 Seasons) | 4.1 | 1 | 0 | 0 | 6 | 2 | 1 | 4 | 1 | 0 | 0 | ||||||
| League One (3 Seasons) | 66.5 | 11 | 1 | 0 | 106 | 58 | 15 | 69 | 14 | 8 | 1 | 0 | 0 | ||||
| Premier League (1 Season) | 31.8 | 4 | 0 | 0 | 50 | 43 | 10 | 15 | 1 | 9 | 0 | ||||||
| Premiership (1 Season) | 24.4 | 10 | 0 | 57 | |||||||||||||
| League Two (1 Season) | 6.2 | 2 | 0 | 8 | |||||||||||||
| PL2 — Div. 2 (1 Season) | 2.5 | 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 |
| 2014-2015 | 18 | Oxford United | eng ENG | 4. League Two | 13th | 4.8 | 1 | 0 | 4 | Matches | |||||||||
| 2014-2015 | 18 | York City | eng ENG | 4. League Two | 18th | 1.5 | 1 | 0 | 4 | Matches | |||||||||
| 2014-2015 | 18 | Norwich City | eng ENG | 2. Championship | 3rd | 0.2 | 0 | 0 | 0 | Matches | |||||||||
| 2015-2016 | 19 | Hamilton Acad. | sct SCO | 1. Premiership | 10th | 24.4 | 10 | 0 | 57 | Matches | |||||||||
| 2016-2017 | 20 | Rotherham United | eng ENG | 2. Championship | 24th | 5.3 | 0 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | 3. League One | 3rd | 30.8 | 5 | 0 | 0 | 58 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 22 | Norwich City | eng ENG | Jr. PL2 — Div. 2 | 11th | 2.5 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 23 | Rotherham United | eng ENG | 3. League One | 2nd | 11.7 | 3 | 0 | 0 | 13 | 29 | 3 | 37 | 5 | 3 | 1 | 0 | 0 | Matches |
| 2019-2020 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 19th | 9.1 | 1 | 1 | 0 | 15 | 11 | 5 | 17 | 2 | 2 | 0 | Matches | ||
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 13th | 14.9 | 2 | 0 | 0 | 20 | 18 | 7 | 15 | 7 | 3 | 0 | Matches | ||
| 2020-2021 | 24 | Barnsley | eng ENG | 2. Championship | 5th | 12.0 | 3 | 0 | 0 | 16 | 21 | 0 | 27 | 6 | 6 | 0 | Matches | ||
| 2021-2022 | 25 | Barnsley | eng ENG | 2. Championship | 24th | 25.3 | 5 | 0 | 0 | 37 | 46 | 11 | 21 | 8 | 20 | 0 | Matches | ||
| 2022-2023 | 26 | Luton Town | eng ENG | 2. Championship | 3rd | 37.4 | 11 | 0 | 0 | 65 | 41 | 20 | 52 | 3 | 13 | 1 | Matches | ||
| 2023-2024 | 27 | Luton Town | eng ENG | 1. Premier League | 18th | 31.8 | 4 | 0 | 0 | 50 | 43 | 10 | 15 | 1 | 9 | 0 | Matches | ||
| 2024-2025 | 28 | Luton Town | eng ENG | 2. Championship | 22nd | 34.7 | 10 | 0 | 0 | 61 | 60 | 28 | 25 | 5 | 9 | 0 | Matches | ||
| 2025-2026 | 29 | Derby County | eng ENG | 2. Championship | 8th | 23.6 | 5 | 0 | 0 | 43 | 33 | 4 | 12 | 2 | 8 | 0 | Matches | ||
| 11 Seasons | 10 Clubs | 5 Leagues | 267.4 | 61 | 1 | 0 | 452 | 302 | 88 | 221 | 39 | 73 | 1 | 0 | 1 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Luton Town (3 Seasons) | 2 Leagues | 103.9 | 25 | 0 | 0 | 176 | 144 | 58 | 92 | 9 | 31 | 1 | |||||||
| Barnsley (2 Seasons) | 1 League | 37.3 | 8 | 0 | 0 | 53 | 67 | 11 | 48 | 14 | 26 | 0 | |||||||
| Rotherham United (2 Seasons) | 2 Leagues | 16.9 | 3 | 0 | 0 | 22 | 29 | 3 | 37 | 5 | 3 | 1 | 0 | 0 | |||||
| Milton Keynes Dons (2 Seasons) | 1 League | 24.1 | 3 | 1 | 0 | 35 | 29 | 12 | 32 | 9 | 5 | 0 | |||||||
| Norwich City (2 Seasons) | 1 League | 0.2 | 0 | 0 | 0 | ||||||||||||||
| Shrewsbury Town (1 Season) | 1 League | 30.8 | 5 | 0 | 0 | 58 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Hamilton Acad. (1 Season) | 1 League | 24.4 | 10 | 0 | 57 | ||||||||||||||
| Derby County (1 Season) | 1 League | 23.6 | 5 | 0 | 0 | 43 | 33 | 4 | 12 | 2 | 8 | 0 | |||||||
| York City (1 Season) | 1 League | 1.5 | 1 | 0 | 4 | ||||||||||||||
| Oxford United (1 Season) | 1 League | 4.8 | 1 | 0 | 4 | ||||||||||||||
| Norwich City (1 Season) | 1 League | 2.5 | 0 | 0 | 0 | 0 | |||||||||||||
| Championship (7 Seasons) | 138.4 | 34 | 0 | 0 | 231 | 201 | 63 | 137 | 24 | 56 | 0 | 0 | 1 | ||||||
| League One (3 Seasons) | 66.5 | 11 | 1 | 0 | 106 | 58 | 15 | 69 | 14 | 8 | 1 | 0 | 0 | ||||||
| Premier League (1 Season) | 31.8 | 4 | 0 | 0 | 50 | 43 | 10 | 15 | 1 | 9 | 0 | ||||||||
| Premiership (1 Season) | 24.4 | 10 | 0 | 57 | |||||||||||||||
| League Two (1 Season) | 6.2 | 2 | 0 | 8 | |||||||||||||||
| PL2 — Div. 2 (1 Season) | 2.5 | 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 |
| 2014-2015 | 18 | Oxford United | eng ENG | League Cup | 33rd | 1.7 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 21 | Shrewsbury Town | eng ENG | FA Cup | 33rd | 1.7 | 0 | 0 | 0 | 6 | 5 | 1 | 1 | 0 | 0 | 0 | Matches | ||
| 2019-2020 | 23 | Rotherham United | eng ENG | EFL Cup | 33rd | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2019-2020 | 23 | Rotherham United | eng ENG | FA Cup | 33rd | 1.6 | 0 | 0 | 0 | 6 | 1 | 0 | 4 | 0 | 1 | 0 | Matches | ||
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | EFL Cup | 58th | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2020-2021 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 33rd | 2.3 | 1 | 0 | 0 | 6 | 4 | 2 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 25 | Barnsley | eng ENG | FA Cup | 1.1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 2022-2023 | 26 | Luton Town | eng ENG | EFL Cup | Rd1 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 26 | Luton Town | eng ENG | FA Cup | 1.2 | 0 | 0 | 0 | 2 | 1 | 2 | 2 | 0 | 0 | 0 | Matches | |||
| 2023-2024 | 27 | Luton Town | eng ENG | EFL Cup | Rd3 | 0.2 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 27 | Luton Town | eng ENG | FA Cup | 3.8 | 0 | 0 | 0 | 5 | 6 | 2 | 2 | 1 | 1 | 0 | Matches | |||
| 2024-2025 | 28 | Luton Town | eng ENG | EFL Cup | Rd2 | 0.8 | 1 | 0 | 0 | 4 | 2 | 1 | 1 | 0 | 0 | 0 | Matches | ||
| 2024-2025 | 28 | Luton Town | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 9 Seasons | 7 Clubs | 2 Leagues | 16.8 | 3 | 0 | 0 | 32 | 20 | 8 | 13 | 2 | 2 | 0 | ||||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Luton Town (3 Seasons) | 2 Leagues | 7.3 | 1 | 0 | 0 | 12 | 9 | 5 | 8 | 1 | 1 | 0 | |||||||
| Rotherham United (1 Season) | 2 Leagues | 1.7 | 0 | 0 | 0 | 6 | 1 | 0 | 4 | 0 | 1 | 0 | |||||||
| Shrewsbury Town (1 Season) | 1 League | 1.7 | 0 | 0 | 0 | 6 | 5 | 1 | 1 | 0 | 0 | 0 | |||||||
| Milton Keynes Dons (1 Season) | 2 Leagues | 3.3 | 1 | 0 | 0 | 7 | 4 | 2 | 0 | 1 | 0 | 0 | |||||||
| Barnsley (1 Season) | 1 League | 1.1 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | |||||||
| Oxford United (1 Season) | 1 League | 1.7 | 0 | 0 | 0 | 0 | |||||||||||||
| Norwich City (1 Season) | 2 Leagues | ||||||||||||||||||
| FA Cup (8 Seasons) | 12.8 | 2 | 0 | 0 | 26 | 18 | 7 | 9 | 1 | 2 | 0 | ||||||||
| EFL Cup (7 Seasons) | 4.1 | 1 | 0 | 0 | 6 | 2 | 1 | 4 | 1 | 0 | 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