| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2014-2015 | 17 | Lens | fr FRA | 1. Ligue 1 | 4 | 4 | 360 | 4.0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.25 | 0.25 | 0.00 | 0.25 | Matches |
| 2015-2016 | 18 | Lens | fr FRA | 1. Coupe de la Ligue | 1 | 1 | 72 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 18 | Lens | fr FRA | 2. Ligue 2 | 5 | 4 | 351 | 3.9 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 19 | Bristol City | eng ENG | 2. Championship | 5 | 1 | 175 | 1.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 19 | Bristol City | eng ENG | EFL Cup | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 19 | Bury | eng ENG | 3. League One | 19 | 18 | 1,599 | 17.8 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | Matches |
| 2017-2018 | 20 | Cheltenham Town | eng ENG | FA Cup | 1 | 1 | 30 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 20 | Cheltenham Town | eng ENG | 4. League Two | 36 | 35 | 2,990 | 33.2 | 0 | 1 | 1 | 0 | 0 | 0 | 4 | 1 | 0.00 | 0.03 | 0.03 | 0.00 | 0.03 | Matches |
| 2018-2019 | 21 | Bristol City | eng ENG | 2. Championship | 0 | 0 | Matches | |||||||||||||||
| 2018-2019 | 21 | Southend United | eng ENG | FA Cup | 1 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 21 | Southend United | eng ENG | 3. League One | 34 | 33 | 2,964 | 32.9 | 1 | 1 | 2 | 1 | 0 | 0 | 2 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | Matches |
| 2019-2020 | 22 | Bristol City | eng ENG | 2. Championship | 21 | 16 | 1,292 | 14.4 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.07 | 0.00 | 0.07 | 0.07 | 0.07 | Matches |
| 2019-2020 | 22 | Bristol City | eng ENG | EFL Cup | 1 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 22 | Bristol City | eng ENG | FA Cup | 2 | 1 | 142 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 22 | Blackpool | eng ENG | 3. League One | 8 | 8 | 720 | 8.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | 2. Championship | 22 | 16 | 1,368 | 15.2 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | EFL Cup | 3 | 2 | 264 | 2.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | FA Cup | 3 | 2 | 205 | 2.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 24 | Bristol 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 |
| 2021-2022 | 24 | Hearts | sct SCO | 1. Premiership | 22 | 16 | 1,557 | 17.3 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 1 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | Matches |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | EFL Cup | 2 | 2 | 135 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | FA Cup | 3 | 3 | 259 | 2.9 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | 3. League One | 42 | 41 | 3,636 | 40.4 | 0 | 2 | 2 | 0 | 0 | 0 | 8 | 0 | 0.00 | 0.05 | 0.05 | 0.00 | 0.05 | Matches |
| 2023-2024 | 26 | Valenciennes | fr FRA | Coupe de France | 4 | 4 | 342 | 3.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 26 | Valenciennes | fr FRA | 2. Ligue 2 | 17 | 15 | 1,372 | 15.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 27 | Bristol Rovers | eng ENG | EFL Cup | 0 | 0 | Matches | |||||||||||||||
| 2024-2025 | 27 | Bristol Rovers | eng ENG | FA Cup | 3 | 3 | 330 | 3.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 27 | Bristol Rovers | eng ENG | 3. League One | 33 | 25 | 2,287 | 25.4 | 1 | 0 | 1 | 1 | 0 | 0 | 7 | 1 | 0.04 | 0.00 | 0.04 | 0.04 | 0.04 | Matches |
| 2025-2026 | 28 | Bristol Rovers | eng ENG | EFL Cup | 1 | 0 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 28 | Bristol Rovers | eng ENG | FA Cup | 2 | 1 | 116 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 28 | Bristol Rovers | eng ENG | 4. League Two | 18 | 9 | 908 | 10.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 12 Seasons | 10 Clubs | 10 Leagues | 316 | 266 | 24,029 | 267.0 | 3 | 7 | 10 | 3 | 0 | 0 | 45 | 3 | 0.01 | 0.03 | 0.04 | 0.01 | 0.04 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Bristol City (5 Seasons) | 3 Leagues | 60 | 42 | 3,836 | 42.6 | 1 | 0 | 1 | 1 | 0 | 0 | 7 | 0 | 0.02 | 0.00 | 0.02 | 0.02 | 0.02 | ||||
| Bristol Rovers (2 Seasons) | 4 Leagues | 57 | 38 | 3,686 | 41.0 | 1 | 0 | 1 | 1 | 0 | 0 | 10 | 1 | 0.02 | 0.00 | 0.02 | 0.02 | 0.02 | ||||
| Lens (2 Seasons) | 3 Leagues | 10 | 9 | 783 | 8.7 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.11 | 0.11 | 0.00 | 0.11 | ||||
| Shrewsbury Town (1 Season) | 3 Leagues | 47 | 46 | 4,030 | 44.8 | 0 | 2 | 2 | 0 | 0 | 0 | 9 | 0 | 0.00 | 0.04 | 0.04 | 0.00 | 0.04 | ||||
| Cheltenham Town (1 Season) | 2 Leagues | 37 | 36 | 3,020 | 33.6 | 0 | 1 | 1 | 0 | 0 | 0 | 4 | 1 | 0.00 | 0.03 | 0.03 | 0.00 | 0.03 | ||||
| Southend United (1 Season) | 2 Leagues | 35 | 34 | 3,084 | 34.3 | 1 | 1 | 2 | 1 | 0 | 0 | 2 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | ||||
| Hearts (1 Season) | 1 League | 22 | 16 | 1,557 | 17.3 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 1 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | ||||
| Valenciennes (1 Season) | 2 Leagues | 21 | 19 | 1,714 | 19.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Bury (1 Season) | 1 League | 19 | 18 | 1,599 | 17.8 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | ||||
| Blackpool (1 Season) | 1 League | 8 | 8 | 720 | 8.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| FA Cup (7 Seasons) | 15 | 12 | 1,202 | 13.4 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| EFL Cup (7 Seasons) | 10 | 8 | 834 | 9.3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| League One (5 Seasons) | 136 | 125 | 11,206 | 124.5 | 2 | 4 | 6 | 2 | 0 | 0 | 19 | 1 | 0.02 | 0.03 | 0.05 | 0.02 | 0.05 | |||||
| Championship (4 Seasons) | 48 | 33 | 2,835 | 31.5 | 1 | 0 | 1 | 1 | 0 | 0 | 4 | 0 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | |||||
| League Two (2 Seasons) | 54 | 44 | 3,898 | 43.3 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 1 | 0.00 | 0.02 | 0.02 | 0.00 | 0.02 | |||||
| Ligue 2 (2 Seasons) | 22 | 19 | 1,723 | 19.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Premiership (1 Season) | 22 | 16 | 1,557 | 17.3 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 1 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | |||||
| Ligue 1 (1 Season) | 4 | 4 | 360 | 4.0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.25 | 0.25 | 0.00 | 0.25 | |||||
| Coupe de France (1 Season) | 4 | 4 | 342 | 3.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Coupe de la Ligue (1 Season) | 1 | 1 | 72 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2014-2015 | 17 | Lens | 1 League | 4 | 4 | 360 | 4.0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.25 | 0.25 | 0.00 | 0.25 | |
| 2015-2016 | 18 | Lens | 2 Leagues | 6 | 5 | 423 | 4.7 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2016-2017 | 19 | Bristol City | 2 Leagues | 7 | 3 | 355 | 3.9 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2016-2017 | 19 | Bury | 1 League | 19 | 18 | 1,599 | 17.8 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | |
| 2017-2018 | 20 | Cheltenham Town | 2 Leagues | 37 | 36 | 3,020 | 33.6 | 0 | 1 | 1 | 0 | 0 | 0 | 4 | 1 | 0.00 | 0.03 | 0.03 | 0.00 | 0.03 | |
| 2018-2019 | 21 | Southend United | 2 Leagues | 35 | 34 | 3,084 | 34.3 | 1 | 1 | 2 | 1 | 0 | 0 | 2 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | |
| 2018-2019 | 21 | Bristol City | 1 League | 0 | 0 | ||||||||||||||||
| 2019-2020 | 22 | Blackpool | 1 League | 8 | 8 | 720 | 8.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2019-2020 | 22 | Bristol City | 3 Leagues | 24 | 18 | 1,554 | 17.3 | 1 | 0 | 1 | 1 | 0 | 0 | 2 | 0 | 0.06 | 0.00 | 0.06 | 0.06 | 0.06 | |
| 2020-2021 | 23 | Bristol City | 3 Leagues | 28 | 20 | 1,837 | 20.4 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2021-2022 | 24 | Bristol City | 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 | |
| 2021-2022 | 24 | Hearts | 1 League | 22 | 16 | 1,557 | 17.3 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 1 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | |
| 2022-2023 | 25 | Shrewsbury Town | 3 Leagues | 47 | 46 | 4,030 | 44.8 | 0 | 2 | 2 | 0 | 0 | 0 | 9 | 0 | 0.00 | 0.04 | 0.04 | 0.00 | 0.04 | |
| 2023-2024 | 26 | Valenciennes | 2 Leagues | 21 | 19 | 1,714 | 19.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2024-2025 | 27 | Bristol Rovers | 3 Leagues | 36 | 28 | 2,617 | 29.1 | 1 | 0 | 1 | 1 | 0 | 0 | 7 | 1 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | |
| 2025-2026 | 28 | Bristol Rovers | 3 Leagues | 21 | 10 | 1,069 | 11.9 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 12 Seasons | 10 Clubs | 10 Leagues | 316 | 266 | 24,029 | 267.0 | 3 | 7 | 10 | 3 | 0 | 0 | 45 | 3 | 0.01 | 0.03 | 0.04 | 0.01 | 0.04 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Bristol City (5 Seasons) | 3 Leagues | 60 | 42 | 3,836 | 42.6 | 1 | 0 | 1 | 1 | 0 | 0 | 7 | 0 | 0.02 | 0.00 | 0.02 | 0.02 | 0.02 | |||
| Bristol Rovers (2 Seasons) | 4 Leagues | 57 | 38 | 3,686 | 41.0 | 1 | 0 | 1 | 1 | 0 | 0 | 10 | 1 | 0.02 | 0.00 | 0.02 | 0.02 | 0.02 | |||
| Lens (2 Seasons) | 3 Leagues | 10 | 9 | 783 | 8.7 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.11 | 0.11 | 0.00 | 0.11 | |||
| Shrewsbury Town (1 Season) | 3 Leagues | 47 | 46 | 4,030 | 44.8 | 0 | 2 | 2 | 0 | 0 | 0 | 9 | 0 | 0.00 | 0.04 | 0.04 | 0.00 | 0.04 | |||
| Cheltenham Town (1 Season) | 2 Leagues | 37 | 36 | 3,020 | 33.6 | 0 | 1 | 1 | 0 | 0 | 0 | 4 | 1 | 0.00 | 0.03 | 0.03 | 0.00 | 0.03 | |||
| Southend United (1 Season) | 2 Leagues | 35 | 34 | 3,084 | 34.3 | 1 | 1 | 2 | 1 | 0 | 0 | 2 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | |||
| Hearts (1 Season) | 1 League | 22 | 16 | 1,557 | 17.3 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 1 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | |||
| Valenciennes (1 Season) | 2 Leagues | 21 | 19 | 1,714 | 19.0 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| Bury (1 Season) | 1 League | 19 | 18 | 1,599 | 17.8 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | |||
| Blackpool (1 Season) | 1 League | 8 | 8 | 720 | 8.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| FA Cup (7 Seasons) | 15 | 12 | 1,202 | 13.4 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| EFL Cup (7 Seasons) | 10 | 8 | 834 | 9.3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| League One (5 Seasons) | 136 | 125 | 11,206 | 124.5 | 2 | 4 | 6 | 2 | 0 | 0 | 19 | 1 | 0.02 | 0.03 | 0.05 | 0.02 | 0.05 | ||||
| Championship (4 Seasons) | 48 | 33 | 2,835 | 31.5 | 1 | 0 | 1 | 1 | 0 | 0 | 4 | 0 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | ||||
| League Two (2 Seasons) | 54 | 44 | 3,898 | 43.3 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 1 | 0.00 | 0.02 | 0.02 | 0.00 | 0.02 | ||||
| Ligue 2 (2 Seasons) | 22 | 19 | 1,723 | 19.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Premiership (1 Season) | 22 | 16 | 1,557 | 17.3 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 1 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | ||||
| Ligue 1 (1 Season) | 4 | 4 | 360 | 4.0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.25 | 0.25 | 0.00 | 0.25 | ||||
| Coupe de France (1 Season) | 4 | 4 | 342 | 3.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Coupe de la Ligue (1 Season) | 1 | 1 | 72 | 0.8 | 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 | 17 | Lens | fr FRA | 1. Ligue 1 | 20th | 4 | 4 | 360 | 4.0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.25 | 0.25 | 0.00 | 0.25 | Matches |
| 2015-2016 | 18 | Lens | fr FRA | 2. Ligue 2 | 6th | 5 | 4 | 351 | 3.9 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 19 | Bristol City | eng ENG | 2. Championship | 17th | 5 | 1 | 175 | 1.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 19 | Bury | eng ENG | 3. League One | 19th | 19 | 18 | 1,599 | 17.8 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | Matches |
| 2017-2018 | 20 | Cheltenham Town | eng ENG | 4. League Two | 17th | 36 | 35 | 2,990 | 33.2 | 0 | 1 | 1 | 0 | 0 | 0 | 4 | 1 | 0.00 | 0.03 | 0.03 | 0.00 | 0.03 | Matches |
| 2018-2019 | 21 | Southend United | eng ENG | 3. League One | 19th | 34 | 33 | 2,964 | 32.9 | 1 | 1 | 2 | 1 | 0 | 0 | 2 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | Matches |
| 2018-2019 | 21 | Bristol City | eng ENG | 2. Championship | 8th | 0 | 0 | Matches | |||||||||||||||
| 2019-2020 | 22 | Blackpool | eng ENG | 3. League One | 13th | 8 | 8 | 720 | 8.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 22 | Bristol City | eng ENG | 2. Championship | 12th | 21 | 16 | 1,292 | 14.4 | 1 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0.07 | 0.00 | 0.07 | 0.07 | 0.07 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | 2. Championship | 19th | 22 | 16 | 1,368 | 15.2 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 24 | Hearts | sct SCO | 1. Premiership | 3rd | 22 | 16 | 1,557 | 17.3 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 1 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | Matches |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | 3. League One | 12th | 42 | 41 | 3,636 | 40.4 | 0 | 2 | 2 | 0 | 0 | 0 | 8 | 0 | 0.00 | 0.05 | 0.05 | 0.00 | 0.05 | Matches |
| 2023-2024 | 26 | Valenciennes | fr FRA | 2. Ligue 2 | 20th | 17 | 15 | 1,372 | 15.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 27 | Bristol Rovers | eng ENG | 3. League One | 22nd | 33 | 25 | 2,287 | 25.4 | 1 | 0 | 1 | 1 | 0 | 0 | 7 | 1 | 0.04 | 0.00 | 0.04 | 0.04 | 0.04 | Matches |
| 2025-2026 | 28 | Bristol Rovers | eng ENG | 4. League Two | 14th | 18 | 9 | 908 | 10.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 12 Seasons | 10 Clubs | 6 Leagues | 286 | 241 | 21,579 | 239.8 | 3 | 7 | 10 | 3 | 0 | 0 | 38 | 3 | 0.01 | 0.03 | 0.04 | 0.01 | 0.04 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Bristol City (4 Seasons) | 1 League | 48 | 33 | 2,835 | 31.5 | 1 | 0 | 1 | 1 | 0 | 0 | 4 | 0 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | |||||
| Bristol Rovers (2 Seasons) | 2 Leagues | 51 | 34 | 3,195 | 35.5 | 1 | 0 | 1 | 1 | 0 | 0 | 8 | 1 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | |||||
| Lens (2 Seasons) | 2 Leagues | 9 | 8 | 711 | 7.9 | 0 | 1 | 1 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.13 | 0.13 | 0.00 | 0.13 | |||||
| Shrewsbury Town (1 Season) | 1 League | 42 | 41 | 3,636 | 40.4 | 0 | 2 | 2 | 0 | 0 | 0 | 8 | 0 | 0.00 | 0.05 | 0.05 | 0.00 | 0.05 | |||||
| Cheltenham Town (1 Season) | 1 League | 36 | 35 | 2,990 | 33.2 | 0 | 1 | 1 | 0 | 0 | 0 | 4 | 1 | 0.00 | 0.03 | 0.03 | 0.00 | 0.03 | |||||
| Southend United (1 Season) | 1 League | 34 | 33 | 2,964 | 32.9 | 1 | 1 | 2 | 1 | 0 | 0 | 2 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | |||||
| Hearts (1 Season) | 1 League | 22 | 16 | 1,557 | 17.3 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 1 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | |||||
| Bury (1 Season) | 1 League | 19 | 18 | 1,599 | 17.8 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | |||||
| Valenciennes (1 Season) | 1 League | 17 | 15 | 1,372 | 15.2 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Blackpool (1 Season) | 1 League | 8 | 8 | 720 | 8.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| League One (5 Seasons) | 136 | 125 | 11,206 | 124.5 | 2 | 4 | 6 | 2 | 0 | 0 | 19 | 1 | 0.02 | 0.03 | 0.05 | 0.02 | 0.05 | ||||||
| Championship (4 Seasons) | 48 | 33 | 2,835 | 31.5 | 1 | 0 | 1 | 1 | 0 | 0 | 4 | 0 | 0.03 | 0.00 | 0.03 | 0.03 | 0.03 | ||||||
| League Two (2 Seasons) | 54 | 44 | 3,898 | 43.3 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 1 | 0.00 | 0.02 | 0.02 | 0.00 | 0.02 | ||||||
| Ligue 2 (2 Seasons) | 22 | 19 | 1,723 | 19.1 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| Premiership (1 Season) | 22 | 16 | 1,557 | 17.3 | 0 | 1 | 1 | 0 | 0 | 0 | 5 | 1 | 0.00 | 0.06 | 0.06 | 0.00 | 0.06 | ||||||
| Ligue 1 (1 Season) | 4 | 4 | 360 | 4.0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.25 | 0.25 | 0.00 | 0.25 | ||||||
| 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 | |||||
| 2015-2016 | 18 | Lens | fr FRA | 1. Coupe de la Ligue | 33rd | 1 | 1 | 72 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 19 | Bristol City | eng ENG | EFL Cup | 9th | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 20 | Cheltenham Town | eng ENG | FA Cup | 85th | 1 | 1 | 30 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 21 | Southend United | eng ENG | FA Cup | 65th | 1 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 22 | Bristol City | eng ENG | EFL Cup | 58th | 1 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 22 | Bristol City | eng ENG | FA Cup | 33rd | 2 | 1 | 142 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | EFL Cup | 17th | 3 | 2 | 264 | 2.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | FA Cup | 9th | 3 | 2 | 205 | 2.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 24 | Bristol City | eng ENG | EFL Cup | Rd1 | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | EFL Cup | Rd2 | 2 | 2 | 135 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | FA Cup | 3 | 3 | 259 | 2.9 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2023-2024 | 26 | Valenciennes | fr FRA | Coupe de France | SF | 4 | 4 | 342 | 3.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 27 | Bristol Rovers | eng ENG | EFL Cup | Rd1 | 0 | 0 | Matches | |||||||||||||||
| 2024-2025 | 27 | Bristol Rovers | eng ENG | FA Cup | 3 | 3 | 330 | 3.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2025-2026 | 28 | Bristol Rovers | eng ENG | EFL Cup | Rd1 | 1 | 0 | 45 | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 28 | Bristol Rovers | eng ENG | FA Cup | 2 | 1 | 116 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 11 Seasons | 7 Clubs | 4 Leagues | 30 | 25 | 2,450 | 27.2 | 0 | 0 | 0 | 0 | 0 | 0 | 7 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Bristol City (4 Seasons) | 2 Leagues | 12 | 9 | 1,001 | 11.1 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Bristol Rovers (2 Seasons) | 2 Leagues | 6 | 4 | 491 | 5.5 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Shrewsbury Town (1 Season) | 2 Leagues | 5 | 5 | 394 | 4.4 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Valenciennes (1 Season) | 1 League | 4 | 4 | 342 | 3.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Southend United (1 Season) | 1 League | 1 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Cheltenham Town (1 Season) | 1 League | 1 | 1 | 30 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Lens (1 Season) | 1 League | 1 | 1 | 72 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| FA Cup (7 Seasons) | 15 | 12 | 1,202 | 13.4 | 0 | 0 | 0 | 0 | 0 | 0 | 4 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| EFL Cup (7 Seasons) | 10 | 8 | 834 | 9.3 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| Coupe de France (1 Season) | 4 | 4 | 342 | 3.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| Coupe de la Ligue (1 Season) | 1 | 1 | 72 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014-2015 | 17 | Lens | fr FRA | 1. Ligue 1 | 4.0 | 0 | 1 | 0.25 | 0.00 | 0 | 0 | Matches | ||||
| 2015-2016 | 18 | Lens | fr FRA | 1. Coupe de la Ligue | 0.8 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 18 | Lens | fr FRA | 2. Ligue 2 | 3.9 | 0 | 0 | 0.00 | 0 | 0 | Matches | |||||
| 2016-2017 | 19 | Bristol City | eng ENG | 2. Championship | 1.9 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2016-2017 | 19 | Bristol City | eng ENG | EFL Cup | 2.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2016-2017 | 19 | Bury | eng ENG | 3. League One | 17.8 | 0 | 0 | 1 | 0.00 | 0.06 | 0.00 | 0 | 0 | Matches | ||
| 2017-2018 | 20 | Cheltenham Town | eng ENG | FA Cup | 0.3 | 0 | 1 | 0 | 0.0 | 3.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2017-2018 | 20 | Cheltenham Town | eng ENG | 4. League Two | 33.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 21 | Southend United | eng ENG | FA Cup | 1.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 21 | Southend United | eng ENG | 3. League One | 32.9 | 1 | 0 | 0 | Matches | |||||||
| 2019-2020 | 22 | Bristol City | eng ENG | 2. Championship | 14.4 | 1 | 7 | 2 | 28.6 | 0.49 | 0.14 | 0.14 | 0.50 | 0 | 0 | Matches |
| 2019-2020 | 22 | Bristol City | eng ENG | EFL Cup | 1.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 22 | Bristol City | eng ENG | FA Cup | 1.6 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 22 | Blackpool | eng ENG | 3. League One | 8.0 | 0 | 4 | 1 | 25.0 | 0.50 | 0.12 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | 2. Championship | 15.2 | 0 | 7 | 2 | 28.6 | 0.46 | 0.13 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | EFL Cup | 2.9 | 0 | 1 | 0 | 0.0 | 0.34 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 23 | Bristol City | eng ENG | FA Cup | 2.3 | 0 | 2 | 0 | 0.0 | 0.88 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 24 | Bristol City | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 24 | Hearts | sct SCO | 1. Premiership | 17.3 | 0 | 14 | 3 | 21.4 | 0.81 | 0.17 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | EFL Cup | 1.5 | 0 | 1 | 0 | 0.0 | 0.67 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | FA Cup | 2.9 | 0 | 2 | 2 | 100.0 | 0.69 | 0.69 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | 3. League One | 40.4 | 0 | 25 | 4 | 16.0 | 0.62 | 0.10 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 26 | Valenciennes | fr FRA | Coupe de France | 3.8 | 0 | 2 | 0 | 0.0 | 0.53 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 26 | Valenciennes | fr FRA | 2. Ligue 2 | 15.2 | 0 | 4 | 2 | 50.0 | 0.26 | 0.13 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 27 | Bristol Rovers | eng ENG | FA Cup | 3.7 | 0 | 0 | 0 | Matches | |||||||
| 2024-2025 | 27 | Bristol Rovers | eng ENG | 3. League One | 25.4 | 1 | 16 | 5 | 31.3 | 0.63 | 0.20 | 0.06 | 0.20 | 0 | 0 | Matches |
| 2025-2026 | 28 | Bristol Rovers | eng ENG | EFL Cup | 0.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2025-2026 | 28 | Bristol Rovers | eng ENG | FA Cup | 1.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2025-2026 | 28 | Bristol Rovers | eng ENG | 4. League Two | 10.1 | 0 | 6 | 2 | 33.3 | 0.59 | 0.20 | 0.00 | 0.00 | 0 | 0 | Matches |
| 12 Seasons | 10 Clubs | 10 Leagues | 267.0 | 3 | 92 | 25 | 26.1 | 0.41 | 0.11 | 0.02 | 0.08 | 0 | 0 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Bristol City (5 Seasons) | 3 Leagues | 42.6 | 1 | 17 | 4 | 23.5 | 0.40 | 0.09 | 0.06 | 0.25 | 0 | 0 | ||||
| Bristol Rovers (2 Seasons) | 4 Leagues | 41.0 | 1 | 22 | 7 | 31.8 | 0.59 | 0.19 | 0.05 | 0.14 | 0 | 0 | ||||
| Lens (2 Seasons) | 3 Leagues | 8.7 | 0 | 1 | 0.13 | 0.00 | 0 | 0 | ||||||||
| Shrewsbury Town (1 Season) | 3 Leagues | 44.8 | 0 | 28 | 6 | 21.4 | 0.63 | 0.13 | 0.00 | 0.00 | 0 | 0 | ||||
| Cheltenham Town (1 Season) | 2 Leagues | 33.6 | 0 | 1 | 0 | 0.0 | 0.03 | 0.00 | 0.00 | 0 | 0 | |||||
| Southend United (1 Season) | 2 Leagues | 34.3 | 1 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | |||||||
| Hearts (1 Season) | 1 League | 17.3 | 0 | 14 | 3 | 21.4 | 0.81 | 0.17 | 0.00 | 0.00 | 0 | 0 | ||||
| Valenciennes (1 Season) | 2 Leagues | 19.0 | 0 | 6 | 2 | 33.3 | 0.32 | 0.11 | 0.00 | 0.00 | 0 | 0 | ||||
| Bury (1 Season) | 1 League | 17.8 | 0 | 0 | 1 | 0.00 | 0.06 | 0.00 | 0 | 0 | ||||||
| Blackpool (1 Season) | 1 League | 8.0 | 0 | 4 | 1 | 25.0 | 0.50 | 0.12 | 0.00 | 0.00 | 0 | 0 | ||||
| FA Cup (7 Seasons) | 13.4 | 0 | 5 | 2 | 40.0 | 0.52 | 0.21 | 0.00 | 0.00 | 0 | 0 | |||||
| EFL Cup (7 Seasons) | 9.3 | 0 | 2 | 0 | 0.0 | 0.22 | 0.00 | 0.00 | 0 | 0 | ||||||
| League One (5 Seasons) | 124.5 | 2 | 45 | 11 | 24.4 | 0.49 | 0.12 | 0.02 | 0.09 | 0 | 0 | |||||
| Championship (4 Seasons) | 31.5 | 1 | 14 | 4 | 28.6 | 0.44 | 0.13 | 0.07 | 0.25 | 0 | 0 | |||||
| League Two (2 Seasons) | 43.3 | 0 | 6 | 2 | 33.3 | 0.14 | 0.05 | 0.00 | 0.00 | 0 | 0 | |||||
| Ligue 2 (2 Seasons) | 19.1 | 0 | 4 | 2 | 50.0 | 0.26 | 0.10 | 0.00 | 0.00 | 0 | 0 | |||||
| Premiership (1 Season) | 17.3 | 0 | 14 | 3 | 21.4 | 0.81 | 0.17 | 0.00 | 0.00 | 0 | 0 | |||||
| Ligue 1 (1 Season) | 4.0 | 0 | 1 | 0.25 | 0.00 | 0 | 0 | |||||||||
| Coupe de France (1 Season) | 3.8 | 0 | 2 | 0 | 0.0 | 0.53 | 0.00 | 0.00 | 0 | 0 | ||||||
| Coupe de la Ligue (1 Season) | 0.8 | 0 | 0 | 0 | ||||||||||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014-2015 | 17 | Lens | 1 League | 4.0 | 0 | 1 | 0.25 | 0.00 | 0 | 0 | |||||
| 2015-2016 | 18 | Lens | 2 Leagues | 4.7 | 0 | 0 | 0.00 | 0 | 0 | ||||||
| 2016-2017 | 19 | Bristol City | 2 Leagues | 3.9 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2016-2017 | 19 | Bury | 1 League | 17.8 | 0 | 0 | 1 | 0.00 | 0.06 | 0.00 | 0 | 0 | |||
| 2017-2018 | 20 | Cheltenham Town | 2 Leagues | 33.6 | 0 | 1 | 0 | 0.0 | 0.03 | 0.00 | 0.00 | 0 | 0 | ||
| 2018-2019 | 21 | Southend United | 2 Leagues | 34.3 | 1 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2019-2020 | 22 | Blackpool | 1 League | 8.0 | 0 | 4 | 1 | 25.0 | 0.50 | 0.12 | 0.00 | 0.00 | 0 | 0 | |
| 2019-2020 | 22 | Bristol City | 3 Leagues | 17.3 | 1 | 7 | 2 | 28.6 | 0.41 | 0.12 | 0.14 | 0.50 | 0 | 0 | |
| 2020-2021 | 23 | Bristol City | 3 Leagues | 20.4 | 0 | 10 | 2 | 20.0 | 0.49 | 0.10 | 0.00 | 0.00 | 0 | 0 | |
| 2021-2022 | 24 | Bristol City | 1 League | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||
| 2021-2022 | 24 | Hearts | 1 League | 17.3 | 0 | 14 | 3 | 21.4 | 0.81 | 0.17 | 0.00 | 0.00 | 0 | 0 | |
| 2022-2023 | 25 | Shrewsbury Town | 3 Leagues | 44.8 | 0 | 28 | 6 | 21.4 | 0.63 | 0.13 | 0.00 | 0.00 | 0 | 0 | |
| 2023-2024 | 26 | Valenciennes | 2 Leagues | 19.0 | 0 | 6 | 2 | 33.3 | 0.32 | 0.11 | 0.00 | 0.00 | 0 | 0 | |
| 2024-2025 | 27 | Bristol Rovers | 3 Leagues | 29.1 | 1 | 16 | 5 | 31.3 | 0.63 | 0.20 | 0.06 | 0.20 | 0 | 0 | |
| 2025-2026 | 28 | Bristol Rovers | 3 Leagues | 11.9 | 0 | 6 | 2 | 33.3 | 0.51 | 0.17 | 0.00 | 0.00 | 0 | 0 | |
| 12 Seasons | 10 Clubs | 10 Leagues | 267.0 | 3 | 92 | 25 | 26.1 | 0.41 | 0.11 | 0.02 | 0.08 | 0 | 0 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Bristol City (5 Seasons) | 3 Leagues | 42.6 | 1 | 17 | 4 | 23.5 | 0.40 | 0.09 | 0.06 | 0.25 | 0 | 0 | |||
| Bristol Rovers (2 Seasons) | 4 Leagues | 41.0 | 1 | 22 | 7 | 31.8 | 0.59 | 0.19 | 0.05 | 0.14 | 0 | 0 | |||
| Lens (2 Seasons) | 3 Leagues | 8.7 | 0 | 1 | 0.13 | 0.00 | 0 | 0 | |||||||
| Shrewsbury Town (1 Season) | 3 Leagues | 44.8 | 0 | 28 | 6 | 21.4 | 0.63 | 0.13 | 0.00 | 0.00 | 0 | 0 | |||
| Cheltenham Town (1 Season) | 2 Leagues | 33.6 | 0 | 1 | 0 | 0.0 | 0.03 | 0.00 | 0.00 | 0 | 0 | ||||
| Southend United (1 Season) | 2 Leagues | 34.3 | 1 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||
| Hearts (1 Season) | 1 League | 17.3 | 0 | 14 | 3 | 21.4 | 0.81 | 0.17 | 0.00 | 0.00 | 0 | 0 | |||
| Valenciennes (1 Season) | 2 Leagues | 19.0 | 0 | 6 | 2 | 33.3 | 0.32 | 0.11 | 0.00 | 0.00 | 0 | 0 | |||
| Bury (1 Season) | 1 League | 17.8 | 0 | 0 | 1 | 0.00 | 0.06 | 0.00 | 0 | 0 | |||||
| Blackpool (1 Season) | 1 League | 8.0 | 0 | 4 | 1 | 25.0 | 0.50 | 0.12 | 0.00 | 0.00 | 0 | 0 | |||
| FA Cup (7 Seasons) | 13.4 | 0 | 5 | 2 | 40.0 | 0.52 | 0.21 | 0.00 | 0.00 | 0 | 0 | ||||
| EFL Cup (7 Seasons) | 9.3 | 0 | 2 | 0 | 0.0 | 0.22 | 0.00 | 0.00 | 0 | 0 | |||||
| League One (5 Seasons) | 124.5 | 2 | 45 | 11 | 24.4 | 0.49 | 0.12 | 0.02 | 0.09 | 0 | 0 | ||||
| Championship (4 Seasons) | 31.5 | 1 | 14 | 4 | 28.6 | 0.44 | 0.13 | 0.07 | 0.25 | 0 | 0 | ||||
| League Two (2 Seasons) | 43.3 | 0 | 6 | 2 | 33.3 | 0.14 | 0.05 | 0.00 | 0.00 | 0 | 0 | ||||
| Ligue 2 (2 Seasons) | 19.1 | 0 | 4 | 2 | 50.0 | 0.26 | 0.10 | 0.00 | 0.00 | 0 | 0 | ||||
| Premiership (1 Season) | 17.3 | 0 | 14 | 3 | 21.4 | 0.81 | 0.17 | 0.00 | 0.00 | 0 | 0 | ||||
| Ligue 1 (1 Season) | 4.0 | 0 | 1 | 0.25 | 0.00 | 0 | 0 | ||||||||
| Coupe de France (1 Season) | 3.8 | 0 | 2 | 0 | 0.0 | 0.53 | 0.00 | 0.00 | 0 | 0 | |||||
| Coupe de la Ligue (1 Season) | 0.8 | 0 | 0 | 0 | |||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014-2015 | 17 | Lens | fr FRA | 1. Ligue 1 | 20th | 4.0 | 0 | 1 | 0.25 | 0.00 | 0 | 0 | Matches | ||||
| 2015-2016 | 18 | Lens | fr FRA | 2. Ligue 2 | 6th | 3.9 | 0 | 0 | 0.00 | 0 | 0 | Matches | |||||
| 2016-2017 | 19 | Bristol City | eng ENG | 2. Championship | 17th | 1.9 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2016-2017 | 19 | Bury | eng ENG | 3. League One | 19th | 17.8 | 0 | 0 | 1 | 0.00 | 0.06 | 0.00 | 0 | 0 | Matches | ||
| 2017-2018 | 20 | Cheltenham Town | eng ENG | 4. League Two | 17th | 33.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 21 | Southend United | eng ENG | 3. League One | 19th | 32.9 | 1 | 0 | 0 | Matches | |||||||
| 2019-2020 | 22 | Blackpool | eng ENG | 3. League One | 13th | 8.0 | 0 | 4 | 1 | 25.0 | 0.50 | 0.12 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 22 | Bristol City | eng ENG | 2. Championship | 12th | 14.4 | 1 | 7 | 2 | 28.6 | 0.49 | 0.14 | 0.14 | 0.50 | 0 | 0 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | 2. Championship | 19th | 15.2 | 0 | 7 | 2 | 28.6 | 0.46 | 0.13 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 24 | Hearts | sct SCO | 1. Premiership | 3rd | 17.3 | 0 | 14 | 3 | 21.4 | 0.81 | 0.17 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | 3. League One | 12th | 40.4 | 0 | 25 | 4 | 16.0 | 0.62 | 0.10 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 26 | Valenciennes | fr FRA | 2. Ligue 2 | 20th | 15.2 | 0 | 4 | 2 | 50.0 | 0.26 | 0.13 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 27 | Bristol Rovers | eng ENG | 3. League One | 22nd | 25.4 | 1 | 16 | 5 | 31.3 | 0.63 | 0.20 | 0.06 | 0.20 | 0 | 0 | Matches |
| 2025-2026 | 28 | Bristol Rovers | eng ENG | 4. League Two | 14th | 10.1 | 0 | 6 | 2 | 33.3 | 0.59 | 0.20 | 0.00 | 0.00 | 0 | 0 | Matches |
| 12 Seasons | 10 Clubs | 6 Leagues | 239.8 | 3 | 83 | 23 | 26.5 | 0.42 | 0.11 | 0.02 | 0.09 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Bristol City (4 Seasons) | 1 League | 31.5 | 1 | 14 | 4 | 28.6 | 0.44 | 0.13 | 0.07 | 0.25 | 0 | 0 | |||||
| Bristol Rovers (2 Seasons) | 2 Leagues | 35.5 | 1 | 22 | 7 | 31.8 | 0.62 | 0.20 | 0.05 | 0.14 | 0 | 0 | |||||
| Lens (2 Seasons) | 2 Leagues | 7.9 | 0 | 1 | 0.13 | 0.00 | 0 | 0 | |||||||||
| Shrewsbury Town (1 Season) | 1 League | 40.4 | 0 | 25 | 4 | 16.0 | 0.62 | 0.10 | 0.00 | 0.00 | 0 | 0 | |||||
| Cheltenham Town (1 Season) | 1 League | 33.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Southend United (1 Season) | 1 League | 32.9 | 1 | 0 | 0 | ||||||||||||
| Hearts (1 Season) | 1 League | 17.3 | 0 | 14 | 3 | 21.4 | 0.81 | 0.17 | 0.00 | 0.00 | 0 | 0 | |||||
| Bury (1 Season) | 1 League | 17.8 | 0 | 0 | 1 | 0.00 | 0.06 | 0.00 | 0 | 0 | |||||||
| Valenciennes (1 Season) | 1 League | 15.2 | 0 | 4 | 2 | 50.0 | 0.26 | 0.13 | 0.00 | 0.00 | 0 | 0 | |||||
| Blackpool (1 Season) | 1 League | 8.0 | 0 | 4 | 1 | 25.0 | 0.50 | 0.12 | 0.00 | 0.00 | 0 | 0 | |||||
| League One (5 Seasons) | 124.5 | 2 | 45 | 11 | 24.4 | 0.49 | 0.12 | 0.02 | 0.09 | 0 | 0 | ||||||
| Championship (4 Seasons) | 31.5 | 1 | 14 | 4 | 28.6 | 0.44 | 0.13 | 0.07 | 0.25 | 0 | 0 | ||||||
| League Two (2 Seasons) | 43.3 | 0 | 6 | 2 | 33.3 | 0.14 | 0.05 | 0.00 | 0.00 | 0 | 0 | ||||||
| Ligue 2 (2 Seasons) | 19.1 | 0 | 4 | 2 | 50.0 | 0.26 | 0.10 | 0.00 | 0.00 | 0 | 0 | ||||||
| Premiership (1 Season) | 17.3 | 0 | 14 | 3 | 21.4 | 0.81 | 0.17 | 0.00 | 0.00 | 0 | 0 | ||||||
| Ligue 1 (1 Season) | 4.0 | 0 | 1 | 0.25 | 0.00 | 0 | 0 | ||||||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2015-2016 | 18 | Lens | fr FRA | 1. Coupe de la Ligue | 33rd | 0.8 | 0 | 0 | 0 | Matches | |||||||
| 2016-2017 | 19 | Bristol City | eng ENG | EFL Cup | 9th | 2.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2017-2018 | 20 | Cheltenham Town | eng ENG | FA Cup | 85th | 0.3 | 0 | 1 | 0 | 0.0 | 3.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2018-2019 | 21 | Southend United | eng ENG | FA Cup | 65th | 1.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 22 | Bristol City | eng ENG | EFL Cup | 58th | 1.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 22 | Bristol City | eng ENG | FA Cup | 33rd | 1.6 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2020-2021 | 23 | Bristol City | eng ENG | EFL Cup | 17th | 2.9 | 0 | 1 | 0 | 0.0 | 0.34 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2020-2021 | 23 | Bristol City | eng ENG | FA Cup | 9th | 2.3 | 0 | 2 | 0 | 0.0 | 0.88 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 24 | Bristol City | eng ENG | EFL Cup | Rd1 | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | EFL Cup | Rd2 | 1.5 | 0 | 1 | 0 | 0.0 | 0.67 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | FA Cup | 2.9 | 0 | 2 | 2 | 100.0 | 0.69 | 0.69 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 26 | Valenciennes | fr FRA | Coupe de France | SF | 3.8 | 0 | 2 | 0 | 0.0 | 0.53 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2024-2025 | 27 | Bristol Rovers | eng ENG | FA Cup | 3.7 | 0 | 0 | 0 | Matches | ||||||||
| 2025-2026 | 28 | Bristol Rovers | eng ENG | EFL Cup | Rd1 | 0.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2025-2026 | 28 | Bristol Rovers | eng ENG | FA Cup | 1.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | ||||
| 11 Seasons | 7 Clubs | 4 Leagues | 27.2 | 0 | 9 | 2 | 22.2 | 0.40 | 0.09 | 0.00 | 0.00 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Bristol City (4 Seasons) | 2 Leagues | 11.1 | 0 | 3 | 0 | 0.0 | 0.27 | 0.00 | 0.00 | 0 | 0 | ||||||
| Bristol Rovers (2 Seasons) | 2 Leagues | 5.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Shrewsbury Town (1 Season) | 2 Leagues | 4.4 | 0 | 3 | 2 | 66.7 | 0.69 | 0.46 | 0.00 | 0.00 | 0 | 0 | |||||
| Valenciennes (1 Season) | 1 League | 3.8 | 0 | 2 | 0 | 0.0 | 0.53 | 0.00 | 0.00 | 0 | 0 | ||||||
| Southend United (1 Season) | 1 League | 1.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| Cheltenham Town (1 Season) | 1 League | 0.3 | 0 | 1 | 0 | 0.0 | 3.00 | 0.00 | 0.00 | 0 | 0 | ||||||
| Lens (1 Season) | 1 League | 0.8 | 0 | 0 | 0 | ||||||||||||
| FA Cup (7 Seasons) | 13.4 | 0 | 5 | 2 | 40.0 | 0.52 | 0.21 | 0.00 | 0.00 | 0 | 0 | ||||||
| EFL Cup (7 Seasons) | 9.3 | 0 | 2 | 0 | 0.0 | 0.22 | 0.00 | 0.00 | 0 | 0 | |||||||
| Coupe de France (1 Season) | 3.8 | 0 | 2 | 0 | 0.0 | 0.53 | 0.00 | 0.00 | 0 | 0 | |||||||
| Coupe de la Ligue (1 Season) | 0.8 | 0 | 0 | 0 | |||||||||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 17 | Lens | fr FRA | 1. Ligue 1 | 4 | 360 | 90 | 10.5 | 4.0 | 4 | 4 | 0 | 0 | 0.75 | 3 | 6 | -3 | -0.75 | +0.01 | Matches | ||
| 2015-2016 | 18 | Lens | fr FRA | 1. Coupe de la Ligue | 1 | 72 | 72 | 60.0 | 0.8 | 1 | 72 | 0 | 0 | 0 | 1.00 | 0 | 0 | 0 | 0.00 | 0.00 | Matches | |
| 2015-2016 | 18 | Lens | fr FRA | 2. Ligue 2 | 5 | 351 | 70 | 10.3 | 3.9 | 4 | 3 | 1 | 3 | 1.60 | 4 | 1 | +3 | +0.77 | +0.74 | Matches | ||
| 2016-2017 | 19 | Bristol City | eng ENG | 2. Championship | 5 | 175 | 35 | 4.2 | 1.9 | 1 | 0 | 4 | 13 | 2.00 | 4 | 3 | +1 | +0.51 | +0.67 | Matches | ||
| 2016-2017 | 19 | Bristol City | eng ENG | EFL Cup | 2 | 180 | 90 | 46.2 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 3 | 3 | 0 | 0.00 | -0.86 | Matches | |
| 2016-2017 | 19 | Bury | eng ENG | 3. League One | 19 | 1,599 | 84 | 38.6 | 17.8 | 18 | 15 | 1 | 0 | 1.42 | 24 | 20 | +4 | +0.23 | +0.79 | Matches | ||
| 2017-2018 | 20 | Cheltenham Town | eng ENG | FA Cup | 1 | 30 | 30 | 33.3 | 0.3 | 1 | 30 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -6.00 | -6.00 | Matches | |
| 2017-2018 | 20 | Cheltenham Town | eng ENG | 4. League Two | 36 | 2,990 | 83 | 72.2 | 33.2 | 35 | 29 | 1 | 1 | 1.19 | 49 | 46 | +3 | +0.09 | +0.79 | Matches | ||
| 2018-2019 | 21 | Bristol City | eng ENG | 2. Championship | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2018-2019 | 21 | Southend United | eng ENG | FA Cup | 1 | 120 | 120 | 40.0 | 1.3 | 1 | 120 | 1 | 0 | 2 | 3.00 | 6 | 2 | +4 | +3.00 | +4.00 | Matches | |
| 2018-2019 | 21 | Southend United | eng ENG | 3. League One | 34 | 2,964 | 87 | 71.6 | 32.9 | 33 | 90 | 32 | 1 | 6 | 3 | 1.24 | 39 | 46 | -7 | -0.21 | +0.25 | Matches |
| 2019-2020 | 22 | Bristol City | eng ENG | 2. Championship | 21 | 1,292 | 62 | 31.2 | 14.4 | 16 | 74 | 10 | 5 | 20 | 4 | 1.71 | 20 | 19 | +1 | +0.07 | +0.26 | Matches |
| 2019-2020 | 22 | Bristol City | eng ENG | EFL Cup | 1 | 120 | 120 | 100.0 | 1.3 | 1 | 120 | 1 | 0 | 0 | 0.00 | 3 | 3 | 0 | 0.00 | Matches | ||
| 2019-2020 | 22 | Bristol City | eng ENG | FA Cup | 2 | 142 | 71 | 78.9 | 1.6 | 1 | 90 | 1 | 1 | 52 | 0 | 0.50 | 1 | 2 | -1 | -0.63 | -0.63 | Matches |
| 2019-2020 | 22 | Blackpool | eng ENG | 3. League One | 8 | 720 | 90 | 22.9 | 8.0 | 8 | 90 | 8 | 0 | 0 | 1.38 | 10 | 10 | 0 | 0.00 | -0.04 | Matches | |
| 2020-2021 | 23 | Bristol City | eng ENG | 2. Championship | 22 | 1,368 | 62 | 33.0 | 15.2 | 16 | 81 | 12 | 6 | 11 | 14 | 1.36 | 12 | 23 | -11 | -0.72 | -0.37 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | EFL Cup | 3 | 264 | 88 | 97.8 | 2.9 | 2 | 90 | 2 | 1 | 84 | 0 | 2.00 | 6 | 3 | +3 | +1.02 | +1.02 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | FA Cup | 3 | 205 | 68 | 75.9 | 2.3 | 2 | 90 | 2 | 1 | 25 | 0 | 2.00 | 4 | 1 | +3 | +1.32 | +1.32 | Matches |
| 2021-2022 | 24 | Bristol City | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 1.00 | 2 | 2 | 0 | 0.00 | Matches | ||
| 2021-2022 | 24 | Hearts | sct SCO | 1. Premiership | 22 | 1,557 | 71 | 45.5 | 17.3 | 16 | 88 | 15 | 6 | 24 | 11 | 1.82 | 26 | 23 | +3 | +0.17 | -0.16 | Matches |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | EFL Cup | 2 | 135 | 68 | 75.0 | 1.5 | 2 | 68 | 1 | 0 | 0 | 1.50 | 1 | 2 | -1 | -0.67 | -2.67 | Matches | |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | FA Cup | 3 | 259 | 86 | 95.9 | 2.9 | 3 | 86 | 2 | 0 | 0 | 2.00 | 6 | 4 | +2 | +0.69 | +0.69 | Matches | |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | 3. League One | 42 | 3,636 | 87 | 87.8 | 40.4 | 41 | 88 | 35 | 1 | 31 | 3 | 1.38 | 46 | 54 | -8 | -0.20 | -0.02 | Matches |
| 2023-2024 | 26 | Valenciennes | fr FRA | Coupe de France | 4 | 342 | 86 | 49.6 | 3.8 | 4 | 86 | 3 | 0 | 1 | 2.50 | 7 | 2 | +5 | +1.32 | +1.83 | Matches | |
| 2023-2024 | 26 | Valenciennes | fr FRA | 2. Ligue 2 | 17 | 1,372 | 81 | 40.1 | 15.2 | 15 | 90 | 15 | 2 | 11 | 4 | 0.65 | 8 | 19 | -11 | -0.72 | +0.07 | Matches |
| 2024-2025 | 27 | Bristol Rovers | eng ENG | EFL Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2024-2025 | 27 | Bristol Rovers | eng ENG | FA Cup | 3 | 330 | 110 | 100.0 | 3.7 | 3 | 110 | 3 | 0 | 0 | 1.33 | 3 | 4 | -1 | -0.27 | Matches | ||
| 2024-2025 | 27 | Bristol Rovers | eng ENG | 3. League One | 33 | 2,287 | 69 | 55.2 | 25.4 | 25 | 82 | 15 | 8 | 30 | 9 | 1.06 | 23 | 44 | -21 | -0.83 | -0.29 | Matches |
| 2025-2026 | 28 | Bristol Rovers | eng ENG | EFL Cup | 1 | 45 | 45 | 50.0 | 0.5 | 0 | 0 | 1 | 45 | 0 | 0.00 | 0 | 1 | -1 | -2.00 | 0.00 | Matches | |
| 2025-2026 | 28 | Bristol Rovers | eng ENG | FA Cup | 2 | 116 | 58 | 64.4 | 1.3 | 1 | 90 | 1 | 1 | 26 | 0 | 1.50 | 2 | 2 | 0 | 0.00 | 0.00 | Matches |
| 2025-2026 | 28 | Bristol Rovers | eng ENG | 4. League Two | 18 | 908 | 50 | 21.9 | 10.1 | 9 | 80 | 7 | 9 | 21 | 9 | 0.94 | 8 | 20 | -12 | -1.19 | -1.27 | Matches |
| 12 Seasons | 10 Clubs | 10 Leagues | 316 | 24,029 | 76 | 38.8 | 267.0 | 266 | 86 | 220 | 50 | 24 | 79 | 1.32 | 320 | 367 | -47 | -0.18 | +0.09 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Bristol City (5 Seasons) | 3 Leagues | 60 | 3,836 | 64 | 21.5 | 42.6 | 42 | 81 | 31 | 18 | 23 | 32 | 1.55 | 55 | 59 | -4 | -0.09 | +0.11 | ||||
| Bristol Rovers (2 Seasons) | 4 Leagues | 57 | 3,686 | 65 | 41.1 | 41.0 | 38 | 84 | 26 | 19 | 26 | 19 | 1.03 | 36 | 71 | -35 | -0.85 | -0.70 | ||||
| Lens (2 Seasons) | 3 Leagues | 10 | 783 | 78 | 11.3 | 8.7 | 9 | 72 | 7 | 1 | 3 | 1.20 | 7 | 7 | 0 | 0.00 | +0.36 | |||||
| Shrewsbury Town (1 Season) | 3 Leagues | 47 | 4,030 | 86 | 87.8 | 44.8 | 46 | 87 | 38 | 1 | 31 | 3 | 1.42 | 53 | 60 | -7 | -0.16 | -0.16 | ||||
| Cheltenham Town (1 Season) | 2 Leagues | 37 | 3,020 | 82 | 71.4 | 33.6 | 36 | 30 | 29 | 1 | 1 | 1.16 | 49 | 48 | +1 | +0.03 | +0.70 | |||||
| Southend United (1 Season) | 2 Leagues | 35 | 3,084 | 88 | 69.5 | 34.3 | 34 | 91 | 33 | 1 | 6 | 5 | 1.29 | 45 | 48 | -3 | -0.09 | +0.44 | ||||
| Hearts (1 Season) | 1 League | 22 | 1,557 | 71 | 45.5 | 17.3 | 16 | 88 | 15 | 6 | 24 | 11 | 1.82 | 26 | 23 | +3 | +0.17 | -0.16 | ||||
| Valenciennes (1 Season) | 2 Leagues | 21 | 1,714 | 82 | 41.7 | 19.0 | 19 | 89 | 18 | 2 | 11 | 5 | 1.00 | 15 | 21 | -6 | -0.32 | +0.44 | ||||
| Bury (1 Season) | 1 League | 19 | 1,599 | 84 | 38.6 | 17.8 | 18 | 15 | 1 | 0 | 1.42 | 24 | 20 | +4 | +0.23 | +0.79 | ||||||
| Blackpool (1 Season) | 1 League | 8 | 720 | 90 | 22.9 | 8.0 | 8 | 90 | 8 | 0 | 0 | 1.38 | 10 | 10 | 0 | 0.00 | -0.04 | |||||
| FA Cup (7 Seasons) | 15 | 1,202 | 80 | 74.2 | 13.4 | 12 | 92 | 10 | 3 | 34 | 2 | 1.53 | 22 | 17 | +5 | +0.37 | +0.80 | |||||
| EFL Cup (7 Seasons) | 10 | 834 | 83 | 67.8 | 9.3 | 8 | 88 | 7 | 2 | 65 | 1 | 1.30 | 15 | 14 | +1 | +0.11 | -0.48 | |||||
| League One (5 Seasons) | 136 | 11,206 | 82 | 56.9 | 124.5 | 125 | 87 | 105 | 11 | 28 | 15 | 1.27 | 142 | 174 | -32 | -0.26 | +0.09 | |||||
| Championship (4 Seasons) | 48 | 2,835 | 59 | 17.1 | 31.5 | 33 | 78 | 22 | 15 | 15 | 32 | 1.58 | 36 | 45 | -9 | -0.29 | -0.06 | |||||
| League Two (2 Seasons) | 54 | 3,898 | 72 | 47.1 | 43.3 | 44 | 80 | 36 | 10 | 21 | 10 | 1.11 | 57 | 66 | -9 | -0.21 | -0.08 | |||||
| Ligue 2 (2 Seasons) | 22 | 1,723 | 78 | 25.2 | 19.1 | 19 | 90 | 18 | 3 | 11 | 7 | 0.87 | 12 | 20 | -8 | -0.42 | -0.12 | |||||
| Premiership (1 Season) | 22 | 1,557 | 71 | 45.5 | 17.3 | 16 | 88 | 15 | 6 | 24 | 11 | 1.82 | 26 | 23 | +3 | +0.17 | -0.16 | |||||
| Ligue 1 (1 Season) | 4 | 360 | 90 | 10.5 | 4.0 | 4 | 4 | 0 | 0 | 0.75 | 3 | 6 | -3 | -0.75 | +0.01 | |||||||
| Coupe de France (1 Season) | 4 | 342 | 86 | 49.6 | 3.8 | 4 | 86 | 3 | 0 | 1 | 2.50 | 7 | 2 | +5 | +1.32 | +1.83 | ||||||
| Coupe de la Ligue (1 Season) | 1 | 72 | 72 | 60.0 | 0.8 | 1 | 72 | 0 | 0 | 0 | 1.00 | 0 | 0 | 0 | 0.00 | 0.00 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 17 | Lens | 1 League | 4 | 360 | 90 | 10.5 | 4.0 | 4 | 4 | 0 | 0 | 0.75 | 3 | 6 | -3 | -0.75 | +0.01 | |||
| 2015-2016 | 18 | Lens | 2 Leagues | 6 | 423 | 71 | 11.9 | 4.7 | 5 | 72 | 3 | 1 | 3 | 1.50 | 4 | 1 | +3 | +0.64 | +0.61 | ||
| 2016-2017 | 19 | Bristol City | 2 Leagues | 7 | 355 | 51 | 7.8 | 3.9 | 3 | 90 | 2 | 4 | 13 | 1.86 | 7 | 6 | +1 | +0.25 | +0.36 | ||
| 2016-2017 | 19 | Bury | 1 League | 19 | 1,599 | 84 | 38.6 | 17.8 | 18 | 15 | 1 | 0 | 1.42 | 24 | 20 | +4 | +0.23 | +0.79 | |||
| 2017-2018 | 20 | Cheltenham Town | 2 Leagues | 37 | 3,020 | 82 | 71.4 | 33.6 | 36 | 30 | 29 | 1 | 1 | 1.16 | 49 | 48 | +1 | +0.03 | +0.70 | ||
| 2018-2019 | 21 | Southend United | 2 Leagues | 35 | 3,084 | 88 | 69.5 | 34.3 | 34 | 91 | 33 | 1 | 6 | 5 | 1.29 | 45 | 48 | -3 | -0.09 | +0.44 | |
| 2018-2019 | 21 | Bristol City | 1 League | 0 | 0 | 0 | 0 | 1 | |||||||||||||
| 2019-2020 | 22 | Blackpool | 1 League | 8 | 720 | 90 | 22.9 | 8.0 | 8 | 90 | 8 | 0 | 0 | 1.38 | 10 | 10 | 0 | 0.00 | -0.04 | ||
| 2019-2020 | 22 | Bristol City | 3 Leagues | 24 | 1,554 | 65 | 35.0 | 17.3 | 18 | 78 | 12 | 6 | 26 | 4 | 1.54 | 24 | 24 | 0 | 0.00 | +0.19 | |
| 2020-2021 | 23 | Bristol City | 3 Leagues | 28 | 1,837 | 66 | 39.3 | 20.4 | 20 | 83 | 16 | 8 | 22 | 14 | 1.50 | 22 | 27 | -5 | -0.24 | +0.10 | |
| 2021-2022 | 24 | Bristol City | 1 League | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 1.00 | 2 | 2 | 0 | 0.00 | |||
| 2021-2022 | 24 | Hearts | 1 League | 22 | 1,557 | 71 | 45.5 | 17.3 | 16 | 88 | 15 | 6 | 24 | 11 | 1.82 | 26 | 23 | +3 | +0.17 | -0.16 | |
| 2022-2023 | 25 | Shrewsbury Town | 3 Leagues | 47 | 4,030 | 86 | 87.8 | 44.8 | 46 | 87 | 38 | 1 | 31 | 3 | 1.42 | 53 | 60 | -7 | -0.16 | -0.16 | |
| 2023-2024 | 26 | Valenciennes | 2 Leagues | 21 | 1,714 | 82 | 41.7 | 19.0 | 19 | 89 | 18 | 2 | 11 | 5 | 1.00 | 15 | 21 | -6 | -0.32 | +0.44 | |
| 2024-2025 | 27 | Bristol Rovers | 3 Leagues | 36 | 2,617 | 73 | 57.4 | 29.1 | 28 | 85 | 18 | 8 | 30 | 10 | 1.08 | 26 | 48 | -22 | -0.76 | -0.22 | |
| 2025-2026 | 28 | Bristol Rovers | 3 Leagues | 21 | 1,069 | 51 | 24.2 | 11.9 | 10 | 81 | 8 | 11 | 24 | 9 | 0.95 | 10 | 23 | -13 | -1.09 | -1.15 | |
| 12 Seasons | 10 Clubs | 10 Leagues | 316 | 24,029 | 76 | 38.8 | 267.0 | 266 | 86 | 220 | 50 | 24 | 79 | 1.32 | 320 | 367 | -47 | -0.18 | +0.09 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Bristol City (5 Seasons) | 3 Leagues | 60 | 3,836 | 64 | 21.5 | 42.6 | 42 | 81 | 31 | 18 | 23 | 32 | 1.55 | 55 | 59 | -4 | -0.09 | +0.11 | |||
| Bristol Rovers (2 Seasons) | 4 Leagues | 57 | 3,686 | 65 | 41.1 | 41.0 | 38 | 84 | 26 | 19 | 26 | 19 | 1.03 | 36 | 71 | -35 | -0.85 | -0.70 | |||
| Lens (2 Seasons) | 3 Leagues | 10 | 783 | 78 | 11.3 | 8.7 | 9 | 72 | 7 | 1 | 3 | 1.20 | 7 | 7 | 0 | 0.00 | +0.36 | ||||
| Shrewsbury Town (1 Season) | 3 Leagues | 47 | 4,030 | 86 | 87.8 | 44.8 | 46 | 87 | 38 | 1 | 31 | 3 | 1.42 | 53 | 60 | -7 | -0.16 | -0.16 | |||
| Cheltenham Town (1 Season) | 2 Leagues | 37 | 3,020 | 82 | 71.4 | 33.6 | 36 | 30 | 29 | 1 | 1 | 1.16 | 49 | 48 | +1 | +0.03 | +0.70 | ||||
| Southend United (1 Season) | 2 Leagues | 35 | 3,084 | 88 | 69.5 | 34.3 | 34 | 91 | 33 | 1 | 6 | 5 | 1.29 | 45 | 48 | -3 | -0.09 | +0.44 | |||
| Hearts (1 Season) | 1 League | 22 | 1,557 | 71 | 45.5 | 17.3 | 16 | 88 | 15 | 6 | 24 | 11 | 1.82 | 26 | 23 | +3 | +0.17 | -0.16 | |||
| Valenciennes (1 Season) | 2 Leagues | 21 | 1,714 | 82 | 41.7 | 19.0 | 19 | 89 | 18 | 2 | 11 | 5 | 1.00 | 15 | 21 | -6 | -0.32 | +0.44 | |||
| Bury (1 Season) | 1 League | 19 | 1,599 | 84 | 38.6 | 17.8 | 18 | 15 | 1 | 0 | 1.42 | 24 | 20 | +4 | +0.23 | +0.79 | |||||
| Blackpool (1 Season) | 1 League | 8 | 720 | 90 | 22.9 | 8.0 | 8 | 90 | 8 | 0 | 0 | 1.38 | 10 | 10 | 0 | 0.00 | -0.04 | ||||
| FA Cup (7 Seasons) | 15 | 1,202 | 80 | 74.2 | 13.4 | 12 | 92 | 10 | 3 | 34 | 2 | 1.53 | 22 | 17 | +5 | +0.37 | +0.80 | ||||
| EFL Cup (7 Seasons) | 10 | 834 | 83 | 67.8 | 9.3 | 8 | 88 | 7 | 2 | 65 | 1 | 1.30 | 15 | 14 | +1 | +0.11 | -0.48 | ||||
| League One (5 Seasons) | 136 | 11,206 | 82 | 56.9 | 124.5 | 125 | 87 | 105 | 11 | 28 | 15 | 1.27 | 142 | 174 | -32 | -0.26 | +0.09 | ||||
| Championship (4 Seasons) | 48 | 2,835 | 59 | 17.1 | 31.5 | 33 | 78 | 22 | 15 | 15 | 32 | 1.58 | 36 | 45 | -9 | -0.29 | -0.06 | ||||
| League Two (2 Seasons) | 54 | 3,898 | 72 | 47.1 | 43.3 | 44 | 80 | 36 | 10 | 21 | 10 | 1.11 | 57 | 66 | -9 | -0.21 | -0.08 | ||||
| Ligue 2 (2 Seasons) | 22 | 1,723 | 78 | 25.2 | 19.1 | 19 | 90 | 18 | 3 | 11 | 7 | 0.87 | 12 | 20 | -8 | -0.42 | -0.12 | ||||
| Premiership (1 Season) | 22 | 1,557 | 71 | 45.5 | 17.3 | 16 | 88 | 15 | 6 | 24 | 11 | 1.82 | 26 | 23 | +3 | +0.17 | -0.16 | ||||
| Ligue 1 (1 Season) | 4 | 360 | 90 | 10.5 | 4.0 | 4 | 4 | 0 | 0 | 0.75 | 3 | 6 | -3 | -0.75 | +0.01 | ||||||
| Coupe de France (1 Season) | 4 | 342 | 86 | 49.6 | 3.8 | 4 | 86 | 3 | 0 | 1 | 2.50 | 7 | 2 | +5 | +1.32 | +1.83 | |||||
| Coupe de la Ligue (1 Season) | 1 | 72 | 72 | 60.0 | 0.8 | 1 | 72 | 0 | 0 | 0 | 1.00 | 0 | 0 | 0 | 0.00 | 0.00 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 17 | Lens | fr FRA | 1. Ligue 1 | 20th | 4 | 360 | 90 | 10.5 | 4.0 | 4 | 4 | 0 | 0 | 0.75 | 3 | 6 | -3 | -0.75 | +0.01 | Matches | ||
| 2015-2016 | 18 | Lens | fr FRA | 2. Ligue 2 | 6th | 5 | 351 | 70 | 10.3 | 3.9 | 4 | 3 | 1 | 3 | 1.60 | 4 | 1 | +3 | +0.77 | +0.74 | Matches | ||
| 2016-2017 | 19 | Bristol City | eng ENG | 2. Championship | 17th | 5 | 175 | 35 | 4.2 | 1.9 | 1 | 0 | 4 | 13 | 2.00 | 4 | 3 | +1 | +0.51 | +0.67 | Matches | ||
| 2016-2017 | 19 | Bury | eng ENG | 3. League One | 19th | 19 | 1,599 | 84 | 38.6 | 17.8 | 18 | 15 | 1 | 0 | 1.42 | 24 | 20 | +4 | +0.23 | +0.79 | Matches | ||
| 2017-2018 | 20 | Cheltenham Town | eng ENG | 4. League Two | 17th | 36 | 2,990 | 83 | 72.2 | 33.2 | 35 | 29 | 1 | 1 | 1.19 | 49 | 46 | +3 | +0.09 | +0.79 | Matches | ||
| 2018-2019 | 21 | Southend United | eng ENG | 3. League One | 19th | 34 | 2,964 | 87 | 71.6 | 32.9 | 33 | 90 | 32 | 1 | 6 | 3 | 1.24 | 39 | 46 | -7 | -0.21 | +0.25 | Matches |
| 2018-2019 | 21 | Bristol City | eng ENG | 2. Championship | 8th | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2019-2020 | 22 | Blackpool | eng ENG | 3. League One | 13th | 8 | 720 | 90 | 22.9 | 8.0 | 8 | 90 | 8 | 0 | 0 | 1.38 | 10 | 10 | 0 | 0.00 | -0.04 | Matches | |
| 2019-2020 | 22 | Bristol City | eng ENG | 2. Championship | 12th | 21 | 1,292 | 62 | 31.2 | 14.4 | 16 | 74 | 10 | 5 | 20 | 4 | 1.71 | 20 | 19 | +1 | +0.07 | +0.26 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | 2. Championship | 19th | 22 | 1,368 | 62 | 33.0 | 15.2 | 16 | 81 | 12 | 6 | 11 | 14 | 1.36 | 12 | 23 | -11 | -0.72 | -0.37 | Matches |
| 2021-2022 | 24 | Hearts | sct SCO | 1. Premiership | 3rd | 22 | 1,557 | 71 | 45.5 | 17.3 | 16 | 88 | 15 | 6 | 24 | 11 | 1.82 | 26 | 23 | +3 | +0.17 | -0.16 | Matches |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | 3. League One | 12th | 42 | 3,636 | 87 | 87.8 | 40.4 | 41 | 88 | 35 | 1 | 31 | 3 | 1.38 | 46 | 54 | -8 | -0.20 | -0.02 | Matches |
| 2023-2024 | 26 | Valenciennes | fr FRA | 2. Ligue 2 | 20th | 17 | 1,372 | 81 | 40.1 | 15.2 | 15 | 90 | 15 | 2 | 11 | 4 | 0.65 | 8 | 19 | -11 | -0.72 | +0.07 | Matches |
| 2024-2025 | 27 | Bristol Rovers | eng ENG | 3. League One | 22nd | 33 | 2,287 | 69 | 55.2 | 25.4 | 25 | 82 | 15 | 8 | 30 | 9 | 1.06 | 23 | 44 | -21 | -0.83 | -0.29 | Matches |
| 2025-2026 | 28 | Bristol Rovers | eng ENG | 4. League Two | 14th | 18 | 908 | 50 | 21.9 | 10.1 | 9 | 80 | 7 | 9 | 21 | 9 | 0.94 | 8 | 20 | -12 | -1.19 | -1.27 | Matches |
| 12 Seasons | 10 Clubs | 6 Leagues | 286 | 21,579 | 75 | 37.1 | 239.8 | 241 | 86 | 200 | 45 | 21 | 75 | 1.30 | 276 | 334 | -58 | -0.24 | +0.03 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Bristol City (4 Seasons) | 1 League | 48 | 2,835 | 59 | 17.1 | 31.5 | 33 | 78 | 22 | 15 | 15 | 32 | 1.58 | 36 | 45 | -9 | -0.29 | -0.06 | |||||
| Bristol Rovers (2 Seasons) | 2 Leagues | 51 | 3,195 | 63 | 38.6 | 35.5 | 34 | 81 | 22 | 17 | 25 | 18 | 1.02 | 31 | 64 | -33 | -0.93 | -0.79 | |||||
| Lens (2 Seasons) | 2 Leagues | 9 | 711 | 79 | 10.4 | 7.9 | 8 | 7 | 1 | 3 | 1.22 | 7 | 7 | 0 | 0.00 | +0.37 | |||||||
| Shrewsbury Town (1 Season) | 1 League | 42 | 3,636 | 87 | 87.8 | 40.4 | 41 | 88 | 35 | 1 | 31 | 3 | 1.38 | 46 | 54 | -8 | -0.20 | -0.02 | |||||
| Cheltenham Town (1 Season) | 1 League | 36 | 2,990 | 83 | 72.2 | 33.2 | 35 | 29 | 1 | 1 | 1.19 | 49 | 46 | +3 | +0.09 | +0.79 | |||||||
| Southend United (1 Season) | 1 League | 34 | 2,964 | 87 | 71.6 | 32.9 | 33 | 90 | 32 | 1 | 6 | 3 | 1.24 | 39 | 46 | -7 | -0.21 | +0.25 | |||||
| Hearts (1 Season) | 1 League | 22 | 1,557 | 71 | 45.5 | 17.3 | 16 | 88 | 15 | 6 | 24 | 11 | 1.82 | 26 | 23 | +3 | +0.17 | -0.16 | |||||
| Bury (1 Season) | 1 League | 19 | 1,599 | 84 | 38.6 | 17.8 | 18 | 15 | 1 | 0 | 1.42 | 24 | 20 | +4 | +0.23 | +0.79 | |||||||
| Valenciennes (1 Season) | 1 League | 17 | 1,372 | 81 | 40.1 | 15.2 | 15 | 90 | 15 | 2 | 11 | 4 | 0.65 | 8 | 19 | -11 | -0.72 | +0.07 | |||||
| Blackpool (1 Season) | 1 League | 8 | 720 | 90 | 22.9 | 8.0 | 8 | 90 | 8 | 0 | 0 | 1.38 | 10 | 10 | 0 | 0.00 | -0.04 | ||||||
| League One (5 Seasons) | 136 | 11,206 | 82 | 56.9 | 124.5 | 125 | 87 | 105 | 11 | 28 | 15 | 1.27 | 142 | 174 | -32 | -0.26 | +0.09 | ||||||
| Championship (4 Seasons) | 48 | 2,835 | 59 | 17.1 | 31.5 | 33 | 78 | 22 | 15 | 15 | 32 | 1.58 | 36 | 45 | -9 | -0.29 | -0.06 | ||||||
| League Two (2 Seasons) | 54 | 3,898 | 72 | 47.1 | 43.3 | 44 | 80 | 36 | 10 | 21 | 10 | 1.11 | 57 | 66 | -9 | -0.21 | -0.08 | ||||||
| Ligue 2 (2 Seasons) | 22 | 1,723 | 78 | 25.2 | 19.1 | 19 | 90 | 18 | 3 | 11 | 7 | 0.87 | 12 | 20 | -8 | -0.42 | -0.12 | ||||||
| Premiership (1 Season) | 22 | 1,557 | 71 | 45.5 | 17.3 | 16 | 88 | 15 | 6 | 24 | 11 | 1.82 | 26 | 23 | +3 | +0.17 | -0.16 | ||||||
| Ligue 1 (1 Season) | 4 | 360 | 90 | 10.5 | 4.0 | 4 | 4 | 0 | 0 | 0.75 | 3 | 6 | -3 | -0.75 | +0.01 | ||||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2015-2016 | 18 | Lens | fr FRA | 1. Coupe de la Ligue | 33rd | 1 | 72 | 72 | 60.0 | 0.8 | 1 | 72 | 0 | 0 | 0 | 1.00 | 0 | 0 | 0 | 0.00 | 0.00 | Matches | |
| 2016-2017 | 19 | Bristol City | eng ENG | EFL Cup | 9th | 2 | 180 | 90 | 46.2 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 3 | 3 | 0 | 0.00 | -0.86 | Matches | |
| 2017-2018 | 20 | Cheltenham Town | eng ENG | FA Cup | 85th | 1 | 30 | 30 | 33.3 | 0.3 | 1 | 30 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -6.00 | -6.00 | Matches | |
| 2018-2019 | 21 | Southend United | eng ENG | FA Cup | 65th | 1 | 120 | 120 | 40.0 | 1.3 | 1 | 120 | 1 | 0 | 2 | 3.00 | 6 | 2 | +4 | +3.00 | +4.00 | Matches | |
| 2019-2020 | 22 | Bristol City | eng ENG | EFL Cup | 58th | 1 | 120 | 120 | 100.0 | 1.3 | 1 | 120 | 1 | 0 | 0 | 0.00 | 3 | 3 | 0 | 0.00 | Matches | ||
| 2019-2020 | 22 | Bristol City | eng ENG | FA Cup | 33rd | 2 | 142 | 71 | 78.9 | 1.6 | 1 | 90 | 1 | 1 | 52 | 0 | 0.50 | 1 | 2 | -1 | -0.63 | -0.63 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | EFL Cup | 17th | 3 | 264 | 88 | 97.8 | 2.9 | 2 | 90 | 2 | 1 | 84 | 0 | 2.00 | 6 | 3 | +3 | +1.02 | +1.02 | Matches |
| 2020-2021 | 23 | Bristol City | eng ENG | FA Cup | 9th | 3 | 205 | 68 | 75.9 | 2.3 | 2 | 90 | 2 | 1 | 25 | 0 | 2.00 | 4 | 1 | +3 | +1.32 | +1.32 | Matches |
| 2021-2022 | 24 | Bristol City | eng ENG | EFL Cup | Rd1 | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 1.00 | 2 | 2 | 0 | 0.00 | Matches | ||
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | EFL Cup | Rd2 | 2 | 135 | 68 | 75.0 | 1.5 | 2 | 68 | 1 | 0 | 0 | 1.50 | 1 | 2 | -1 | -0.67 | -2.67 | Matches | |
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | FA Cup | 3 | 259 | 86 | 95.9 | 2.9 | 3 | 86 | 2 | 0 | 0 | 2.00 | 6 | 4 | +2 | +0.69 | +0.69 | Matches | ||
| 2023-2024 | 26 | Valenciennes | fr FRA | Coupe de France | SF | 4 | 342 | 86 | 49.6 | 3.8 | 4 | 86 | 3 | 0 | 1 | 2.50 | 7 | 2 | +5 | +1.32 | +1.83 | Matches | |
| 2024-2025 | 27 | Bristol Rovers | eng ENG | EFL Cup | Rd1 | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2024-2025 | 27 | Bristol Rovers | eng ENG | FA Cup | 3 | 330 | 110 | 100.0 | 3.7 | 3 | 110 | 3 | 0 | 0 | 1.33 | 3 | 4 | -1 | -0.27 | Matches | |||
| 2025-2026 | 28 | Bristol Rovers | eng ENG | EFL Cup | Rd1 | 1 | 45 | 45 | 50.0 | 0.5 | 0 | 0 | 1 | 45 | 0 | 0.00 | 0 | 1 | -1 | -2.00 | 0.00 | Matches | |
| 2025-2026 | 28 | Bristol Rovers | eng ENG | FA Cup | 2 | 116 | 58 | 64.4 | 1.3 | 1 | 90 | 1 | 1 | 26 | 0 | 1.50 | 2 | 2 | 0 | 0.00 | 0.00 | Matches | |
| 11 Seasons | 7 Clubs | 4 Leagues | 30 | 2,450 | 82 | 66.9 | 27.2 | 25 | 89 | 20 | 5 | 46 | 4 | 1.57 | 44 | 33 | +11 | +0.40 | +0.56 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Bristol City (4 Seasons) | 2 Leagues | 12 | 1,001 | 83 | 75.8 | 11.1 | 9 | 93 | 9 | 3 | 54 | 0 | 1.42 | 19 | 14 | +5 | +0.45 | -0.11 | |||||
| Bristol Rovers (2 Seasons) | 2 Leagues | 6 | 491 | 82 | 71.2 | 5.5 | 4 | 105 | 4 | 2 | 36 | 1 | 1.17 | 5 | 7 | -2 | -0.37 | +0.46 | |||||
| Shrewsbury Town (1 Season) | 2 Leagues | 5 | 394 | 79 | 87.6 | 4.4 | 5 | 79 | 3 | 0 | 0 | 1.80 | 7 | 6 | +1 | +0.23 | -1.38 | ||||||
| Valenciennes (1 Season) | 1 League | 4 | 342 | 86 | 49.6 | 3.8 | 4 | 86 | 3 | 0 | 1 | 2.50 | 7 | 2 | +5 | +1.32 | +1.83 | ||||||
| Southend United (1 Season) | 1 League | 1 | 120 | 120 | 40.0 | 1.3 | 1 | 120 | 1 | 0 | 2 | 3.00 | 6 | 2 | +4 | +3.00 | +4.00 | ||||||
| Cheltenham Town (1 Season) | 1 League | 1 | 30 | 30 | 33.3 | 0.3 | 1 | 30 | 0 | 0 | 0 | 0.00 | 0 | 2 | -2 | -6.00 | -6.00 | ||||||
| Lens (1 Season) | 1 League | 1 | 72 | 72 | 60.0 | 0.8 | 1 | 72 | 0 | 0 | 0 | 1.00 | 0 | 0 | 0 | 0.00 | 0.00 | ||||||
| FA Cup (7 Seasons) | 15 | 1,202 | 80 | 74.2 | 13.4 | 12 | 92 | 10 | 3 | 34 | 2 | 1.53 | 22 | 17 | +5 | +0.37 | +0.80 | ||||||
| EFL Cup (7 Seasons) | 10 | 834 | 83 | 67.8 | 9.3 | 8 | 88 | 7 | 2 | 65 | 1 | 1.30 | 15 | 14 | +1 | +0.11 | -0.48 | ||||||
| Coupe de France (1 Season) | 4 | 342 | 86 | 49.6 | 3.8 | 4 | 86 | 3 | 0 | 1 | 2.50 | 7 | 2 | +5 | +1.32 | +1.83 | |||||||
| Coupe de la Ligue (1 Season) | 1 | 72 | 72 | 60.0 | 0.8 | 1 | 72 | 0 | 0 | 0 | 1.00 | 0 | 0 | 0 | 0.00 | 0.00 | |||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2014-2015 | 17 | Lens | fr FRA | 1. Ligue 1 | 4.0 | 1 | 0 | 7 | Matches | |||||||||
| 2015-2016 | 18 | Lens | fr FRA | 1. Coupe de la Ligue | 0.8 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 18 | Lens | fr FRA | 2. Ligue 2 | 3.9 | 2 | 0 | 6 | Matches | |||||||||
| 2016-2017 | 19 | Bristol City | eng ENG | 2. Championship | 1.9 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 19 | Bristol City | eng ENG | EFL Cup | 2.0 | 2 | 0 | 0 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Matches |
| 2016-2017 | 19 | Bury | eng ENG | 3. League One | 17.8 | 2 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 20 | Cheltenham Town | eng ENG | FA Cup | 0.3 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2017-2018 | 20 | Cheltenham Town | eng ENG | 4. League Two | 33.2 | 4 | 1 | 0 | 24 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 21 | Southend United | eng ENG | FA Cup | 1.3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 21 | Southend United | eng ENG | 3. League One | 32.9 | 2 | 0 | 0 | 1 | Matches | ||||||||
| 2019-2020 | 22 | Bristol City | eng ENG | 2. Championship | 14.4 | 1 | 0 | 0 | 13 | 12 | 1 | 13 | 39 | 16 | 1 | Matches | ||
| 2019-2020 | 22 | Bristol City | eng ENG | EFL Cup | 1.3 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 3 | 2 | 0 | Matches | ||
| 2019-2020 | 22 | Bristol City | eng ENG | FA Cup | 1.6 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2019-2020 | 22 | Blackpool | eng ENG | 3. League One | 8.0 | 0 | 0 | 0 | 8 | 2 | 0 | 5 | 7 | 6 | 0 | Matches | ||
| 2020-2021 | 23 | Bristol City | eng ENG | 2. Championship | 15.2 | 3 | 0 | 0 | 12 | 5 | 0 | 4 | 32 | 13 | 1 | Matches | ||
| 2020-2021 | 23 | Bristol City | eng ENG | EFL Cup | 2.9 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 1 | 0 | Matches | ||
| 2020-2021 | 23 | Bristol City | eng ENG | FA Cup | 2.3 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 5 | 1 | 0 | Matches | ||
| 2021-2022 | 24 | Bristol City | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2021-2022 | 24 | Hearts | sct SCO | 1. Premiership | 17.3 | 5 | 1 | 1 | 22 | 15 | 1 | 17 | 17 | 5 | 0 | Matches | ||
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | EFL Cup | 1.5 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 1 | 2 | 0 | Matches | ||
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | FA Cup | 2.9 | 1 | 0 | 0 | 3 | 2 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | 3. League One | 40.4 | 8 | 0 | 0 | 27 | 21 | 0 | 56 | 45 | 50 | 0 | Matches | ||
| 2023-2024 | 26 | Valenciennes | fr FRA | Coupe de France | 3.8 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 4 | 2 | 0 | Matches | ||
| 2023-2024 | 26 | Valenciennes | fr FRA | 2. Ligue 2 | 15.2 | 2 | 0 | 0 | 10 | 6 | 0 | 7 | 21 | 14 | 0 | Matches | ||
| 2024-2025 | 27 | Bristol Rovers | eng ENG | FA Cup | 3.7 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2024-2025 | 27 | Bristol Rovers | eng ENG | 3. League One | 25.4 | 7 | 1 | 0 | 26 | 27 | 1 | 42 | 34 | 46 | 0 | Matches | ||
| 2025-2026 | 28 | Bristol Rovers | eng ENG | EFL Cup | 0.5 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | Matches | ||
| 2025-2026 | 28 | Bristol Rovers | eng ENG | FA Cup | 1.3 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2025-2026 | 28 | Bristol Rovers | eng ENG | 4. League Two | 10.1 | 1 | 0 | 0 | 10 | 10 | 0 | 12 | 13 | 13 | 0 | Matches | ||
| 12 Seasons | 10 Clubs | 10 Leagues | 267.0 | 45 | 3 | 1 | 190 | 113 | 3 | 159 | 225 | 171 | 0 | 1 | 3 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Bristol City (5 Seasons) | 3 Leagues | 42.6 | 7 | 0 | 0 | 32 | 25 | 1 | 18 | 83 | 33 | 0 | 1 | 2 | ||||
| Bristol Rovers (2 Seasons) | 4 Leagues | 41.0 | 10 | 1 | 0 | 38 | 38 | 1 | 56 | 47 | 59 | 0 | ||||||
| Lens (2 Seasons) | 3 Leagues | 8.7 | 3 | 0 | 0 | 13 | 0 | |||||||||||
| Shrewsbury Town (1 Season) | 3 Leagues | 44.8 | 9 | 0 | 0 | 31 | 25 | 0 | 56 | 46 | 52 | 0 | ||||||
| Cheltenham Town (1 Season) | 2 Leagues | 33.6 | 4 | 1 | 0 | 25 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Southend United (1 Season) | 2 Leagues | 34.3 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | ||||
| Hearts (1 Season) | 1 League | 17.3 | 5 | 1 | 1 | 22 | 15 | 1 | 17 | 17 | 5 | 0 | ||||||
| Valenciennes (1 Season) | 2 Leagues | 19.0 | 3 | 0 | 0 | 12 | 6 | 0 | 7 | 25 | 16 | 0 | ||||||
| Bury (1 Season) | 1 League | 17.8 | 2 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | ||||
| Blackpool (1 Season) | 1 League | 8.0 | 0 | 0 | 0 | 8 | 2 | 0 | 5 | 7 | 6 | 0 | ||||||
| FA Cup (7 Seasons) | 13.4 | 4 | 0 | 0 | 7 | 5 | 0 | 1 | 5 | 1 | 0 | 0 | 0 | |||||
| EFL Cup (7 Seasons) | 9.3 | 2 | 0 | 0 | 6 | 10 | 0 | 2 | 8 | 5 | 0 | 1 | 0 | |||||
| League One (5 Seasons) | 124.5 | 19 | 1 | 0 | 70 | 50 | 1 | 103 | 86 | 102 | 0 | 0 | 1 | |||||
| Championship (4 Seasons) | 31.5 | 4 | 0 | 0 | 26 | 17 | 1 | 17 | 71 | 29 | 0 | 0 | 2 | |||||
| League Two (2 Seasons) | 43.3 | 5 | 1 | 0 | 34 | 10 | 0 | 12 | 13 | 13 | 0 | 0 | 0 | |||||
| Ligue 2 (2 Seasons) | 19.1 | 4 | 0 | 0 | 16 | 6 | 0 | 7 | 21 | 14 | 0 | |||||||
| Premiership (1 Season) | 17.3 | 5 | 1 | 1 | 22 | 15 | 1 | 17 | 17 | 5 | 0 | |||||||
| Ligue 1 (1 Season) | 4.0 | 1 | 0 | 7 | ||||||||||||||
| Coupe de France (1 Season) | 3.8 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 4 | 2 | 0 | |||||||
| Coupe de la Ligue (1 Season) | 0.8 | 0 | 0 | 0 | 0 | |||||||||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2014-2015 | 17 | Lens | 1 League | 4.0 | 1 | 0 | 7 | ||||||||||
| 2015-2016 | 18 | Lens | 2 Leagues | 4.7 | 2 | 0 | 0 | 6 | 0 | ||||||||
| 2016-2017 | 19 | Bristol City | 2 Leagues | 3.9 | 2 | 0 | 0 | 4 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | |
| 2016-2017 | 19 | Bury | 1 League | 17.8 | 2 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2017-2018 | 20 | Cheltenham Town | 2 Leagues | 33.6 | 4 | 1 | 0 | 25 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2018-2019 | 21 | Southend United | 2 Leagues | 34.3 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |
| 2019-2020 | 22 | Blackpool | 1 League | 8.0 | 0 | 0 | 0 | 8 | 2 | 0 | 5 | 7 | 6 | 0 | |||
| 2019-2020 | 22 | Bristol City | 3 Leagues | 17.3 | 2 | 0 | 0 | 15 | 13 | 1 | 13 | 42 | 18 | 1 | |||
| 2020-2021 | 23 | Bristol City | 3 Leagues | 20.4 | 3 | 0 | 0 | 13 | 7 | 0 | 5 | 40 | 15 | 1 | |||
| 2021-2022 | 24 | Bristol City | 1 League | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | |||
| 2021-2022 | 24 | Hearts | 1 League | 17.3 | 5 | 1 | 1 | 22 | 15 | 1 | 17 | 17 | 5 | 0 | |||
| 2022-2023 | 25 | Shrewsbury Town | 3 Leagues | 44.8 | 9 | 0 | 0 | 31 | 25 | 0 | 56 | 46 | 52 | 0 | |||
| 2023-2024 | 26 | Valenciennes | 2 Leagues | 19.0 | 3 | 0 | 0 | 12 | 6 | 0 | 7 | 25 | 16 | 0 | |||
| 2024-2025 | 27 | Bristol Rovers | 3 Leagues | 29.1 | 7 | 1 | 0 | 26 | 27 | 1 | 42 | 34 | 46 | 0 | |||
| 2025-2026 | 28 | Bristol Rovers | 3 Leagues | 11.9 | 3 | 0 | 0 | 12 | 11 | 0 | 14 | 13 | 13 | 0 | |||
| 12 Seasons | 10 Clubs | 10 Leagues | 267.0 | 45 | 3 | 1 | 190 | 113 | 3 | 159 | 225 | 171 | 0 | 1 | 3 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Bristol City (5 Seasons) | 3 Leagues | 42.6 | 7 | 0 | 0 | 32 | 25 | 1 | 18 | 83 | 33 | 0 | 1 | 2 | |||
| Bristol Rovers (2 Seasons) | 4 Leagues | 41.0 | 10 | 1 | 0 | 38 | 38 | 1 | 56 | 47 | 59 | 0 | |||||
| Lens (2 Seasons) | 3 Leagues | 8.7 | 3 | 0 | 0 | 13 | 0 | ||||||||||
| Shrewsbury Town (1 Season) | 3 Leagues | 44.8 | 9 | 0 | 0 | 31 | 25 | 0 | 56 | 46 | 52 | 0 | |||||
| Cheltenham Town (1 Season) | 2 Leagues | 33.6 | 4 | 1 | 0 | 25 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Southend United (1 Season) | 2 Leagues | 34.3 | 2 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | |||
| Hearts (1 Season) | 1 League | 17.3 | 5 | 1 | 1 | 22 | 15 | 1 | 17 | 17 | 5 | 0 | |||||
| Valenciennes (1 Season) | 2 Leagues | 19.0 | 3 | 0 | 0 | 12 | 6 | 0 | 7 | 25 | 16 | 0 | |||||
| Bury (1 Season) | 1 League | 17.8 | 2 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||
| Blackpool (1 Season) | 1 League | 8.0 | 0 | 0 | 0 | 8 | 2 | 0 | 5 | 7 | 6 | 0 | |||||
| FA Cup (7 Seasons) | 13.4 | 4 | 0 | 0 | 7 | 5 | 0 | 1 | 5 | 1 | 0 | 0 | 0 | ||||
| EFL Cup (7 Seasons) | 9.3 | 2 | 0 | 0 | 6 | 10 | 0 | 2 | 8 | 5 | 0 | 1 | 0 | ||||
| League One (5 Seasons) | 124.5 | 19 | 1 | 0 | 70 | 50 | 1 | 103 | 86 | 102 | 0 | 0 | 1 | ||||
| Championship (4 Seasons) | 31.5 | 4 | 0 | 0 | 26 | 17 | 1 | 17 | 71 | 29 | 0 | 0 | 2 | ||||
| League Two (2 Seasons) | 43.3 | 5 | 1 | 0 | 34 | 10 | 0 | 12 | 13 | 13 | 0 | 0 | 0 | ||||
| Ligue 2 (2 Seasons) | 19.1 | 4 | 0 | 0 | 16 | 6 | 0 | 7 | 21 | 14 | 0 | ||||||
| Premiership (1 Season) | 17.3 | 5 | 1 | 1 | 22 | 15 | 1 | 17 | 17 | 5 | 0 | ||||||
| Ligue 1 (1 Season) | 4.0 | 1 | 0 | 7 | |||||||||||||
| Coupe de France (1 Season) | 3.8 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 4 | 2 | 0 | ||||||
| Coupe de la Ligue (1 Season) | 0.8 | 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 | 17 | Lens | fr FRA | 1. Ligue 1 | 20th | 4.0 | 1 | 0 | 7 | Matches | |||||||||
| 2015-2016 | 18 | Lens | fr FRA | 2. Ligue 2 | 6th | 3.9 | 2 | 0 | 6 | Matches | |||||||||
| 2016-2017 | 19 | Bristol City | eng ENG | 2. Championship | 17th | 1.9 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 19 | Bury | eng ENG | 3. League One | 19th | 17.8 | 2 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 20 | Cheltenham Town | eng ENG | 4. League Two | 17th | 33.2 | 4 | 1 | 0 | 24 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 21 | Southend United | eng ENG | 3. League One | 19th | 32.9 | 2 | 0 | 0 | 1 | Matches | ||||||||
| 2019-2020 | 22 | Blackpool | eng ENG | 3. League One | 13th | 8.0 | 0 | 0 | 0 | 8 | 2 | 0 | 5 | 7 | 6 | 0 | Matches | ||
| 2019-2020 | 22 | Bristol City | eng ENG | 2. Championship | 12th | 14.4 | 1 | 0 | 0 | 13 | 12 | 1 | 13 | 39 | 16 | 1 | Matches | ||
| 2020-2021 | 23 | Bristol City | eng ENG | 2. Championship | 19th | 15.2 | 3 | 0 | 0 | 12 | 5 | 0 | 4 | 32 | 13 | 1 | Matches | ||
| 2021-2022 | 24 | Hearts | sct SCO | 1. Premiership | 3rd | 17.3 | 5 | 1 | 1 | 22 | 15 | 1 | 17 | 17 | 5 | 0 | Matches | ||
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | 3. League One | 12th | 40.4 | 8 | 0 | 0 | 27 | 21 | 0 | 56 | 45 | 50 | 0 | Matches | ||
| 2023-2024 | 26 | Valenciennes | fr FRA | 2. Ligue 2 | 20th | 15.2 | 2 | 0 | 0 | 10 | 6 | 0 | 7 | 21 | 14 | 0 | Matches | ||
| 2024-2025 | 27 | Bristol Rovers | eng ENG | 3. League One | 22nd | 25.4 | 7 | 1 | 0 | 26 | 27 | 1 | 42 | 34 | 46 | 0 | Matches | ||
| 2025-2026 | 28 | Bristol Rovers | eng ENG | 4. League Two | 14th | 10.1 | 1 | 0 | 0 | 10 | 10 | 0 | 12 | 13 | 13 | 0 | Matches | ||
| 12 Seasons | 10 Clubs | 6 Leagues | 239.8 | 38 | 3 | 1 | 175 | 98 | 3 | 156 | 208 | 163 | 0 | 0 | 3 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Bristol City (4 Seasons) | 1 League | 31.5 | 4 | 0 | 0 | 26 | 17 | 1 | 17 | 71 | 29 | 0 | 0 | 2 | |||||
| Bristol Rovers (2 Seasons) | 2 Leagues | 35.5 | 8 | 1 | 0 | 36 | 37 | 1 | 54 | 47 | 59 | 0 | |||||||
| Lens (2 Seasons) | 2 Leagues | 7.9 | 3 | 0 | 13 | ||||||||||||||
| Shrewsbury Town (1 Season) | 1 League | 40.4 | 8 | 0 | 0 | 27 | 21 | 0 | 56 | 45 | 50 | 0 | |||||||
| Cheltenham Town (1 Season) | 1 League | 33.2 | 4 | 1 | 0 | 24 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Southend United (1 Season) | 1 League | 32.9 | 2 | 0 | 0 | 1 | |||||||||||||
| Hearts (1 Season) | 1 League | 17.3 | 5 | 1 | 1 | 22 | 15 | 1 | 17 | 17 | 5 | 0 | |||||||
| Bury (1 Season) | 1 League | 17.8 | 2 | 0 | 0 | 9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Valenciennes (1 Season) | 1 League | 15.2 | 2 | 0 | 0 | 10 | 6 | 0 | 7 | 21 | 14 | 0 | |||||||
| Blackpool (1 Season) | 1 League | 8.0 | 0 | 0 | 0 | 8 | 2 | 0 | 5 | 7 | 6 | 0 | |||||||
| League One (5 Seasons) | 124.5 | 19 | 1 | 0 | 70 | 50 | 1 | 103 | 86 | 102 | 0 | 0 | 1 | ||||||
| Championship (4 Seasons) | 31.5 | 4 | 0 | 0 | 26 | 17 | 1 | 17 | 71 | 29 | 0 | 0 | 2 | ||||||
| League Two (2 Seasons) | 43.3 | 5 | 1 | 0 | 34 | 10 | 0 | 12 | 13 | 13 | 0 | 0 | 0 | ||||||
| Ligue 2 (2 Seasons) | 19.1 | 4 | 0 | 0 | 16 | 6 | 0 | 7 | 21 | 14 | 0 | ||||||||
| Premiership (1 Season) | 17.3 | 5 | 1 | 1 | 22 | 15 | 1 | 17 | 17 | 5 | 0 | ||||||||
| Ligue 1 (1 Season) | 4.0 | 1 | 0 | 7 | |||||||||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2015-2016 | 18 | Lens | fr FRA | 1. Coupe de la Ligue | 33rd | 0.8 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2016-2017 | 19 | Bristol City | eng ENG | EFL Cup | 9th | 2.0 | 2 | 0 | 0 | 3 | 3 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | Matches |
| 2017-2018 | 20 | Cheltenham Town | eng ENG | FA Cup | 85th | 0.3 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2018-2019 | 21 | Southend United | eng ENG | FA Cup | 65th | 1.3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2019-2020 | 22 | Bristol City | eng ENG | EFL Cup | 58th | 1.3 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 3 | 2 | 0 | Matches | ||
| 2019-2020 | 22 | Bristol City | eng ENG | FA Cup | 33rd | 1.6 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 23 | Bristol City | eng ENG | EFL Cup | 17th | 2.9 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 3 | 1 | 0 | Matches | ||
| 2020-2021 | 23 | Bristol City | eng ENG | FA Cup | 9th | 2.3 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 5 | 1 | 0 | Matches | ||
| 2021-2022 | 24 | Bristol City | eng ENG | EFL Cup | Rd1 | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 0 | 1 | 0 | 0 | Matches | ||
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | EFL Cup | Rd2 | 1.5 | 0 | 0 | 0 | 1 | 2 | 0 | 0 | 1 | 2 | 0 | Matches | ||
| 2022-2023 | 25 | Shrewsbury Town | eng ENG | FA Cup | 2.9 | 1 | 0 | 0 | 3 | 2 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 2023-2024 | 26 | Valenciennes | fr FRA | Coupe de France | SF | 3.8 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 4 | 2 | 0 | Matches | ||
| 2024-2025 | 27 | Bristol Rovers | eng ENG | FA Cup | 3.7 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2025-2026 | 28 | Bristol Rovers | eng ENG | EFL Cup | Rd1 | 0.5 | 0 | 0 | 0 | 1 | 1 | 0 | 2 | 0 | 0 | 0 | Matches | ||
| 2025-2026 | 28 | Bristol Rovers | eng ENG | FA Cup | 1.3 | 2 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 11 Seasons | 7 Clubs | 4 Leagues | 27.2 | 7 | 0 | 0 | 15 | 15 | 0 | 3 | 17 | 8 | 0 | 1 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Bristol City (4 Seasons) | 2 Leagues | 11.1 | 3 | 0 | 0 | 6 | 8 | 0 | 1 | 12 | 4 | 0 | 1 | 0 | |||||
| Bristol Rovers (2 Seasons) | 2 Leagues | 5.5 | 2 | 0 | 0 | 2 | 1 | 0 | 2 | 0 | 0 | 0 | |||||||
| Shrewsbury Town (1 Season) | 2 Leagues | 4.4 | 1 | 0 | 0 | 4 | 4 | 0 | 0 | 1 | 2 | 0 | |||||||
| Valenciennes (1 Season) | 1 League | 3.8 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 4 | 2 | 0 | |||||||
| Southend United (1 Season) | 1 League | 1.3 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |||||
| Cheltenham Town (1 Season) | 1 League | 0.3 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | |||||||
| Lens (1 Season) | 1 League | 0.8 | 0 | 0 | 0 | 0 | |||||||||||||
| FA Cup (7 Seasons) | 13.4 | 4 | 0 | 0 | 7 | 5 | 0 | 1 | 5 | 1 | 0 | 0 | 0 | ||||||
| EFL Cup (7 Seasons) | 9.3 | 2 | 0 | 0 | 6 | 10 | 0 | 2 | 8 | 5 | 0 | 1 | 0 | ||||||
| Coupe de France (1 Season) | 3.8 | 1 | 0 | 0 | 2 | 0 | 0 | 0 | 4 | 2 | 0 | ||||||||
| Coupe de la Ligue (1 Season) | 0.8 | 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