| 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 | |||||
| 2011-2012 | 18 | Stevenage | eng ENG | 3. League One | 6 | 2 | 255 | 2.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2011-2012 | 18 | Preston North End | eng ENG | 3. League One | 7 | 3 | 301 | 3.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.30 | 0.00 | 0.30 | 0.30 | 0.30 | |
| 2012-2013 | 19 | Crewe Alexandra | eng ENG | 3. League One | 30 | 21 | 1,809 | 20.1 | 6 | 5 | 11 | 6 | 0 | 0 | 3 | 1 | 0.30 | 0.25 | 0.55 | 0.30 | 0.55 | |
| 2013-2014 | 20 | Crewe Alexandra | eng ENG | 3. League One | 40 | 34 | 3,060 | 34.0 | 14 | 7 | 21 | 12 | 2 | 3 | 4 | 1 | 0.41 | 0.21 | 0.62 | 0.35 | 0.56 | |
| 2014-2015 | 21 | Zulte Waregem | be BEL | 1. Pro League | 30 | 20 | 1,934 | 21.5 | 2 | 0 | 2 | 2 | 0 | 0 | 10 | 0 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | Matches |
| 2015-2016 | 22 | Zulte Waregem | be BEL | 1. Pro League | 11 | 10 | 856 | 9.5 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.21 | 0.00 | 0.21 | 0.21 | 0.21 | Matches |
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | FA Cup | 2 | 2 | 141 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 15 | 9 | 826 | 9.2 | 4 | 2 | 6 | 3 | 1 | 1 | 3 | 0 | 0.44 | 0.22 | 0.65 | 0.33 | 0.54 | Matches |
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 3 | 3 | 256 | 2.8 | 1 | 2 | 3 | 1 | 0 | 0 | 0 | 0 | 0.35 | 0.70 | 1.05 | 0.35 | 1.05 | Matches |
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 31 | 26 | 2,391 | 26.6 | 9 | 8 | 17 | 7 | 2 | 2 | 11 | 1 | 0.34 | 0.30 | 0.64 | 0.26 | 0.56 | Matches |
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | FA Cup | 1 | 1 | 63 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | 4. League Two | 38 | 26 | 2,547 | 28.3 | 17 | 1 | 18 | 15 | 2 | 3 | 9 | 0 | 0.60 | 0.04 | 0.64 | 0.53 | 0.57 | Matches |
| 2019-2020 | 26 | Charlton Athletic | eng ENG | 2. Championship | 20 | 2 | 589 | 6.5 | 1 | 1 | 2 | 1 | 0 | 0 | 2 | 0 | 0.15 | 0.15 | 0.31 | 0.15 | 0.31 | Matches |
| 2019-2020 | 26 | Charlton Athletic | eng ENG | EFL Cup | 1 | 1 | 61 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | EFL Cup | 2 | 0 | 65 | 0.7 | 1 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 1.38 | 1.38 | 2.77 | 1.38 | 2.77 | Matches |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | FA Cup | 1 | 1 | 64 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | 3. League One | 38 | 11 | 1,539 | 17.1 | 15 | 2 | 17 | 15 | 0 | 0 | 11 | 2 | 0.88 | 0.12 | 0.99 | 0.88 | 0.99 | Matches |
| 2021-2022 | 28 | Birmingham City | eng ENG | 2. Championship | 18 | 1 | 395 | 4.4 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.46 | 0.00 | 0.46 | 0.46 | 0.46 | Matches |
| 2021-2022 | 28 | Birmingham City | eng ENG | EFL Cup | 2 | 2 | 134 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 28 | Birmingham City | eng ENG | FA Cup | 1 | 0 | 33 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 28 | Charlton Athletic | eng ENG | 3. League One | 9 | 4 | 446 | 5.0 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.81 | 0.20 | 1.01 | 0.81 | 1.01 | Matches |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | EFL Cup | 2 | 0 | 35 | 0.4 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2.57 | 0.00 | 2.57 | 2.57 | 2.57 | Matches |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | FA Cup | 3 | 2 | 134 | 1.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.67 | 0.00 | 0.67 | 0.67 | 0.67 | Matches |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | 3. League One | 13 | 1 | 337 | 3.7 | 1 | 1 | 2 | 1 | 0 | 0 | 1 | 0 | 0.27 | 0.27 | 0.53 | 0.27 | 0.53 | Matches |
| 2023-2024 | 30 | Charlton Athletic | eng ENG | 3. League One | 17 | 2 | 530 | 5.9 | 2 | 2 | 4 | 2 | 0 | 2 | 3 | 0 | 0.34 | 0.34 | 0.68 | 0.34 | 0.68 | Matches |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | EFL Cup | 1 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | FA Cup | 1 | 0 | 10 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | 3. League One | 26 | 0 | 637 | 7.1 | 1 | 5 | 6 | 1 | 0 | 0 | 3 | 1 | 0.14 | 0.71 | 0.85 | 0.14 | 0.85 | Matches |
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | FA Cup | 1 | 0 | 44 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | 4. League Two | 13 | 0 | 194 | 2.2 | 1 | 0 | 1 | 1 | 0 | 0 | 4 | 0 | 0.46 | 0.00 | 0.46 | 0.46 | 0.46 | Matches |
| 15 Seasons | 8 Clubs | 6 Leagues | 383 | 184 | 19,711 | 219.0 | 86 | 38 | 124 | 79 | 7 | 11 | 73 | 7 | 0.39 | 0.17 | 0.57 | 0.36 | 0.53 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Charlton Athletic (6 Seasons) | 4 Leagues | 134 | 24 | 4,472 | 49.7 | 27 | 13 | 40 | 27 | 0 | 2 | 25 | 3 | 0.54 | 0.26 | 0.81 | 0.54 | 0.81 | ||||
| Milton Keynes Dons (3 Seasons) | 3 Leagues | 90 | 67 | 6,224 | 69.2 | 31 | 13 | 44 | 26 | 5 | 6 | 23 | 1 | 0.45 | 0.19 | 0.64 | 0.38 | 0.56 | ||||
| Crewe Alexandra (2 Seasons) | 1 League | 70 | 55 | 4,869 | 54.1 | 20 | 12 | 32 | 18 | 2 | 3 | 7 | 2 | 0.37 | 0.22 | 0.59 | 0.33 | 0.55 | ||||
| Zulte Waregem (2 Seasons) | 1 League | 41 | 30 | 2,790 | 31.0 | 4 | 0 | 4 | 4 | 0 | 0 | 11 | 0 | 0.13 | 0.00 | 0.13 | 0.13 | 0.13 | ||||
| Birmingham City (1 Season) | 3 Leagues | 21 | 3 | 562 | 6.2 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.32 | 0.00 | 0.32 | 0.32 | 0.32 | ||||
| Shrewsbury Town (1 Season) | 2 Leagues | 14 | 0 | 238 | 2.6 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 0.38 | 0.00 | 0.38 | 0.38 | 0.38 | ||||
| Preston North End (1 Season) | 1 League | 7 | 3 | 301 | 3.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.30 | 0.00 | 0.30 | 0.30 | 0.30 | ||||
| Stevenage (1 Season) | 1 League | 6 | 2 | 255 | 2.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| League One (10 Seasons) | 232 | 113 | 12,131 | 134.8 | 57 | 33 | 90 | 52 | 5 | 8 | 42 | 7 | 0.42 | 0.24 | 0.67 | 0.39 | 0.63 | |||||
| FA Cup (8 Seasons) | 13 | 9 | 745 | 8.3 | 2 | 2 | 4 | 2 | 0 | 0 | 3 | 0 | 0.24 | 0.24 | 0.48 | 0.24 | 0.48 | |||||
| EFL Cup (5 Seasons) | 8 | 3 | 320 | 3.6 | 2 | 1 | 3 | 2 | 0 | 0 | 1 | 0 | 0.56 | 0.28 | 0.84 | 0.56 | 0.84 | |||||
| League Two (2 Seasons) | 51 | 26 | 2,741 | 30.5 | 18 | 1 | 19 | 16 | 2 | 3 | 13 | 0 | 0.59 | 0.03 | 0.62 | 0.53 | 0.56 | |||||
| Pro League (2 Seasons) | 41 | 30 | 2,790 | 31.0 | 4 | 0 | 4 | 4 | 0 | 0 | 11 | 0 | 0.13 | 0.00 | 0.13 | 0.13 | 0.13 | |||||
| Championship (2 Seasons) | 38 | 3 | 984 | 10.9 | 3 | 1 | 4 | 3 | 0 | 0 | 3 | 0 | 0.27 | 0.09 | 0.37 | 0.27 | 0.37 | |||||
| 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 | |||||
| 2011-2012 | 18 | Stevenage | 1 League | 6 | 2 | 255 | 2.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2011-2012 | 18 | Preston North End | 1 League | 7 | 3 | 301 | 3.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.30 | 0.00 | 0.30 | 0.30 | 0.30 | |
| 2012-2013 | 19 | Crewe Alexandra | 1 League | 30 | 21 | 1,809 | 20.1 | 6 | 5 | 11 | 6 | 0 | 0 | 3 | 1 | 0.30 | 0.25 | 0.55 | 0.30 | 0.55 | |
| 2013-2014 | 20 | Crewe Alexandra | 1 League | 40 | 34 | 3,060 | 34.0 | 14 | 7 | 21 | 12 | 2 | 3 | 4 | 1 | 0.41 | 0.21 | 0.62 | 0.35 | 0.56 | |
| 2014-2015 | 21 | Zulte Waregem | 1 League | 30 | 20 | 1,934 | 21.5 | 2 | 0 | 2 | 2 | 0 | 0 | 10 | 0 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | |
| 2015-2016 | 22 | Zulte Waregem | 1 League | 11 | 10 | 856 | 9.5 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.21 | 0.00 | 0.21 | 0.21 | 0.21 | |
| 2016-2017 | 23 | Milton Keynes Dons | 2 Leagues | 17 | 11 | 967 | 10.7 | 4 | 2 | 6 | 3 | 1 | 1 | 3 | 0 | 0.37 | 0.19 | 0.56 | 0.28 | 0.47 | |
| 2017-2018 | 24 | Milton Keynes Dons | 2 Leagues | 34 | 29 | 2,647 | 29.4 | 10 | 10 | 20 | 8 | 2 | 2 | 11 | 1 | 0.34 | 0.34 | 0.68 | 0.27 | 0.61 | |
| 2018-2019 | 25 | Milton Keynes Dons | 2 Leagues | 39 | 27 | 2,610 | 29.0 | 17 | 1 | 18 | 15 | 2 | 3 | 9 | 0 | 0.59 | 0.03 | 0.62 | 0.52 | 0.55 | |
| 2019-2020 | 26 | Charlton Athletic | 2 Leagues | 21 | 3 | 650 | 7.2 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.14 | 0.14 | 0.28 | 0.14 | 0.28 | |
| 2020-2021 | 27 | Charlton Athletic | 3 Leagues | 41 | 12 | 1,668 | 18.5 | 16 | 3 | 19 | 16 | 0 | 0 | 12 | 2 | 0.86 | 0.16 | 1.03 | 0.86 | 1.03 | |
| 2021-2022 | 28 | Birmingham City | 3 Leagues | 21 | 3 | 562 | 6.2 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.32 | 0.00 | 0.32 | 0.32 | 0.32 | |
| 2021-2022 | 28 | Charlton Athletic | 1 League | 9 | 4 | 446 | 5.0 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.81 | 0.20 | 1.01 | 0.81 | 1.01 | |
| 2022-2023 | 29 | Charlton Athletic | 3 Leagues | 18 | 3 | 506 | 5.6 | 3 | 1 | 4 | 3 | 0 | 0 | 1 | 0 | 0.53 | 0.18 | 0.71 | 0.53 | 0.71 | |
| 2023-2024 | 30 | Charlton Athletic | 1 League | 17 | 2 | 530 | 5.9 | 2 | 2 | 4 | 2 | 0 | 2 | 3 | 0 | 0.34 | 0.34 | 0.68 | 0.34 | 0.68 | |
| 2024-2025 | 31 | Charlton Athletic | 3 Leagues | 28 | 0 | 672 | 7.5 | 1 | 5 | 6 | 1 | 0 | 0 | 3 | 1 | 0.13 | 0.67 | 0.80 | 0.13 | 0.80 | |
| 2025-2026 | 32 | Shrewsbury Town | 2 Leagues | 14 | 0 | 238 | 2.6 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 0.38 | 0.00 | 0.38 | 0.38 | 0.38 | |
| 15 Seasons | 8 Clubs | 6 Leagues | 383 | 184 | 19,711 | 219.0 | 86 | 38 | 124 | 79 | 7 | 11 | 73 | 7 | 0.39 | 0.17 | 0.57 | 0.36 | 0.53 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Charlton Athletic (6 Seasons) | 4 Leagues | 134 | 24 | 4,472 | 49.7 | 27 | 13 | 40 | 27 | 0 | 2 | 25 | 3 | 0.54 | 0.26 | 0.81 | 0.54 | 0.81 | |||
| Milton Keynes Dons (3 Seasons) | 3 Leagues | 90 | 67 | 6,224 | 69.2 | 31 | 13 | 44 | 26 | 5 | 6 | 23 | 1 | 0.45 | 0.19 | 0.64 | 0.38 | 0.56 | |||
| Crewe Alexandra (2 Seasons) | 1 League | 70 | 55 | 4,869 | 54.1 | 20 | 12 | 32 | 18 | 2 | 3 | 7 | 2 | 0.37 | 0.22 | 0.59 | 0.33 | 0.55 | |||
| Zulte Waregem (2 Seasons) | 1 League | 41 | 30 | 2,790 | 31.0 | 4 | 0 | 4 | 4 | 0 | 0 | 11 | 0 | 0.13 | 0.00 | 0.13 | 0.13 | 0.13 | |||
| Birmingham City (1 Season) | 3 Leagues | 21 | 3 | 562 | 6.2 | 2 | 0 | 2 | 2 | 0 | 0 | 2 | 0 | 0.32 | 0.00 | 0.32 | 0.32 | 0.32 | |||
| Shrewsbury Town (1 Season) | 2 Leagues | 14 | 0 | 238 | 2.6 | 1 | 0 | 1 | 1 | 0 | 0 | 5 | 0 | 0.38 | 0.00 | 0.38 | 0.38 | 0.38 | |||
| Preston North End (1 Season) | 1 League | 7 | 3 | 301 | 3.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.30 | 0.00 | 0.30 | 0.30 | 0.30 | |||
| Stevenage (1 Season) | 1 League | 6 | 2 | 255 | 2.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| League One (10 Seasons) | 232 | 113 | 12,131 | 134.8 | 57 | 33 | 90 | 52 | 5 | 8 | 42 | 7 | 0.42 | 0.24 | 0.67 | 0.39 | 0.63 | ||||
| FA Cup (8 Seasons) | 13 | 9 | 745 | 8.3 | 2 | 2 | 4 | 2 | 0 | 0 | 3 | 0 | 0.24 | 0.24 | 0.48 | 0.24 | 0.48 | ||||
| EFL Cup (5 Seasons) | 8 | 3 | 320 | 3.6 | 2 | 1 | 3 | 2 | 0 | 0 | 1 | 0 | 0.56 | 0.28 | 0.84 | 0.56 | 0.84 | ||||
| League Two (2 Seasons) | 51 | 26 | 2,741 | 30.5 | 18 | 1 | 19 | 16 | 2 | 3 | 13 | 0 | 0.59 | 0.03 | 0.62 | 0.53 | 0.56 | ||||
| Pro League (2 Seasons) | 41 | 30 | 2,790 | 31.0 | 4 | 0 | 4 | 4 | 0 | 0 | 11 | 0 | 0.13 | 0.00 | 0.13 | 0.13 | 0.13 | ||||
| Championship (2 Seasons) | 38 | 3 | 984 | 10.9 | 3 | 1 | 4 | 3 | 0 | 0 | 3 | 0 | 0.27 | 0.09 | 0.37 | 0.27 | 0.37 | ||||
| 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 | |||||
| 2011-2012 | 18 | Stevenage | eng ENG | 3. League One | 6th | 6 | 2 | 255 | 2.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2011-2012 | 18 | Preston North End | eng ENG | 3. League One | 15th | 7 | 3 | 301 | 3.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.30 | 0.00 | 0.30 | 0.30 | 0.30 | |
| 2012-2013 | 19 | Crewe Alexandra | eng ENG | 3. League One | 13th | 30 | 21 | 1,809 | 20.1 | 6 | 5 | 11 | 6 | 0 | 0 | 3 | 1 | 0.30 | 0.25 | 0.55 | 0.30 | 0.55 | |
| 2013-2014 | 20 | Crewe Alexandra | eng ENG | 3. League One | 19th | 40 | 34 | 3,060 | 34.0 | 14 | 7 | 21 | 12 | 2 | 3 | 4 | 1 | 0.41 | 0.21 | 0.62 | 0.35 | 0.56 | |
| 2014-2015 | 21 | Zulte Waregem | be BEL | 1. Pro League | 13th | 30 | 20 | 1,934 | 21.5 | 2 | 0 | 2 | 2 | 0 | 0 | 10 | 0 | 0.09 | 0.00 | 0.09 | 0.09 | 0.09 | Matches |
| 2015-2016 | 22 | Zulte Waregem | be BEL | 1. Pro League | 6th | 11 | 10 | 856 | 9.5 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.21 | 0.00 | 0.21 | 0.21 | 0.21 | Matches |
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 12th | 15 | 9 | 826 | 9.2 | 4 | 2 | 6 | 3 | 1 | 1 | 3 | 0 | 0.44 | 0.22 | 0.65 | 0.33 | 0.54 | Matches |
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 23rd | 31 | 26 | 2,391 | 26.6 | 9 | 8 | 17 | 7 | 2 | 2 | 11 | 1 | 0.34 | 0.30 | 0.64 | 0.26 | 0.56 | Matches |
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | 4. League Two | 3rd | 38 | 26 | 2,547 | 28.3 | 17 | 1 | 18 | 15 | 2 | 3 | 9 | 0 | 0.60 | 0.04 | 0.64 | 0.53 | 0.57 | Matches |
| 2019-2020 | 26 | Charlton Athletic | eng ENG | 2. Championship | 22nd | 20 | 2 | 589 | 6.5 | 1 | 1 | 2 | 1 | 0 | 0 | 2 | 0 | 0.15 | 0.15 | 0.31 | 0.15 | 0.31 | Matches |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | 3. League One | 7th | 38 | 11 | 1,539 | 17.1 | 15 | 2 | 17 | 15 | 0 | 0 | 11 | 2 | 0.88 | 0.12 | 0.99 | 0.88 | 0.99 | Matches |
| 2021-2022 | 28 | Birmingham City | eng ENG | 2. Championship | 20th | 18 | 1 | 395 | 4.4 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.46 | 0.00 | 0.46 | 0.46 | 0.46 | Matches |
| 2021-2022 | 28 | Charlton Athletic | eng ENG | 3. League One | 13th | 9 | 4 | 446 | 5.0 | 4 | 1 | 5 | 4 | 0 | 0 | 3 | 0 | 0.81 | 0.20 | 1.01 | 0.81 | 1.01 | Matches |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | 3. League One | 10th | 13 | 1 | 337 | 3.7 | 1 | 1 | 2 | 1 | 0 | 0 | 1 | 0 | 0.27 | 0.27 | 0.53 | 0.27 | 0.53 | Matches |
| 2023-2024 | 30 | Charlton Athletic | eng ENG | 3. League One | 16th | 17 | 2 | 530 | 5.9 | 2 | 2 | 4 | 2 | 0 | 2 | 3 | 0 | 0.34 | 0.34 | 0.68 | 0.34 | 0.68 | Matches |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | 3. League One | 4th | 26 | 0 | 637 | 7.1 | 1 | 5 | 6 | 1 | 0 | 0 | 3 | 1 | 0.14 | 0.71 | 0.85 | 0.14 | 0.85 | Matches |
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | 4. League Two | 19th | 13 | 0 | 194 | 2.2 | 1 | 0 | 1 | 1 | 0 | 0 | 4 | 0 | 0.46 | 0.00 | 0.46 | 0.46 | 0.46 | Matches |
| 15 Seasons | 8 Clubs | 4 Leagues | 362 | 172 | 18,646 | 207.2 | 82 | 35 | 117 | 75 | 7 | 11 | 69 | 7 | 0.40 | 0.17 | 0.56 | 0.36 | 0.53 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Charlton Athletic (6 Seasons) | 2 Leagues | 123 | 20 | 4,078 | 45.3 | 24 | 12 | 36 | 24 | 0 | 2 | 23 | 3 | 0.53 | 0.26 | 0.79 | 0.53 | 0.79 | |||||
| Milton Keynes Dons (3 Seasons) | 2 Leagues | 84 | 61 | 5,764 | 64.0 | 30 | 11 | 41 | 25 | 5 | 6 | 23 | 1 | 0.47 | 0.17 | 0.64 | 0.39 | 0.56 | |||||
| Crewe Alexandra (2 Seasons) | 1 League | 70 | 55 | 4,869 | 54.1 | 20 | 12 | 32 | 18 | 2 | 3 | 7 | 2 | 0.37 | 0.22 | 0.59 | 0.33 | 0.55 | |||||
| Zulte Waregem (2 Seasons) | 1 League | 41 | 30 | 2,790 | 31.0 | 4 | 0 | 4 | 4 | 0 | 0 | 11 | 0 | 0.13 | 0.00 | 0.13 | 0.13 | 0.13 | |||||
| Birmingham City (1 Season) | 1 League | 18 | 1 | 395 | 4.4 | 2 | 0 | 2 | 2 | 0 | 0 | 1 | 0 | 0.46 | 0.00 | 0.46 | 0.46 | 0.46 | |||||
| Shrewsbury Town (1 Season) | 1 League | 13 | 0 | 194 | 2.2 | 1 | 0 | 1 | 1 | 0 | 0 | 4 | 0 | 0.46 | 0.00 | 0.46 | 0.46 | 0.46 | |||||
| Preston North End (1 Season) | 1 League | 7 | 3 | 301 | 3.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.30 | 0.00 | 0.30 | 0.30 | 0.30 | |||||
| Stevenage (1 Season) | 1 League | 6 | 2 | 255 | 2.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| League One (10 Seasons) | 232 | 113 | 12,131 | 134.8 | 57 | 33 | 90 | 52 | 5 | 8 | 42 | 7 | 0.42 | 0.24 | 0.67 | 0.39 | 0.63 | ||||||
| League Two (2 Seasons) | 51 | 26 | 2,741 | 30.5 | 18 | 1 | 19 | 16 | 2 | 3 | 13 | 0 | 0.59 | 0.03 | 0.62 | 0.53 | 0.56 | ||||||
| Pro League (2 Seasons) | 41 | 30 | 2,790 | 31.0 | 4 | 0 | 4 | 4 | 0 | 0 | 11 | 0 | 0.13 | 0.00 | 0.13 | 0.13 | 0.13 | ||||||
| Championship (2 Seasons) | 38 | 3 | 984 | 10.9 | 3 | 1 | 4 | 3 | 0 | 0 | 3 | 0 | 0.27 | 0.09 | 0.37 | 0.27 | 0.37 | ||||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | FA Cup | 33rd | 2 | 2 | 141 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 17th | 3 | 3 | 256 | 2.8 | 1 | 2 | 3 | 1 | 0 | 0 | 0 | 0 | 0.35 | 0.70 | 1.05 | 0.35 | 1.05 | Matches |
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | FA Cup | 85th | 1 | 1 | 63 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 26 | Charlton Athletic | eng ENG | EFL Cup | 58th | 1 | 1 | 61 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | EFL Cup | 33rd | 2 | 0 | 65 | 0.7 | 1 | 1 | 2 | 1 | 0 | 0 | 0 | 0 | 1.38 | 1.38 | 2.77 | 1.38 | 2.77 | Matches |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | FA Cup | 85th | 1 | 1 | 64 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 28 | Birmingham City | eng ENG | EFL Cup | Rd2 | 2 | 2 | 134 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 28 | Birmingham City | eng ENG | FA Cup | 1 | 0 | 33 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | EFL Cup | QF | 2 | 0 | 35 | 0.4 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2.57 | 0.00 | 2.57 | 2.57 | 2.57 | Matches |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | FA Cup | 3 | 2 | 134 | 1.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.67 | 0.00 | 0.67 | 0.67 | 0.67 | Matches | |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | EFL Cup | Rd1 | 1 | 0 | 25 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | FA Cup | 1 | 0 | 10 | 0.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | FA Cup | 1 | 0 | 44 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 9 Seasons | 4 Clubs | 2 Leagues | 21 | 12 | 1,065 | 11.8 | 4 | 3 | 7 | 4 | 0 | 0 | 4 | 0 | 0.34 | 0.25 | 0.59 | 0.34 | 0.59 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Charlton Athletic (4 Seasons) | 2 Leagues | 11 | 4 | 394 | 4.4 | 3 | 1 | 4 | 3 | 0 | 0 | 2 | 0 | 0.69 | 0.23 | 0.91 | 0.69 | 0.91 | |||||
| Milton Keynes Dons (3 Seasons) | 1 League | 6 | 6 | 460 | 5.1 | 1 | 2 | 3 | 1 | 0 | 0 | 0 | 0 | 0.20 | 0.39 | 0.59 | 0.20 | 0.59 | |||||
| Birmingham City (1 Season) | 2 Leagues | 3 | 2 | 167 | 1.9 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Shrewsbury Town (1 Season) | 1 League | 1 | 0 | 44 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| FA Cup (8 Seasons) | 13 | 9 | 745 | 8.3 | 2 | 2 | 4 | 2 | 0 | 0 | 3 | 0 | 0.24 | 0.24 | 0.48 | 0.24 | 0.48 | ||||||
| EFL Cup (5 Seasons) | 8 | 3 | 320 | 3.6 | 2 | 1 | 3 | 2 | 0 | 0 | 1 | 0 | 0.56 | 0.28 | 0.84 | 0.56 | 0.84 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2011-2012 | 18 | Stevenage | eng ENG | 3. League One | 2.8 | 0 | 2 | 0.71 | 0.00 | 0 | 0 | |||||
| 2011-2012 | 18 | Preston North End | eng ENG | 3. League One | 3.3 | 1 | 2 | 0.60 | 0.50 | 0 | 0 | |||||
| 2012-2013 | 19 | Crewe Alexandra | eng ENG | 3. League One | 20.1 | 6 | 25 | 1.24 | 0.24 | 0 | 0 | |||||
| 2013-2014 | 20 | Crewe Alexandra | eng ENG | 3. League One | 34.0 | 14 | 43 | 1.26 | 0.28 | 2 | 3 | |||||
| 2014-2015 | 21 | Zulte Waregem | be BEL | 1. Pro League | 21.5 | 2 | 10 | 0.47 | 0.20 | 0 | 0 | Matches | ||||
| 2015-2016 | 22 | Zulte Waregem | be BEL | 1. Pro League | 9.5 | 2 | 6 | 0.63 | 0.33 | 0 | 0 | Matches | ||||
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | FA Cup | 1.6 | 0 | 0 | 0 | Matches | |||||||
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 9.2 | 4 | 0 | 7 | 0.00 | 0.76 | 0.43 | 1 | 1 | Matches | ||
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 2.8 | 1 | 3 | 1 | 33.3 | 1.05 | 0.35 | 0.33 | 1.00 | 0 | 0 | Matches |
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 26.6 | 9 | 0 | 37 | 0.00 | 1.39 | 0.19 | 2 | 2 | Matches | ||
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | 4. League Two | 28.3 | 17 | 2 | 3 | Matches | |||||||
| 2019-2020 | 26 | Charlton Athletic | eng ENG | 2. Championship | 6.5 | 1 | 21 | 6 | 28.6 | 3.21 | 0.92 | 0.05 | 0.17 | 0 | 0 | Matches |
| 2019-2020 | 26 | Charlton Athletic | eng ENG | EFL Cup | 0.7 | 0 | 2 | 0 | 0.0 | 2.95 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | EFL Cup | 0.7 | 1 | 3 | 1 | 33.3 | 4.15 | 1.38 | 0.33 | 1.00 | 0 | 0 | Matches |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | FA Cup | 0.7 | 0 | 1 | 0 | 0.0 | 1.41 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | 3. League One | 17.1 | 15 | 85 | 39 | 45.9 | 4.97 | 2.28 | 0.18 | 0.38 | 0 | 0 | Matches |
| 2021-2022 | 28 | Birmingham City | eng ENG | 2. Championship | 4.4 | 2 | 27 | 7 | 25.9 | 6.15 | 1.59 | 0.07 | 0.29 | 0 | 0 | Matches |
| 2021-2022 | 28 | Birmingham City | eng ENG | EFL Cup | 1.5 | 0 | 1 | 0 | 0.0 | 0.67 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 28 | Birmingham City | eng ENG | FA Cup | 0.4 | 0 | 2 | 0 | 0.0 | 5.45 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 28 | Charlton Athletic | eng ENG | 3. League One | 5.0 | 4 | 15 | 9 | 60.0 | 3.03 | 1.82 | 0.27 | 0.44 | 0 | 0 | Matches |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | EFL Cup | 0.4 | 1 | 2 | 1 | 50.0 | 5.14 | 2.57 | 0.50 | 1.00 | 0 | 0 | Matches |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | FA Cup | 1.5 | 1 | 1 | 0 | 0.0 | 0.67 | 0.00 | 1.00 | 0 | 0 | Matches | |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | 3. League One | 3.7 | 1 | 15 | 7 | 46.7 | 4.01 | 1.87 | 0.07 | 0.14 | 0 | 0 | Matches |
| 2023-2024 | 30 | Charlton Athletic | eng ENG | 3. League One | 5.9 | 2 | 37 | 11 | 29.7 | 6.28 | 1.87 | 0.05 | 0.18 | 0 | 2 | Matches |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | EFL Cup | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2024-2025 | 31 | Charlton Athletic | eng ENG | FA Cup | 0.1 | 0 | 0 | 0 | Matches | |||||||
| 2024-2025 | 31 | Charlton Athletic | eng ENG | 3. League One | 7.1 | 1 | 42 | 10 | 23.8 | 5.93 | 1.41 | 0.02 | 0.10 | 0 | 0 | Matches |
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | FA Cup | 0.5 | 0 | 3 | 0 | 0.0 | 6.14 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | 4. League Two | 2.2 | 1 | 6 | 4 | 66.7 | 2.78 | 1.86 | 0.17 | 0.25 | 0 | 0 | Matches |
| 15 Seasons | 8 Clubs | 6 Leagues | 219.0 | 86 | 266 | 228 | 52.6 | 2.72 | 1.21 | 0.15 | 0.28 | 7 | 11 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Charlton Athletic (6 Seasons) | 4 Leagues | 49.7 | 27 | 224 | 84 | 37.5 | 4.52 | 1.69 | 0.12 | 0.32 | 0 | 2 | ||||
| Milton Keynes Dons (3 Seasons) | 3 Leagues | 69.2 | 31 | 3 | 45 | 1500.0 | 0.08 | 1.15 | 3.67 | 0.24 | 5 | 6 | ||||
| Crewe Alexandra (2 Seasons) | 1 League | 54.1 | 20 | 68 | 1.26 | 0.26 | 2 | 3 | ||||||||
| Zulte Waregem (2 Seasons) | 1 League | 31.0 | 4 | 16 | 0.52 | 0.25 | 0 | 0 | ||||||||
| Birmingham City (1 Season) | 3 Leagues | 6.2 | 2 | 30 | 7 | 23.3 | 4.80 | 1.12 | 0.07 | 0.29 | 0 | 0 | ||||
| Shrewsbury Town (1 Season) | 2 Leagues | 2.6 | 1 | 9 | 4 | 44.4 | 3.40 | 1.51 | 0.11 | 0.25 | 0 | 0 | ||||
| Preston North End (1 Season) | 1 League | 3.3 | 1 | 2 | 0.60 | 0.50 | 0 | 0 | ||||||||
| Stevenage (1 Season) | 1 League | 2.8 | 0 | 2 | 0.71 | 0.00 | 0 | 0 | ||||||||
| League One (10 Seasons) | 134.8 | 57 | 194 | 192 | 61.9 | 2.60 | 1.42 | 0.17 | 0.27 | 5 | 8 | |||||
| FA Cup (8 Seasons) | 8.3 | 2 | 10 | 1 | 10.0 | 1.52 | 0.15 | 0.20 | 2.00 | 0 | 0 | |||||
| EFL Cup (5 Seasons) | 3.6 | 2 | 8 | 2 | 25.0 | 2.25 | 0.56 | 0.25 | 1.00 | 0 | 0 | |||||
| League Two (2 Seasons) | 30.5 | 18 | 6 | 4 | 66.7 | 2.78 | 1.86 | 0.17 | 0.25 | 2 | 3 | |||||
| Pro League (2 Seasons) | 31.0 | 4 | 16 | 0.52 | 0.25 | 0 | 0 | |||||||||
| Championship (2 Seasons) | 10.9 | 3 | 48 | 13 | 27.1 | 4.39 | 1.19 | 0.06 | 0.23 | 0 | 0 | |||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2011-2012 | 18 | Stevenage | 1 League | 2.8 | 0 | 2 | 0.71 | 0.00 | 0 | 0 | |||||
| 2011-2012 | 18 | Preston North End | 1 League | 3.3 | 1 | 2 | 0.60 | 0.50 | 0 | 0 | |||||
| 2012-2013 | 19 | Crewe Alexandra | 1 League | 20.1 | 6 | 25 | 1.24 | 0.24 | 0 | 0 | |||||
| 2013-2014 | 20 | Crewe Alexandra | 1 League | 34.0 | 14 | 43 | 1.26 | 0.28 | 2 | 3 | |||||
| 2014-2015 | 21 | Zulte Waregem | 1 League | 21.5 | 2 | 10 | 0.47 | 0.20 | 0 | 0 | |||||
| 2015-2016 | 22 | Zulte Waregem | 1 League | 9.5 | 2 | 6 | 0.63 | 0.33 | 0 | 0 | |||||
| 2016-2017 | 23 | Milton Keynes Dons | 2 Leagues | 10.7 | 4 | 0 | 7 | 0.00 | 0.76 | 0.43 | 1 | 1 | |||
| 2017-2018 | 24 | Milton Keynes Dons | 2 Leagues | 29.4 | 10 | 3 | 38 | 1266.7 | 0.10 | 1.29 | 2.67 | 0.21 | 2 | 2 | |
| 2018-2019 | 25 | Milton Keynes Dons | 2 Leagues | 29.0 | 17 | 0 | 0 | 0.00 | 0.00 | 2 | 3 | ||||
| 2019-2020 | 26 | Charlton Athletic | 2 Leagues | 7.2 | 1 | 23 | 6 | 26.1 | 3.18 | 0.83 | 0.04 | 0.17 | 0 | 0 | |
| 2020-2021 | 27 | Charlton Athletic | 3 Leagues | 18.5 | 16 | 89 | 40 | 44.9 | 4.80 | 2.16 | 0.18 | 0.40 | 0 | 0 | |
| 2021-2022 | 28 | Birmingham City | 3 Leagues | 6.2 | 2 | 30 | 7 | 23.3 | 4.80 | 1.12 | 0.07 | 0.29 | 0 | 0 | |
| 2021-2022 | 28 | Charlton Athletic | 1 League | 5.0 | 4 | 15 | 9 | 60.0 | 3.03 | 1.82 | 0.27 | 0.44 | 0 | 0 | |
| 2022-2023 | 29 | Charlton Athletic | 3 Leagues | 5.6 | 3 | 18 | 8 | 44.4 | 3.20 | 1.42 | 0.17 | 0.38 | 0 | 0 | |
| 2023-2024 | 30 | Charlton Athletic | 1 League | 5.9 | 2 | 37 | 11 | 29.7 | 6.28 | 1.87 | 0.05 | 0.18 | 0 | 2 | |
| 2024-2025 | 31 | Charlton Athletic | 3 Leagues | 7.5 | 1 | 42 | 10 | 23.8 | 5.71 | 1.36 | 0.02 | 0.10 | 0 | 0 | |
| 2025-2026 | 32 | Shrewsbury Town | 2 Leagues | 2.6 | 1 | 9 | 4 | 44.4 | 3.40 | 1.51 | 0.11 | 0.25 | 0 | 0 | |
| 15 Seasons | 8 Clubs | 6 Leagues | 219.0 | 86 | 266 | 228 | 52.6 | 2.72 | 1.21 | 0.15 | 0.28 | 7 | 11 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Charlton Athletic (6 Seasons) | 4 Leagues | 49.7 | 27 | 224 | 84 | 37.5 | 4.52 | 1.69 | 0.12 | 0.32 | 0 | 2 | |||
| Milton Keynes Dons (3 Seasons) | 3 Leagues | 69.2 | 31 | 3 | 45 | 1500.0 | 0.08 | 1.15 | 3.67 | 0.24 | 5 | 6 | |||
| Crewe Alexandra (2 Seasons) | 1 League | 54.1 | 20 | 68 | 1.26 | 0.26 | 2 | 3 | |||||||
| Zulte Waregem (2 Seasons) | 1 League | 31.0 | 4 | 16 | 0.52 | 0.25 | 0 | 0 | |||||||
| Birmingham City (1 Season) | 3 Leagues | 6.2 | 2 | 30 | 7 | 23.3 | 4.80 | 1.12 | 0.07 | 0.29 | 0 | 0 | |||
| Shrewsbury Town (1 Season) | 2 Leagues | 2.6 | 1 | 9 | 4 | 44.4 | 3.40 | 1.51 | 0.11 | 0.25 | 0 | 0 | |||
| Preston North End (1 Season) | 1 League | 3.3 | 1 | 2 | 0.60 | 0.50 | 0 | 0 | |||||||
| Stevenage (1 Season) | 1 League | 2.8 | 0 | 2 | 0.71 | 0.00 | 0 | 0 | |||||||
| League One (10 Seasons) | 134.8 | 57 | 194 | 192 | 61.9 | 2.60 | 1.42 | 0.17 | 0.27 | 5 | 8 | ||||
| FA Cup (8 Seasons) | 8.3 | 2 | 10 | 1 | 10.0 | 1.52 | 0.15 | 0.20 | 2.00 | 0 | 0 | ||||
| EFL Cup (5 Seasons) | 3.6 | 2 | 8 | 2 | 25.0 | 2.25 | 0.56 | 0.25 | 1.00 | 0 | 0 | ||||
| League Two (2 Seasons) | 30.5 | 18 | 6 | 4 | 66.7 | 2.78 | 1.86 | 0.17 | 0.25 | 2 | 3 | ||||
| Pro League (2 Seasons) | 31.0 | 4 | 16 | 0.52 | 0.25 | 0 | 0 | ||||||||
| Championship (2 Seasons) | 10.9 | 3 | 48 | 13 | 27.1 | 4.39 | 1.19 | 0.06 | 0.23 | 0 | 0 | ||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2011-2012 | 18 | Stevenage | eng ENG | 3. League One | 6th | 2.8 | 0 | 2 | 0.71 | 0.00 | 0 | 0 | |||||
| 2011-2012 | 18 | Preston North End | eng ENG | 3. League One | 15th | 3.3 | 1 | 2 | 0.60 | 0.50 | 0 | 0 | |||||
| 2012-2013 | 19 | Crewe Alexandra | eng ENG | 3. League One | 13th | 20.1 | 6 | 25 | 1.24 | 0.24 | 0 | 0 | |||||
| 2013-2014 | 20 | Crewe Alexandra | eng ENG | 3. League One | 19th | 34.0 | 14 | 43 | 1.26 | 0.28 | 2 | 3 | |||||
| 2014-2015 | 21 | Zulte Waregem | be BEL | 1. Pro League | 13th | 21.5 | 2 | 10 | 0.47 | 0.20 | 0 | 0 | Matches | ||||
| 2015-2016 | 22 | Zulte Waregem | be BEL | 1. Pro League | 6th | 9.5 | 2 | 6 | 0.63 | 0.33 | 0 | 0 | Matches | ||||
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 12th | 9.2 | 4 | 0 | 7 | 0.00 | 0.76 | 0.43 | 1 | 1 | Matches | ||
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 23rd | 26.6 | 9 | 0 | 37 | 0.00 | 1.39 | 0.19 | 2 | 2 | Matches | ||
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | 4. League Two | 3rd | 28.3 | 17 | 2 | 3 | Matches | |||||||
| 2019-2020 | 26 | Charlton Athletic | eng ENG | 2. Championship | 22nd | 6.5 | 1 | 21 | 6 | 28.6 | 3.21 | 0.92 | 0.05 | 0.17 | 0 | 0 | Matches |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | 3. League One | 7th | 17.1 | 15 | 85 | 39 | 45.9 | 4.97 | 2.28 | 0.18 | 0.38 | 0 | 0 | Matches |
| 2021-2022 | 28 | Birmingham City | eng ENG | 2. Championship | 20th | 4.4 | 2 | 27 | 7 | 25.9 | 6.15 | 1.59 | 0.07 | 0.29 | 0 | 0 | Matches |
| 2021-2022 | 28 | Charlton Athletic | eng ENG | 3. League One | 13th | 5.0 | 4 | 15 | 9 | 60.0 | 3.03 | 1.82 | 0.27 | 0.44 | 0 | 0 | Matches |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | 3. League One | 10th | 3.7 | 1 | 15 | 7 | 46.7 | 4.01 | 1.87 | 0.07 | 0.14 | 0 | 0 | Matches |
| 2023-2024 | 30 | Charlton Athletic | eng ENG | 3. League One | 16th | 5.9 | 2 | 37 | 11 | 29.7 | 6.28 | 1.87 | 0.05 | 0.18 | 0 | 2 | Matches |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | 3. League One | 4th | 7.1 | 1 | 42 | 10 | 23.8 | 5.93 | 1.41 | 0.02 | 0.10 | 0 | 0 | Matches |
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | 4. League Two | 19th | 2.2 | 1 | 6 | 4 | 66.7 | 2.78 | 1.86 | 0.17 | 0.25 | 0 | 0 | Matches |
| 15 Seasons | 8 Clubs | 4 Leagues | 207.2 | 82 | 248 | 225 | 55.2 | 2.83 | 1.26 | 0.15 | 0.27 | 7 | 11 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Charlton Athletic (6 Seasons) | 2 Leagues | 45.3 | 24 | 215 | 82 | 38.1 | 4.74 | 1.81 | 0.11 | 0.29 | 0 | 2 | |||||
| Milton Keynes Dons (3 Seasons) | 2 Leagues | 64.0 | 30 | 0 | 44 | 0.00 | 1.23 | 0.23 | 5 | 6 | |||||||
| Crewe Alexandra (2 Seasons) | 1 League | 54.1 | 20 | 68 | 1.26 | 0.26 | 2 | 3 | |||||||||
| Zulte Waregem (2 Seasons) | 1 League | 31.0 | 4 | 16 | 0.52 | 0.25 | 0 | 0 | |||||||||
| Birmingham City (1 Season) | 1 League | 4.4 | 2 | 27 | 7 | 25.9 | 6.15 | 1.59 | 0.07 | 0.29 | 0 | 0 | |||||
| Shrewsbury Town (1 Season) | 1 League | 2.2 | 1 | 6 | 4 | 66.7 | 2.78 | 1.86 | 0.17 | 0.25 | 0 | 0 | |||||
| Preston North End (1 Season) | 1 League | 3.3 | 1 | 2 | 0.60 | 0.50 | 0 | 0 | |||||||||
| Stevenage (1 Season) | 1 League | 2.8 | 0 | 2 | 0.71 | 0.00 | 0 | 0 | |||||||||
| League One (10 Seasons) | 134.8 | 57 | 194 | 192 | 61.9 | 2.60 | 1.42 | 0.17 | 0.27 | 5 | 8 | ||||||
| League Two (2 Seasons) | 30.5 | 18 | 6 | 4 | 66.7 | 2.78 | 1.86 | 0.17 | 0.25 | 2 | 3 | ||||||
| Pro League (2 Seasons) | 31.0 | 4 | 16 | 0.52 | 0.25 | 0 | 0 | ||||||||||
| Championship (2 Seasons) | 10.9 | 3 | 48 | 13 | 27.1 | 4.39 | 1.19 | 0.06 | 0.23 | 0 | 0 | ||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | FA Cup | 33rd | 1.6 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 17th | 2.8 | 1 | 3 | 1 | 33.3 | 1.05 | 0.35 | 0.33 | 1.00 | 0 | 0 | Matches |
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | FA Cup | 85th | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 26 | Charlton Athletic | eng ENG | EFL Cup | 58th | 0.7 | 0 | 2 | 0 | 0.0 | 2.95 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | EFL Cup | 33rd | 0.7 | 1 | 3 | 1 | 33.3 | 4.15 | 1.38 | 0.33 | 1.00 | 0 | 0 | Matches |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | FA Cup | 85th | 0.7 | 0 | 1 | 0 | 0.0 | 1.41 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 28 | Birmingham City | eng ENG | EFL Cup | Rd2 | 1.5 | 0 | 1 | 0 | 0.0 | 0.67 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 28 | Birmingham City | eng ENG | FA Cup | 0.4 | 0 | 2 | 0 | 0.0 | 5.45 | 0.00 | 0.00 | 0 | 0 | Matches | ||
| 2022-2023 | 29 | Charlton Athletic | eng ENG | EFL Cup | QF | 0.4 | 1 | 2 | 1 | 50.0 | 5.14 | 2.57 | 0.50 | 1.00 | 0 | 0 | Matches |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | FA Cup | 1.5 | 1 | 1 | 0 | 0.0 | 0.67 | 0.00 | 1.00 | 0 | 0 | Matches | ||
| 2024-2025 | 31 | Charlton Athletic | eng ENG | EFL Cup | Rd1 | 0.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2024-2025 | 31 | Charlton Athletic | eng ENG | FA Cup | 0.1 | 0 | 0 | 0 | Matches | ||||||||
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | FA Cup | 0.5 | 0 | 3 | 0 | 0.0 | 6.14 | 0.00 | 0.00 | 0 | 0 | Matches | ||
| 9 Seasons | 4 Clubs | 2 Leagues | 11.8 | 4 | 18 | 3 | 16.7 | 1.77 | 0.30 | 0.22 | 1.33 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Charlton Athletic (4 Seasons) | 2 Leagues | 4.4 | 3 | 9 | 2 | 22.2 | 2.11 | 0.47 | 0.33 | 1.50 | 0 | 0 | |||||
| Milton Keynes Dons (3 Seasons) | 1 League | 5.1 | 1 | 3 | 1 | 33.3 | 0.85 | 0.28 | 0.33 | 1.00 | 0 | 0 | |||||
| Birmingham City (1 Season) | 2 Leagues | 1.9 | 0 | 3 | 0 | 0.0 | 1.62 | 0.00 | 0.00 | 0 | 0 | ||||||
| Shrewsbury Town (1 Season) | 1 League | 0.5 | 0 | 3 | 0 | 0.0 | 6.14 | 0.00 | 0.00 | 0 | 0 | ||||||
| FA Cup (8 Seasons) | 8.3 | 2 | 10 | 1 | 10.0 | 1.52 | 0.15 | 0.20 | 2.00 | 0 | 0 | ||||||
| EFL Cup (5 Seasons) | 3.6 | 2 | 8 | 2 | 25.0 | 2.25 | 0.56 | 0.25 | 1.00 | 0 | 0 | ||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2011-2012 | 18 | Stevenage | eng ENG | 3. League One | 6 | 255 | 43 | 6.2 | 2.8 | 2 | 4 | |||||||||||
| 2011-2012 | 18 | Preston North End | eng ENG | 3. League One | 7 | 301 | 43 | 7.3 | 3.3 | 3 | 4 | |||||||||||
| 2012-2013 | 19 | Crewe Alexandra | eng ENG | 3. League One | 30 | 1,809 | 60 | 43.7 | 20.1 | 21 | 9 | |||||||||||
| 2013-2014 | 20 | Crewe Alexandra | eng ENG | 3. League One | 40 | 3,060 | 77 | 73.9 | 34.0 | 34 | 6 | |||||||||||
| 2014-2015 | 21 | Zulte Waregem | be BEL | 1. Pro League | 30 | 1,934 | 64 | 59.7 | 21.5 | 20 | 17 | 10 | 3 | 0.90 | 30 | 43 | -13 | -0.60 | -0.33 | Matches | ||
| 2015-2016 | 22 | Zulte Waregem | be BEL | 1. Pro League | 11 | 856 | 78 | 23.8 | 9.5 | 10 | 9 | 1 | 1 | 1.36 | 16 | 19 | -3 | -0.32 | -0.05 | Matches | ||
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | FA Cup | 2 | 141 | 71 | 36.2 | 1.6 | 2 | 71 | 0 | 0 | 1 | 1.50 | 1 | 3 | -2 | -1.28 | -2.36 | Matches | |
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 15 | 826 | 55 | 20.0 | 9.2 | 9 | 1 | 6 | 1 | 1.67 | 14 | 6 | +8 | +0.87 | +1.03 | Matches | ||
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 3 | 256 | 85 | 71.1 | 2.8 | 3 | 85 | 2 | 0 | 0 | 3.00 | 9 | 1 | +8 | +2.81 | +3.68 | Matches | |
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 31 | 2,391 | 77 | 57.8 | 26.6 | 26 | 22 | 5 | 1 | 0.87 | 26 | 44 | -18 | -0.68 | -0.27 | Matches | ||
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | FA Cup | 1 | 63 | 63 | 70.0 | 0.7 | 1 | 63 | 0 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.43 | +1.90 | Matches | |
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | 4. League Two | 38 | 2,547 | 67 | 61.5 | 28.3 | 26 | 81 | 9 | 12 | 37 | 2 | 1.66 | 50 | 33 | +17 | +0.60 | +0.32 | Matches |
| 2019-2020 | 26 | Charlton Athletic | eng ENG | 2. Championship | 20 | 589 | 29 | 14.2 | 6.5 | 2 | 76 | 1 | 18 | 24 | 1 | 1.05 | 6 | 11 | -5 | -0.76 | -0.51 | Matches |
| 2019-2020 | 26 | Charlton Athletic | eng ENG | EFL Cup | 1 | 61 | 61 | 50.8 | 0.7 | 1 | 61 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | 0.00 | Matches | |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | EFL Cup | 2 | 65 | 33 | 36.1 | 0.7 | 0 | 0 | 2 | 33 | 0 | 1.50 | 2 | 1 | +1 | +1.38 | +2.95 | Matches | |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | FA Cup | 1 | 64 | 64 | 71.1 | 0.7 | 1 | 64 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.41 | -1.41 | Matches | |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | 3. League One | 38 | 1,539 | 41 | 37.2 | 17.1 | 11 | 72 | 1 | 27 | 28 | 1 | 1.66 | 35 | 23 | +12 | +0.70 | +0.63 | Matches |
| 2021-2022 | 28 | Birmingham City | eng ENG | 2. Championship | 18 | 395 | 22 | 9.5 | 4.4 | 1 | 67 | 0 | 17 | 19 | 6 | 0.72 | 5 | 8 | -3 | -0.68 | -0.15 | Matches |
| 2021-2022 | 28 | Birmingham City | eng ENG | EFL Cup | 2 | 134 | 67 | 74.4 | 1.5 | 2 | 67 | 0 | 0 | 0 | 1.50 | 0 | 1 | -1 | -0.67 | -0.67 | Matches | |
| 2021-2022 | 28 | Birmingham City | eng ENG | FA Cup | 1 | 33 | 33 | 27.5 | 0.4 | 0 | 0 | 1 | 33 | 0 | 0.00 | 0 | 1 | -1 | -2.73 | -2.73 | Matches | |
| 2021-2022 | 28 | Charlton Athletic | eng ENG | 3. League One | 9 | 446 | 50 | 10.8 | 5.0 | 4 | 83 | 2 | 5 | 23 | 0 | 1.78 | 12 | 6 | +6 | +1.21 | +1.45 | Matches |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | EFL Cup | 2 | 35 | 18 | 7.8 | 0.4 | 0 | 0 | 2 | 18 | 0 | 1.00 | 1 | 0 | +1 | +2.57 | +3.22 | Matches | |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | FA Cup | 3 | 134 | 45 | 49.6 | 1.5 | 2 | 56 | 0 | 1 | 23 | 0 | 1.33 | 5 | 2 | +3 | +2.01 | +3.34 | Matches |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | 3. League One | 13 | 337 | 26 | 8.1 | 3.7 | 1 | 69 | 0 | 12 | 22 | 0 | 1.08 | 8 | 7 | +1 | +0.27 | +0.20 | Matches |
| 2023-2024 | 30 | Charlton Athletic | eng ENG | 3. League One | 17 | 530 | 31 | 12.8 | 5.9 | 2 | 65 | 0 | 15 | 27 | 0 | 1.53 | 13 | 2 | +11 | +1.87 | +2.17 | Matches |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | EFL Cup | 1 | 25 | 25 | 27.8 | 0.3 | 0 | 0 | 1 | 25 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.38 | Matches | |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | FA Cup | 1 | 10 | 10 | 3.3 | 0.1 | 0 | 0 | 1 | 10 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | -1.24 | Matches | |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | 3. League One | 26 | 637 | 25 | 15.4 | 7.1 | 0 | 0 | 26 | 25 | 4 | 2.00 | 18 | 9 | +9 | +1.27 | +0.89 | Matches | |
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | FA Cup | 1 | 44 | 44 | 14.7 | 0.5 | 0 | 0 | 1 | 44 | 2 | 3.00 | 2 | 0 | +2 | +4.09 | +5.50 | Matches | |
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | 4. League Two | 13 | 194 | 15 | 4.7 | 2.2 | 0 | 0 | 13 | 15 | 2 | 0.77 | 4 | 7 | -3 | -1.39 | -0.84 | Matches | |
| 15 Seasons | 8 Clubs | 6 Leagues | 383 | 19,711 | 51 | 27.4 | 219.0 | 184 | 76 | 64 | 199 | 25 | 25 | 1.33 | 258 | 230 | +28 | +0.18 | +0.37 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Charlton Athletic (6 Seasons) | 4 Leagues | 134 | 4,472 | 33 | 17.0 | 49.7 | 24 | 71 | 4 | 110 | 25 | 6 | 1.50 | 100 | 62 | +38 | +0.76 | +0.83 | ||||
| Milton Keynes Dons (3 Seasons) | 3 Leagues | 90 | 6,224 | 69 | 46.9 | 69.2 | 67 | 80 | 34 | 23 | 37 | 5 | 1.41 | 101 | 89 | +12 | +0.17 | +0.28 | ||||
| Crewe Alexandra (2 Seasons) | 1 League | 70 | 4,869 | 70 | 58.8 | 54.1 | 55 | 15 | ||||||||||||||
| Zulte Waregem (2 Seasons) | 1 League | 41 | 2,790 | 68 | 40.8 | 31.0 | 30 | 26 | 11 | 4 | 1.02 | 46 | 62 | -16 | -0.52 | -0.25 | ||||||
| Birmingham City (1 Season) | 3 Leagues | 21 | 562 | 27 | 12.7 | 6.2 | 3 | 67 | 0 | 18 | 20 | 6 | 0.76 | 5 | 10 | -5 | -0.80 | -0.29 | ||||
| Shrewsbury Town (1 Season) | 2 Leagues | 14 | 238 | 17 | 5.4 | 2.6 | 0 | 0 | 14 | 17 | 4 | 0.93 | 6 | 7 | -1 | -0.38 | +0.22 | |||||
| Preston North End (1 Season) | 1 League | 7 | 301 | 43 | 7.3 | 3.3 | 3 | 4 | ||||||||||||||
| Stevenage (1 Season) | 1 League | 6 | 255 | 43 | 6.2 | 2.8 | 2 | 4 | ||||||||||||||
| League One (10 Seasons) | 232 | 12,131 | 52 | 26.6 | 134.8 | 113 | 74 | 26 | 119 | 25 | 7 | 1.50 | 126 | 97 | +29 | +0.39 | +0.45 | |||||
| FA Cup (8 Seasons) | 13 | 745 | 57 | 38.8 | 8.3 | 9 | 71 | 2 | 4 | 28 | 3 | 1.46 | 18 | 10 | +8 | +0.97 | +1.04 | |||||
| EFL Cup (5 Seasons) | 8 | 320 | 40 | 31.4 | 3.6 | 3 | 65 | 0 | 5 | 25 | 0 | 1.00 | 3 | 2 | +1 | +0.28 | +1.05 | |||||
| League Two (2 Seasons) | 51 | 2,741 | 54 | 33.1 | 30.5 | 26 | 81 | 9 | 25 | 25 | 4 | 1.43 | 54 | 40 | +14 | +0.46 | +0.77 | |||||
| Pro League (2 Seasons) | 41 | 2,790 | 68 | 40.8 | 31.0 | 30 | 26 | 11 | 4 | 1.02 | 46 | 62 | -16 | -0.52 | -0.25 | |||||||
| Championship (2 Seasons) | 38 | 984 | 26 | 11.9 | 10.9 | 3 | 73 | 1 | 35 | 22 | 7 | 0.89 | 11 | 19 | -8 | -0.73 | -0.34 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2011-2012 | 18 | Stevenage | 1 League | 6 | 255 | 43 | 6.2 | 2.8 | 2 | 4 | |||||||||||
| 2011-2012 | 18 | Preston North End | 1 League | 7 | 301 | 43 | 7.3 | 3.3 | 3 | 4 | |||||||||||
| 2012-2013 | 19 | Crewe Alexandra | 1 League | 30 | 1,809 | 60 | 43.7 | 20.1 | 21 | 9 | |||||||||||
| 2013-2014 | 20 | Crewe Alexandra | 1 League | 40 | 3,060 | 77 | 73.9 | 34.0 | 34 | 6 | |||||||||||
| 2014-2015 | 21 | Zulte Waregem | 1 League | 30 | 1,934 | 64 | 59.7 | 21.5 | 20 | 17 | 10 | 3 | 0.90 | 30 | 43 | -13 | -0.60 | -0.33 | |||
| 2015-2016 | 22 | Zulte Waregem | 1 League | 11 | 856 | 78 | 23.8 | 9.5 | 10 | 9 | 1 | 1 | 1.36 | 16 | 19 | -3 | -0.32 | -0.05 | |||
| 2016-2017 | 23 | Milton Keynes Dons | 2 Leagues | 17 | 967 | 57 | 21.3 | 10.7 | 11 | 71 | 1 | 6 | 2 | 1.65 | 15 | 9 | +6 | +0.56 | +0.63 | ||
| 2017-2018 | 24 | Milton Keynes Dons | 2 Leagues | 34 | 2,647 | 78 | 58.8 | 29.4 | 29 | 85 | 24 | 5 | 1 | 1.06 | 35 | 45 | -10 | -0.34 | +0.10 | ||
| 2018-2019 | 25 | Milton Keynes Dons | 2 Leagues | 39 | 2,610 | 67 | 61.7 | 29.0 | 27 | 80 | 9 | 12 | 37 | 2 | 1.62 | 51 | 35 | +16 | +0.55 | +0.33 | |
| 2019-2020 | 26 | Charlton Athletic | 2 Leagues | 21 | 650 | 31 | 15.3 | 7.2 | 3 | 71 | 1 | 18 | 24 | 1 | 1.00 | 6 | 11 | -5 | -0.69 | -0.44 | |
| 2020-2021 | 27 | Charlton Athletic | 3 Leagues | 41 | 1,668 | 41 | 37.8 | 18.5 | 12 | 71 | 1 | 29 | 28 | 1 | 1.61 | 37 | 25 | +12 | +0.65 | +0.65 | |
| 2021-2022 | 28 | Birmingham City | 3 Leagues | 21 | 562 | 27 | 12.7 | 6.2 | 3 | 67 | 0 | 18 | 20 | 6 | 0.76 | 5 | 10 | -5 | -0.80 | -0.29 | |
| 2021-2022 | 28 | Charlton Athletic | 1 League | 9 | 446 | 50 | 10.8 | 5.0 | 4 | 83 | 2 | 5 | 23 | 0 | 1.78 | 12 | 6 | +6 | +1.21 | +1.45 | |
| 2022-2023 | 29 | Charlton Athletic | 3 Leagues | 18 | 506 | 28 | 10.4 | 5.6 | 3 | 60 | 0 | 15 | 22 | 0 | 1.11 | 14 | 9 | +5 | +0.89 | +0.93 | |
| 2023-2024 | 30 | Charlton Athletic | 1 League | 17 | 530 | 31 | 12.8 | 5.9 | 2 | 65 | 0 | 15 | 27 | 0 | 1.53 | 13 | 2 | +11 | +1.87 | +2.17 | |
| 2024-2025 | 31 | Charlton Athletic | 3 Leagues | 28 | 672 | 24 | 14.8 | 7.5 | 0 | 0 | 28 | 24 | 4 | 1.86 | 18 | 9 | +9 | +1.21 | +0.79 | ||
| 2025-2026 | 32 | Shrewsbury Town | 2 Leagues | 14 | 238 | 17 | 5.4 | 2.6 | 0 | 0 | 14 | 17 | 4 | 0.93 | 6 | 7 | -1 | -0.38 | +0.22 | ||
| 15 Seasons | 8 Clubs | 6 Leagues | 383 | 19,711 | 51 | 27.4 | 219.0 | 184 | 76 | 64 | 199 | 25 | 25 | 1.33 | 258 | 230 | +28 | +0.18 | +0.37 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Charlton Athletic (6 Seasons) | 4 Leagues | 134 | 4,472 | 33 | 17.0 | 49.7 | 24 | 71 | 4 | 110 | 25 | 6 | 1.50 | 100 | 62 | +38 | +0.76 | +0.83 | |||
| Milton Keynes Dons (3 Seasons) | 3 Leagues | 90 | 6,224 | 69 | 46.9 | 69.2 | 67 | 80 | 34 | 23 | 37 | 5 | 1.41 | 101 | 89 | +12 | +0.17 | +0.28 | |||
| Crewe Alexandra (2 Seasons) | 1 League | 70 | 4,869 | 70 | 58.8 | 54.1 | 55 | 15 | |||||||||||||
| Zulte Waregem (2 Seasons) | 1 League | 41 | 2,790 | 68 | 40.8 | 31.0 | 30 | 26 | 11 | 4 | 1.02 | 46 | 62 | -16 | -0.52 | -0.25 | |||||
| Birmingham City (1 Season) | 3 Leagues | 21 | 562 | 27 | 12.7 | 6.2 | 3 | 67 | 0 | 18 | 20 | 6 | 0.76 | 5 | 10 | -5 | -0.80 | -0.29 | |||
| Shrewsbury Town (1 Season) | 2 Leagues | 14 | 238 | 17 | 5.4 | 2.6 | 0 | 0 | 14 | 17 | 4 | 0.93 | 6 | 7 | -1 | -0.38 | +0.22 | ||||
| Preston North End (1 Season) | 1 League | 7 | 301 | 43 | 7.3 | 3.3 | 3 | 4 | |||||||||||||
| Stevenage (1 Season) | 1 League | 6 | 255 | 43 | 6.2 | 2.8 | 2 | 4 | |||||||||||||
| League One (10 Seasons) | 232 | 12,131 | 52 | 26.6 | 134.8 | 113 | 74 | 26 | 119 | 25 | 7 | 1.50 | 126 | 97 | +29 | +0.39 | +0.45 | ||||
| FA Cup (8 Seasons) | 13 | 745 | 57 | 38.8 | 8.3 | 9 | 71 | 2 | 4 | 28 | 3 | 1.46 | 18 | 10 | +8 | +0.97 | +1.04 | ||||
| EFL Cup (5 Seasons) | 8 | 320 | 40 | 31.4 | 3.6 | 3 | 65 | 0 | 5 | 25 | 0 | 1.00 | 3 | 2 | +1 | +0.28 | +1.05 | ||||
| League Two (2 Seasons) | 51 | 2,741 | 54 | 33.1 | 30.5 | 26 | 81 | 9 | 25 | 25 | 4 | 1.43 | 54 | 40 | +14 | +0.46 | +0.77 | ||||
| Pro League (2 Seasons) | 41 | 2,790 | 68 | 40.8 | 31.0 | 30 | 26 | 11 | 4 | 1.02 | 46 | 62 | -16 | -0.52 | -0.25 | ||||||
| Championship (2 Seasons) | 38 | 984 | 26 | 11.9 | 10.9 | 3 | 73 | 1 | 35 | 22 | 7 | 0.89 | 11 | 19 | -8 | -0.73 | -0.34 | ||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2011-2012 | 18 | Stevenage | eng ENG | 3. League One | 6th | 6 | 255 | 43 | 6.2 | 2.8 | 2 | 4 | |||||||||||
| 2011-2012 | 18 | Preston North End | eng ENG | 3. League One | 15th | 7 | 301 | 43 | 7.3 | 3.3 | 3 | 4 | |||||||||||
| 2012-2013 | 19 | Crewe Alexandra | eng ENG | 3. League One | 13th | 30 | 1,809 | 60 | 43.7 | 20.1 | 21 | 9 | |||||||||||
| 2013-2014 | 20 | Crewe Alexandra | eng ENG | 3. League One | 19th | 40 | 3,060 | 77 | 73.9 | 34.0 | 34 | 6 | |||||||||||
| 2014-2015 | 21 | Zulte Waregem | be BEL | 1. Pro League | 13th | 30 | 1,934 | 64 | 59.7 | 21.5 | 20 | 17 | 10 | 3 | 0.90 | 30 | 43 | -13 | -0.60 | -0.33 | Matches | ||
| 2015-2016 | 22 | Zulte Waregem | be BEL | 1. Pro League | 6th | 11 | 856 | 78 | 23.8 | 9.5 | 10 | 9 | 1 | 1 | 1.36 | 16 | 19 | -3 | -0.32 | -0.05 | Matches | ||
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 12th | 15 | 826 | 55 | 20.0 | 9.2 | 9 | 1 | 6 | 1 | 1.67 | 14 | 6 | +8 | +0.87 | +1.03 | Matches | ||
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 23rd | 31 | 2,391 | 77 | 57.8 | 26.6 | 26 | 22 | 5 | 1 | 0.87 | 26 | 44 | -18 | -0.68 | -0.27 | Matches | ||
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | 4. League Two | 3rd | 38 | 2,547 | 67 | 61.5 | 28.3 | 26 | 81 | 9 | 12 | 37 | 2 | 1.66 | 50 | 33 | +17 | +0.60 | +0.32 | Matches |
| 2019-2020 | 26 | Charlton Athletic | eng ENG | 2. Championship | 22nd | 20 | 589 | 29 | 14.2 | 6.5 | 2 | 76 | 1 | 18 | 24 | 1 | 1.05 | 6 | 11 | -5 | -0.76 | -0.51 | Matches |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | 3. League One | 7th | 38 | 1,539 | 41 | 37.2 | 17.1 | 11 | 72 | 1 | 27 | 28 | 1 | 1.66 | 35 | 23 | +12 | +0.70 | +0.63 | Matches |
| 2021-2022 | 28 | Birmingham City | eng ENG | 2. Championship | 20th | 18 | 395 | 22 | 9.5 | 4.4 | 1 | 67 | 0 | 17 | 19 | 6 | 0.72 | 5 | 8 | -3 | -0.68 | -0.15 | Matches |
| 2021-2022 | 28 | Charlton Athletic | eng ENG | 3. League One | 13th | 9 | 446 | 50 | 10.8 | 5.0 | 4 | 83 | 2 | 5 | 23 | 0 | 1.78 | 12 | 6 | +6 | +1.21 | +1.45 | Matches |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | 3. League One | 10th | 13 | 337 | 26 | 8.1 | 3.7 | 1 | 69 | 0 | 12 | 22 | 0 | 1.08 | 8 | 7 | +1 | +0.27 | +0.20 | Matches |
| 2023-2024 | 30 | Charlton Athletic | eng ENG | 3. League One | 16th | 17 | 530 | 31 | 12.8 | 5.9 | 2 | 65 | 0 | 15 | 27 | 0 | 1.53 | 13 | 2 | +11 | +1.87 | +2.17 | Matches |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | 3. League One | 4th | 26 | 637 | 25 | 15.4 | 7.1 | 0 | 0 | 26 | 25 | 4 | 2.00 | 18 | 9 | +9 | +1.27 | +0.89 | Matches | |
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | 4. League Two | 19th | 13 | 194 | 15 | 4.7 | 2.2 | 0 | 0 | 13 | 15 | 2 | 0.77 | 4 | 7 | -3 | -1.39 | -0.84 | Matches | |
| 15 Seasons | 8 Clubs | 4 Leagues | 362 | 18,646 | 52 | 27.0 | 207.2 | 172 | 78 | 62 | 190 | 25 | 22 | 1.33 | 237 | 218 | +19 | +0.13 | +0.31 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Charlton Athletic (6 Seasons) | 2 Leagues | 123 | 4,078 | 33 | 16.4 | 45.3 | 20 | 74 | 4 | 103 | 25 | 6 | 1.56 | 92 | 58 | +34 | +0.75 | +0.80 | |||||
| Milton Keynes Dons (3 Seasons) | 2 Leagues | 84 | 5,764 | 69 | 46.4 | 64.0 | 61 | 81 | 32 | 23 | 37 | 4 | 1.37 | 90 | 83 | +7 | +0.11 | +0.23 | |||||
| Crewe Alexandra (2 Seasons) | 1 League | 70 | 4,869 | 70 | 58.8 | 54.1 | 55 | 15 | |||||||||||||||
| Zulte Waregem (2 Seasons) | 1 League | 41 | 2,790 | 68 | 40.8 | 31.0 | 30 | 26 | 11 | 4 | 1.02 | 46 | 62 | -16 | -0.52 | -0.25 | |||||||
| Birmingham City (1 Season) | 1 League | 18 | 395 | 22 | 9.5 | 4.4 | 1 | 67 | 0 | 17 | 19 | 6 | 0.72 | 5 | 8 | -3 | -0.68 | -0.15 | |||||
| Shrewsbury Town (1 Season) | 1 League | 13 | 194 | 15 | 4.7 | 2.2 | 0 | 0 | 13 | 15 | 2 | 0.77 | 4 | 7 | -3 | -1.39 | -0.84 | ||||||
| Preston North End (1 Season) | 1 League | 7 | 301 | 43 | 7.3 | 3.3 | 3 | 4 | |||||||||||||||
| Stevenage (1 Season) | 1 League | 6 | 255 | 43 | 6.2 | 2.8 | 2 | 4 | |||||||||||||||
| League One (10 Seasons) | 232 | 12,131 | 52 | 26.6 | 134.8 | 113 | 74 | 26 | 119 | 25 | 7 | 1.50 | 126 | 97 | +29 | +0.39 | +0.45 | ||||||
| League Two (2 Seasons) | 51 | 2,741 | 54 | 33.1 | 30.5 | 26 | 81 | 9 | 25 | 25 | 4 | 1.43 | 54 | 40 | +14 | +0.46 | +0.77 | ||||||
| Pro League (2 Seasons) | 41 | 2,790 | 68 | 40.8 | 31.0 | 30 | 26 | 11 | 4 | 1.02 | 46 | 62 | -16 | -0.52 | -0.25 | ||||||||
| Championship (2 Seasons) | 38 | 984 | 26 | 11.9 | 10.9 | 3 | 73 | 1 | 35 | 22 | 7 | 0.89 | 11 | 19 | -8 | -0.73 | -0.34 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | FA Cup | 33rd | 2 | 141 | 71 | 36.2 | 1.6 | 2 | 71 | 0 | 0 | 1 | 1.50 | 1 | 3 | -2 | -1.28 | -2.36 | Matches | |
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 17th | 3 | 256 | 85 | 71.1 | 2.8 | 3 | 85 | 2 | 0 | 0 | 3.00 | 9 | 1 | +8 | +2.81 | +3.68 | Matches | |
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | FA Cup | 85th | 1 | 63 | 63 | 70.0 | 0.7 | 1 | 63 | 0 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.43 | +1.90 | Matches | |
| 2019-2020 | 26 | Charlton Athletic | eng ENG | EFL Cup | 58th | 1 | 61 | 61 | 50.8 | 0.7 | 1 | 61 | 0 | 0 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | 0.00 | Matches | |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | EFL Cup | 33rd | 2 | 65 | 33 | 36.1 | 0.7 | 0 | 0 | 2 | 33 | 0 | 1.50 | 2 | 1 | +1 | +1.38 | +2.95 | Matches | |
| 2020-2021 | 27 | Charlton Athletic | eng ENG | FA Cup | 85th | 1 | 64 | 64 | 71.1 | 0.7 | 1 | 64 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.41 | -1.41 | Matches | |
| 2021-2022 | 28 | Birmingham City | eng ENG | EFL Cup | Rd2 | 2 | 134 | 67 | 74.4 | 1.5 | 2 | 67 | 0 | 0 | 0 | 1.50 | 0 | 1 | -1 | -0.67 | -0.67 | Matches | |
| 2021-2022 | 28 | Birmingham City | eng ENG | FA Cup | 1 | 33 | 33 | 27.5 | 0.4 | 0 | 0 | 1 | 33 | 0 | 0.00 | 0 | 1 | -1 | -2.73 | -2.73 | Matches | ||
| 2022-2023 | 29 | Charlton Athletic | eng ENG | EFL Cup | QF | 2 | 35 | 18 | 7.8 | 0.4 | 0 | 0 | 2 | 18 | 0 | 1.00 | 1 | 0 | +1 | +2.57 | +3.22 | Matches | |
| 2022-2023 | 29 | Charlton Athletic | eng ENG | FA Cup | 3 | 134 | 45 | 49.6 | 1.5 | 2 | 56 | 0 | 1 | 23 | 0 | 1.33 | 5 | 2 | +3 | +2.01 | +3.34 | Matches | |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | EFL Cup | Rd1 | 1 | 25 | 25 | 27.8 | 0.3 | 0 | 0 | 1 | 25 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | +1.38 | Matches | |
| 2024-2025 | 31 | Charlton Athletic | eng ENG | FA Cup | 1 | 10 | 10 | 3.3 | 0.1 | 0 | 0 | 1 | 10 | 0 | 0.00 | 0 | 0 | 0 | 0.00 | -1.24 | Matches | ||
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | FA Cup | 1 | 44 | 44 | 14.7 | 0.5 | 0 | 0 | 1 | 44 | 2 | 3.00 | 2 | 0 | +2 | +4.09 | +5.50 | Matches | ||
| 9 Seasons | 4 Clubs | 2 Leagues | 21 | 1,065 | 51 | 36.2 | 11.8 | 12 | 69 | 2 | 9 | 26 | 3 | 1.29 | 21 | 12 | +9 | +0.76 | +1.10 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Charlton Athletic (4 Seasons) | 2 Leagues | 11 | 394 | 36 | 26.3 | 4.4 | 4 | 59 | 0 | 7 | 23 | 0 | 0.82 | 8 | 4 | +4 | +0.91 | +1.24 | |||||
| Milton Keynes Dons (3 Seasons) | 1 League | 6 | 460 | 77 | 54.8 | 5.1 | 6 | 77 | 2 | 0 | 1 | 2.00 | 11 | 6 | +5 | +0.98 | +0.74 | ||||||
| Birmingham City (1 Season) | 2 Leagues | 3 | 167 | 56 | 55.7 | 1.9 | 2 | 67 | 0 | 1 | 33 | 0 | 1.00 | 0 | 2 | -2 | -1.08 | -1.08 | |||||
| Shrewsbury Town (1 Season) | 1 League | 1 | 44 | 44 | 14.7 | 0.5 | 0 | 0 | 1 | 44 | 2 | 3.00 | 2 | 0 | +2 | +4.09 | +5.50 | ||||||
| FA Cup (8 Seasons) | 13 | 745 | 57 | 38.8 | 8.3 | 9 | 71 | 2 | 4 | 28 | 3 | 1.46 | 18 | 10 | +8 | +0.97 | +1.04 | ||||||
| EFL Cup (5 Seasons) | 8 | 320 | 40 | 31.4 | 3.6 | 3 | 65 | 0 | 5 | 25 | 0 | 1.00 | 3 | 2 | +1 | +0.28 | +1.05 | ||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2011-2012 | 18 | Stevenage | eng ENG | 3. League One | 2.8 | 0 | 1 | 5 | ||||||||||
| 2011-2012 | 18 | Preston North End | eng ENG | 3. League One | 3.3 | 0 | 0 | 9 | ||||||||||
| 2012-2013 | 19 | Crewe Alexandra | eng ENG | 3. League One | 20.1 | 3 | 1 | 25 | ||||||||||
| 2013-2014 | 20 | Crewe Alexandra | eng ENG | 3. League One | 34.0 | 4 | 1 | 53 | ||||||||||
| 2014-2015 | 21 | Zulte Waregem | be BEL | 1. Pro League | 21.5 | 10 | 0 | Matches | ||||||||||
| 2015-2016 | 22 | Zulte Waregem | be BEL | 1. Pro League | 9.5 | 1 | 0 | 25 | Matches | |||||||||
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | FA Cup | 1.6 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 9.2 | 3 | 0 | 0 | 25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 2.8 | 0 | 0 | 0 | 15 | 1 | 1 | 1 | 1 | 0 | 0 | Matches | ||
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 26.6 | 11 | 1 | 0 | 86 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | 4. League Two | 28.3 | 9 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 26 | Charlton Athletic | eng ENG | 2. Championship | 6.5 | 2 | 0 | 0 | 32 | 9 | 9 | 3 | 1 | 4 | 0 | Matches | ||
| 2019-2020 | 26 | Charlton Athletic | eng ENG | EFL Cup | 0.7 | 1 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 27 | Charlton Athletic | eng ENG | EFL Cup | 0.7 | 0 | 0 | 0 | 1 | 2 | 3 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 27 | Charlton Athletic | eng ENG | FA Cup | 0.7 | 1 | 0 | 0 | 3 | 1 | 2 | 1 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 27 | Charlton Athletic | eng ENG | 3. League One | 17.1 | 11 | 2 | 1 | 57 | 22 | 8 | 9 | 3 | 17 | 0 | Matches | ||
| 2021-2022 | 28 | Birmingham City | eng ENG | 2. Championship | 4.4 | 1 | 0 | 0 | 15 | 2 | 2 | 4 | 0 | 7 | 0 | Matches | ||
| 2021-2022 | 28 | Birmingham City | eng ENG | EFL Cup | 1.5 | 0 | 0 | 0 | 4 | 1 | 2 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 28 | Birmingham City | eng ENG | FA Cup | 0.4 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 28 | Charlton Athletic | eng ENG | 3. League One | 5.0 | 3 | 0 | 0 | 11 | 4 | 3 | 4 | 0 | 2 | 0 | Matches | ||
| 2022-2023 | 29 | Charlton Athletic | eng ENG | EFL Cup | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Matches | ||
| 2022-2023 | 29 | Charlton Athletic | eng ENG | FA Cup | 1.5 | 0 | 0 | 0 | 4 | 0 | 1 | 1 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 29 | Charlton Athletic | eng ENG | 3. League One | 3.7 | 1 | 0 | 0 | 11 | 1 | 1 | 3 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 30 | Charlton Athletic | eng ENG | 3. League One | 5.9 | 3 | 0 | 0 | 19 | 10 | 2 | 4 | 2 | 6 | 0 | Matches | ||
| 2024-2025 | 31 | Charlton Athletic | eng ENG | EFL Cup | 0.3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2024-2025 | 31 | Charlton Athletic | eng ENG | FA Cup | 0.1 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2024-2025 | 31 | Charlton Athletic | eng ENG | 3. League One | 7.1 | 3 | 1 | 0 | 23 | 9 | 8 | 3 | 2 | 5 | 0 | Matches | ||
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | FA Cup | 0.5 | 1 | 0 | 0 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | Matches | ||
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | 4. League Two | 2.2 | 4 | 0 | 0 | 6 | 1 | 1 | 0 | 1 | 2 | 0 | Matches | ||
| 15 Seasons | 8 Clubs | 6 Leagues | 219.0 | 73 | 7 | 1 | 439 | 64 | 44 | 33 | 10 | 44 | 0 | 0 | 0 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Charlton Athletic (6 Seasons) | 4 Leagues | 49.7 | 25 | 3 | 1 | 167 | 58 | 37 | 28 | 8 | 35 | 0 | ||||||
| Milton Keynes Dons (3 Seasons) | 3 Leagues | 69.2 | 23 | 1 | 0 | 126 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | ||||
| Crewe Alexandra (2 Seasons) | 1 League | 54.1 | 7 | 2 | 78 | |||||||||||||
| Zulte Waregem (2 Seasons) | 1 League | 31.0 | 11 | 0 | 25 | |||||||||||||
| Birmingham City (1 Season) | 3 Leagues | 6.2 | 2 | 0 | 0 | 21 | 3 | 4 | 4 | 0 | 7 | 0 | ||||||
| Shrewsbury Town (1 Season) | 2 Leagues | 2.6 | 5 | 0 | 0 | 8 | 2 | 2 | 0 | 1 | 2 | 0 | ||||||
| Preston North End (1 Season) | 1 League | 3.3 | 0 | 0 | 9 | |||||||||||||
| Stevenage (1 Season) | 1 League | 2.8 | 0 | 1 | 5 | |||||||||||||
| League One (10 Seasons) | 134.8 | 42 | 7 | 1 | 324 | 46 | 22 | 23 | 7 | 30 | 0 | 0 | 0 | |||||
| FA Cup (8 Seasons) | 8.3 | 3 | 0 | 0 | 26 | 3 | 5 | 3 | 1 | 0 | 0 | 0 | 0 | |||||
| EFL Cup (5 Seasons) | 3.6 | 1 | 0 | 0 | 11 | 3 | 5 | 0 | 0 | 1 | 0 | |||||||
| League Two (2 Seasons) | 30.5 | 13 | 0 | 0 | 6 | 1 | 1 | 0 | 1 | 2 | 0 | |||||||
| Pro League (2 Seasons) | 31.0 | 11 | 0 | 25 | ||||||||||||||
| Championship (2 Seasons) | 10.9 | 3 | 0 | 0 | 47 | 11 | 11 | 7 | 1 | 11 | 0 | |||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2011-2012 | 18 | Stevenage | 1 League | 2.8 | 0 | 1 | 5 | ||||||||||
| 2011-2012 | 18 | Preston North End | 1 League | 3.3 | 0 | 0 | 9 | ||||||||||
| 2012-2013 | 19 | Crewe Alexandra | 1 League | 20.1 | 3 | 1 | 25 | ||||||||||
| 2013-2014 | 20 | Crewe Alexandra | 1 League | 34.0 | 4 | 1 | 53 | ||||||||||
| 2014-2015 | 21 | Zulte Waregem | 1 League | 21.5 | 10 | 0 | |||||||||||
| 2015-2016 | 22 | Zulte Waregem | 1 League | 9.5 | 1 | 0 | 25 | ||||||||||
| 2016-2017 | 23 | Milton Keynes Dons | 2 Leagues | 10.7 | 3 | 0 | 0 | 25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2017-2018 | 24 | Milton Keynes Dons | 2 Leagues | 29.4 | 11 | 1 | 0 | 101 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | |
| 2018-2019 | 25 | Milton Keynes Dons | 2 Leagues | 29.0 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2019-2020 | 26 | Charlton Athletic | 2 Leagues | 7.2 | 3 | 0 | 0 | 37 | 9 | 9 | 3 | 1 | 4 | 0 | |||
| 2020-2021 | 27 | Charlton Athletic | 3 Leagues | 18.5 | 12 | 2 | 1 | 61 | 25 | 13 | 10 | 3 | 17 | 0 | |||
| 2021-2022 | 28 | Birmingham City | 3 Leagues | 6.2 | 2 | 0 | 0 | 21 | 3 | 4 | 4 | 0 | 7 | 0 | |||
| 2021-2022 | 28 | Charlton Athletic | 1 League | 5.0 | 3 | 0 | 0 | 11 | 4 | 3 | 4 | 0 | 2 | 0 | |||
| 2022-2023 | 29 | Charlton Athletic | 3 Leagues | 5.6 | 1 | 0 | 0 | 15 | 1 | 2 | 4 | 0 | 1 | 0 | |||
| 2023-2024 | 30 | Charlton Athletic | 1 League | 5.9 | 3 | 0 | 0 | 19 | 10 | 2 | 4 | 2 | 6 | 0 | |||
| 2024-2025 | 31 | Charlton Athletic | 3 Leagues | 7.5 | 3 | 1 | 0 | 24 | 9 | 8 | 3 | 2 | 5 | 0 | |||
| 2025-2026 | 32 | Shrewsbury Town | 2 Leagues | 2.6 | 5 | 0 | 0 | 8 | 2 | 2 | 0 | 1 | 2 | 0 | |||
| 15 Seasons | 8 Clubs | 6 Leagues | 219.0 | 73 | 7 | 1 | 439 | 64 | 44 | 33 | 10 | 44 | 0 | 0 | 0 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Charlton Athletic (6 Seasons) | 4 Leagues | 49.7 | 25 | 3 | 1 | 167 | 58 | 37 | 28 | 8 | 35 | 0 | |||||
| Milton Keynes Dons (3 Seasons) | 3 Leagues | 69.2 | 23 | 1 | 0 | 126 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | |||
| Crewe Alexandra (2 Seasons) | 1 League | 54.1 | 7 | 2 | 78 | ||||||||||||
| Zulte Waregem (2 Seasons) | 1 League | 31.0 | 11 | 0 | 25 | ||||||||||||
| Birmingham City (1 Season) | 3 Leagues | 6.2 | 2 | 0 | 0 | 21 | 3 | 4 | 4 | 0 | 7 | 0 | |||||
| Shrewsbury Town (1 Season) | 2 Leagues | 2.6 | 5 | 0 | 0 | 8 | 2 | 2 | 0 | 1 | 2 | 0 | |||||
| Preston North End (1 Season) | 1 League | 3.3 | 0 | 0 | 9 | ||||||||||||
| Stevenage (1 Season) | 1 League | 2.8 | 0 | 1 | 5 | ||||||||||||
| League One (10 Seasons) | 134.8 | 42 | 7 | 1 | 324 | 46 | 22 | 23 | 7 | 30 | 0 | 0 | 0 | ||||
| FA Cup (8 Seasons) | 8.3 | 3 | 0 | 0 | 26 | 3 | 5 | 3 | 1 | 0 | 0 | 0 | 0 | ||||
| EFL Cup (5 Seasons) | 3.6 | 1 | 0 | 0 | 11 | 3 | 5 | 0 | 0 | 1 | 0 | ||||||
| League Two (2 Seasons) | 30.5 | 13 | 0 | 0 | 6 | 1 | 1 | 0 | 1 | 2 | 0 | ||||||
| Pro League (2 Seasons) | 31.0 | 11 | 0 | 25 | |||||||||||||
| Championship (2 Seasons) | 10.9 | 3 | 0 | 0 | 47 | 11 | 11 | 7 | 1 | 11 | 0 | ||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2011-2012 | 18 | Stevenage | eng ENG | 3. League One | 6th | 2.8 | 0 | 1 | 5 | ||||||||||
| 2011-2012 | 18 | Preston North End | eng ENG | 3. League One | 15th | 3.3 | 0 | 0 | 9 | ||||||||||
| 2012-2013 | 19 | Crewe Alexandra | eng ENG | 3. League One | 13th | 20.1 | 3 | 1 | 25 | ||||||||||
| 2013-2014 | 20 | Crewe Alexandra | eng ENG | 3. League One | 19th | 34.0 | 4 | 1 | 53 | ||||||||||
| 2014-2015 | 21 | Zulte Waregem | be BEL | 1. Pro League | 13th | 21.5 | 10 | 0 | Matches | ||||||||||
| 2015-2016 | 22 | Zulte Waregem | be BEL | 1. Pro League | 6th | 9.5 | 1 | 0 | 25 | Matches | |||||||||
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | 3. League One | 12th | 9.2 | 3 | 0 | 0 | 25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 23rd | 26.6 | 11 | 1 | 0 | 86 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | 4. League Two | 3rd | 28.3 | 9 | 0 | 0 | 0 | Matches | ||||||||
| 2019-2020 | 26 | Charlton Athletic | eng ENG | 2. Championship | 22nd | 6.5 | 2 | 0 | 0 | 32 | 9 | 9 | 3 | 1 | 4 | 0 | Matches | ||
| 2020-2021 | 27 | Charlton Athletic | eng ENG | 3. League One | 7th | 17.1 | 11 | 2 | 1 | 57 | 22 | 8 | 9 | 3 | 17 | 0 | Matches | ||
| 2021-2022 | 28 | Birmingham City | eng ENG | 2. Championship | 20th | 4.4 | 1 | 0 | 0 | 15 | 2 | 2 | 4 | 0 | 7 | 0 | Matches | ||
| 2021-2022 | 28 | Charlton Athletic | eng ENG | 3. League One | 13th | 5.0 | 3 | 0 | 0 | 11 | 4 | 3 | 4 | 0 | 2 | 0 | Matches | ||
| 2022-2023 | 29 | Charlton Athletic | eng ENG | 3. League One | 10th | 3.7 | 1 | 0 | 0 | 11 | 1 | 1 | 3 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 30 | Charlton Athletic | eng ENG | 3. League One | 16th | 5.9 | 3 | 0 | 0 | 19 | 10 | 2 | 4 | 2 | 6 | 0 | Matches | ||
| 2024-2025 | 31 | Charlton Athletic | eng ENG | 3. League One | 4th | 7.1 | 3 | 1 | 0 | 23 | 9 | 8 | 3 | 2 | 5 | 0 | Matches | ||
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | 4. League Two | 19th | 2.2 | 4 | 0 | 0 | 6 | 1 | 1 | 0 | 1 | 2 | 0 | Matches | ||
| 15 Seasons | 8 Clubs | 4 Leagues | 207.2 | 69 | 7 | 1 | 402 | 58 | 34 | 30 | 9 | 43 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Charlton Athletic (6 Seasons) | 2 Leagues | 45.3 | 23 | 3 | 1 | 153 | 55 | 31 | 26 | 8 | 34 | 0 | |||||||
| Milton Keynes Dons (3 Seasons) | 2 Leagues | 64.0 | 23 | 1 | 0 | 111 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Crewe Alexandra (2 Seasons) | 1 League | 54.1 | 7 | 2 | 78 | ||||||||||||||
| Zulte Waregem (2 Seasons) | 1 League | 31.0 | 11 | 0 | 25 | ||||||||||||||
| Birmingham City (1 Season) | 1 League | 4.4 | 1 | 0 | 0 | 15 | 2 | 2 | 4 | 0 | 7 | 0 | |||||||
| Shrewsbury Town (1 Season) | 1 League | 2.2 | 4 | 0 | 0 | 6 | 1 | 1 | 0 | 1 | 2 | 0 | |||||||
| Preston North End (1 Season) | 1 League | 3.3 | 0 | 0 | 9 | ||||||||||||||
| Stevenage (1 Season) | 1 League | 2.8 | 0 | 1 | 5 | ||||||||||||||
| League One (10 Seasons) | 134.8 | 42 | 7 | 1 | 324 | 46 | 22 | 23 | 7 | 30 | 0 | 0 | 0 | ||||||
| League Two (2 Seasons) | 30.5 | 13 | 0 | 0 | 6 | 1 | 1 | 0 | 1 | 2 | 0 | ||||||||
| Pro League (2 Seasons) | 31.0 | 11 | 0 | 25 | |||||||||||||||
| Championship (2 Seasons) | 10.9 | 3 | 0 | 0 | 47 | 11 | 11 | 7 | 1 | 11 | 0 | ||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016-2017 | 23 | Milton Keynes Dons | eng ENG | FA Cup | 33rd | 1.6 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 24 | Milton Keynes Dons | eng ENG | FA Cup | 17th | 2.8 | 0 | 0 | 0 | 15 | 1 | 1 | 1 | 1 | 0 | 0 | Matches | ||
| 2018-2019 | 25 | Milton Keynes Dons | eng ENG | FA Cup | 85th | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2019-2020 | 26 | Charlton Athletic | eng ENG | EFL Cup | 58th | 0.7 | 1 | 0 | 0 | 5 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 27 | Charlton Athletic | eng ENG | EFL Cup | 33rd | 0.7 | 0 | 0 | 0 | 1 | 2 | 3 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 27 | Charlton Athletic | eng ENG | FA Cup | 85th | 0.7 | 1 | 0 | 0 | 3 | 1 | 2 | 1 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 28 | Birmingham City | eng ENG | EFL Cup | Rd2 | 1.5 | 0 | 0 | 0 | 4 | 1 | 2 | 0 | 0 | 0 | 0 | Matches | ||
| 2021-2022 | 28 | Birmingham City | eng ENG | FA Cup | 0.4 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 2022-2023 | 29 | Charlton Athletic | eng ENG | EFL Cup | QF | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Matches | ||
| 2022-2023 | 29 | Charlton Athletic | eng ENG | FA Cup | 1.5 | 0 | 0 | 0 | 4 | 0 | 1 | 1 | 0 | 0 | 0 | Matches | |||
| 2024-2025 | 31 | Charlton Athletic | eng ENG | EFL Cup | Rd1 | 0.3 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2024-2025 | 31 | Charlton Athletic | eng ENG | FA Cup | 0.1 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2025-2026 | 32 | Shrewsbury Town | eng ENG | FA Cup | 0.5 | 1 | 0 | 0 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | Matches | |||
| 9 Seasons | 4 Clubs | 2 Leagues | 11.8 | 4 | 0 | 0 | 37 | 6 | 10 | 3 | 1 | 1 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Charlton Athletic (4 Seasons) | 2 Leagues | 4.4 | 2 | 0 | 0 | 14 | 3 | 6 | 2 | 0 | 1 | 0 | |||||||
| Milton Keynes Dons (3 Seasons) | 1 League | 5.1 | 0 | 0 | 0 | 15 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 0 | |||||
| Birmingham City (1 Season) | 2 Leagues | 1.9 | 1 | 0 | 0 | 6 | 1 | 2 | 0 | 0 | 0 | 0 | |||||||
| Shrewsbury Town (1 Season) | 1 League | 0.5 | 1 | 0 | 0 | 2 | 1 | 1 | 0 | 0 | 0 | 0 | |||||||
| FA Cup (8 Seasons) | 8.3 | 3 | 0 | 0 | 26 | 3 | 5 | 3 | 1 | 0 | 0 | 0 | 0 | ||||||
| EFL Cup (5 Seasons) | 3.6 | 1 | 0 | 0 | 11 | 3 | 5 | 0 | 0 | 1 | 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