| 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 | |||||
| 2013-2014 | 21 | Gateshead | eng ENG | 5. Conf Premier | 7 | 4 | 349 | 3.9 | 5 | 0 | 5 | 5 | 0 | 0 | 2 | 0 | 1.29 | 0.00 | 1.29 | 1.29 | 1.29 | |
| 2013-2014 | 21 | Port Vale | eng ENG | 3. League One | 20 | 7 | 728 | 8.1 | 4 | 1 | 5 | 4 | 0 | 0 | 1 | 0 | 0.49 | 0.12 | 0.62 | 0.49 | 0.62 | |
| 2014-2015 | 22 | Preston North End | eng ENG | League Cup | 2 | 1 | 78 | 0.9 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.15 | 0.00 | 1.15 | 1.15 | 1.15 | Matches |
| 2014-2015 | 22 | Preston North End | eng ENG | 3. League One | 3 | 0 | 98 | 1.1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.92 | 0.92 | 0.00 | 0.92 | Matches |
| 2014-2015 | 22 | Tranmere Rovers | eng ENG | 4. League Two | 6 | 4 | 282 | 3.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2014-2015 | 22 | Hartlepool United | eng ENG | 4. League Two | 8 | 8 | 622 | 6.9 | 4 | 0 | 4 | 4 | 0 | 0 | 2 | 0 | 0.58 | 0.00 | 0.58 | 0.58 | 0.58 | Matches |
| 2015-2016 | 23 | Preston North End | eng ENG | 2. Championship | 29 | 8 | 956 | 10.6 | 3 | 0 | 3 | 3 | 0 | 0 | 1 | 1 | 0.28 | 0.00 | 0.28 | 0.28 | 0.28 | Matches |
| 2015-2016 | 23 | Preston North End | eng ENG | FA 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 |
| 2015-2016 | 23 | Preston North End | eng ENG | League Cup | 2 | 1 | 127 | 1.4 | 2 | 0 | 2 | 1 | 1 | 1 | 0 | 0 | 1.42 | 0.00 | 1.42 | 0.71 | 0.71 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | 2. Championship | 44 | 35 | 3,172 | 35.2 | 12 | 2 | 14 | 12 | 0 | 1 | 7 | 0 | 0.34 | 0.06 | 0.40 | 0.34 | 0.40 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | EFL Cup | 2 | 1 | 118 | 1.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.76 | 0.00 | 0.76 | 0.76 | 0.76 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | FA 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 |
| 2017-2018 | 25 | Preston North End | eng ENG | 2. Championship | 27 | 26 | 2,262 | 25.1 | 8 | 2 | 10 | 8 | 0 | 0 | 8 | 0 | 0.32 | 0.08 | 0.40 | 0.32 | 0.40 | Matches |
| 2017-2018 | 25 | Preston North End | eng ENG | EFL Cup | 1 | 1 | 90 | 1.0 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 2.00 | 0.00 | 2.00 | 2.00 | 2.00 | Matches |
| 2017-2018 | 25 | Preston North End | eng ENG | FA Cup | 1 | 0 | 23 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 25 | West Ham United | eng ENG | 1. Premier League | 3 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | 2. Championship | 37 | 20 | 1,878 | 20.9 | 6 | 2 | 8 | 3 | 3 | 3 | 6 | 0 | 0.29 | 0.10 | 0.38 | 0.14 | 0.24 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | EFL Cup | 3 | 3 | 174 | 1.9 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.52 | 0.00 | 0.52 | 0.52 | 0.52 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | FA Cup | 1 | 1 | 56 | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | Jr. PL2 — Div. 2 | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 27 | QPR | eng ENG | 2. Championship | 39 | 30 | 2,837 | 31.5 | 13 | 1 | 14 | 13 | 0 | 0 | 10 | 0 | 0.41 | 0.03 | 0.44 | 0.41 | 0.44 | Matches |
| 2019-2020 | 27 | QPR | eng ENG | EFL Cup | 0 | 0 | Matches | |||||||||||||||
| 2019-2020 | 27 | QPR | eng ENG | FA Cup | 2 | 2 | 180 | 2.0 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 1.00 | 0.00 | 1.00 | 1.00 | 1.00 | Matches |
| 2020-2021 | 28 | Norwich City | eng ENG | 2. Championship | 31 | 7 | 694 | 7.7 | 4 | 0 | 4 | 3 | 1 | 1 | 2 | 0 | 0.52 | 0.00 | 0.52 | 0.39 | 0.39 | Matches |
| 2020-2021 | 28 | Norwich City | 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 |
| 2020-2021 | 28 | Norwich City | eng ENG | FA Cup | 2 | 2 | 135 | 1.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.67 | 0.00 | 0.67 | 0.67 | 0.67 | Matches |
| 2021-2022 | 29 | West Brom | eng ENG | 2. Championship | 20 | 7 | 1,010 | 11.2 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | Matches |
| 2021-2022 | 29 | Cardiff City | eng ENG | 2. Championship | 18 | 17 | 1,407 | 15.6 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.26 | 0.06 | 0.32 | 0.26 | 0.32 | Matches |
| 2021-2022 | 29 | West Brom | eng ENG | FA Cup | 0 | 0 | Matches | |||||||||||||||
| 2021-2022 | 29 | Cardiff City | eng ENG | FA Cup | 1 | 0 | 33 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 30 | Rotherham United | eng ENG | 2. Championship | 18 | 18 | 1,415 | 15.7 | 5 | 0 | 5 | 3 | 2 | 2 | 4 | 0 | 0.32 | 0.00 | 0.32 | 0.19 | 0.19 | Matches |
| 2022-2023 | 30 | Norwich City | eng ENG | 2. Championship | 7 | 0 | 68 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 30 | Norwich City | eng ENG | EFL Cup | 2 | 2 | 143 | 1.6 | 1 | 1 | 2 | 1 | 0 | 0 | 1 | 0 | 0.63 | 0.63 | 1.26 | 0.63 | 1.26 | Matches |
| 2022-2023 | 30 | Norwich City | eng ENG | FA Cup | 1 | 0 | 34 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 31 | Rotherham United | eng ENG | 2. Championship | 39 | 29 | 2,334 | 25.9 | 5 | 1 | 6 | 5 | 0 | 0 | 6 | 0 | 0.19 | 0.04 | 0.23 | 0.19 | 0.23 | Matches |
| 2023-2024 | 31 | Rotherham United | eng ENG | EFL Cup | 2 | 1 | 96 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 31 | Rotherham United | 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 |
| 2024-2025 | 32 | Rotherham United | eng ENG | EFL Cup | 0 | 0 | Matches | |||||||||||||||
| 2024-2025 | 32 | Rotherham United | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.00 | 1.00 | 0.00 | 1.00 | Matches |
| 2024-2025 | 32 | Rotherham United | eng ENG | 3. League One | 28 | 7 | 863 | 9.6 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | Matches |
| 2025-2026 | 33 | Rotherham United | eng ENG | EFL Cup | 2 | 2 | 140 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 33 | Rotherham United | eng ENG | FA Cup | 1 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 33 | Rotherham United | eng ENG | 3. League One | 28 | 20 | 1,624 | 18.0 | 2 | 1 | 3 | 1 | 1 | 1 | 4 | 0 | 0.11 | 0.06 | 0.17 | 0.06 | 0.11 | Matches |
| 13 Seasons | 12 Clubs | 7 Leagues | 442 | 269 | 24,531 | 272.6 | 88 | 15 | 103 | 80 | 8 | 9 | 68 | 2 | 0.32 | 0.06 | 0.38 | 0.29 | 0.35 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Rotherham United (4 Seasons) | 4 Leagues | 120 | 80 | 6,772 | 75.2 | 13 | 3 | 16 | 10 | 3 | 3 | 18 | 0 | 0.17 | 0.04 | 0.21 | 0.13 | 0.17 | ||||
| Preston North End (4 Seasons) | 4 Leagues | 113 | 74 | 7,014 | 77.9 | 29 | 6 | 35 | 28 | 1 | 2 | 17 | 2 | 0.37 | 0.08 | 0.45 | 0.36 | 0.44 | ||||
| Norwich City (2 Seasons) | 3 Leagues | 44 | 12 | 1,164 | 12.9 | 6 | 1 | 7 | 5 | 1 | 1 | 5 | 0 | 0.46 | 0.08 | 0.54 | 0.39 | 0.46 | ||||
| Middlesbrough (1 Season) | 3 Leagues | 41 | 24 | 2,108 | 23.4 | 7 | 2 | 9 | 4 | 3 | 3 | 7 | 0 | 0.30 | 0.09 | 0.38 | 0.17 | 0.26 | ||||
| QPR (1 Season) | 3 Leagues | 41 | 32 | 3,017 | 33.5 | 15 | 1 | 16 | 15 | 0 | 0 | 10 | 0 | 0.45 | 0.03 | 0.48 | 0.45 | 0.48 | ||||
| West Brom (1 Season) | 2 Leagues | 20 | 7 | 1,010 | 11.2 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | ||||
| Port Vale (1 Season) | 1 League | 20 | 7 | 728 | 8.1 | 4 | 1 | 5 | 4 | 0 | 0 | 1 | 0 | 0.49 | 0.12 | 0.62 | 0.49 | 0.62 | ||||
| Cardiff City (1 Season) | 2 Leagues | 19 | 17 | 1,440 | 16.0 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.25 | 0.06 | 0.31 | 0.25 | 0.31 | ||||
| Hartlepool United (1 Season) | 1 League | 8 | 8 | 622 | 6.9 | 4 | 0 | 4 | 4 | 0 | 0 | 2 | 0 | 0.58 | 0.00 | 0.58 | 0.58 | 0.58 | ||||
| Gateshead (1 Season) | 1 League | 7 | 4 | 349 | 3.9 | 5 | 0 | 5 | 5 | 0 | 0 | 2 | 0 | 1.29 | 0.00 | 1.29 | 1.29 | 1.29 | ||||
| Tranmere Rovers (1 Season) | 1 League | 6 | 4 | 282 | 3.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| West Ham United (1 Season) | 1 League | 3 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Middlesbrough (1 Season) | 1 League | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| EFL Cup (11 Seasons) | 17 | 13 | 1,056 | 11.7 | 8 | 1 | 9 | 7 | 1 | 1 | 2 | 0 | 0.68 | 0.09 | 0.77 | 0.60 | 0.68 | |||||
| FA Cup (11 Seasons) | 13 | 9 | 851 | 9.5 | 3 | 2 | 5 | 3 | 0 | 0 | 3 | 0 | 0.32 | 0.21 | 0.53 | 0.32 | 0.53 | |||||
| Championship (9 Seasons) | 309 | 197 | 18,033 | 200.4 | 61 | 9 | 70 | 55 | 6 | 7 | 50 | 1 | 0.30 | 0.04 | 0.35 | 0.27 | 0.32 | |||||
| League One (4 Seasons) | 79 | 34 | 3,313 | 36.8 | 7 | 3 | 10 | 6 | 1 | 1 | 8 | 1 | 0.19 | 0.08 | 0.27 | 0.16 | 0.24 | |||||
| League Two (1 Season) | 14 | 12 | 904 | 10.0 | 4 | 0 | 4 | 4 | 0 | 0 | 3 | 0 | 0.40 | 0.00 | 0.40 | 0.40 | 0.40 | |||||
| Conf Premier (1 Season) | 7 | 4 | 349 | 3.9 | 5 | 0 | 5 | 5 | 0 | 0 | 2 | 0 | 1.29 | 0.00 | 1.29 | 1.29 | 1.29 | |||||
| Premier League (1 Season) | 3 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| PL2 — Div. 2 (1 Season) | 1 | 1 | 90 | 1.0 | 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 | |||||
| 2013-2014 | 21 | Port Vale | 1 League | 20 | 7 | 728 | 8.1 | 4 | 1 | 5 | 4 | 0 | 0 | 1 | 0 | 0.49 | 0.12 | 0.62 | 0.49 | 0.62 | |
| 2013-2014 | 21 | Gateshead | 1 League | 7 | 4 | 349 | 3.9 | 5 | 0 | 5 | 5 | 0 | 0 | 2 | 0 | 1.29 | 0.00 | 1.29 | 1.29 | 1.29 | |
| 2014-2015 | 22 | Tranmere Rovers | 1 League | 6 | 4 | 282 | 3.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2014-2015 | 22 | Hartlepool United | 1 League | 8 | 8 | 622 | 6.9 | 4 | 0 | 4 | 4 | 0 | 0 | 2 | 0 | 0.58 | 0.00 | 0.58 | 0.58 | 0.58 | |
| 2014-2015 | 22 | Preston North End | 2 Leagues | 5 | 1 | 176 | 2.0 | 1 | 1 | 2 | 1 | 0 | 0 | 0 | 1 | 0.51 | 0.51 | 1.02 | 0.51 | 1.02 | |
| 2015-2016 | 23 | Preston North End | 3 Leagues | 32 | 9 | 1,099 | 12.2 | 5 | 0 | 5 | 4 | 1 | 1 | 1 | 1 | 0.41 | 0.00 | 0.41 | 0.33 | 0.33 | |
| 2016-2017 | 24 | Preston North End | 3 Leagues | 47 | 37 | 3,364 | 37.4 | 13 | 3 | 16 | 13 | 0 | 1 | 8 | 0 | 0.35 | 0.08 | 0.43 | 0.35 | 0.43 | |
| 2017-2018 | 25 | Preston North End | 3 Leagues | 29 | 27 | 2,375 | 26.4 | 10 | 2 | 12 | 10 | 0 | 0 | 8 | 0 | 0.38 | 0.08 | 0.45 | 0.38 | 0.45 | |
| 2017-2018 | 25 | West Ham United | 1 League | 3 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2018-2019 | 26 | Middlesbrough | 3 Leagues | 41 | 24 | 2,108 | 23.4 | 7 | 2 | 9 | 4 | 3 | 3 | 7 | 0 | 0.30 | 0.09 | 0.38 | 0.17 | 0.26 | |
| 2018-2019 | 26 | Middlesbrough | 1 League | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2019-2020 | 27 | QPR | 3 Leagues | 41 | 32 | 3,017 | 33.5 | 15 | 1 | 16 | 15 | 0 | 0 | 10 | 0 | 0.45 | 0.03 | 0.48 | 0.45 | 0.48 | |
| 2020-2021 | 28 | Norwich City | 3 Leagues | 34 | 10 | 919 | 10.2 | 5 | 0 | 5 | 4 | 1 | 1 | 2 | 0 | 0.49 | 0.00 | 0.49 | 0.39 | 0.39 | |
| 2021-2022 | 29 | West Brom | 2 Leagues | 20 | 7 | 1,010 | 11.2 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | |
| 2021-2022 | 29 | Cardiff City | 2 Leagues | 19 | 17 | 1,440 | 16.0 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.25 | 0.06 | 0.31 | 0.25 | 0.31 | |
| 2022-2023 | 30 | Norwich City | 3 Leagues | 10 | 2 | 245 | 2.7 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.37 | 0.37 | 0.73 | 0.37 | 0.73 | |
| 2022-2023 | 30 | Rotherham United | 1 League | 18 | 18 | 1,415 | 15.7 | 5 | 0 | 5 | 3 | 2 | 2 | 4 | 0 | 0.32 | 0.00 | 0.32 | 0.19 | 0.19 | |
| 2023-2024 | 31 | Rotherham United | 3 Leagues | 42 | 31 | 2,520 | 28.0 | 5 | 1 | 6 | 5 | 0 | 0 | 6 | 0 | 0.18 | 0.04 | 0.21 | 0.18 | 0.21 | |
| 2024-2025 | 32 | Rotherham United | 3 Leagues | 29 | 8 | 953 | 10.6 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.09 | 0.09 | 0.19 | 0.09 | 0.19 | |
| 2025-2026 | 33 | Rotherham United | 3 Leagues | 31 | 23 | 1,884 | 20.9 | 2 | 1 | 3 | 1 | 1 | 1 | 5 | 0 | 0.10 | 0.05 | 0.14 | 0.05 | 0.10 | |
| 13 Seasons | 12 Clubs | 7 Leagues | 442 | 269 | 24,531 | 272.6 | 88 | 15 | 103 | 80 | 8 | 9 | 68 | 2 | 0.32 | 0.06 | 0.38 | 0.29 | 0.35 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Rotherham United (4 Seasons) | 4 Leagues | 120 | 80 | 6,772 | 75.2 | 13 | 3 | 16 | 10 | 3 | 3 | 18 | 0 | 0.17 | 0.04 | 0.21 | 0.13 | 0.17 | |||
| Preston North End (4 Seasons) | 4 Leagues | 113 | 74 | 7,014 | 77.9 | 29 | 6 | 35 | 28 | 1 | 2 | 17 | 2 | 0.37 | 0.08 | 0.45 | 0.36 | 0.44 | |||
| Norwich City (2 Seasons) | 3 Leagues | 44 | 12 | 1,164 | 12.9 | 6 | 1 | 7 | 5 | 1 | 1 | 5 | 0 | 0.46 | 0.08 | 0.54 | 0.39 | 0.46 | |||
| Middlesbrough (1 Season) | 3 Leagues | 41 | 24 | 2,108 | 23.4 | 7 | 2 | 9 | 4 | 3 | 3 | 7 | 0 | 0.30 | 0.09 | 0.38 | 0.17 | 0.26 | |||
| QPR (1 Season) | 3 Leagues | 41 | 32 | 3,017 | 33.5 | 15 | 1 | 16 | 15 | 0 | 0 | 10 | 0 | 0.45 | 0.03 | 0.48 | 0.45 | 0.48 | |||
| West Brom (1 Season) | 2 Leagues | 20 | 7 | 1,010 | 11.2 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | |||
| Port Vale (1 Season) | 1 League | 20 | 7 | 728 | 8.1 | 4 | 1 | 5 | 4 | 0 | 0 | 1 | 0 | 0.49 | 0.12 | 0.62 | 0.49 | 0.62 | |||
| Cardiff City (1 Season) | 2 Leagues | 19 | 17 | 1,440 | 16.0 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.25 | 0.06 | 0.31 | 0.25 | 0.31 | |||
| Hartlepool United (1 Season) | 1 League | 8 | 8 | 622 | 6.9 | 4 | 0 | 4 | 4 | 0 | 0 | 2 | 0 | 0.58 | 0.00 | 0.58 | 0.58 | 0.58 | |||
| Gateshead (1 Season) | 1 League | 7 | 4 | 349 | 3.9 | 5 | 0 | 5 | 5 | 0 | 0 | 2 | 0 | 1.29 | 0.00 | 1.29 | 1.29 | 1.29 | |||
| Tranmere Rovers (1 Season) | 1 League | 6 | 4 | 282 | 3.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| West Ham United (1 Season) | 1 League | 3 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Middlesbrough (1 Season) | 1 League | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| EFL Cup (11 Seasons) | 17 | 13 | 1,056 | 11.7 | 8 | 1 | 9 | 7 | 1 | 1 | 2 | 0 | 0.68 | 0.09 | 0.77 | 0.60 | 0.68 | ||||
| FA Cup (11 Seasons) | 13 | 9 | 851 | 9.5 | 3 | 2 | 5 | 3 | 0 | 0 | 3 | 0 | 0.32 | 0.21 | 0.53 | 0.32 | 0.53 | ||||
| Championship (9 Seasons) | 309 | 197 | 18,033 | 200.4 | 61 | 9 | 70 | 55 | 6 | 7 | 50 | 1 | 0.30 | 0.04 | 0.35 | 0.27 | 0.32 | ||||
| League One (4 Seasons) | 79 | 34 | 3,313 | 36.8 | 7 | 3 | 10 | 6 | 1 | 1 | 8 | 1 | 0.19 | 0.08 | 0.27 | 0.16 | 0.24 | ||||
| League Two (1 Season) | 14 | 12 | 904 | 10.0 | 4 | 0 | 4 | 4 | 0 | 0 | 3 | 0 | 0.40 | 0.00 | 0.40 | 0.40 | 0.40 | ||||
| Conf Premier (1 Season) | 7 | 4 | 349 | 3.9 | 5 | 0 | 5 | 5 | 0 | 0 | 2 | 0 | 1.29 | 0.00 | 1.29 | 1.29 | 1.29 | ||||
| Premier League (1 Season) | 3 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| PL2 — Div. 2 (1 Season) | 1 | 1 | 90 | 1.0 | 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 | |||||
| 2013-2014 | 21 | Port Vale | eng ENG | 3. League One | 9th | 20 | 7 | 728 | 8.1 | 4 | 1 | 5 | 4 | 0 | 0 | 1 | 0 | 0.49 | 0.12 | 0.62 | 0.49 | 0.62 | |
| 2013-2014 | 21 | Gateshead | eng ENG | 5. Conf Premier | 3rd | 7 | 4 | 349 | 3.9 | 5 | 0 | 5 | 5 | 0 | 0 | 2 | 0 | 1.29 | 0.00 | 1.29 | 1.29 | 1.29 | |
| 2014-2015 | 22 | Tranmere Rovers | eng ENG | 4. League Two | 24th | 6 | 4 | 282 | 3.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2014-2015 | 22 | Hartlepool United | eng ENG | 4. League Two | 22nd | 8 | 8 | 622 | 6.9 | 4 | 0 | 4 | 4 | 0 | 0 | 2 | 0 | 0.58 | 0.00 | 0.58 | 0.58 | 0.58 | Matches |
| 2014-2015 | 22 | Preston North End | eng ENG | 3. League One | 3rd | 3 | 0 | 98 | 1.1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.92 | 0.92 | 0.00 | 0.92 | Matches |
| 2015-2016 | 23 | Preston North End | eng ENG | 2. Championship | 11th | 29 | 8 | 956 | 10.6 | 3 | 0 | 3 | 3 | 0 | 0 | 1 | 1 | 0.28 | 0.00 | 0.28 | 0.28 | 0.28 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | 2. Championship | 11th | 44 | 35 | 3,172 | 35.2 | 12 | 2 | 14 | 12 | 0 | 1 | 7 | 0 | 0.34 | 0.06 | 0.40 | 0.34 | 0.40 | Matches |
| 2017-2018 | 25 | Preston North End | eng ENG | 2. Championship | 7th | 27 | 26 | 2,262 | 25.1 | 8 | 2 | 10 | 8 | 0 | 0 | 8 | 0 | 0.32 | 0.08 | 0.40 | 0.32 | 0.40 | Matches |
| 2017-2018 | 25 | West Ham United | eng ENG | 1. Premier League | 13th | 3 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | 2. Championship | 7th | 37 | 20 | 1,878 | 20.9 | 6 | 2 | 8 | 3 | 3 | 3 | 6 | 0 | 0.29 | 0.10 | 0.38 | 0.14 | 0.24 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | Jr. PL2 — Div. 2 | 8th | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 27 | QPR | eng ENG | 2. Championship | 13th | 39 | 30 | 2,837 | 31.5 | 13 | 1 | 14 | 13 | 0 | 0 | 10 | 0 | 0.41 | 0.03 | 0.44 | 0.41 | 0.44 | Matches |
| 2020-2021 | 28 | Norwich City | eng ENG | 2. Championship | 1st | 31 | 7 | 694 | 7.7 | 4 | 0 | 4 | 3 | 1 | 1 | 2 | 0 | 0.52 | 0.00 | 0.52 | 0.39 | 0.39 | Matches |
| 2021-2022 | 29 | West Brom | eng ENG | 2. Championship | 10th | 20 | 7 | 1,010 | 11.2 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | Matches |
| 2021-2022 | 29 | Cardiff City | eng ENG | 2. Championship | 18th | 18 | 17 | 1,407 | 15.6 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.26 | 0.06 | 0.32 | 0.26 | 0.32 | Matches |
| 2022-2023 | 30 | Norwich City | eng ENG | 2. Championship | 13th | 7 | 0 | 68 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 30 | Rotherham United | eng ENG | 2. Championship | 19th | 18 | 18 | 1,415 | 15.7 | 5 | 0 | 5 | 3 | 2 | 2 | 4 | 0 | 0.32 | 0.00 | 0.32 | 0.19 | 0.19 | Matches |
| 2023-2024 | 31 | Rotherham United | eng ENG | 2. Championship | 24th | 39 | 29 | 2,334 | 25.9 | 5 | 1 | 6 | 5 | 0 | 0 | 6 | 0 | 0.19 | 0.04 | 0.23 | 0.19 | 0.23 | Matches |
| 2024-2025 | 32 | Rotherham United | eng ENG | 3. League One | 13th | 28 | 7 | 863 | 9.6 | 1 | 0 | 1 | 1 | 0 | 0 | 3 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | Matches |
| 2025-2026 | 33 | Rotherham United | eng ENG | 3. League One | 23rd | 28 | 20 | 1,624 | 18.0 | 2 | 1 | 3 | 1 | 1 | 1 | 4 | 0 | 0.11 | 0.06 | 0.17 | 0.06 | 0.11 | Matches |
| 13 Seasons | 12 Clubs | 5 Leagues | 412 | 247 | 22,624 | 251.4 | 77 | 12 | 89 | 70 | 7 | 8 | 63 | 2 | 0.31 | 0.05 | 0.35 | 0.28 | 0.33 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Rotherham United (4 Seasons) | 2 Leagues | 113 | 74 | 6,236 | 69.3 | 13 | 2 | 15 | 10 | 3 | 3 | 17 | 0 | 0.19 | 0.03 | 0.22 | 0.14 | 0.17 | |||||
| Preston North End (4 Seasons) | 2 Leagues | 103 | 69 | 6,488 | 72.1 | 23 | 5 | 28 | 23 | 0 | 1 | 16 | 2 | 0.32 | 0.07 | 0.39 | 0.32 | 0.39 | |||||
| Norwich City (2 Seasons) | 1 League | 38 | 7 | 762 | 8.5 | 4 | 0 | 4 | 3 | 1 | 1 | 3 | 0 | 0.47 | 0.00 | 0.47 | 0.35 | 0.35 | |||||
| QPR (1 Season) | 1 League | 39 | 30 | 2,837 | 31.5 | 13 | 1 | 14 | 13 | 0 | 0 | 10 | 0 | 0.41 | 0.03 | 0.44 | 0.41 | 0.44 | |||||
| Middlesbrough (1 Season) | 1 League | 37 | 20 | 1,878 | 20.9 | 6 | 2 | 8 | 3 | 3 | 3 | 6 | 0 | 0.29 | 0.10 | 0.38 | 0.14 | 0.24 | |||||
| West Brom (1 Season) | 1 League | 20 | 7 | 1,010 | 11.2 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | |||||
| Port Vale (1 Season) | 1 League | 20 | 7 | 728 | 8.1 | 4 | 1 | 5 | 4 | 0 | 0 | 1 | 0 | 0.49 | 0.12 | 0.62 | 0.49 | 0.62 | |||||
| Cardiff City (1 Season) | 1 League | 18 | 17 | 1,407 | 15.6 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.26 | 0.06 | 0.32 | 0.26 | 0.32 | |||||
| Hartlepool United (1 Season) | 1 League | 8 | 8 | 622 | 6.9 | 4 | 0 | 4 | 4 | 0 | 0 | 2 | 0 | 0.58 | 0.00 | 0.58 | 0.58 | 0.58 | |||||
| Gateshead (1 Season) | 1 League | 7 | 4 | 349 | 3.9 | 5 | 0 | 5 | 5 | 0 | 0 | 2 | 0 | 1.29 | 0.00 | 1.29 | 1.29 | 1.29 | |||||
| Tranmere Rovers (1 Season) | 1 League | 6 | 4 | 282 | 3.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| West Ham United (1 Season) | 1 League | 3 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Middlesbrough (1 Season) | 1 League | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Championship (9 Seasons) | 309 | 197 | 18,033 | 200.4 | 61 | 9 | 70 | 55 | 6 | 7 | 50 | 1 | 0.30 | 0.04 | 0.35 | 0.27 | 0.32 | ||||||
| League One (4 Seasons) | 79 | 34 | 3,313 | 36.8 | 7 | 3 | 10 | 6 | 1 | 1 | 8 | 1 | 0.19 | 0.08 | 0.27 | 0.16 | 0.24 | ||||||
| League Two (1 Season) | 14 | 12 | 904 | 10.0 | 4 | 0 | 4 | 4 | 0 | 0 | 3 | 0 | 0.40 | 0.00 | 0.40 | 0.40 | 0.40 | ||||||
| Conf Premier (1 Season) | 7 | 4 | 349 | 3.9 | 5 | 0 | 5 | 5 | 0 | 0 | 2 | 0 | 1.29 | 0.00 | 1.29 | 1.29 | 1.29 | ||||||
| Premier League (1 Season) | 3 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| PL2 — Div. 2 (1 Season) | 1 | 1 | 90 | 1.0 | 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 | 22 | Preston North End | eng ENG | League Cup | 33rd | 2 | 1 | 78 | 0.9 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.15 | 0.00 | 1.15 | 1.15 | 1.15 | Matches |
| 2015-2016 | 23 | Preston North End | eng ENG | FA Cup | 33rd | 1 | 0 | 16 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 23 | Preston North End | eng ENG | League Cup | 17th | 2 | 1 | 127 | 1.4 | 2 | 0 | 2 | 1 | 1 | 1 | 0 | 0 | 1.42 | 0.00 | 1.42 | 0.71 | 0.71 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | EFL Cup | 9th | 2 | 1 | 118 | 1.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.76 | 0.00 | 0.76 | 0.76 | 0.76 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | FA Cup | 33rd | 1 | 1 | 74 | 0.8 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 1.22 | 1.22 | 0.00 | 1.22 | Matches |
| 2017-2018 | 25 | Preston North End | eng ENG | EFL Cup | 58th | 1 | 1 | 90 | 1.0 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 2.00 | 0.00 | 2.00 | 2.00 | 2.00 | Matches |
| 2017-2018 | 25 | Preston North End | eng ENG | FA Cup | 17th | 1 | 0 | 23 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | EFL Cup | 5th | 3 | 3 | 174 | 1.9 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.52 | 0.00 | 0.52 | 0.52 | 0.52 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | FA Cup | 17th | 1 | 1 | 56 | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 27 | QPR | eng ENG | EFL Cup | 33rd | 0 | 0 | Matches | |||||||||||||||
| 2019-2020 | 27 | QPR | eng ENG | FA Cup | 17th | 2 | 2 | 180 | 2.0 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 1.00 | 0.00 | 1.00 | 1.00 | 1.00 | Matches |
| 2020-2021 | 28 | Norwich City | eng ENG | EFL Cup | 58th | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 28 | Norwich City | eng ENG | FA Cup | 17th | 2 | 2 | 135 | 1.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.67 | 0.00 | 0.67 | 0.67 | 0.67 | Matches |
| 2021-2022 | 29 | West Brom | eng ENG | FA Cup | 0 | 0 | Matches | ||||||||||||||||
| 2021-2022 | 29 | Cardiff City | eng ENG | FA Cup | 1 | 0 | 33 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022-2023 | 30 | Norwich City | eng ENG | EFL Cup | Rd2 | 2 | 2 | 143 | 1.6 | 1 | 1 | 2 | 1 | 0 | 0 | 1 | 0 | 0.63 | 0.63 | 1.26 | 0.63 | 1.26 | Matches |
| 2022-2023 | 30 | Norwich City | eng ENG | FA Cup | 1 | 0 | 34 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2023-2024 | 31 | Rotherham United | eng ENG | EFL Cup | Rd2 | 2 | 1 | 96 | 1.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 31 | Rotherham United | 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 | |
| 2024-2025 | 32 | Rotherham United | eng ENG | EFL Cup | Rd2 | 0 | 0 | Matches | |||||||||||||||
| 2024-2025 | 32 | Rotherham United | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 1.00 | 1.00 | 0.00 | 1.00 | Matches | |
| 2025-2026 | 33 | Rotherham United | eng ENG | EFL Cup | Rd2 | 2 | 2 | 140 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 33 | Rotherham United | eng ENG | FA Cup | 1 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 12 Seasons | 7 Clubs | 2 Leagues | 30 | 22 | 1,907 | 21.2 | 11 | 3 | 14 | 10 | 1 | 1 | 5 | 0 | 0.52 | 0.14 | 0.66 | 0.47 | 0.61 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Preston North End (4 Seasons) | 2 Leagues | 10 | 5 | 526 | 5.8 | 6 | 1 | 7 | 5 | 1 | 1 | 1 | 0 | 1.03 | 0.17 | 1.20 | 0.86 | 1.03 | |||||
| Rotherham United (3 Seasons) | 2 Leagues | 7 | 6 | 536 | 6.0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.17 | 0.17 | 0.00 | 0.17 | |||||
| Norwich City (2 Seasons) | 2 Leagues | 6 | 5 | 402 | 4.5 | 2 | 1 | 3 | 2 | 0 | 0 | 2 | 0 | 0.45 | 0.22 | 0.67 | 0.45 | 0.67 | |||||
| Middlesbrough (1 Season) | 2 Leagues | 4 | 4 | 230 | 2.6 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.39 | 0.00 | 0.39 | 0.39 | 0.39 | |||||
| QPR (1 Season) | 2 Leagues | 2 | 2 | 180 | 2.0 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 1.00 | 0.00 | 1.00 | 1.00 | 1.00 | |||||
| Cardiff City (1 Season) | 1 League | 1 | 0 | 33 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| West Brom (1 Season) | 1 League | 0 | 0 | ||||||||||||||||||||
| EFL Cup (11 Seasons) | 17 | 13 | 1,056 | 11.7 | 8 | 1 | 9 | 7 | 1 | 1 | 2 | 0 | 0.68 | 0.09 | 0.77 | 0.60 | 0.68 | ||||||
| FA Cup (11 Seasons) | 13 | 9 | 851 | 9.5 | 3 | 2 | 5 | 3 | 0 | 0 | 3 | 0 | 0.32 | 0.21 | 0.53 | 0.32 | 0.53 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2013-2014 | 21 | Gateshead | eng ENG | 5. Conf Premier | 3.9 | 5 | 7 | 1.81 | 0.71 | 0 | 0 | |||||
| 2013-2014 | 21 | Port Vale | eng ENG | 3. League One | 8.1 | 4 | 8 | 0.99 | 0.50 | 0 | 0 | |||||
| 2014-2015 | 22 | Preston North End | eng ENG | League Cup | 0.9 | 1 | 0 | 0 | Matches | |||||||
| 2014-2015 | 22 | Preston North End | eng ENG | 3. League One | 1.1 | 0 | 2 | 1.84 | 0.00 | 0 | 0 | Matches | ||||
| 2014-2015 | 22 | Tranmere Rovers | eng ENG | 4. League Two | 3.1 | 0 | 1 | 0.32 | 0.00 | 0 | 0 | Matches | ||||
| 2014-2015 | 22 | Hartlepool United | eng ENG | 4. League Two | 6.9 | 4 | 8 | 1.16 | 0.50 | 0 | 0 | Matches | ||||
| 2015-2016 | 23 | Preston North End | eng ENG | 2. Championship | 10.6 | 3 | 12 | 1.13 | 0.25 | 0 | 0 | Matches | ||||
| 2015-2016 | 23 | Preston North End | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 23 | Preston North End | eng ENG | League Cup | 1.4 | 2 | 1 | 1 | Matches | |||||||
| 2016-2017 | 24 | Preston North End | eng ENG | 2. Championship | 35.2 | 12 | 0 | 27 | 0.00 | 0.77 | 0.44 | 0 | 1 | Matches | ||
| 2016-2017 | 24 | Preston North End | eng ENG | EFL Cup | 1.3 | 1 | 7 | 1 | 14.3 | 5.34 | 0.76 | 0.14 | 1.00 | 0 | 0 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | FA Cup | 0.8 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 25 | Preston North End | eng ENG | 2. Championship | 25.1 | 8 | 57 | 22 | 38.6 | 2.27 | 0.88 | 0.14 | 0.36 | 0 | 0 | Matches |
| 2017-2018 | 25 | Preston North End | eng ENG | EFL Cup | 1.0 | 2 | 5 | 3 | 60.0 | 5.00 | 3.00 | 0.40 | 0.67 | 0 | 0 | Matches |
| 2017-2018 | 25 | Preston North End | eng ENG | FA Cup | 0.3 | 0 | 1 | 1 | 100.0 | 3.91 | 3.91 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2017-2018 | 25 | West Ham United | eng ENG | 1. Premier League | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 26 | Middlesbrough | eng ENG | 2. Championship | 20.9 | 6 | 55 | 20 | 36.4 | 2.64 | 0.96 | 0.05 | 0.15 | 3 | 3 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | EFL Cup | 1.9 | 1 | 8 | 2 | 25.0 | 4.14 | 1.03 | 0.13 | 0.50 | 0 | 0 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | FA Cup | 0.6 | 0 | 1 | 0 | 0.0 | 1.61 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2018-2019 | 26 | Middlesbrough | eng ENG | Jr. PL2 — Div. 2 | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 27 | QPR | eng ENG | 2. Championship | 31.5 | 13 | 85 | 25 | 29.4 | 2.70 | 0.79 | 0.15 | 0.52 | 0 | 0 | Matches |
| 2019-2020 | 27 | QPR | eng ENG | FA Cup | 2.0 | 2 | 4 | 3 | 75.0 | 2.00 | 1.50 | 0.50 | 0.67 | 0 | 0 | Matches |
| 2020-2021 | 28 | Norwich City | eng ENG | 2. Championship | 7.7 | 4 | 24 | 13 | 54.2 | 3.11 | 1.69 | 0.13 | 0.23 | 1 | 1 | Matches |
| 2020-2021 | 28 | Norwich City | eng ENG | EFL Cup | 1.0 | 0 | 1 | 1 | 100.0 | 1.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 28 | Norwich City | eng ENG | FA Cup | 1.5 | 1 | 2 | 1 | 50.0 | 1.33 | 0.67 | 0.50 | 1.00 | 0 | 0 | Matches |
| 2021-2022 | 29 | West Brom | eng ENG | 2. Championship | 11.2 | 1 | 35 | 8 | 22.9 | 3.12 | 0.71 | 0.03 | 0.13 | 0 | 0 | Matches |
| 2021-2022 | 29 | Cardiff City | eng ENG | 2. Championship | 15.6 | 4 | 37 | 11 | 29.7 | 2.37 | 0.70 | 0.11 | 0.36 | 0 | 0 | Matches |
| 2021-2022 | 29 | Cardiff City | eng ENG | FA Cup | 0.4 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2022-2023 | 30 | Rotherham United | eng ENG | 2. Championship | 15.7 | 5 | 23 | 10 | 43.5 | 1.46 | 0.64 | 0.13 | 0.30 | 2 | 2 | Matches |
| 2022-2023 | 30 | Norwich City | eng ENG | 2. Championship | 0.8 | 0 | 2 | 2 | 100.0 | 2.65 | 2.65 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 30 | Norwich City | eng ENG | EFL Cup | 1.6 | 1 | 1 | 1 | 100.0 | 0.63 | 0.63 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2022-2023 | 30 | Norwich City | eng ENG | FA Cup | 0.4 | 0 | 2 | 2 | 100.0 | 5.29 | 5.29 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 31 | Rotherham United | eng ENG | 2. Championship | 25.9 | 5 | 34 | 10 | 29.4 | 1.31 | 0.39 | 0.15 | 0.50 | 0 | 0 | Matches |
| 2023-2024 | 31 | Rotherham United | eng ENG | EFL Cup | 1.1 | 0 | 3 | 0 | 0.0 | 2.81 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 31 | Rotherham United | eng ENG | FA Cup | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2024-2025 | 32 | Rotherham United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2024-2025 | 32 | Rotherham United | eng ENG | 3. League One | 9.6 | 1 | 23 | 6 | 26.1 | 2.40 | 0.63 | 0.04 | 0.17 | 0 | 0 | Matches |
| 2025-2026 | 33 | Rotherham United | eng ENG | EFL Cup | 1.6 | 0 | 4 | 0 | 0.0 | 2.57 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2025-2026 | 33 | Rotherham United | eng ENG | FA Cup | 1.3 | 0 | 0 | 0 | Matches | |||||||
| 2025-2026 | 33 | Rotherham United | eng ENG | 3. League One | 18.0 | 2 | 32 | 10 | 31.3 | 1.77 | 0.55 | 0.03 | 0.10 | 1 | 1 | Matches |
| 13 Seasons | 12 Clubs | 7 Leagues | 272.6 | 88 | 447 | 217 | 40.0 | 1.92 | 0.81 | 0.14 | 0.36 | 8 | 9 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Rotherham United (4 Seasons) | 4 Leagues | 75.2 | 13 | 120 | 36 | 30.0 | 1.65 | 0.49 | 0.08 | 0.28 | 3 | 3 | ||||
| Preston North End (4 Seasons) | 4 Leagues | 77.9 | 29 | 70 | 68 | 77.1 | 1.11 | 0.91 | 0.33 | 0.38 | 1 | 2 | ||||
| Norwich City (2 Seasons) | 3 Leagues | 12.9 | 6 | 32 | 20 | 62.5 | 2.47 | 1.55 | 0.16 | 0.25 | 1 | 1 | ||||
| Middlesbrough (1 Season) | 3 Leagues | 23.4 | 7 | 64 | 22 | 34.4 | 2.73 | 0.94 | 0.06 | 0.18 | 3 | 3 | ||||
| QPR (1 Season) | 3 Leagues | 33.5 | 15 | 89 | 28 | 31.5 | 2.65 | 0.84 | 0.17 | 0.54 | 0 | 0 | ||||
| West Brom (1 Season) | 2 Leagues | 11.2 | 1 | 35 | 8 | 22.9 | 3.12 | 0.71 | 0.03 | 0.13 | 0 | 0 | ||||
| Port Vale (1 Season) | 1 League | 8.1 | 4 | 8 | 0.99 | 0.50 | 0 | 0 | ||||||||
| Cardiff City (1 Season) | 2 Leagues | 16.0 | 4 | 37 | 11 | 29.7 | 2.31 | 0.69 | 0.11 | 0.36 | 0 | 0 | ||||
| Hartlepool United (1 Season) | 1 League | 6.9 | 4 | 8 | 1.16 | 0.50 | 0 | 0 | ||||||||
| Gateshead (1 Season) | 1 League | 3.9 | 5 | 7 | 1.81 | 0.71 | 0 | 0 | ||||||||
| Tranmere Rovers (1 Season) | 1 League | 3.1 | 0 | 1 | 0.32 | 0.00 | 0 | 0 | ||||||||
| West Ham United (1 Season) | 1 League | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||
| Middlesbrough (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | |||||||||||
| EFL Cup (11 Seasons) | 11.7 | 8 | 29 | 8 | 27.6 | 3.07 | 0.85 | 0.17 | 0.63 | 1 | 1 | |||||
| FA Cup (11 Seasons) | 9.5 | 3 | 11 | 7 | 63.6 | 1.80 | 1.14 | 0.27 | 0.43 | 0 | 0 | |||||
| Championship (9 Seasons) | 200.4 | 61 | 352 | 160 | 42.0 | 1.86 | 0.80 | 0.15 | 0.34 | 6 | 7 | |||||
| League One (4 Seasons) | 36.8 | 7 | 55 | 26 | 29.1 | 1.99 | 0.71 | 0.04 | 0.23 | 1 | 1 | |||||
| League Two (1 Season) | 10.0 | 4 | 9 | 0.90 | 0.44 | 0 | 0 | |||||||||
| Conf Premier (1 Season) | 3.9 | 5 | 7 | 1.81 | 0.71 | 0 | 0 | |||||||||
| Premier League (1 Season) | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| PL2 — Div. 2 (1 Season) | 1.0 | 0 | 0 | 0 | ||||||||||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2013-2014 | 21 | Port Vale | 1 League | 8.1 | 4 | 8 | 0.99 | 0.50 | 0 | 0 | |||||
| 2013-2014 | 21 | Gateshead | 1 League | 3.9 | 5 | 7 | 1.81 | 0.71 | 0 | 0 | |||||
| 2014-2015 | 22 | Tranmere Rovers | 1 League | 3.1 | 0 | 1 | 0.32 | 0.00 | 0 | 0 | |||||
| 2014-2015 | 22 | Hartlepool United | 1 League | 6.9 | 4 | 8 | 1.16 | 0.50 | 0 | 0 | |||||
| 2014-2015 | 22 | Preston North End | 2 Leagues | 2.0 | 1 | 2 | 1.84 | 0.00 | 0 | 0 | |||||
| 2015-2016 | 23 | Preston North End | 3 Leagues | 12.2 | 5 | 12 | 1.13 | 0.25 | 1 | 1 | |||||
| 2016-2017 | 24 | Preston North End | 3 Leagues | 37.4 | 13 | 7 | 28 | 400.0 | 0.19 | 0.77 | 1.86 | 0.46 | 0 | 1 | |
| 2017-2018 | 25 | Preston North End | 3 Leagues | 26.4 | 10 | 63 | 26 | 41.3 | 2.39 | 0.99 | 0.16 | 0.38 | 0 | 0 | |
| 2017-2018 | 25 | West Ham United | 1 League | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2018-2019 | 26 | Middlesbrough | 3 Leagues | 23.4 | 7 | 64 | 22 | 34.4 | 2.73 | 0.94 | 0.06 | 0.18 | 3 | 3 | |
| 2018-2019 | 26 | Middlesbrough | 1 League | 1.0 | 0 | 0 | 0 | ||||||||
| 2019-2020 | 27 | QPR | 3 Leagues | 33.5 | 15 | 89 | 28 | 31.5 | 2.65 | 0.84 | 0.17 | 0.54 | 0 | 0 | |
| 2020-2021 | 28 | Norwich City | 3 Leagues | 10.2 | 5 | 27 | 15 | 55.6 | 2.64 | 1.47 | 0.15 | 0.27 | 1 | 1 | |
| 2021-2022 | 29 | West Brom | 2 Leagues | 11.2 | 1 | 35 | 8 | 22.9 | 3.12 | 0.71 | 0.03 | 0.13 | 0 | 0 | |
| 2021-2022 | 29 | Cardiff City | 2 Leagues | 16.0 | 4 | 37 | 11 | 29.7 | 2.31 | 0.69 | 0.11 | 0.36 | 0 | 0 | |
| 2022-2023 | 30 | Norwich City | 3 Leagues | 2.7 | 1 | 5 | 5 | 100.0 | 1.84 | 1.84 | 0.20 | 0.20 | 0 | 0 | |
| 2022-2023 | 30 | Rotherham United | 1 League | 15.7 | 5 | 23 | 10 | 43.5 | 1.46 | 0.64 | 0.13 | 0.30 | 2 | 2 | |
| 2023-2024 | 31 | Rotherham United | 3 Leagues | 28.0 | 5 | 38 | 10 | 26.3 | 1.36 | 0.36 | 0.13 | 0.50 | 0 | 0 | |
| 2024-2025 | 32 | Rotherham United | 3 Leagues | 10.6 | 1 | 23 | 6 | 26.1 | 2.40 | 0.63 | 0.04 | 0.17 | 0 | 0 | |
| 2025-2026 | 33 | Rotherham United | 3 Leagues | 20.9 | 2 | 36 | 10 | 27.8 | 1.84 | 0.51 | 0.03 | 0.10 | 1 | 1 | |
| 13 Seasons | 12 Clubs | 7 Leagues | 272.6 | 88 | 447 | 217 | 40.0 | 1.92 | 0.81 | 0.14 | 0.36 | 8 | 9 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Rotherham United (4 Seasons) | 4 Leagues | 75.2 | 13 | 120 | 36 | 30.0 | 1.65 | 0.49 | 0.08 | 0.28 | 3 | 3 | |||
| Preston North End (4 Seasons) | 4 Leagues | 77.9 | 29 | 70 | 68 | 77.1 | 1.11 | 0.91 | 0.33 | 0.38 | 1 | 2 | |||
| Norwich City (2 Seasons) | 3 Leagues | 12.9 | 6 | 32 | 20 | 62.5 | 2.47 | 1.55 | 0.16 | 0.25 | 1 | 1 | |||
| Middlesbrough (1 Season) | 3 Leagues | 23.4 | 7 | 64 | 22 | 34.4 | 2.73 | 0.94 | 0.06 | 0.18 | 3 | 3 | |||
| QPR (1 Season) | 3 Leagues | 33.5 | 15 | 89 | 28 | 31.5 | 2.65 | 0.84 | 0.17 | 0.54 | 0 | 0 | |||
| West Brom (1 Season) | 2 Leagues | 11.2 | 1 | 35 | 8 | 22.9 | 3.12 | 0.71 | 0.03 | 0.13 | 0 | 0 | |||
| Port Vale (1 Season) | 1 League | 8.1 | 4 | 8 | 0.99 | 0.50 | 0 | 0 | |||||||
| Cardiff City (1 Season) | 2 Leagues | 16.0 | 4 | 37 | 11 | 29.7 | 2.31 | 0.69 | 0.11 | 0.36 | 0 | 0 | |||
| Hartlepool United (1 Season) | 1 League | 6.9 | 4 | 8 | 1.16 | 0.50 | 0 | 0 | |||||||
| Gateshead (1 Season) | 1 League | 3.9 | 5 | 7 | 1.81 | 0.71 | 0 | 0 | |||||||
| Tranmere Rovers (1 Season) | 1 League | 3.1 | 0 | 1 | 0.32 | 0.00 | 0 | 0 | |||||||
| West Ham United (1 Season) | 1 League | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||
| Middlesbrough (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | ||||||||||
| EFL Cup (11 Seasons) | 11.7 | 8 | 29 | 8 | 27.6 | 3.07 | 0.85 | 0.17 | 0.63 | 1 | 1 | ||||
| FA Cup (11 Seasons) | 9.5 | 3 | 11 | 7 | 63.6 | 1.80 | 1.14 | 0.27 | 0.43 | 0 | 0 | ||||
| Championship (9 Seasons) | 200.4 | 61 | 352 | 160 | 42.0 | 1.86 | 0.80 | 0.15 | 0.34 | 6 | 7 | ||||
| League One (4 Seasons) | 36.8 | 7 | 55 | 26 | 29.1 | 1.99 | 0.71 | 0.04 | 0.23 | 1 | 1 | ||||
| League Two (1 Season) | 10.0 | 4 | 9 | 0.90 | 0.44 | 0 | 0 | ||||||||
| Conf Premier (1 Season) | 3.9 | 5 | 7 | 1.81 | 0.71 | 0 | 0 | ||||||||
| Premier League (1 Season) | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||
| PL2 — Div. 2 (1 Season) | 1.0 | 0 | 0 | 0 | |||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2013-2014 | 21 | Port Vale | eng ENG | 3. League One | 9th | 8.1 | 4 | 8 | 0.99 | 0.50 | 0 | 0 | |||||
| 2013-2014 | 21 | Gateshead | eng ENG | 5. Conf Premier | 3rd | 3.9 | 5 | 7 | 1.81 | 0.71 | 0 | 0 | |||||
| 2014-2015 | 22 | Tranmere Rovers | eng ENG | 4. League Two | 24th | 3.1 | 0 | 1 | 0.32 | 0.00 | 0 | 0 | Matches | ||||
| 2014-2015 | 22 | Hartlepool United | eng ENG | 4. League Two | 22nd | 6.9 | 4 | 8 | 1.16 | 0.50 | 0 | 0 | Matches | ||||
| 2014-2015 | 22 | Preston North End | eng ENG | 3. League One | 3rd | 1.1 | 0 | 2 | 1.84 | 0.00 | 0 | 0 | Matches | ||||
| 2015-2016 | 23 | Preston North End | eng ENG | 2. Championship | 11th | 10.6 | 3 | 12 | 1.13 | 0.25 | 0 | 0 | Matches | ||||
| 2016-2017 | 24 | Preston North End | eng ENG | 2. Championship | 11th | 35.2 | 12 | 0 | 27 | 0.00 | 0.77 | 0.44 | 0 | 1 | Matches | ||
| 2017-2018 | 25 | Preston North End | eng ENG | 2. Championship | 7th | 25.1 | 8 | 57 | 22 | 38.6 | 2.27 | 0.88 | 0.14 | 0.36 | 0 | 0 | Matches |
| 2017-2018 | 25 | West Ham United | eng ENG | 1. Premier League | 13th | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 26 | Middlesbrough | eng ENG | 2. Championship | 7th | 20.9 | 6 | 55 | 20 | 36.4 | 2.64 | 0.96 | 0.05 | 0.15 | 3 | 3 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | Jr. PL2 — Div. 2 | 8th | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2019-2020 | 27 | QPR | eng ENG | 2. Championship | 13th | 31.5 | 13 | 85 | 25 | 29.4 | 2.70 | 0.79 | 0.15 | 0.52 | 0 | 0 | Matches |
| 2020-2021 | 28 | Norwich City | eng ENG | 2. Championship | 1st | 7.7 | 4 | 24 | 13 | 54.2 | 3.11 | 1.69 | 0.13 | 0.23 | 1 | 1 | Matches |
| 2021-2022 | 29 | West Brom | eng ENG | 2. Championship | 10th | 11.2 | 1 | 35 | 8 | 22.9 | 3.12 | 0.71 | 0.03 | 0.13 | 0 | 0 | Matches |
| 2021-2022 | 29 | Cardiff City | eng ENG | 2. Championship | 18th | 15.6 | 4 | 37 | 11 | 29.7 | 2.37 | 0.70 | 0.11 | 0.36 | 0 | 0 | Matches |
| 2022-2023 | 30 | Norwich City | eng ENG | 2. Championship | 13th | 0.8 | 0 | 2 | 2 | 100.0 | 2.65 | 2.65 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 30 | Rotherham United | eng ENG | 2. Championship | 19th | 15.7 | 5 | 23 | 10 | 43.5 | 1.46 | 0.64 | 0.13 | 0.30 | 2 | 2 | Matches |
| 2023-2024 | 31 | Rotherham United | eng ENG | 2. Championship | 24th | 25.9 | 5 | 34 | 10 | 29.4 | 1.31 | 0.39 | 0.15 | 0.50 | 0 | 0 | Matches |
| 2024-2025 | 32 | Rotherham United | eng ENG | 3. League One | 13th | 9.6 | 1 | 23 | 6 | 26.1 | 2.40 | 0.63 | 0.04 | 0.17 | 0 | 0 | Matches |
| 2025-2026 | 33 | Rotherham United | eng ENG | 3. League One | 23rd | 18.0 | 2 | 32 | 10 | 31.3 | 1.77 | 0.55 | 0.03 | 0.10 | 1 | 1 | Matches |
| 13 Seasons | 12 Clubs | 5 Leagues | 251.4 | 77 | 407 | 202 | 40.3 | 1.87 | 0.80 | 0.13 | 0.35 | 7 | 8 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Rotherham United (4 Seasons) | 2 Leagues | 69.3 | 13 | 112 | 36 | 32.1 | 1.62 | 0.52 | 0.09 | 0.28 | 3 | 3 | |||||
| Preston North End (4 Seasons) | 2 Leagues | 72.1 | 23 | 57 | 63 | 86.0 | 0.94 | 0.87 | 0.35 | 0.37 | 0 | 1 | |||||
| Norwich City (2 Seasons) | 1 League | 8.5 | 4 | 26 | 15 | 57.7 | 3.07 | 1.77 | 0.12 | 0.20 | 1 | 1 | |||||
| QPR (1 Season) | 1 League | 31.5 | 13 | 85 | 25 | 29.4 | 2.70 | 0.79 | 0.15 | 0.52 | 0 | 0 | |||||
| Middlesbrough (1 Season) | 1 League | 20.9 | 6 | 55 | 20 | 36.4 | 2.64 | 0.96 | 0.05 | 0.15 | 3 | 3 | |||||
| West Brom (1 Season) | 1 League | 11.2 | 1 | 35 | 8 | 22.9 | 3.12 | 0.71 | 0.03 | 0.13 | 0 | 0 | |||||
| Port Vale (1 Season) | 1 League | 8.1 | 4 | 8 | 0.99 | 0.50 | 0 | 0 | |||||||||
| Cardiff City (1 Season) | 1 League | 15.6 | 4 | 37 | 11 | 29.7 | 2.37 | 0.70 | 0.11 | 0.36 | 0 | 0 | |||||
| Hartlepool United (1 Season) | 1 League | 6.9 | 4 | 8 | 1.16 | 0.50 | 0 | 0 | |||||||||
| Gateshead (1 Season) | 1 League | 3.9 | 5 | 7 | 1.81 | 0.71 | 0 | 0 | |||||||||
| Tranmere Rovers (1 Season) | 1 League | 3.1 | 0 | 1 | 0.32 | 0.00 | 0 | 0 | |||||||||
| West Ham United (1 Season) | 1 League | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Middlesbrough (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | ||||||||||||
| Championship (9 Seasons) | 200.4 | 61 | 352 | 160 | 42.0 | 1.86 | 0.80 | 0.15 | 0.34 | 6 | 7 | ||||||
| League One (4 Seasons) | 36.8 | 7 | 55 | 26 | 29.1 | 1.99 | 0.71 | 0.04 | 0.23 | 1 | 1 | ||||||
| League Two (1 Season) | 10.0 | 4 | 9 | 0.90 | 0.44 | 0 | 0 | ||||||||||
| Conf Premier (1 Season) | 3.9 | 5 | 7 | 1.81 | 0.71 | 0 | 0 | ||||||||||
| Premier League (1 Season) | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||||
| PL2 — Div. 2 (1 Season) | 1.0 | 0 | 0 | 0 | |||||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014-2015 | 22 | Preston North End | eng ENG | League Cup | 33rd | 0.9 | 1 | 0 | 0 | Matches | |||||||
| 2015-2016 | 23 | Preston North End | eng ENG | FA Cup | 33rd | 0.2 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 23 | Preston North End | eng ENG | League Cup | 17th | 1.4 | 2 | 1 | 1 | Matches | |||||||
| 2016-2017 | 24 | Preston North End | eng ENG | EFL Cup | 9th | 1.3 | 1 | 7 | 1 | 14.3 | 5.34 | 0.76 | 0.14 | 1.00 | 0 | 0 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | FA Cup | 33rd | 0.8 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 25 | Preston North End | eng ENG | EFL Cup | 58th | 1.0 | 2 | 5 | 3 | 60.0 | 5.00 | 3.00 | 0.40 | 0.67 | 0 | 0 | Matches |
| 2017-2018 | 25 | Preston North End | eng ENG | FA Cup | 17th | 0.3 | 0 | 1 | 1 | 100.0 | 3.91 | 3.91 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | EFL Cup | 5th | 1.9 | 1 | 8 | 2 | 25.0 | 4.14 | 1.03 | 0.13 | 0.50 | 0 | 0 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | FA Cup | 17th | 0.6 | 0 | 1 | 0 | 0.0 | 1.61 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2019-2020 | 27 | QPR | eng ENG | FA Cup | 17th | 2.0 | 2 | 4 | 3 | 75.0 | 2.00 | 1.50 | 0.50 | 0.67 | 0 | 0 | Matches |
| 2020-2021 | 28 | Norwich City | eng ENG | EFL Cup | 58th | 1.0 | 0 | 1 | 1 | 100.0 | 1.00 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 28 | Norwich City | eng ENG | FA Cup | 17th | 1.5 | 1 | 2 | 1 | 50.0 | 1.33 | 0.67 | 0.50 | 1.00 | 0 | 0 | Matches |
| 2021-2022 | 29 | Cardiff City | eng ENG | FA Cup | 0.4 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | ||||
| 2022-2023 | 30 | Norwich City | eng ENG | EFL Cup | Rd2 | 1.6 | 1 | 1 | 1 | 100.0 | 0.63 | 0.63 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2022-2023 | 30 | Norwich City | eng ENG | FA Cup | 0.4 | 0 | 2 | 2 | 100.0 | 5.29 | 5.29 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 31 | Rotherham United | eng ENG | EFL Cup | Rd2 | 1.1 | 0 | 3 | 0 | 0.0 | 2.81 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 31 | Rotherham United | eng ENG | FA Cup | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | ||
| 2024-2025 | 32 | Rotherham United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | Matches | ||||||||
| 2025-2026 | 33 | Rotherham United | eng ENG | EFL Cup | Rd2 | 1.6 | 0 | 4 | 0 | 0.0 | 2.57 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2025-2026 | 33 | Rotherham United | eng ENG | FA Cup | 1.3 | 0 | 0 | 0 | Matches | ||||||||
| 12 Seasons | 7 Clubs | 2 Leagues | 21.2 | 11 | 40 | 15 | 37.5 | 2.57 | 0.96 | 0.20 | 0.53 | 1 | 1 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Preston North End (4 Seasons) | 2 Leagues | 5.8 | 6 | 13 | 5 | 38.5 | 5.06 | 1.95 | 0.23 | 0.60 | 1 | 1 | |||||
| Rotherham United (3 Seasons) | 2 Leagues | 6.0 | 0 | 8 | 0 | 0.0 | 2.21 | 0.00 | 0.00 | 0 | 0 | ||||||
| Norwich City (2 Seasons) | 2 Leagues | 4.5 | 2 | 6 | 5 | 83.3 | 1.34 | 1.12 | 0.33 | 0.40 | 0 | 0 | |||||
| Middlesbrough (1 Season) | 2 Leagues | 2.6 | 1 | 9 | 2 | 22.2 | 3.52 | 0.78 | 0.11 | 0.50 | 0 | 0 | |||||
| QPR (1 Season) | 2 Leagues | 2.0 | 2 | 4 | 3 | 75.0 | 2.00 | 1.50 | 0.50 | 0.67 | 0 | 0 | |||||
| Cardiff City (1 Season) | 1 League | 0.4 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| West Brom (1 Season) | 1 League | ||||||||||||||||
| EFL Cup (11 Seasons) | 11.7 | 8 | 29 | 8 | 27.6 | 3.07 | 0.85 | 0.17 | 0.63 | 1 | 1 | ||||||
| FA Cup (11 Seasons) | 9.5 | 3 | 11 | 7 | 63.6 | 1.80 | 1.14 | 0.27 | 0.43 | 0 | 0 | ||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2013-2014 | 21 | Gateshead | eng ENG | 5. Conf Premier | 7 | 349 | 50 | 8.4 | 3.9 | 4 | 3 | |||||||||||
| 2013-2014 | 21 | Port Vale | eng ENG | 3. League One | 20 | 728 | 36 | 17.6 | 8.1 | 7 | 13 | |||||||||||
| 2014-2015 | 22 | Preston North End | eng ENG | League Cup | 2 | 78 | 39 | 43.3 | 0.9 | 1 | 68 | 0 | 1 | 10 | 0 | 1.50 | 1 | 3 | -2 | -2.31 | -4.07 | Matches |
| 2014-2015 | 22 | Preston North End | eng ENG | 3. League One | 3 | 98 | 33 | 2.4 | 1.1 | 0 | 0 | 3 | 0 | 1.33 | 1 | 1 | 0 | 0.00 | -0.87 | Matches | ||
| 2014-2015 | 22 | Tranmere Rovers | eng ENG | 4. League Two | 6 | 282 | 47 | 6.8 | 3.1 | 4 | 1 | 2 | 0 | 0.50 | 3 | 9 | -6 | -1.91 | -1.54 | Matches | ||
| 2014-2015 | 22 | Hartlepool United | eng ENG | 4. League Two | 8 | 622 | 78 | 15.0 | 6.9 | 8 | 3 | 0 | 0 | 1.13 | 10 | 12 | -2 | -0.29 | +0.45 | Matches | ||
| 2015-2016 | 23 | Preston North End | eng ENG | 2. Championship | 29 | 956 | 33 | 23.1 | 10.6 | 8 | 5 | 21 | 11 | 1.55 | 14 | 9 | +5 | +0.47 | +0.61 | Matches | ||
| 2015-2016 | 23 | Preston North End | eng ENG | FA Cup | 1 | 16 | 16 | 17.8 | 0.2 | 0 | 0 | 1 | 15 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +2.43 | Matches | |
| 2015-2016 | 23 | Preston North End | eng ENG | League Cup | 2 | 127 | 64 | 42.3 | 1.4 | 1 | 81 | 0 | 1 | 46 | 0 | 1.50 | 4 | 2 | +2 | +1.42 | +0.90 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | 2. Championship | 44 | 3,172 | 72 | 76.6 | 35.2 | 35 | 18 | 9 | 1 | 1.41 | 53 | 46 | +7 | +0.20 | +0.76 | Matches | ||
| 2016-2017 | 24 | Preston North End | eng ENG | EFL Cup | 2 | 118 | 59 | 30.3 | 1.3 | 1 | 91 | 1 | 1 | 27 | 2 | 3.00 | 3 | 0 | +3 | +2.29 | +3.94 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | FA Cup | 1 | 74 | 74 | 82.2 | 0.8 | 1 | 74 | 0 | 0 | 0 | 0.00 | 1 | 1 | 0 | 0.00 | +5.63 | Matches | |
| 2017-2018 | 25 | Preston North End | eng ENG | 2. Championship | 27 | 2,262 | 84 | 54.6 | 25.1 | 26 | 21 | 1 | 0 | 1.52 | 29 | 25 | +4 | +0.16 | -0.18 | Matches | ||
| 2017-2018 | 25 | Preston North End | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 2 | 3 | -1 | -1.00 | Matches | ||
| 2017-2018 | 25 | Preston North End | eng ENG | FA Cup | 1 | 23 | 23 | 12.8 | 0.3 | 0 | 0 | 1 | 23 | 0 | 0.00 | 0 | 1 | -1 | -3.91 | -6.21 | Matches | |
| 2017-2018 | 25 | West Ham United | eng ENG | 1. Premier League | 3 | 25 | 8 | 0.7 | 0.3 | 0 | 0 | 3 | 9 | 2.00 | 0 | 0 | 0 | 0.00 | +0.53 | Matches | ||
| 2018-2019 | 26 | Middlesbrough | eng ENG | 2. Championship | 37 | 1,878 | 51 | 45.4 | 20.9 | 20 | 81 | 11 | 17 | 15 | 5 | 1.41 | 23 | 23 | 0 | 0.00 | -0.32 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | EFL Cup | 3 | 174 | 58 | 34.1 | 1.9 | 3 | 58 | 0 | 0 | 0 | 2.00 | 3 | 1 | +2 | +1.03 | +1.30 | Matches | |
| 2018-2019 | 26 | Middlesbrough | eng ENG | FA Cup | 1 | 56 | 56 | 20.7 | 0.6 | 1 | 56 | 0 | 0 | 1 | 0.00 | 0 | 1 | -1 | -1.61 | -3.29 | Matches | |
| 2018-2019 | 26 | Middlesbrough | eng ENG | Jr. PL2 — Div. 2 | 1 | 90 | 90 | 4.5 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.86 | Matches | |
| 2019-2020 | 27 | QPR | eng ENG | 2. Championship | 39 | 2,837 | 73 | 68.5 | 31.5 | 30 | 87 | 26 | 9 | 26 | 0 | 1.28 | 38 | 54 | -16 | -0.51 | -0.99 | Matches |
| 2019-2020 | 27 | QPR | eng ENG | EFL Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2019-2020 | 27 | QPR | eng ENG | FA Cup | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 6 | 3 | +3 | +1.50 | Matches | ||
| 2020-2021 | 28 | Norwich City | eng ENG | 2. Championship | 31 | 694 | 22 | 16.8 | 7.7 | 7 | 73 | 2 | 24 | 8 | 5 | 2.13 | 12 | 7 | +5 | +0.65 | -0.24 | Matches |
| 2020-2021 | 28 | Norwich City | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 3 | -2 | -2.00 | Matches | ||
| 2020-2021 | 28 | Norwich City | eng ENG | FA Cup | 2 | 135 | 68 | 75.0 | 1.5 | 2 | 68 | 0 | 0 | 0 | 1.50 | 2 | 1 | +1 | +0.67 | +0.67 | Matches | |
| 2021-2022 | 29 | West Brom | eng ENG | 2. Championship | 20 | 1,010 | 51 | 24.4 | 11.2 | 7 | 80 | 4 | 13 | 35 | 1 | 1.55 | 16 | 7 | +9 | +0.80 | +0.86 | Matches |
| 2021-2022 | 29 | Cardiff City | eng ENG | 2. Championship | 18 | 1,407 | 78 | 34.0 | 15.6 | 17 | 80 | 5 | 1 | 54 | 2 | 1.67 | 18 | 12 | +6 | +0.38 | +1.17 | Matches |
| 2021-2022 | 29 | West Brom | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2021-2022 | 29 | Cardiff City | eng ENG | FA Cup | 1 | 33 | 33 | 15.7 | 0.4 | 0 | 0 | 1 | 33 | 0 | 0.00 | 1 | 2 | -1 | -2.73 | -2.73 | Matches | |
| 2022-2023 | 30 | Rotherham United | eng ENG | 2. Championship | 18 | 1,415 | 79 | 34.2 | 15.7 | 18 | 79 | 5 | 0 | 0 | 1.06 | 14 | 15 | -1 | -0.06 | +0.27 | Matches | |
| 2022-2023 | 30 | Norwich City | eng ENG | 2. Championship | 7 | 68 | 10 | 1.6 | 0.8 | 0 | 0 | 7 | 10 | 10 | 1.71 | 0 | 3 | -3 | -3.97 | -4.10 | Matches | |
| 2022-2023 | 30 | Norwich City | eng ENG | EFL Cup | 2 | 143 | 72 | 68.1 | 1.6 | 2 | 72 | 0 | 0 | 0 | 1.00 | 3 | 2 | +1 | +0.63 | +1.97 | Matches | |
| 2022-2023 | 30 | Norwich City | eng ENG | FA Cup | 1 | 34 | 34 | 37.8 | 0.4 | 0 | 0 | 1 | 34 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.61 | Matches | |
| 2023-2024 | 31 | Rotherham United | eng ENG | 2. Championship | 39 | 2,334 | 60 | 56.4 | 25.9 | 29 | 73 | 2 | 10 | 23 | 1 | 0.59 | 25 | 47 | -22 | -0.85 | +0.65 | Matches |
| 2023-2024 | 31 | Rotherham United | eng ENG | EFL Cup | 2 | 96 | 48 | 45.7 | 1.1 | 1 | 48 | 0 | 1 | 48 | 0 | 0.50 | 1 | 4 | -3 | -2.81 | -1.23 | Matches |
| 2023-2024 | 31 | Rotherham United | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | ||
| 2024-2025 | 32 | Rotherham United | eng ENG | EFL Cup | 0 | 0 | 0 | 0 | 2 | Matches | ||||||||||||
| 2024-2025 | 32 | Rotherham United | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 3 | -2 | -2.00 | Matches | ||
| 2024-2025 | 32 | Rotherham United | eng ENG | 3. League One | 28 | 863 | 31 | 20.8 | 9.6 | 7 | 70 | 0 | 21 | 18 | 16 | 0.96 | 7 | 11 | -4 | -0.42 | -0.39 | Matches |
| 2025-2026 | 33 | Rotherham United | eng ENG | EFL Cup | 2 | 140 | 70 | 77.8 | 1.6 | 2 | 70 | 0 | 0 | 0 | 0.50 | 1 | 2 | -1 | -0.64 | -0.64 | Matches | |
| 2025-2026 | 33 | Rotherham United | eng ENG | FA Cup | 1 | 120 | 120 | 100.0 | 1.3 | 1 | 120 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -0.75 | Matches | ||
| 2025-2026 | 33 | Rotherham United | eng ENG | 3. League One | 28 | 1,624 | 58 | 39.2 | 18.0 | 20 | 73 | 7 | 8 | 20 | 4 | 0.86 | 18 | 27 | -9 | -0.50 | +0.25 | Matches |
| 13 Seasons | 12 Clubs | 7 Leagues | 442 | 24,531 | 56 | 29.8 | 272.6 | 269 | 78 | 118 | 173 | 19 | 72 | 1.28 | 312 | 343 | -31 | -0.12 | 0.00 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Rotherham United (4 Seasons) | 4 Leagues | 120 | 6,772 | 56 | 38.9 | 75.2 | 80 | 74 | 17 | 40 | 20 | 23 | 0.79 | 68 | 112 | -44 | -0.58 | -0.04 | ||||
| Preston North End (4 Seasons) | 4 Leagues | 113 | 7,014 | 62 | 39.2 | 77.9 | 74 | 81 | 46 | 39 | 24 | 14 | 1.45 | 108 | 91 | +17 | +0.22 | -0.06 | ||||
| Norwich City (2 Seasons) | 3 Leagues | 44 | 1,164 | 26 | 13.2 | 12.9 | 12 | 73 | 3 | 32 | 9 | 15 | 1.89 | 18 | 16 | +2 | +0.15 | -0.29 | ||||
| Middlesbrough (1 Season) | 3 Leagues | 41 | 2,108 | 51 | 42.8 | 23.4 | 24 | 77 | 11 | 17 | 15 | 6 | 1.42 | 26 | 25 | +1 | +0.04 | -0.31 | ||||
| QPR (1 Season) | 3 Leagues | 41 | 3,017 | 74 | 66.6 | 33.5 | 32 | 87 | 28 | 9 | 26 | 1 | 1.29 | 44 | 57 | -13 | -0.39 | -0.87 | ||||
| West Brom (1 Season) | 2 Leagues | 20 | 1,010 | 51 | 23.7 | 11.2 | 7 | 80 | 4 | 13 | 35 | 2 | 1.55 | 16 | 7 | +9 | +0.80 | +0.86 | ||||
| Port Vale (1 Season) | 1 League | 20 | 728 | 36 | 17.6 | 8.1 | 7 | 13 | ||||||||||||||
| Cardiff City (1 Season) | 2 Leagues | 19 | 1,440 | 76 | 33.1 | 16.0 | 17 | 80 | 5 | 2 | 44 | 2 | 1.58 | 19 | 14 | +5 | +0.31 | +1.05 | ||||
| Hartlepool United (1 Season) | 1 League | 8 | 622 | 78 | 15.0 | 6.9 | 8 | 3 | 0 | 0 | 1.13 | 10 | 12 | -2 | -0.29 | +0.45 | ||||||
| Gateshead (1 Season) | 1 League | 7 | 349 | 50 | 8.4 | 3.9 | 4 | 3 | ||||||||||||||
| Tranmere Rovers (1 Season) | 1 League | 6 | 282 | 47 | 6.8 | 3.1 | 4 | 1 | 2 | 0 | 0.50 | 3 | 9 | -6 | -1.91 | -1.54 | ||||||
| West Ham United (1 Season) | 1 League | 3 | 25 | 8 | 0.7 | 0.3 | 0 | 0 | 3 | 9 | 2.00 | 0 | 0 | 0 | 0.00 | +0.53 | ||||||
| Middlesbrough (1 Season) | 1 League | 1 | 90 | 90 | 4.5 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.86 | |||||
| EFL Cup (11 Seasons) | 17 | 1,056 | 62 | 41.4 | 11.7 | 13 | 71 | 3 | 4 | 33 | 5 | 1.29 | 19 | 20 | -1 | -0.09 | +0.40 | |||||
| FA Cup (11 Seasons) | 13 | 851 | 65 | 49.8 | 9.5 | 9 | 83 | 5 | 4 | 26 | 2 | 0.46 | 12 | 15 | -3 | -0.32 | -0.80 | |||||
| Championship (9 Seasons) | 309 | 18,033 | 58 | 39.6 | 200.4 | 197 | 79 | 99 | 112 | 18 | 36 | 1.40 | 242 | 248 | -6 | -0.03 | +0.02 | |||||
| League One (4 Seasons) | 79 | 3,313 | 42 | 20.0 | 36.8 | 34 | 72 | 7 | 45 | 19 | 20 | 0.93 | 26 | 39 | -13 | -0.45 | -0.61 | |||||
| League Two (1 Season) | 14 | 904 | 65 | 10.9 | 10.0 | 12 | 4 | 2 | 0 | 0.86 | 13 | 21 | -8 | -0.80 | -0.25 | |||||||
| Conf Premier (1 Season) | 7 | 349 | 50 | 8.4 | 3.9 | 4 | 3 | |||||||||||||||
| Premier League (1 Season) | 3 | 25 | 8 | 0.7 | 0.3 | 0 | 0 | 3 | 9 | 2.00 | 0 | 0 | 0 | 0.00 | +0.53 | |||||||
| PL2 — Div. 2 (1 Season) | 1 | 90 | 90 | 4.5 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.86 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2013-2014 | 21 | Port Vale | 1 League | 20 | 728 | 36 | 17.6 | 8.1 | 7 | 13 | |||||||||||
| 2013-2014 | 21 | Gateshead | 1 League | 7 | 349 | 50 | 8.4 | 3.9 | 4 | 3 | |||||||||||
| 2014-2015 | 22 | Tranmere Rovers | 1 League | 6 | 282 | 47 | 6.8 | 3.1 | 4 | 1 | 2 | 0 | 0.50 | 3 | 9 | -6 | -1.91 | -1.54 | |||
| 2014-2015 | 22 | Hartlepool United | 1 League | 8 | 622 | 78 | 15.0 | 6.9 | 8 | 3 | 0 | 0 | 1.13 | 10 | 12 | -2 | -0.29 | +0.45 | |||
| 2014-2015 | 22 | Preston North End | 2 Leagues | 5 | 176 | 35 | 4.1 | 2.0 | 1 | 68 | 0 | 4 | 10 | 0 | 1.40 | 2 | 4 | -2 | -1.02 | -1.91 | |
| 2015-2016 | 23 | Preston North End | 3 Leagues | 32 | 1,099 | 34 | 24.3 | 12.2 | 9 | 82 | 5 | 23 | 31 | 11 | 1.50 | 18 | 11 | +7 | +0.57 | +0.73 | |
| 2016-2017 | 24 | Preston North End | 3 Leagues | 47 | 3,364 | 72 | 72.8 | 37.4 | 37 | 83 | 19 | 10 | 27 | 3 | 1.45 | 57 | 47 | +10 | +0.27 | +1.13 | |
| 2017-2018 | 25 | Preston North End | 3 Leagues | 29 | 2,375 | 82 | 53.9 | 26.4 | 27 | 90 | 22 | 2 | 23 | 0 | 1.42 | 31 | 29 | +2 | +0.08 | -0.41 | |
| 2017-2018 | 25 | West Ham United | 1 League | 3 | 25 | 8 | 0.7 | 0.3 | 0 | 0 | 3 | 9 | 2.00 | 0 | 0 | 0 | 0.00 | +0.53 | |||
| 2018-2019 | 26 | Middlesbrough | 3 Leagues | 41 | 2,108 | 51 | 42.8 | 23.4 | 24 | 77 | 11 | 17 | 15 | 6 | 1.42 | 26 | 25 | +1 | +0.04 | -0.31 | |
| 2018-2019 | 26 | Middlesbrough | 1 League | 1 | 90 | 90 | 4.5 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.86 | ||
| 2019-2020 | 27 | QPR | 3 Leagues | 41 | 3,017 | 74 | 66.6 | 33.5 | 32 | 87 | 28 | 9 | 26 | 1 | 1.29 | 44 | 57 | -13 | -0.39 | -0.87 | |
| 2020-2021 | 28 | Norwich City | 3 Leagues | 34 | 919 | 27 | 20.8 | 10.2 | 10 | 74 | 3 | 24 | 8 | 5 | 2.03 | 15 | 11 | +4 | +0.39 | -0.48 | |
| 2021-2022 | 29 | West Brom | 2 Leagues | 20 | 1,010 | 51 | 23.7 | 11.2 | 7 | 80 | 4 | 13 | 35 | 2 | 1.55 | 16 | 7 | +9 | +0.80 | +0.86 | |
| 2021-2022 | 29 | Cardiff City | 2 Leagues | 19 | 1,440 | 76 | 33.1 | 16.0 | 17 | 80 | 5 | 2 | 44 | 2 | 1.58 | 19 | 14 | +5 | +0.31 | +1.05 | |
| 2022-2023 | 30 | Norwich City | 3 Leagues | 10 | 245 | 25 | 5.5 | 2.7 | 2 | 72 | 0 | 8 | 13 | 10 | 1.40 | 3 | 5 | -2 | -0.73 | -0.82 | |
| 2022-2023 | 30 | Rotherham United | 1 League | 18 | 1,415 | 79 | 34.2 | 15.7 | 18 | 79 | 5 | 0 | 0 | 1.06 | 14 | 15 | -1 | -0.06 | +0.27 | ||
| 2023-2024 | 31 | Rotherham United | 3 Leagues | 42 | 2,520 | 60 | 56.8 | 28.0 | 31 | 72 | 3 | 11 | 25 | 1 | 0.57 | 26 | 52 | -26 | -0.93 | +0.57 | |
| 2024-2025 | 32 | Rotherham United | 3 Leagues | 29 | 953 | 33 | 21.6 | 10.6 | 8 | 72 | 1 | 21 | 18 | 18 | 0.93 | 8 | 14 | -6 | -0.57 | -0.54 | |
| 2025-2026 | 33 | Rotherham United | 3 Leagues | 31 | 1,884 | 61 | 42.4 | 20.9 | 23 | 75 | 8 | 8 | 20 | 4 | 0.81 | 20 | 31 | -11 | -0.53 | +0.21 | |
| 13 Seasons | 12 Clubs | 7 Leagues | 442 | 24,531 | 56 | 29.8 | 272.6 | 269 | 78 | 118 | 173 | 19 | 72 | 1.28 | 312 | 343 | -31 | -0.12 | 0.00 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Rotherham United (4 Seasons) | 4 Leagues | 120 | 6,772 | 56 | 38.9 | 75.2 | 80 | 74 | 17 | 40 | 20 | 23 | 0.79 | 68 | 112 | -44 | -0.58 | -0.04 | |||
| Preston North End (4 Seasons) | 4 Leagues | 113 | 7,014 | 62 | 39.2 | 77.9 | 74 | 81 | 46 | 39 | 24 | 14 | 1.45 | 108 | 91 | +17 | +0.22 | -0.06 | |||
| Norwich City (2 Seasons) | 3 Leagues | 44 | 1,164 | 26 | 13.2 | 12.9 | 12 | 73 | 3 | 32 | 9 | 15 | 1.89 | 18 | 16 | +2 | +0.15 | -0.29 | |||
| Middlesbrough (1 Season) | 3 Leagues | 41 | 2,108 | 51 | 42.8 | 23.4 | 24 | 77 | 11 | 17 | 15 | 6 | 1.42 | 26 | 25 | +1 | +0.04 | -0.31 | |||
| QPR (1 Season) | 3 Leagues | 41 | 3,017 | 74 | 66.6 | 33.5 | 32 | 87 | 28 | 9 | 26 | 1 | 1.29 | 44 | 57 | -13 | -0.39 | -0.87 | |||
| West Brom (1 Season) | 2 Leagues | 20 | 1,010 | 51 | 23.7 | 11.2 | 7 | 80 | 4 | 13 | 35 | 2 | 1.55 | 16 | 7 | +9 | +0.80 | +0.86 | |||
| Port Vale (1 Season) | 1 League | 20 | 728 | 36 | 17.6 | 8.1 | 7 | 13 | |||||||||||||
| Cardiff City (1 Season) | 2 Leagues | 19 | 1,440 | 76 | 33.1 | 16.0 | 17 | 80 | 5 | 2 | 44 | 2 | 1.58 | 19 | 14 | +5 | +0.31 | +1.05 | |||
| Hartlepool United (1 Season) | 1 League | 8 | 622 | 78 | 15.0 | 6.9 | 8 | 3 | 0 | 0 | 1.13 | 10 | 12 | -2 | -0.29 | +0.45 | |||||
| Gateshead (1 Season) | 1 League | 7 | 349 | 50 | 8.4 | 3.9 | 4 | 3 | |||||||||||||
| Tranmere Rovers (1 Season) | 1 League | 6 | 282 | 47 | 6.8 | 3.1 | 4 | 1 | 2 | 0 | 0.50 | 3 | 9 | -6 | -1.91 | -1.54 | |||||
| West Ham United (1 Season) | 1 League | 3 | 25 | 8 | 0.7 | 0.3 | 0 | 0 | 3 | 9 | 2.00 | 0 | 0 | 0 | 0.00 | +0.53 | |||||
| Middlesbrough (1 Season) | 1 League | 1 | 90 | 90 | 4.5 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.86 | ||||
| EFL Cup (11 Seasons) | 17 | 1,056 | 62 | 41.4 | 11.7 | 13 | 71 | 3 | 4 | 33 | 5 | 1.29 | 19 | 20 | -1 | -0.09 | +0.40 | ||||
| FA Cup (11 Seasons) | 13 | 851 | 65 | 49.8 | 9.5 | 9 | 83 | 5 | 4 | 26 | 2 | 0.46 | 12 | 15 | -3 | -0.32 | -0.80 | ||||
| Championship (9 Seasons) | 309 | 18,033 | 58 | 39.6 | 200.4 | 197 | 79 | 99 | 112 | 18 | 36 | 1.40 | 242 | 248 | -6 | -0.03 | +0.02 | ||||
| League One (4 Seasons) | 79 | 3,313 | 42 | 20.0 | 36.8 | 34 | 72 | 7 | 45 | 19 | 20 | 0.93 | 26 | 39 | -13 | -0.45 | -0.61 | ||||
| League Two (1 Season) | 14 | 904 | 65 | 10.9 | 10.0 | 12 | 4 | 2 | 0 | 0.86 | 13 | 21 | -8 | -0.80 | -0.25 | ||||||
| Conf Premier (1 Season) | 7 | 349 | 50 | 8.4 | 3.9 | 4 | 3 | ||||||||||||||
| Premier League (1 Season) | 3 | 25 | 8 | 0.7 | 0.3 | 0 | 0 | 3 | 9 | 2.00 | 0 | 0 | 0 | 0.00 | +0.53 | ||||||
| PL2 — Div. 2 (1 Season) | 1 | 90 | 90 | 4.5 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.86 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2013-2014 | 21 | Port Vale | eng ENG | 3. League One | 9th | 20 | 728 | 36 | 17.6 | 8.1 | 7 | 13 | |||||||||||
| 2013-2014 | 21 | Gateshead | eng ENG | 5. Conf Premier | 3rd | 7 | 349 | 50 | 8.4 | 3.9 | 4 | 3 | |||||||||||
| 2014-2015 | 22 | Tranmere Rovers | eng ENG | 4. League Two | 24th | 6 | 282 | 47 | 6.8 | 3.1 | 4 | 1 | 2 | 0 | 0.50 | 3 | 9 | -6 | -1.91 | -1.54 | Matches | ||
| 2014-2015 | 22 | Hartlepool United | eng ENG | 4. League Two | 22nd | 8 | 622 | 78 | 15.0 | 6.9 | 8 | 3 | 0 | 0 | 1.13 | 10 | 12 | -2 | -0.29 | +0.45 | Matches | ||
| 2014-2015 | 22 | Preston North End | eng ENG | 3. League One | 3rd | 3 | 98 | 33 | 2.4 | 1.1 | 0 | 0 | 3 | 0 | 1.33 | 1 | 1 | 0 | 0.00 | -0.87 | Matches | ||
| 2015-2016 | 23 | Preston North End | eng ENG | 2. Championship | 11th | 29 | 956 | 33 | 23.1 | 10.6 | 8 | 5 | 21 | 11 | 1.55 | 14 | 9 | +5 | +0.47 | +0.61 | Matches | ||
| 2016-2017 | 24 | Preston North End | eng ENG | 2. Championship | 11th | 44 | 3,172 | 72 | 76.6 | 35.2 | 35 | 18 | 9 | 1 | 1.41 | 53 | 46 | +7 | +0.20 | +0.76 | Matches | ||
| 2017-2018 | 25 | Preston North End | eng ENG | 2. Championship | 7th | 27 | 2,262 | 84 | 54.6 | 25.1 | 26 | 21 | 1 | 0 | 1.52 | 29 | 25 | +4 | +0.16 | -0.18 | Matches | ||
| 2017-2018 | 25 | West Ham United | eng ENG | 1. Premier League | 13th | 3 | 25 | 8 | 0.7 | 0.3 | 0 | 0 | 3 | 9 | 2.00 | 0 | 0 | 0 | 0.00 | +0.53 | Matches | ||
| 2018-2019 | 26 | Middlesbrough | eng ENG | 2. Championship | 7th | 37 | 1,878 | 51 | 45.4 | 20.9 | 20 | 81 | 11 | 17 | 15 | 5 | 1.41 | 23 | 23 | 0 | 0.00 | -0.32 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | Jr. PL2 — Div. 2 | 8th | 1 | 90 | 90 | 4.5 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.86 | Matches | |
| 2019-2020 | 27 | QPR | eng ENG | 2. Championship | 13th | 39 | 2,837 | 73 | 68.5 | 31.5 | 30 | 87 | 26 | 9 | 26 | 0 | 1.28 | 38 | 54 | -16 | -0.51 | -0.99 | Matches |
| 2020-2021 | 28 | Norwich City | eng ENG | 2. Championship | 1st | 31 | 694 | 22 | 16.8 | 7.7 | 7 | 73 | 2 | 24 | 8 | 5 | 2.13 | 12 | 7 | +5 | +0.65 | -0.24 | Matches |
| 2021-2022 | 29 | West Brom | eng ENG | 2. Championship | 10th | 20 | 1,010 | 51 | 24.4 | 11.2 | 7 | 80 | 4 | 13 | 35 | 1 | 1.55 | 16 | 7 | +9 | +0.80 | +0.86 | Matches |
| 2021-2022 | 29 | Cardiff City | eng ENG | 2. Championship | 18th | 18 | 1,407 | 78 | 34.0 | 15.6 | 17 | 80 | 5 | 1 | 54 | 2 | 1.67 | 18 | 12 | +6 | +0.38 | +1.17 | Matches |
| 2022-2023 | 30 | Norwich City | eng ENG | 2. Championship | 13th | 7 | 68 | 10 | 1.6 | 0.8 | 0 | 0 | 7 | 10 | 10 | 1.71 | 0 | 3 | -3 | -3.97 | -4.10 | Matches | |
| 2022-2023 | 30 | Rotherham United | eng ENG | 2. Championship | 19th | 18 | 1,415 | 79 | 34.2 | 15.7 | 18 | 79 | 5 | 0 | 0 | 1.06 | 14 | 15 | -1 | -0.06 | +0.27 | Matches | |
| 2023-2024 | 31 | Rotherham United | eng ENG | 2. Championship | 24th | 39 | 2,334 | 60 | 56.4 | 25.9 | 29 | 73 | 2 | 10 | 23 | 1 | 0.59 | 25 | 47 | -22 | -0.85 | +0.65 | Matches |
| 2024-2025 | 32 | Rotherham United | eng ENG | 3. League One | 13th | 28 | 863 | 31 | 20.8 | 9.6 | 7 | 70 | 0 | 21 | 18 | 16 | 0.96 | 7 | 11 | -4 | -0.42 | -0.39 | Matches |
| 2025-2026 | 33 | Rotherham United | eng ENG | 3. League One | 23rd | 28 | 1,624 | 58 | 39.2 | 18.0 | 20 | 73 | 7 | 8 | 20 | 4 | 0.86 | 18 | 27 | -9 | -0.50 | +0.25 | Matches |
| 13 Seasons | 12 Clubs | 5 Leagues | 412 | 22,624 | 55 | 29.0 | 251.4 | 247 | 78 | 110 | 165 | 18 | 65 | 1.31 | 281 | 308 | -27 | -0.11 | +0.01 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Rotherham United (4 Seasons) | 2 Leagues | 113 | 6,236 | 55 | 37.7 | 69.3 | 74 | 74 | 14 | 39 | 20 | 21 | 0.82 | 64 | 100 | -36 | -0.52 | +0.02 | |||||
| Preston North End (4 Seasons) | 2 Leagues | 103 | 6,488 | 63 | 39.2 | 72.1 | 69 | 44 | 34 | 12 | 1.48 | 97 | 81 | +16 | +0.22 | -0.09 | |||||||
| Norwich City (2 Seasons) | 1 League | 38 | 762 | 20 | 9.2 | 8.5 | 7 | 73 | 2 | 31 | 8 | 15 | 2.05 | 12 | 10 | +2 | +0.24 | -0.24 | |||||
| QPR (1 Season) | 1 League | 39 | 2,837 | 73 | 68.5 | 31.5 | 30 | 87 | 26 | 9 | 26 | 0 | 1.28 | 38 | 54 | -16 | -0.51 | -0.99 | |||||
| Middlesbrough (1 Season) | 1 League | 37 | 1,878 | 51 | 45.4 | 20.9 | 20 | 81 | 11 | 17 | 15 | 5 | 1.41 | 23 | 23 | 0 | 0.00 | -0.32 | |||||
| West Brom (1 Season) | 1 League | 20 | 1,010 | 51 | 24.4 | 11.2 | 7 | 80 | 4 | 13 | 35 | 1 | 1.55 | 16 | 7 | +9 | +0.80 | +0.86 | |||||
| Port Vale (1 Season) | 1 League | 20 | 728 | 36 | 17.6 | 8.1 | 7 | 13 | |||||||||||||||
| Cardiff City (1 Season) | 1 League | 18 | 1,407 | 78 | 34.0 | 15.6 | 17 | 80 | 5 | 1 | 54 | 2 | 1.67 | 18 | 12 | +6 | +0.38 | +1.17 | |||||
| Hartlepool United (1 Season) | 1 League | 8 | 622 | 78 | 15.0 | 6.9 | 8 | 3 | 0 | 0 | 1.13 | 10 | 12 | -2 | -0.29 | +0.45 | |||||||
| Gateshead (1 Season) | 1 League | 7 | 349 | 50 | 8.4 | 3.9 | 4 | 3 | |||||||||||||||
| Tranmere Rovers (1 Season) | 1 League | 6 | 282 | 47 | 6.8 | 3.1 | 4 | 1 | 2 | 0 | 0.50 | 3 | 9 | -6 | -1.91 | -1.54 | |||||||
| West Ham United (1 Season) | 1 League | 3 | 25 | 8 | 0.7 | 0.3 | 0 | 0 | 3 | 9 | 2.00 | 0 | 0 | 0 | 0.00 | +0.53 | |||||||
| Middlesbrough (1 Season) | 1 League | 1 | 90 | 90 | 4.5 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.86 | ||||||
| Championship (9 Seasons) | 309 | 18,033 | 58 | 39.6 | 200.4 | 197 | 79 | 99 | 112 | 18 | 36 | 1.40 | 242 | 248 | -6 | -0.03 | +0.02 | ||||||
| League One (4 Seasons) | 79 | 3,313 | 42 | 20.0 | 36.8 | 34 | 72 | 7 | 45 | 19 | 20 | 0.93 | 26 | 39 | -13 | -0.45 | -0.61 | ||||||
| League Two (1 Season) | 14 | 904 | 65 | 10.9 | 10.0 | 12 | 4 | 2 | 0 | 0.86 | 13 | 21 | -8 | -0.80 | -0.25 | ||||||||
| Conf Premier (1 Season) | 7 | 349 | 50 | 8.4 | 3.9 | 4 | 3 | ||||||||||||||||
| Premier League (1 Season) | 3 | 25 | 8 | 0.7 | 0.3 | 0 | 0 | 3 | 9 | 2.00 | 0 | 0 | 0 | 0.00 | +0.53 | ||||||||
| PL2 — Div. 2 (1 Season) | 1 | 90 | 90 | 4.5 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | -0.86 | |||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 22 | Preston North End | eng ENG | League Cup | 33rd | 2 | 78 | 39 | 43.3 | 0.9 | 1 | 68 | 0 | 1 | 10 | 0 | 1.50 | 1 | 3 | -2 | -2.31 | -4.07 | Matches |
| 2015-2016 | 23 | Preston North End | eng ENG | FA Cup | 33rd | 1 | 16 | 16 | 17.8 | 0.2 | 0 | 0 | 1 | 15 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +2.43 | Matches | |
| 2015-2016 | 23 | Preston North End | eng ENG | League Cup | 17th | 2 | 127 | 64 | 42.3 | 1.4 | 1 | 81 | 0 | 1 | 46 | 0 | 1.50 | 4 | 2 | +2 | +1.42 | +0.90 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | EFL Cup | 9th | 2 | 118 | 59 | 30.3 | 1.3 | 1 | 91 | 1 | 1 | 27 | 2 | 3.00 | 3 | 0 | +3 | +2.29 | +3.94 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | FA Cup | 33rd | 1 | 74 | 74 | 82.2 | 0.8 | 1 | 74 | 0 | 0 | 0 | 0.00 | 1 | 1 | 0 | 0.00 | +5.63 | Matches | |
| 2017-2018 | 25 | Preston North End | eng ENG | EFL Cup | 58th | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 2 | 3 | -1 | -1.00 | Matches | ||
| 2017-2018 | 25 | Preston North End | eng ENG | FA Cup | 17th | 1 | 23 | 23 | 12.8 | 0.3 | 0 | 0 | 1 | 23 | 0 | 0.00 | 0 | 1 | -1 | -3.91 | -6.21 | Matches | |
| 2018-2019 | 26 | Middlesbrough | eng ENG | EFL Cup | 5th | 3 | 174 | 58 | 34.1 | 1.9 | 3 | 58 | 0 | 0 | 0 | 2.00 | 3 | 1 | +2 | +1.03 | +1.30 | Matches | |
| 2018-2019 | 26 | Middlesbrough | eng ENG | FA Cup | 17th | 1 | 56 | 56 | 20.7 | 0.6 | 1 | 56 | 0 | 0 | 1 | 0.00 | 0 | 1 | -1 | -1.61 | -3.29 | Matches | |
| 2019-2020 | 27 | QPR | eng ENG | EFL Cup | 33rd | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2019-2020 | 27 | QPR | eng ENG | FA Cup | 17th | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 6 | 3 | +3 | +1.50 | Matches | ||
| 2020-2021 | 28 | Norwich City | eng ENG | EFL Cup | 58th | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 3 | -2 | -2.00 | Matches | ||
| 2020-2021 | 28 | Norwich City | eng ENG | FA Cup | 17th | 2 | 135 | 68 | 75.0 | 1.5 | 2 | 68 | 0 | 0 | 0 | 1.50 | 2 | 1 | +1 | +0.67 | +0.67 | Matches | |
| 2021-2022 | 29 | West Brom | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | |||||||||||||
| 2021-2022 | 29 | Cardiff City | eng ENG | FA Cup | 1 | 33 | 33 | 15.7 | 0.4 | 0 | 0 | 1 | 33 | 0 | 0.00 | 1 | 2 | -1 | -2.73 | -2.73 | Matches | ||
| 2022-2023 | 30 | Norwich City | eng ENG | EFL Cup | Rd2 | 2 | 143 | 72 | 68.1 | 1.6 | 2 | 72 | 0 | 0 | 0 | 1.00 | 3 | 2 | +1 | +0.63 | +1.97 | Matches | |
| 2022-2023 | 30 | Norwich City | eng ENG | FA Cup | 1 | 34 | 34 | 37.8 | 0.4 | 0 | 0 | 1 | 34 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.61 | Matches | ||
| 2023-2024 | 31 | Rotherham United | eng ENG | EFL Cup | Rd2 | 2 | 96 | 48 | 45.7 | 1.1 | 1 | 48 | 0 | 1 | 48 | 0 | 0.50 | 1 | 4 | -3 | -2.81 | -1.23 | Matches |
| 2023-2024 | 31 | Rotherham United | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.00 | Matches | |||
| 2024-2025 | 32 | Rotherham United | eng ENG | EFL Cup | Rd2 | 0 | 0 | 0 | 0 | 2 | Matches | ||||||||||||
| 2024-2025 | 32 | Rotherham United | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 3 | -2 | -2.00 | Matches | |||
| 2025-2026 | 33 | Rotherham United | eng ENG | EFL Cup | Rd2 | 2 | 140 | 70 | 77.8 | 1.6 | 2 | 70 | 0 | 0 | 0 | 0.50 | 1 | 2 | -1 | -0.64 | -0.64 | Matches | |
| 2025-2026 | 33 | Rotherham United | eng ENG | FA Cup | 1 | 120 | 120 | 100.0 | 1.3 | 1 | 120 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -0.75 | Matches | |||
| 12 Seasons | 7 Clubs | 2 Leagues | 30 | 1,907 | 64 | 44.8 | 21.2 | 22 | 76 | 8 | 8 | 30 | 7 | 0.93 | 31 | 35 | -4 | -0.19 | -0.09 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Preston North End (4 Seasons) | 2 Leagues | 10 | 526 | 53 | 39.8 | 5.8 | 5 | 81 | 2 | 5 | 24 | 2 | 1.20 | 11 | 10 | +1 | +0.17 | +0.28 | |||||
| Rotherham United (3 Seasons) | 2 Leagues | 7 | 536 | 77 | 61.6 | 6.0 | 6 | 81 | 3 | 1 | 48 | 2 | 0.29 | 4 | 12 | -8 | -1.34 | -0.17 | |||||
| Norwich City (2 Seasons) | 2 Leagues | 6 | 402 | 67 | 70.5 | 4.5 | 5 | 74 | 1 | 1 | 34 | 0 | 0.83 | 6 | 6 | 0 | 0.00 | +1.07 | |||||
| Middlesbrough (1 Season) | 2 Leagues | 4 | 230 | 58 | 29.5 | 2.6 | 4 | 58 | 0 | 0 | 1 | 1.50 | 3 | 2 | +1 | +0.39 | -0.10 | ||||||
| QPR (1 Season) | 2 Leagues | 2 | 180 | 90 | 46.2 | 2.0 | 2 | 90 | 2 | 0 | 1 | 1.50 | 6 | 3 | +3 | +1.50 | |||||||
| Cardiff City (1 Season) | 1 League | 1 | 33 | 33 | 15.7 | 0.4 | 0 | 0 | 1 | 33 | 0 | 0.00 | 1 | 2 | -1 | -2.73 | -2.73 | ||||||
| West Brom (1 Season) | 1 League | 0 | 0 | 0 | 0 | 1 | |||||||||||||||||
| EFL Cup (11 Seasons) | 17 | 1,056 | 62 | 41.4 | 11.7 | 13 | 71 | 3 | 4 | 33 | 5 | 1.29 | 19 | 20 | -1 | -0.09 | +0.40 | ||||||
| FA Cup (11 Seasons) | 13 | 851 | 65 | 49.8 | 9.5 | 9 | 83 | 5 | 4 | 26 | 2 | 0.46 | 12 | 15 | -3 | -0.32 | -0.80 | ||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2013-2014 | 21 | Gateshead | eng ENG | 5. Conf Premier | 3.9 | 2 | 0 | 5 | ||||||||||
| 2013-2014 | 21 | Port Vale | eng ENG | 3. League One | 8.1 | 1 | 0 | 11 | ||||||||||
| 2014-2015 | 22 | Preston North End | eng ENG | League Cup | 0.9 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2014-2015 | 22 | Preston North End | eng ENG | 3. League One | 1.1 | 0 | 1 | 1 | Matches | |||||||||
| 2014-2015 | 22 | Tranmere Rovers | eng ENG | 4. League Two | 3.1 | 1 | 0 | 9 | Matches | |||||||||
| 2014-2015 | 22 | Hartlepool United | eng ENG | 4. League Two | 6.9 | 2 | 0 | 16 | Matches | |||||||||
| 2015-2016 | 23 | Preston North End | eng ENG | 2. Championship | 10.6 | 1 | 1 | 23 | Matches | |||||||||
| 2015-2016 | 23 | Preston North End | eng ENG | FA Cup | 0.2 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 23 | Preston North End | eng ENG | League Cup | 1.4 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2016-2017 | 24 | Preston North End | eng ENG | 2. Championship | 35.2 | 7 | 0 | 0 | 96 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | EFL Cup | 1.3 | 0 | 0 | 0 | 2 | 5 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | FA Cup | 0.8 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 25 | Preston North End | eng ENG | 2. Championship | 25.1 | 8 | 0 | 0 | 40 | 55 | 23 | 12 | 4 | 6 | 1 | 0 | 0 | Matches |
| 2017-2018 | 25 | Preston North End | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 3 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 25 | Preston North End | eng ENG | FA Cup | 0.3 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2017-2018 | 25 | West Ham United | eng ENG | 1. Premier League | 0.3 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | 2. Championship | 20.9 | 6 | 0 | 0 | 65 | 44 | 15 | 8 | 2 | 8 | 1 | 0 | 0 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | EFL Cup | 1.9 | 1 | 0 | 0 | 2 | 4 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | FA Cup | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | Jr. PL2 — Div. 2 | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 27 | QPR | eng ENG | 2. Championship | 31.5 | 10 | 0 | 0 | 71 | 56 | 19 | 9 | 0 | 4 | 0 | Matches | ||
| 2019-2020 | 27 | QPR | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | 5 | 4 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 28 | Norwich City | eng ENG | 2. Championship | 7.7 | 2 | 0 | 0 | 18 | 12 | 9 | 4 | 1 | 1 | 0 | Matches | ||
| 2020-2021 | 28 | Norwich City | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 28 | Norwich City | eng ENG | FA Cup | 1.5 | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 29 | West Brom | eng ENG | 2. Championship | 11.2 | 2 | 0 | 0 | 26 | 17 | 3 | 4 | 1 | 7 | 0 | Matches | ||
| 2021-2022 | 29 | Cardiff City | eng ENG | 2. Championship | 15.6 | 3 | 0 | 0 | 33 | 35 | 11 | 4 | 2 | 4 | 0 | Matches | ||
| 2021-2022 | 29 | Cardiff City | eng ENG | FA Cup | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 30 | Rotherham United | eng ENG | 2. Championship | 15.7 | 4 | 0 | 0 | 36 | 34 | 5 | 3 | 2 | 4 | 0 | Matches | ||
| 2022-2023 | 30 | Norwich City | eng ENG | 2. Championship | 0.8 | 1 | 0 | 0 | 7 | 0 | 1 | 0 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 30 | Norwich City | eng ENG | EFL Cup | 1.6 | 1 | 0 | 0 | 4 | 3 | 1 | 0 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 30 | Norwich City | eng ENG | FA Cup | 0.4 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 31 | Rotherham United | eng ENG | 2. Championship | 25.9 | 6 | 0 | 0 | 65 | 51 | 12 | 7 | 2 | 2 | 0 | Matches | ||
| 2023-2024 | 31 | Rotherham United | eng ENG | EFL Cup | 1.1 | 0 | 0 | 0 | 2 | 3 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 31 | Rotherham United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 3 | 2 | 1 | 0 | 0 | 0 | 0 | Matches | ||
| 2024-2025 | 32 | Rotherham United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2024-2025 | 32 | Rotherham United | eng ENG | 3. League One | 9.6 | 3 | 0 | 0 | 24 | 29 | 6 | 6 | 2 | 0 | 0 | Matches | ||
| 2025-2026 | 33 | Rotherham United | eng ENG | EFL Cup | 1.6 | 0 | 0 | 0 | 4 | 2 | 2 | 1 | 0 | 1 | 0 | Matches | ||
| 2025-2026 | 33 | Rotherham United | eng ENG | FA Cup | 1.3 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2025-2026 | 33 | Rotherham United | eng ENG | 3. League One | 18.0 | 4 | 0 | 0 | 39 | 28 | 9 | 3 | 1 | 2 | 0 | Matches | ||
| 13 Seasons | 12 Clubs | 7 Leagues | 272.6 | 68 | 2 | 0 | 618 | 389 | 125 | 68 | 17 | 39 | 2 | 0 | 0 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Rotherham United (4 Seasons) | 4 Leagues | 75.2 | 18 | 0 | 0 | 173 | 149 | 35 | 21 | 7 | 9 | 0 | ||||||
| Preston North End (4 Seasons) | 4 Leagues | 77.9 | 17 | 2 | 0 | 167 | 61 | 25 | 16 | 4 | 6 | 1 | 0 | 0 | ||||
| Norwich City (2 Seasons) | 3 Leagues | 12.9 | 5 | 0 | 0 | 32 | 18 | 15 | 4 | 1 | 1 | 0 | ||||||
| Middlesbrough (1 Season) | 3 Leagues | 23.4 | 7 | 0 | 0 | 67 | 48 | 17 | 10 | 2 | 8 | 1 | 0 | 0 | ||||
| QPR (1 Season) | 3 Leagues | 33.5 | 10 | 0 | 0 | 76 | 60 | 19 | 9 | 0 | 4 | 0 | ||||||
| West Brom (1 Season) | 2 Leagues | 11.2 | 2 | 0 | 0 | 26 | 17 | 3 | 4 | 1 | 7 | 0 | ||||||
| Port Vale (1 Season) | 1 League | 8.1 | 1 | 0 | 11 | |||||||||||||
| Cardiff City (1 Season) | 2 Leagues | 16.0 | 3 | 0 | 0 | 33 | 35 | 11 | 4 | 2 | 4 | 0 | ||||||
| Hartlepool United (1 Season) | 1 League | 6.9 | 2 | 0 | 16 | |||||||||||||
| Gateshead (1 Season) | 1 League | 3.9 | 2 | 0 | 5 | |||||||||||||
| Tranmere Rovers (1 Season) | 1 League | 3.1 | 1 | 0 | 9 | |||||||||||||
| West Ham United (1 Season) | 1 League | 0.3 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Middlesbrough (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | 0 | ||||||||||||
| EFL Cup (11 Seasons) | 11.7 | 2 | 0 | 0 | 17 | 19 | 9 | 6 | 0 | 1 | 0 | 0 | 0 | |||||
| FA Cup (11 Seasons) | 9.5 | 3 | 0 | 0 | 13 | 8 | 3 | 2 | 0 | 0 | 0 | 0 | 0 | |||||
| Championship (9 Seasons) | 200.4 | 50 | 1 | 0 | 480 | 304 | 98 | 51 | 14 | 36 | 2 | 0 | 0 | |||||
| League One (4 Seasons) | 36.8 | 8 | 1 | 0 | 75 | 57 | 15 | 9 | 3 | 2 | 0 | |||||||
| League Two (1 Season) | 10.0 | 3 | 0 | 25 | ||||||||||||||
| Conf Premier (1 Season) | 3.9 | 2 | 0 | 5 | ||||||||||||||
| Premier League (1 Season) | 0.3 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| PL2 — Div. 2 (1 Season) | 1.0 | 0 | 0 | 0 | 0 | |||||||||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2013-2014 | 21 | Port Vale | 1 League | 8.1 | 1 | 0 | 11 | ||||||||||
| 2013-2014 | 21 | Gateshead | 1 League | 3.9 | 2 | 0 | 5 | ||||||||||
| 2014-2015 | 22 | Tranmere Rovers | 1 League | 3.1 | 1 | 0 | 9 | ||||||||||
| 2014-2015 | 22 | Hartlepool United | 1 League | 6.9 | 2 | 0 | 16 | ||||||||||
| 2014-2015 | 22 | Preston North End | 2 Leagues | 2.0 | 0 | 1 | 0 | 1 | 0 | ||||||||
| 2015-2016 | 23 | Preston North End | 3 Leagues | 12.2 | 1 | 1 | 0 | 23 | 0 | ||||||||
| 2016-2017 | 24 | Preston North End | 3 Leagues | 37.4 | 8 | 0 | 0 | 98 | 5 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | |
| 2017-2018 | 25 | Preston North End | 3 Leagues | 26.4 | 8 | 0 | 0 | 45 | 56 | 25 | 13 | 4 | 6 | 1 | 0 | 0 | |
| 2017-2018 | 25 | West Ham United | 1 League | 0.3 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2018-2019 | 26 | Middlesbrough | 3 Leagues | 23.4 | 7 | 0 | 0 | 67 | 48 | 17 | 10 | 2 | 8 | 1 | 0 | 0 | |
| 2018-2019 | 26 | Middlesbrough | 1 League | 1.0 | 0 | 0 | 0 | 0 | |||||||||
| 2019-2020 | 27 | QPR | 3 Leagues | 33.5 | 10 | 0 | 0 | 76 | 60 | 19 | 9 | 0 | 4 | 0 | |||
| 2020-2021 | 28 | Norwich City | 3 Leagues | 10.2 | 2 | 0 | 0 | 20 | 14 | 13 | 4 | 1 | 1 | 0 | |||
| 2021-2022 | 29 | West Brom | 2 Leagues | 11.2 | 2 | 0 | 0 | 26 | 17 | 3 | 4 | 1 | 7 | 0 | |||
| 2021-2022 | 29 | Cardiff City | 2 Leagues | 16.0 | 3 | 0 | 0 | 33 | 35 | 11 | 4 | 2 | 4 | 0 | |||
| 2022-2023 | 30 | Norwich City | 3 Leagues | 2.7 | 3 | 0 | 0 | 12 | 4 | 2 | 0 | 0 | 0 | 0 | |||
| 2022-2023 | 30 | Rotherham United | 1 League | 15.7 | 4 | 0 | 0 | 36 | 34 | 5 | 3 | 2 | 4 | 0 | |||
| 2023-2024 | 31 | Rotherham United | 3 Leagues | 28.0 | 6 | 0 | 0 | 70 | 56 | 13 | 8 | 2 | 2 | 0 | |||
| 2024-2025 | 32 | Rotherham United | 3 Leagues | 10.6 | 3 | 0 | 0 | 24 | 29 | 6 | 6 | 2 | 0 | 0 | |||
| 2025-2026 | 33 | Rotherham United | 3 Leagues | 20.9 | 5 | 0 | 0 | 43 | 30 | 11 | 4 | 1 | 3 | 0 | |||
| 13 Seasons | 12 Clubs | 7 Leagues | 272.6 | 68 | 2 | 0 | 618 | 389 | 125 | 68 | 17 | 39 | 2 | 0 | 0 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Rotherham United (4 Seasons) | 4 Leagues | 75.2 | 18 | 0 | 0 | 173 | 149 | 35 | 21 | 7 | 9 | 0 | |||||
| Preston North End (4 Seasons) | 4 Leagues | 77.9 | 17 | 2 | 0 | 167 | 61 | 25 | 16 | 4 | 6 | 1 | 0 | 0 | |||
| Norwich City (2 Seasons) | 3 Leagues | 12.9 | 5 | 0 | 0 | 32 | 18 | 15 | 4 | 1 | 1 | 0 | |||||
| Middlesbrough (1 Season) | 3 Leagues | 23.4 | 7 | 0 | 0 | 67 | 48 | 17 | 10 | 2 | 8 | 1 | 0 | 0 | |||
| QPR (1 Season) | 3 Leagues | 33.5 | 10 | 0 | 0 | 76 | 60 | 19 | 9 | 0 | 4 | 0 | |||||
| West Brom (1 Season) | 2 Leagues | 11.2 | 2 | 0 | 0 | 26 | 17 | 3 | 4 | 1 | 7 | 0 | |||||
| Port Vale (1 Season) | 1 League | 8.1 | 1 | 0 | 11 | ||||||||||||
| Cardiff City (1 Season) | 2 Leagues | 16.0 | 3 | 0 | 0 | 33 | 35 | 11 | 4 | 2 | 4 | 0 | |||||
| Hartlepool United (1 Season) | 1 League | 6.9 | 2 | 0 | 16 | ||||||||||||
| Gateshead (1 Season) | 1 League | 3.9 | 2 | 0 | 5 | ||||||||||||
| Tranmere Rovers (1 Season) | 1 League | 3.1 | 1 | 0 | 9 | ||||||||||||
| West Ham United (1 Season) | 1 League | 0.3 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Middlesbrough (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | 0 | |||||||||||
| EFL Cup (11 Seasons) | 11.7 | 2 | 0 | 0 | 17 | 19 | 9 | 6 | 0 | 1 | 0 | 0 | 0 | ||||
| FA Cup (11 Seasons) | 9.5 | 3 | 0 | 0 | 13 | 8 | 3 | 2 | 0 | 0 | 0 | 0 | 0 | ||||
| Championship (9 Seasons) | 200.4 | 50 | 1 | 0 | 480 | 304 | 98 | 51 | 14 | 36 | 2 | 0 | 0 | ||||
| League One (4 Seasons) | 36.8 | 8 | 1 | 0 | 75 | 57 | 15 | 9 | 3 | 2 | 0 | ||||||
| League Two (1 Season) | 10.0 | 3 | 0 | 25 | |||||||||||||
| Conf Premier (1 Season) | 3.9 | 2 | 0 | 5 | |||||||||||||
| Premier League (1 Season) | 0.3 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| PL2 — Div. 2 (1 Season) | 1.0 | 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 |
| 2013-2014 | 21 | Port Vale | eng ENG | 3. League One | 9th | 8.1 | 1 | 0 | 11 | ||||||||||
| 2013-2014 | 21 | Gateshead | eng ENG | 5. Conf Premier | 3rd | 3.9 | 2 | 0 | 5 | ||||||||||
| 2014-2015 | 22 | Tranmere Rovers | eng ENG | 4. League Two | 24th | 3.1 | 1 | 0 | 9 | Matches | |||||||||
| 2014-2015 | 22 | Hartlepool United | eng ENG | 4. League Two | 22nd | 6.9 | 2 | 0 | 16 | Matches | |||||||||
| 2014-2015 | 22 | Preston North End | eng ENG | 3. League One | 3rd | 1.1 | 0 | 1 | 1 | Matches | |||||||||
| 2015-2016 | 23 | Preston North End | eng ENG | 2. Championship | 11th | 10.6 | 1 | 1 | 23 | Matches | |||||||||
| 2016-2017 | 24 | Preston North End | eng ENG | 2. Championship | 11th | 35.2 | 7 | 0 | 0 | 96 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 25 | Preston North End | eng ENG | 2. Championship | 7th | 25.1 | 8 | 0 | 0 | 40 | 55 | 23 | 12 | 4 | 6 | 1 | 0 | 0 | Matches |
| 2017-2018 | 25 | West Ham United | eng ENG | 1. Premier League | 13th | 0.3 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | 2. Championship | 7th | 20.9 | 6 | 0 | 0 | 65 | 44 | 15 | 8 | 2 | 8 | 1 | 0 | 0 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | Jr. PL2 — Div. 2 | 8th | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 27 | QPR | eng ENG | 2. Championship | 13th | 31.5 | 10 | 0 | 0 | 71 | 56 | 19 | 9 | 0 | 4 | 0 | Matches | ||
| 2020-2021 | 28 | Norwich City | eng ENG | 2. Championship | 1st | 7.7 | 2 | 0 | 0 | 18 | 12 | 9 | 4 | 1 | 1 | 0 | Matches | ||
| 2021-2022 | 29 | West Brom | eng ENG | 2. Championship | 10th | 11.2 | 2 | 0 | 0 | 26 | 17 | 3 | 4 | 1 | 7 | 0 | Matches | ||
| 2021-2022 | 29 | Cardiff City | eng ENG | 2. Championship | 18th | 15.6 | 3 | 0 | 0 | 33 | 35 | 11 | 4 | 2 | 4 | 0 | Matches | ||
| 2022-2023 | 30 | Norwich City | eng ENG | 2. Championship | 13th | 0.8 | 1 | 0 | 0 | 7 | 0 | 1 | 0 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 30 | Rotherham United | eng ENG | 2. Championship | 19th | 15.7 | 4 | 0 | 0 | 36 | 34 | 5 | 3 | 2 | 4 | 0 | Matches | ||
| 2023-2024 | 31 | Rotherham United | eng ENG | 2. Championship | 24th | 25.9 | 6 | 0 | 0 | 65 | 51 | 12 | 7 | 2 | 2 | 0 | Matches | ||
| 2024-2025 | 32 | Rotherham United | eng ENG | 3. League One | 13th | 9.6 | 3 | 0 | 0 | 24 | 29 | 6 | 6 | 2 | 0 | 0 | Matches | ||
| 2025-2026 | 33 | Rotherham United | eng ENG | 3. League One | 23rd | 18.0 | 4 | 0 | 0 | 39 | 28 | 9 | 3 | 1 | 2 | 0 | Matches | ||
| 13 Seasons | 12 Clubs | 5 Leagues | 251.4 | 63 | 2 | 0 | 588 | 362 | 113 | 60 | 17 | 38 | 2 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Rotherham United (4 Seasons) | 2 Leagues | 69.3 | 17 | 0 | 0 | 164 | 142 | 32 | 19 | 7 | 8 | 0 | |||||||
| Preston North End (4 Seasons) | 2 Leagues | 72.1 | 16 | 2 | 0 | 160 | 55 | 23 | 12 | 4 | 6 | 1 | 0 | 0 | |||||
| Norwich City (2 Seasons) | 1 League | 8.5 | 3 | 0 | 0 | 25 | 12 | 10 | 4 | 1 | 1 | 0 | |||||||
| QPR (1 Season) | 1 League | 31.5 | 10 | 0 | 0 | 71 | 56 | 19 | 9 | 0 | 4 | 0 | |||||||
| Middlesbrough (1 Season) | 1 League | 20.9 | 6 | 0 | 0 | 65 | 44 | 15 | 8 | 2 | 8 | 1 | 0 | 0 | |||||
| West Brom (1 Season) | 1 League | 11.2 | 2 | 0 | 0 | 26 | 17 | 3 | 4 | 1 | 7 | 0 | |||||||
| Port Vale (1 Season) | 1 League | 8.1 | 1 | 0 | 11 | ||||||||||||||
| Cardiff City (1 Season) | 1 League | 15.6 | 3 | 0 | 0 | 33 | 35 | 11 | 4 | 2 | 4 | 0 | |||||||
| Hartlepool United (1 Season) | 1 League | 6.9 | 2 | 0 | 16 | ||||||||||||||
| Gateshead (1 Season) | 1 League | 3.9 | 2 | 0 | 5 | ||||||||||||||
| Tranmere Rovers (1 Season) | 1 League | 3.1 | 1 | 0 | 9 | ||||||||||||||
| West Ham United (1 Season) | 1 League | 0.3 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Middlesbrough (1 Season) | 1 League | 1.0 | 0 | 0 | 0 | 0 | |||||||||||||
| Championship (9 Seasons) | 200.4 | 50 | 1 | 0 | 480 | 304 | 98 | 51 | 14 | 36 | 2 | 0 | 0 | ||||||
| League One (4 Seasons) | 36.8 | 8 | 1 | 0 | 75 | 57 | 15 | 9 | 3 | 2 | 0 | ||||||||
| League Two (1 Season) | 10.0 | 3 | 0 | 25 | |||||||||||||||
| Conf Premier (1 Season) | 3.9 | 2 | 0 | 5 | |||||||||||||||
| Premier League (1 Season) | 0.3 | 0 | 0 | 0 | 3 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||||
| PL2 — Div. 2 (1 Season) | 1.0 | 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 | 22 | Preston North End | eng ENG | League Cup | 33rd | 0.9 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 23 | Preston North End | eng ENG | FA Cup | 33rd | 0.2 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 23 | Preston North End | eng ENG | League Cup | 17th | 1.4 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2016-2017 | 24 | Preston North End | eng ENG | EFL Cup | 9th | 1.3 | 0 | 0 | 0 | 2 | 5 | 0 | 3 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 24 | Preston North End | eng ENG | FA Cup | 33rd | 0.8 | 1 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 25 | Preston North End | eng ENG | EFL Cup | 58th | 1.0 | 0 | 0 | 0 | 3 | 1 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 25 | Preston North End | eng ENG | FA Cup | 17th | 0.3 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2018-2019 | 26 | Middlesbrough | eng ENG | EFL Cup | 5th | 1.9 | 1 | 0 | 0 | 2 | 4 | 2 | 1 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 26 | Middlesbrough | eng ENG | FA Cup | 17th | 0.6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2019-2020 | 27 | QPR | eng ENG | FA Cup | 17th | 2.0 | 0 | 0 | 0 | 5 | 4 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 28 | Norwich City | eng ENG | EFL Cup | 58th | 1.0 | 0 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 28 | Norwich City | eng ENG | FA Cup | 17th | 1.5 | 0 | 0 | 0 | 2 | 1 | 2 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 29 | Cardiff City | eng ENG | FA Cup | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 2022-2023 | 30 | Norwich City | eng ENG | EFL Cup | Rd2 | 1.6 | 1 | 0 | 0 | 4 | 3 | 1 | 0 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 30 | Norwich City | eng ENG | FA Cup | 0.4 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 2023-2024 | 31 | Rotherham United | eng ENG | EFL Cup | Rd2 | 1.1 | 0 | 0 | 0 | 2 | 3 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 31 | Rotherham United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 3 | 2 | 1 | 0 | 0 | 0 | 0 | Matches | |||
| 2024-2025 | 32 | Rotherham United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2025-2026 | 33 | Rotherham United | eng ENG | EFL Cup | Rd2 | 1.6 | 0 | 0 | 0 | 4 | 2 | 2 | 1 | 0 | 1 | 0 | Matches | ||
| 2025-2026 | 33 | Rotherham United | eng ENG | FA Cup | 1.3 | 1 | 0 | 0 | 0 | Matches | |||||||||
| 12 Seasons | 7 Clubs | 2 Leagues | 21.2 | 5 | 0 | 0 | 30 | 27 | 12 | 8 | 0 | 1 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Preston North End (4 Seasons) | 2 Leagues | 5.8 | 1 | 0 | 0 | 7 | 6 | 2 | 4 | 0 | 0 | 0 | 0 | 0 | |||||
| Rotherham United (3 Seasons) | 2 Leagues | 6.0 | 1 | 0 | 0 | 9 | 7 | 3 | 2 | 0 | 1 | 0 | |||||||
| Norwich City (2 Seasons) | 2 Leagues | 4.5 | 2 | 0 | 0 | 7 | 6 | 5 | 0 | 0 | 0 | 0 | |||||||
| Middlesbrough (1 Season) | 2 Leagues | 2.6 | 1 | 0 | 0 | 2 | 4 | 2 | 2 | 0 | 0 | 0 | 0 | 0 | |||||
| QPR (1 Season) | 2 Leagues | 2.0 | 0 | 0 | 0 | 5 | 4 | 0 | 0 | 0 | 0 | 0 | |||||||
| Cardiff City (1 Season) | 1 League | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||||
| West Brom (1 Season) | 1 League | ||||||||||||||||||
| EFL Cup (11 Seasons) | 11.7 | 2 | 0 | 0 | 17 | 19 | 9 | 6 | 0 | 1 | 0 | 0 | 0 | ||||||
| FA Cup (11 Seasons) | 9.5 | 3 | 0 | 0 | 13 | 8 | 3 | 2 | 0 | 0 | 0 | 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