| 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 | |||||
| 2012-2013 | 18 | Falkirk | sct SCO | 2. First Division | 6 | 4 | 389 | 4.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2013-2014 | 19 | Falkirk | sct SCO | 2. Championship | 33 | 33 | 2,920 | 32.4 | 1 | 1 | 2 | 1 | 0 | 0 | 6 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | |
| 2014-2015 | 20 | Falkirk | sct SCO | 2. Championship | 34 | 33 | 2,924 | 32.5 | 3 | 2 | 5 | 3 | 0 | 0 | 10 | 0 | 0.09 | 0.06 | 0.15 | 0.09 | 0.15 | Matches |
| 2015-2016 | 21 | Falkirk | sct SCO | 2. Championship | 35 | 35 | 3,150 | 35.0 | 6 | 6 | 12 | 6 | 0 | 0 | 5 | 0 | 0.17 | 0.17 | 0.34 | 0.17 | 0.34 | Matches |
| 2016-2017 | 22 | Rotherham United | eng ENG | 2. Championship | 40 | 31 | 3,041 | 33.8 | 1 | 1 | 2 | 1 | 0 | 0 | 9 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | Matches |
| 2016-2017 | 22 | Rotherham United | 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 |
| 2016-2017 | 22 | Rotherham United | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 23 | Rotherham United | eng ENG | EFL Cup | 2 | 1 | 91 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 23 | Rotherham United | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.00 | 0.00 | 1.00 | 1.00 | 1.00 | Matches |
| 2017-2018 | 23 | Rotherham United | eng ENG | 3. League One | 44 | 38 | 3,653 | 40.6 | 5 | 4 | 9 | 5 | 0 | 0 | 9 | 0 | 0.12 | 0.10 | 0.22 | 0.12 | 0.22 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | 2. Championship | 41 | 41 | 3,608 | 40.1 | 7 | 7 | 14 | 6 | 1 | 1 | 10 | 1 | 0.17 | 0.17 | 0.35 | 0.15 | 0.32 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | EFL Cup | 1 | 0 | 45 | 0.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2.00 | 0.00 | 2.00 | 2.00 | 2.00 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | 2. Championship | 27 | 18 | 1,683 | 18.7 | 4 | 0 | 4 | 4 | 0 | 0 | 3 | 0 | 0.21 | 0.00 | 0.21 | 0.21 | 0.21 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | EFL Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | FA Cup | 4 | 4 | 390 | 4.3 | 0 | 2 | 2 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.46 | 0.46 | 0.00 | 0.46 | Matches |
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 42 | 36 | 3,134 | 34.8 | 5 | 2 | 7 | 5 | 0 | 0 | 6 | 1 | 0.14 | 0.06 | 0.20 | 0.14 | 0.20 | Matches |
| 2020-2021 | 26 | Cardiff City | eng ENG | FA Cup | 1 | 1 | 62 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 27 | Cardiff City | eng ENG | 2. Championship | 36 | 23 | 2,101 | 23.3 | 2 | 2 | 4 | 1 | 1 | 1 | 8 | 0 | 0.09 | 0.09 | 0.17 | 0.04 | 0.13 | Matches |
| 2021-2022 | 27 | Cardiff City | eng ENG | EFL Cup | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 27 | Cardiff City | eng ENG | FA Cup | 2 | 2 | 188 | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | EFL Cup | 2 | 1 | 135 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | FA Cup | 4 | 4 | 330 | 3.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | 3. League One | 43 | 34 | 3,060 | 34.0 | 2 | 2 | 4 | 2 | 0 | 0 | 7 | 0 | 0.06 | 0.06 | 0.12 | 0.06 | 0.12 | Matches |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | 2. Championship | 34 | 25 | 2,354 | 26.2 | 0 | 3 | 3 | 0 | 0 | 0 | 10 | 0 | 0.00 | 0.11 | 0.11 | 0.00 | 0.11 | Matches |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | EFL Cup | 2 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 30 | Oxford United | eng ENG | 2. Championship | 44 | 38 | 3,339 | 37.1 | 1 | 2 | 3 | 1 | 0 | 0 | 4 | 0 | 0.03 | 0.05 | 0.08 | 0.03 | 0.08 | Matches |
| 2024-2025 | 30 | Oxford United | eng ENG | EFL Cup | 2 | 0 | 34 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 30 | Oxford United | eng ENG | FA Cup | 0 | 0 | Matches | |||||||||||||||
| 2025-2026 | 31 | Oxford United | eng ENG | 2. Championship | 39 | 18 | 1,948 | 21.6 | 1 | 0 | 1 | 1 | 0 | 0 | 9 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | Matches |
| 2025-2026 | 31 | Oxford United | 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 |
| 2025-2026 | 31 | Oxford United | eng ENG | FA Cup | 2 | 2 | 155 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 14 Seasons | 5 Clubs | 5 Leagues | 529 | 432 | 39,694 | 441.0 | 40 | 34 | 74 | 38 | 2 | 2 | 106 | 2 | 0.09 | 0.08 | 0.17 | 0.09 | 0.16 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Falkirk (4 Seasons) | 1 League | 108 | 105 | 9,383 | 104.3 | 10 | 9 | 19 | 10 | 0 | 0 | 22 | 0 | 0.10 | 0.09 | 0.18 | 0.10 | 0.18 | ||||
| Rotherham United (3 Seasons) | 4 Leagues | 132 | 115 | 10,828 | 120.3 | 15 | 12 | 27 | 14 | 1 | 1 | 28 | 1 | 0.12 | 0.10 | 0.22 | 0.12 | 0.22 | ||||
| Cardiff City (3 Seasons) | 3 Leagues | 115 | 87 | 7,828 | 87.0 | 11 | 6 | 17 | 10 | 1 | 1 | 22 | 1 | 0.13 | 0.07 | 0.20 | 0.11 | 0.18 | ||||
| Oxford United (2 Seasons) | 3 Leagues | 88 | 59 | 5,566 | 61.8 | 2 | 2 | 4 | 2 | 0 | 0 | 14 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | ||||
| Sheffield Weds (2 Seasons) | 4 Leagues | 86 | 66 | 6,089 | 67.7 | 2 | 5 | 7 | 2 | 0 | 0 | 20 | 0 | 0.03 | 0.07 | 0.10 | 0.03 | 0.10 | ||||
| FA Cup (10 Seasons) | 17 | 17 | 1,485 | 16.5 | 1 | 2 | 3 | 1 | 0 | 0 | 5 | 0 | 0.06 | 0.12 | 0.18 | 0.06 | 0.18 | |||||
| EFL Cup (9 Seasons) | 14 | 8 | 905 | 10.1 | 1 | 0 | 1 | 1 | 0 | 0 | 4 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | |||||
| Championship (8 Seasons) | 303 | 230 | 21,208 | 235.6 | 21 | 17 | 38 | 19 | 2 | 2 | 59 | 2 | 0.09 | 0.07 | 0.16 | 0.08 | 0.15 | |||||
| Championship (4 Seasons) | 108 | 105 | 9,383 | 104.3 | 10 | 9 | 19 | 10 | 0 | 0 | 22 | 0 | 0.10 | 0.09 | 0.18 | 0.10 | 0.18 | |||||
| League One (2 Seasons) | 87 | 72 | 6,713 | 74.6 | 7 | 6 | 13 | 7 | 0 | 0 | 16 | 0 | 0.09 | 0.08 | 0.17 | 0.09 | 0.17 | |||||
| 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 | |||||
| 2012-2013 | 18 | Falkirk | 1 League | 6 | 4 | 389 | 4.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2013-2014 | 19 | Falkirk | 1 League | 33 | 33 | 2,920 | 32.4 | 1 | 1 | 2 | 1 | 0 | 0 | 6 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | |
| 2014-2015 | 20 | Falkirk | 1 League | 34 | 33 | 2,924 | 32.5 | 3 | 2 | 5 | 3 | 0 | 0 | 10 | 0 | 0.09 | 0.06 | 0.15 | 0.09 | 0.15 | |
| 2015-2016 | 21 | Falkirk | 1 League | 35 | 35 | 3,150 | 35.0 | 6 | 6 | 12 | 6 | 0 | 0 | 5 | 0 | 0.17 | 0.17 | 0.34 | 0.17 | 0.34 | |
| 2016-2017 | 22 | Rotherham United | 3 Leagues | 42 | 33 | 3,251 | 36.1 | 1 | 1 | 2 | 1 | 0 | 0 | 9 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | |
| 2017-2018 | 23 | Rotherham United | 3 Leagues | 47 | 40 | 3,834 | 42.6 | 6 | 4 | 10 | 6 | 0 | 0 | 9 | 0 | 0.14 | 0.09 | 0.23 | 0.14 | 0.23 | |
| 2018-2019 | 24 | Rotherham United | 3 Leagues | 43 | 42 | 3,743 | 41.6 | 8 | 7 | 15 | 7 | 1 | 1 | 10 | 1 | 0.19 | 0.17 | 0.36 | 0.17 | 0.34 | |
| 2019-2020 | 25 | Cardiff City | 3 Leagues | 32 | 23 | 2,163 | 24.0 | 4 | 2 | 6 | 4 | 0 | 0 | 6 | 0 | 0.17 | 0.08 | 0.25 | 0.17 | 0.25 | |
| 2020-2021 | 26 | Cardiff City | 2 Leagues | 43 | 37 | 3,196 | 35.5 | 5 | 2 | 7 | 5 | 0 | 0 | 6 | 1 | 0.14 | 0.06 | 0.20 | 0.14 | 0.20 | |
| 2021-2022 | 27 | Cardiff City | 3 Leagues | 40 | 27 | 2,469 | 27.4 | 2 | 2 | 4 | 1 | 1 | 1 | 10 | 0 | 0.07 | 0.07 | 0.15 | 0.04 | 0.11 | |
| 2022-2023 | 28 | Sheffield Weds | 3 Leagues | 49 | 39 | 3,525 | 39.2 | 2 | 2 | 4 | 2 | 0 | 0 | 9 | 0 | 0.05 | 0.05 | 0.10 | 0.05 | 0.10 | |
| 2023-2024 | 29 | Sheffield Weds | 3 Leagues | 37 | 27 | 2,564 | 28.5 | 0 | 3 | 3 | 0 | 0 | 0 | 11 | 0 | 0.00 | 0.11 | 0.11 | 0.00 | 0.11 | |
| 2024-2025 | 30 | Oxford United | 3 Leagues | 46 | 38 | 3,373 | 37.5 | 1 | 2 | 3 | 1 | 0 | 0 | 4 | 0 | 0.03 | 0.05 | 0.08 | 0.03 | 0.08 | |
| 2025-2026 | 31 | Oxford United | 3 Leagues | 42 | 21 | 2,193 | 24.4 | 1 | 0 | 1 | 1 | 0 | 0 | 10 | 0 | 0.04 | 0.00 | 0.04 | 0.04 | 0.04 | |
| 14 Seasons | 5 Clubs | 5 Leagues | 529 | 432 | 39,694 | 441.0 | 40 | 34 | 74 | 38 | 2 | 2 | 106 | 2 | 0.09 | 0.08 | 0.17 | 0.09 | 0.16 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Falkirk (4 Seasons) | 1 League | 108 | 105 | 9,383 | 104.3 | 10 | 9 | 19 | 10 | 0 | 0 | 22 | 0 | 0.10 | 0.09 | 0.18 | 0.10 | 0.18 | |||
| Rotherham United (3 Seasons) | 4 Leagues | 132 | 115 | 10,828 | 120.3 | 15 | 12 | 27 | 14 | 1 | 1 | 28 | 1 | 0.12 | 0.10 | 0.22 | 0.12 | 0.22 | |||
| Cardiff City (3 Seasons) | 3 Leagues | 115 | 87 | 7,828 | 87.0 | 11 | 6 | 17 | 10 | 1 | 1 | 22 | 1 | 0.13 | 0.07 | 0.20 | 0.11 | 0.18 | |||
| Oxford United (2 Seasons) | 3 Leagues | 88 | 59 | 5,566 | 61.8 | 2 | 2 | 4 | 2 | 0 | 0 | 14 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | |||
| Sheffield Weds (2 Seasons) | 4 Leagues | 86 | 66 | 6,089 | 67.7 | 2 | 5 | 7 | 2 | 0 | 0 | 20 | 0 | 0.03 | 0.07 | 0.10 | 0.03 | 0.10 | |||
| FA Cup (10 Seasons) | 17 | 17 | 1,485 | 16.5 | 1 | 2 | 3 | 1 | 0 | 0 | 5 | 0 | 0.06 | 0.12 | 0.18 | 0.06 | 0.18 | ||||
| EFL Cup (9 Seasons) | 14 | 8 | 905 | 10.1 | 1 | 0 | 1 | 1 | 0 | 0 | 4 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | ||||
| Championship (8 Seasons) | 303 | 230 | 21,208 | 235.6 | 21 | 17 | 38 | 19 | 2 | 2 | 59 | 2 | 0.09 | 0.07 | 0.16 | 0.08 | 0.15 | ||||
| Championship (4 Seasons) | 108 | 105 | 9,383 | 104.3 | 10 | 9 | 19 | 10 | 0 | 0 | 22 | 0 | 0.10 | 0.09 | 0.18 | 0.10 | 0.18 | ||||
| League One (2 Seasons) | 87 | 72 | 6,713 | 74.6 | 7 | 6 | 13 | 7 | 0 | 0 | 16 | 0 | 0.09 | 0.08 | 0.17 | 0.09 | 0.17 | ||||
| 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 | |||||
| 2012-2013 | 18 | Falkirk | sct SCO | 2. First Division | 3rd | 6 | 4 | 389 | 4.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2013-2014 | 19 | Falkirk | sct SCO | 2. Championship | 3rd | 33 | 33 | 2,920 | 32.4 | 1 | 1 | 2 | 1 | 0 | 0 | 6 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | |
| 2014-2015 | 20 | Falkirk | sct SCO | 2. Championship | 5th | 34 | 33 | 2,924 | 32.5 | 3 | 2 | 5 | 3 | 0 | 0 | 10 | 0 | 0.09 | 0.06 | 0.15 | 0.09 | 0.15 | Matches |
| 2015-2016 | 21 | Falkirk | sct SCO | 2. Championship | 2nd | 35 | 35 | 3,150 | 35.0 | 6 | 6 | 12 | 6 | 0 | 0 | 5 | 0 | 0.17 | 0.17 | 0.34 | 0.17 | 0.34 | Matches |
| 2016-2017 | 22 | Rotherham United | eng ENG | 2. Championship | 24th | 40 | 31 | 3,041 | 33.8 | 1 | 1 | 2 | 1 | 0 | 0 | 9 | 0 | 0.03 | 0.03 | 0.06 | 0.03 | 0.06 | Matches |
| 2017-2018 | 23 | Rotherham United | eng ENG | 3. League One | 4th | 44 | 38 | 3,653 | 40.6 | 5 | 4 | 9 | 5 | 0 | 0 | 9 | 0 | 0.12 | 0.10 | 0.22 | 0.12 | 0.22 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | 2. Championship | 22nd | 41 | 41 | 3,608 | 40.1 | 7 | 7 | 14 | 6 | 1 | 1 | 10 | 1 | 0.17 | 0.17 | 0.35 | 0.15 | 0.32 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | 2. Championship | 5th | 27 | 18 | 1,683 | 18.7 | 4 | 0 | 4 | 4 | 0 | 0 | 3 | 0 | 0.21 | 0.00 | 0.21 | 0.21 | 0.21 | Matches |
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 8th | 42 | 36 | 3,134 | 34.8 | 5 | 2 | 7 | 5 | 0 | 0 | 6 | 1 | 0.14 | 0.06 | 0.20 | 0.14 | 0.20 | Matches |
| 2021-2022 | 27 | Cardiff City | eng ENG | 2. Championship | 18th | 36 | 23 | 2,101 | 23.3 | 2 | 2 | 4 | 1 | 1 | 1 | 8 | 0 | 0.09 | 0.09 | 0.17 | 0.04 | 0.13 | Matches |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | 3. League One | 3rd | 43 | 34 | 3,060 | 34.0 | 2 | 2 | 4 | 2 | 0 | 0 | 7 | 0 | 0.06 | 0.06 | 0.12 | 0.06 | 0.12 | Matches |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | 2. Championship | 20th | 34 | 25 | 2,354 | 26.2 | 0 | 3 | 3 | 0 | 0 | 0 | 10 | 0 | 0.00 | 0.11 | 0.11 | 0.00 | 0.11 | Matches |
| 2024-2025 | 30 | Oxford United | eng ENG | 2. Championship | 17th | 44 | 38 | 3,339 | 37.1 | 1 | 2 | 3 | 1 | 0 | 0 | 4 | 0 | 0.03 | 0.05 | 0.08 | 0.03 | 0.08 | Matches |
| 2025-2026 | 31 | Oxford United | eng ENG | 2. Championship | 22nd | 39 | 18 | 1,948 | 21.6 | 1 | 0 | 1 | 1 | 0 | 0 | 9 | 0 | 0.05 | 0.00 | 0.05 | 0.05 | 0.05 | Matches |
| 14 Seasons | 5 Clubs | 3 Leagues | 498 | 407 | 37,304 | 414.5 | 38 | 32 | 70 | 36 | 2 | 2 | 97 | 2 | 0.09 | 0.08 | 0.17 | 0.09 | 0.16 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Falkirk (4 Seasons) | 1 League | 108 | 105 | 9,383 | 104.3 | 10 | 9 | 19 | 10 | 0 | 0 | 22 | 0 | 0.10 | 0.09 | 0.18 | 0.10 | 0.18 | |||||
| Rotherham United (3 Seasons) | 2 Leagues | 125 | 110 | 10,302 | 114.5 | 13 | 12 | 25 | 12 | 1 | 1 | 28 | 1 | 0.11 | 0.10 | 0.22 | 0.10 | 0.21 | |||||
| Cardiff City (3 Seasons) | 1 League | 105 | 77 | 6,918 | 76.9 | 11 | 4 | 15 | 10 | 1 | 1 | 17 | 1 | 0.14 | 0.05 | 0.20 | 0.13 | 0.18 | |||||
| Oxford United (2 Seasons) | 1 League | 83 | 56 | 5,287 | 58.7 | 2 | 2 | 4 | 2 | 0 | 0 | 13 | 0 | 0.03 | 0.03 | 0.07 | 0.03 | 0.07 | |||||
| Sheffield Weds (2 Seasons) | 2 Leagues | 77 | 59 | 5,414 | 60.2 | 2 | 5 | 7 | 2 | 0 | 0 | 17 | 0 | 0.03 | 0.08 | 0.12 | 0.03 | 0.12 | |||||
| Championship (8 Seasons) | 303 | 230 | 21,208 | 235.6 | 21 | 17 | 38 | 19 | 2 | 2 | 59 | 2 | 0.09 | 0.07 | 0.16 | 0.08 | 0.15 | ||||||
| Championship (4 Seasons) | 108 | 105 | 9,383 | 104.3 | 10 | 9 | 19 | 10 | 0 | 0 | 22 | 0 | 0.10 | 0.09 | 0.18 | 0.10 | 0.18 | ||||||
| League One (2 Seasons) | 87 | 72 | 6,713 | 74.6 | 7 | 6 | 13 | 7 | 0 | 0 | 16 | 0 | 0.09 | 0.08 | 0.17 | 0.09 | 0.17 | ||||||
| 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 | 22 | Rotherham United | 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 |
| 2016-2017 | 22 | Rotherham United | eng ENG | FA Cup | 33rd | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 23 | Rotherham United | eng ENG | EFL Cup | 33rd | 2 | 1 | 91 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 23 | Rotherham United | eng ENG | FA Cup | 85th | 1 | 1 | 90 | 1.0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 1.00 | 0.00 | 1.00 | 1.00 | 1.00 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | EFL Cup | 33rd | 1 | 0 | 45 | 0.5 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2.00 | 0.00 | 2.00 | 2.00 | 2.00 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | FA Cup | 33rd | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | EFL Cup | 33rd | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | FA Cup | 17th | 4 | 4 | 390 | 4.3 | 0 | 2 | 2 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.46 | 0.46 | 0.00 | 0.46 | Matches |
| 2020-2021 | 26 | Cardiff City | eng ENG | FA Cup | 33rd | 1 | 1 | 62 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 27 | Cardiff City | eng ENG | EFL Cup | Rd2 | 2 | 2 | 180 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 27 | Cardiff City | eng ENG | FA Cup | 2 | 2 | 188 | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | EFL Cup | Rd3 | 2 | 1 | 135 | 1.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | FA Cup | 4 | 4 | 330 | 3.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | EFL Cup | Rd2 | 2 | 1 | 120 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | FA Cup | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2024-2025 | 30 | Oxford United | eng ENG | EFL Cup | Rd2 | 2 | 0 | 34 | 0.4 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2024-2025 | 30 | Oxford United | eng ENG | FA Cup | 0 | 0 | Matches | ||||||||||||||||
| 2025-2026 | 31 | Oxford United | eng ENG | EFL Cup | Rd2 | 1 | 1 | 90 | 1.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2025-2026 | 31 | Oxford United | eng ENG | FA Cup | 2 | 2 | 155 | 1.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 10 Seasons | 4 Clubs | 2 Leagues | 31 | 25 | 2,390 | 26.6 | 2 | 2 | 4 | 2 | 0 | 0 | 9 | 0 | 0.08 | 0.08 | 0.15 | 0.08 | 0.15 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Cardiff City (3 Seasons) | 2 Leagues | 10 | 10 | 910 | 10.1 | 0 | 2 | 2 | 0 | 0 | 0 | 5 | 0 | 0.00 | 0.20 | 0.20 | 0.00 | 0.20 | |||||
| Rotherham United (3 Seasons) | 2 Leagues | 7 | 5 | 526 | 5.8 | 2 | 0 | 2 | 2 | 0 | 0 | 0 | 0 | 0.34 | 0.00 | 0.34 | 0.34 | 0.34 | |||||
| Sheffield Weds (2 Seasons) | 2 Leagues | 9 | 7 | 675 | 7.5 | 0 | 0 | 0 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Oxford United (2 Seasons) | 2 Leagues | 5 | 3 | 279 | 3.1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| FA Cup (10 Seasons) | 17 | 17 | 1,485 | 16.5 | 1 | 2 | 3 | 1 | 0 | 0 | 5 | 0 | 0.06 | 0.12 | 0.18 | 0.06 | 0.18 | ||||||
| EFL Cup (9 Seasons) | 14 | 8 | 905 | 10.1 | 1 | 0 | 1 | 1 | 0 | 0 | 4 | 0 | 0.10 | 0.00 | 0.10 | 0.10 | 0.10 | ||||||
| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2019 | 25 | wls Wales | Friendlies (M) | 2 | 1 | 92 | 1.0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.98 | 0.98 | 0.00 | 0.98 | Matches | |
| 2020 | 26 | wls Wales | Friendlies (M) | 1 | 0 | 29 | 0.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2020-2021 | 26 | wls Wales | UEFA Nations League | LgB | 0 | 0 | Matches | |||||||||||||||
| 2021 | 27 | wls Wales | UEFA Euro Qualifying | 3 | 1 | 73 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022 | 28 | wls Wales | WCQ | 0 | 0 | Matches | ||||||||||||||||
| 2022 | 28 | wls Wales | Friendlies (M) | 1 | 1 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 4 Seasons | 1 Club | 4 Leagues | 7 | 3 | 254 | 2.8 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.35 | 0.35 | 0.00 | 0.35 | |||
| Friendlies (M) (3 Seasons) | 4 | 2 | 181 | 2.0 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.50 | 0.50 | 0.00 | 0.50 | |||||
| UEFA Euro Qualifying (1 Season) | 3 | 1 | 73 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| WCQ (1 Season) | 0 | 0 | ||||||||||||||||||||
| UEFA Nations League (1 Season) | 0 | 0 | ||||||||||||||||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2012-2013 | 18 | Falkirk | sct SCO | 2. First Division | 4.3 | 0 | 0 | 0.00 | 0 | 0 | ||||||
| 2013-2014 | 19 | Falkirk | sct SCO | 2. Championship | 32.4 | 1 | 11 | 0.34 | 0.09 | 0 | 0 | |||||
| 2014-2015 | 20 | Falkirk | sct SCO | 2. Championship | 32.5 | 3 | 15 | 0.46 | 0.20 | 0 | 0 | Matches | ||||
| 2015-2016 | 21 | Falkirk | sct SCO | 2. Championship | 35.0 | 6 | 26 | 0.74 | 0.23 | 0 | 0 | Matches | ||||
| 2016-2017 | 22 | Rotherham United | eng ENG | 2. Championship | 33.8 | 1 | 0 | 9 | 0.00 | 0.27 | 0.11 | 0 | 0 | Matches | ||
| 2016-2017 | 22 | Rotherham United | eng ENG | EFL Cup | 1.3 | 0 | 4 | 0 | 0.0 | 3.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2016-2017 | 22 | Rotherham United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 23 | Rotherham United | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2017-2018 | 23 | Rotherham United | eng ENG | FA Cup | 1.0 | 1 | 6 | 3 | 50.0 | 6.00 | 3.00 | 0.17 | 0.33 | 0 | 0 | Matches |
| 2017-2018 | 23 | Rotherham United | eng ENG | 3. League One | 40.6 | 5 | 0 | 23 | 0.00 | 0.57 | 0.22 | 0 | 0 | Matches | ||
| 2018-2019 | 24 | Rotherham United | eng ENG | 2. Championship | 40.1 | 7 | 96 | 21 | 21.9 | 2.39 | 0.52 | 0.06 | 0.29 | 1 | 1 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | EFL Cup | 0.5 | 1 | 1 | 1 | 100.0 | 2.00 | 2.00 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 25 | Cardiff City | eng ENG | 2. Championship | 18.7 | 4 | 28 | 10 | 35.7 | 1.50 | 0.53 | 0.14 | 0.40 | 0 | 0 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | EFL Cup | 1.0 | 0 | 4 | 2 | 50.0 | 4.00 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | FA Cup | 4.3 | 0 | 9 | 2 | 22.2 | 2.08 | 0.46 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 34.8 | 5 | 36 | 15 | 41.7 | 1.03 | 0.43 | 0.14 | 0.33 | 0 | 0 | Matches |
| 2020-2021 | 26 | Cardiff City | eng ENG | FA Cup | 0.7 | 0 | 2 | 1 | 50.0 | 2.90 | 1.45 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 27 | Cardiff City | eng ENG | 2. Championship | 23.3 | 2 | 34 | 8 | 23.5 | 1.46 | 0.34 | 0.03 | 0.13 | 1 | 1 | Matches |
| 2021-2022 | 27 | Cardiff City | eng ENG | EFL Cup | 2.0 | 0 | 2 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 27 | Cardiff City | eng ENG | FA Cup | 2.1 | 0 | 3 | 0 | 0.0 | 1.44 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | EFL Cup | 1.5 | 0 | 3 | 1 | 33.3 | 2.00 | 0.67 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | FA Cup | 3.7 | 0 | 3 | 1 | 33.3 | 0.82 | 0.27 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | 3. League One | 34.0 | 2 | 61 | 16 | 26.2 | 1.79 | 0.47 | 0.03 | 0.13 | 0 | 0 | Matches |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | 2. Championship | 26.2 | 0 | 32 | 9 | 28.1 | 1.22 | 0.34 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | EFL Cup | 1.3 | 0 | 3 | 0 | 0.0 | 2.25 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | FA Cup | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2024-2025 | 30 | Oxford United | eng ENG | 2. Championship | 37.1 | 1 | 24 | 7 | 29.2 | 0.65 | 0.19 | 0.04 | 0.14 | 0 | 0 | Matches |
| 2024-2025 | 30 | Oxford United | eng ENG | EFL Cup | 0.4 | 0 | 1 | 0 | 0.0 | 2.65 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2025-2026 | 31 | Oxford United | eng ENG | 2. Championship | 21.6 | 1 | 32 | 8 | 25.0 | 1.48 | 0.37 | 0.03 | 0.13 | 0 | 0 | Matches |
| 2025-2026 | 31 | Oxford United | eng ENG | EFL Cup | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2025-2026 | 31 | Oxford United | eng ENG | FA Cup | 1.7 | 0 | 1 | 1 | 100.0 | 0.58 | 0.58 | 0.00 | 0.00 | 0 | 0 | Matches |
| 14 Seasons | 5 Clubs | 5 Leagues | 441.0 | 40 | 387 | 190 | 35.7 | 1.15 | 0.43 | 0.07 | 0.20 | 2 | 2 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Falkirk (4 Seasons) | 1 League | 104.3 | 10 | 52 | 0.50 | 0.19 | 0 | 0 | ||||||||
| Rotherham United (3 Seasons) | 4 Leagues | 120.3 | 15 | 107 | 57 | 53.3 | 0.90 | 0.48 | 0.13 | 0.25 | 1 | 1 | ||||
| Cardiff City (3 Seasons) | 3 Leagues | 87.0 | 11 | 118 | 38 | 32.2 | 1.36 | 0.44 | 0.08 | 0.26 | 1 | 1 | ||||
| Oxford United (2 Seasons) | 3 Leagues | 61.8 | 2 | 59 | 16 | 27.1 | 0.95 | 0.26 | 0.03 | 0.13 | 0 | 0 | ||||
| Sheffield Weds (2 Seasons) | 4 Leagues | 67.7 | 2 | 103 | 27 | 26.2 | 1.52 | 0.40 | 0.02 | 0.07 | 0 | 0 | ||||
| FA Cup (10 Seasons) | 16.5 | 1 | 25 | 8 | 32.0 | 1.61 | 0.52 | 0.04 | 0.13 | 0 | 0 | |||||
| EFL Cup (9 Seasons) | 10.1 | 1 | 19 | 4 | 21.1 | 1.89 | 0.40 | 0.05 | 0.25 | 0 | 0 | |||||
| Championship (8 Seasons) | 235.6 | 21 | 282 | 87 | 30.9 | 1.20 | 0.37 | 0.07 | 0.22 | 2 | 2 | |||||
| Championship (4 Seasons) | 104.3 | 10 | 52 | 0.50 | 0.19 | 0 | 0 | |||||||||
| League One (2 Seasons) | 74.6 | 7 | 61 | 39 | 63.9 | 0.82 | 0.52 | 0.11 | 0.18 | 0 | 0 | |||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2012-2013 | 18 | Falkirk | 1 League | 4.3 | 0 | 0 | 0.00 | 0 | 0 | ||||||
| 2013-2014 | 19 | Falkirk | 1 League | 32.4 | 1 | 11 | 0.34 | 0.09 | 0 | 0 | |||||
| 2014-2015 | 20 | Falkirk | 1 League | 32.5 | 3 | 15 | 0.46 | 0.20 | 0 | 0 | |||||
| 2015-2016 | 21 | Falkirk | 1 League | 35.0 | 6 | 26 | 0.74 | 0.23 | 0 | 0 | |||||
| 2016-2017 | 22 | Rotherham United | 3 Leagues | 36.1 | 1 | 4 | 9 | 225.0 | 0.11 | 0.26 | 0.25 | 0.11 | 0 | 0 | |
| 2017-2018 | 23 | Rotherham United | 3 Leagues | 42.6 | 6 | 6 | 26 | 433.3 | 0.14 | 0.61 | 1.00 | 0.23 | 0 | 0 | |
| 2018-2019 | 24 | Rotherham United | 3 Leagues | 41.6 | 8 | 97 | 22 | 22.7 | 2.33 | 0.53 | 0.07 | 0.32 | 1 | 1 | |
| 2019-2020 | 25 | Cardiff City | 3 Leagues | 24.0 | 4 | 41 | 14 | 34.1 | 1.71 | 0.58 | 0.10 | 0.29 | 0 | 0 | |
| 2020-2021 | 26 | Cardiff City | 2 Leagues | 35.5 | 5 | 38 | 16 | 42.1 | 1.07 | 0.45 | 0.13 | 0.31 | 0 | 0 | |
| 2021-2022 | 27 | Cardiff City | 3 Leagues | 27.4 | 2 | 39 | 8 | 20.5 | 1.42 | 0.29 | 0.03 | 0.13 | 1 | 1 | |
| 2022-2023 | 28 | Sheffield Weds | 3 Leagues | 39.2 | 2 | 67 | 18 | 26.9 | 1.71 | 0.46 | 0.03 | 0.11 | 0 | 0 | |
| 2023-2024 | 29 | Sheffield Weds | 3 Leagues | 28.5 | 0 | 36 | 9 | 25.0 | 1.26 | 0.32 | 0.00 | 0.00 | 0 | 0 | |
| 2024-2025 | 30 | Oxford United | 3 Leagues | 37.5 | 1 | 25 | 7 | 28.0 | 0.67 | 0.19 | 0.04 | 0.14 | 0 | 0 | |
| 2025-2026 | 31 | Oxford United | 3 Leagues | 24.4 | 1 | 34 | 9 | 26.5 | 1.40 | 0.37 | 0.03 | 0.11 | 0 | 0 | |
| 14 Seasons | 5 Clubs | 5 Leagues | 441.0 | 40 | 387 | 190 | 35.7 | 1.15 | 0.43 | 0.07 | 0.20 | 2 | 2 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Falkirk (4 Seasons) | 1 League | 104.3 | 10 | 52 | 0.50 | 0.19 | 0 | 0 | |||||||
| Rotherham United (3 Seasons) | 4 Leagues | 120.3 | 15 | 107 | 57 | 53.3 | 0.90 | 0.48 | 0.13 | 0.25 | 1 | 1 | |||
| Cardiff City (3 Seasons) | 3 Leagues | 87.0 | 11 | 118 | 38 | 32.2 | 1.36 | 0.44 | 0.08 | 0.26 | 1 | 1 | |||
| Oxford United (2 Seasons) | 3 Leagues | 61.8 | 2 | 59 | 16 | 27.1 | 0.95 | 0.26 | 0.03 | 0.13 | 0 | 0 | |||
| Sheffield Weds (2 Seasons) | 4 Leagues | 67.7 | 2 | 103 | 27 | 26.2 | 1.52 | 0.40 | 0.02 | 0.07 | 0 | 0 | |||
| FA Cup (10 Seasons) | 16.5 | 1 | 25 | 8 | 32.0 | 1.61 | 0.52 | 0.04 | 0.13 | 0 | 0 | ||||
| EFL Cup (9 Seasons) | 10.1 | 1 | 19 | 4 | 21.1 | 1.89 | 0.40 | 0.05 | 0.25 | 0 | 0 | ||||
| Championship (8 Seasons) | 235.6 | 21 | 282 | 87 | 30.9 | 1.20 | 0.37 | 0.07 | 0.22 | 2 | 2 | ||||
| Championship (4 Seasons) | 104.3 | 10 | 52 | 0.50 | 0.19 | 0 | 0 | ||||||||
| League One (2 Seasons) | 74.6 | 7 | 61 | 39 | 63.9 | 0.82 | 0.52 | 0.11 | 0.18 | 0 | 0 | ||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2012-2013 | 18 | Falkirk | sct SCO | 2. First Division | 3rd | 4.3 | 0 | 0 | 0.00 | 0 | 0 | ||||||
| 2013-2014 | 19 | Falkirk | sct SCO | 2. Championship | 3rd | 32.4 | 1 | 11 | 0.34 | 0.09 | 0 | 0 | |||||
| 2014-2015 | 20 | Falkirk | sct SCO | 2. Championship | 5th | 32.5 | 3 | 15 | 0.46 | 0.20 | 0 | 0 | Matches | ||||
| 2015-2016 | 21 | Falkirk | sct SCO | 2. Championship | 2nd | 35.0 | 6 | 26 | 0.74 | 0.23 | 0 | 0 | Matches | ||||
| 2016-2017 | 22 | Rotherham United | eng ENG | 2. Championship | 24th | 33.8 | 1 | 0 | 9 | 0.00 | 0.27 | 0.11 | 0 | 0 | Matches | ||
| 2017-2018 | 23 | Rotherham United | eng ENG | 3. League One | 4th | 40.6 | 5 | 0 | 23 | 0.00 | 0.57 | 0.22 | 0 | 0 | Matches | ||
| 2018-2019 | 24 | Rotherham United | eng ENG | 2. Championship | 22nd | 40.1 | 7 | 96 | 21 | 21.9 | 2.39 | 0.52 | 0.06 | 0.29 | 1 | 1 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | 2. Championship | 5th | 18.7 | 4 | 28 | 10 | 35.7 | 1.50 | 0.53 | 0.14 | 0.40 | 0 | 0 | Matches |
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 8th | 34.8 | 5 | 36 | 15 | 41.7 | 1.03 | 0.43 | 0.14 | 0.33 | 0 | 0 | Matches |
| 2021-2022 | 27 | Cardiff City | eng ENG | 2. Championship | 18th | 23.3 | 2 | 34 | 8 | 23.5 | 1.46 | 0.34 | 0.03 | 0.13 | 1 | 1 | Matches |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | 3. League One | 3rd | 34.0 | 2 | 61 | 16 | 26.2 | 1.79 | 0.47 | 0.03 | 0.13 | 0 | 0 | Matches |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | 2. Championship | 20th | 26.2 | 0 | 32 | 9 | 28.1 | 1.22 | 0.34 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2024-2025 | 30 | Oxford United | eng ENG | 2. Championship | 17th | 37.1 | 1 | 24 | 7 | 29.2 | 0.65 | 0.19 | 0.04 | 0.14 | 0 | 0 | Matches |
| 2025-2026 | 31 | Oxford United | eng ENG | 2. Championship | 22nd | 21.6 | 1 | 32 | 8 | 25.0 | 1.48 | 0.37 | 0.03 | 0.13 | 0 | 0 | Matches |
| 14 Seasons | 5 Clubs | 3 Leagues | 414.5 | 38 | 343 | 178 | 36.7 | 1.11 | 0.43 | 0.08 | 0.20 | 2 | 2 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Falkirk (4 Seasons) | 1 League | 104.3 | 10 | 52 | 0.50 | 0.19 | 0 | 0 | |||||||||
| Rotherham United (3 Seasons) | 2 Leagues | 114.5 | 13 | 96 | 53 | 55.2 | 0.84 | 0.46 | 0.13 | 0.23 | 1 | 1 | |||||
| Cardiff City (3 Seasons) | 1 League | 76.9 | 11 | 98 | 33 | 33.7 | 1.27 | 0.43 | 0.10 | 0.30 | 1 | 1 | |||||
| Oxford United (2 Seasons) | 1 League | 58.7 | 2 | 56 | 15 | 26.8 | 0.95 | 0.26 | 0.04 | 0.13 | 0 | 0 | |||||
| Sheffield Weds (2 Seasons) | 2 Leagues | 60.2 | 2 | 93 | 25 | 26.9 | 1.55 | 0.42 | 0.02 | 0.08 | 0 | 0 | |||||
| Championship (8 Seasons) | 235.6 | 21 | 282 | 87 | 30.9 | 1.20 | 0.37 | 0.07 | 0.22 | 2 | 2 | ||||||
| Championship (4 Seasons) | 104.3 | 10 | 52 | 0.50 | 0.19 | 0 | 0 | ||||||||||
| League One (2 Seasons) | 74.6 | 7 | 61 | 39 | 63.9 | 0.82 | 0.52 | 0.11 | 0.18 | 0 | 0 | ||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2016-2017 | 22 | Rotherham United | eng ENG | EFL Cup | 58th | 1.3 | 0 | 4 | 0 | 0.0 | 3.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2016-2017 | 22 | Rotherham United | eng ENG | FA Cup | 33rd | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 23 | Rotherham United | eng ENG | EFL Cup | 33rd | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2017-2018 | 23 | Rotherham United | eng ENG | FA Cup | 85th | 1.0 | 1 | 6 | 3 | 50.0 | 6.00 | 3.00 | 0.17 | 0.33 | 0 | 0 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | EFL Cup | 33rd | 0.5 | 1 | 1 | 1 | 100.0 | 2.00 | 2.00 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | FA Cup | 33rd | 1.0 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2019-2020 | 25 | Cardiff City | eng ENG | EFL Cup | 33rd | 1.0 | 0 | 4 | 2 | 50.0 | 4.00 | 2.00 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | FA Cup | 17th | 4.3 | 0 | 9 | 2 | 22.2 | 2.08 | 0.46 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 26 | Cardiff City | eng ENG | FA Cup | 33rd | 0.7 | 0 | 2 | 1 | 50.0 | 2.90 | 1.45 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 27 | Cardiff City | eng ENG | EFL Cup | Rd2 | 2.0 | 0 | 2 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2021-2022 | 27 | Cardiff City | eng ENG | FA Cup | 2.1 | 0 | 3 | 0 | 0.0 | 1.44 | 0.00 | 0.00 | 0 | 0 | Matches | ||
| 2022-2023 | 28 | Sheffield Weds | eng ENG | EFL Cup | Rd3 | 1.5 | 0 | 3 | 1 | 33.3 | 2.00 | 0.67 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | FA Cup | 3.7 | 0 | 3 | 1 | 33.3 | 0.82 | 0.27 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | EFL Cup | Rd2 | 1.3 | 0 | 3 | 0 | 0.0 | 2.25 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | FA Cup | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | ||
| 2024-2025 | 30 | Oxford United | eng ENG | EFL Cup | Rd2 | 0.4 | 0 | 1 | 0 | 0.0 | 2.65 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2025-2026 | 31 | Oxford United | eng ENG | EFL Cup | Rd2 | 1.0 | 0 | 1 | 0 | 0.0 | 1.00 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2025-2026 | 31 | Oxford United | eng ENG | FA Cup | 1.7 | 0 | 1 | 1 | 100.0 | 0.58 | 0.58 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 10 Seasons | 4 Clubs | 2 Leagues | 26.6 | 2 | 44 | 12 | 27.3 | 1.72 | 0.47 | 0.05 | 0.17 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Cardiff City (3 Seasons) | 2 Leagues | 10.1 | 0 | 20 | 5 | 25.0 | 1.98 | 0.49 | 0.00 | 0.00 | 0 | 0 | |||||
| Rotherham United (3 Seasons) | 2 Leagues | 5.8 | 2 | 11 | 4 | 36.4 | 2.27 | 0.83 | 0.18 | 0.50 | 0 | 0 | |||||
| Sheffield Weds (2 Seasons) | 2 Leagues | 7.5 | 0 | 10 | 2 | 20.0 | 1.33 | 0.27 | 0.00 | 0.00 | 0 | 0 | |||||
| Oxford United (2 Seasons) | 2 Leagues | 3.1 | 0 | 3 | 1 | 33.3 | 0.97 | 0.32 | 0.00 | 0.00 | 0 | 0 | |||||
| FA Cup (10 Seasons) | 16.5 | 1 | 25 | 8 | 32.0 | 1.61 | 0.52 | 0.04 | 0.13 | 0 | 0 | ||||||
| EFL Cup (9 Seasons) | 10.1 | 1 | 19 | 4 | 21.1 | 1.89 | 0.40 | 0.05 | 0.25 | 0 | 0 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2019 | 25 | wls Wales | Friendlies (M) | 1.0 | 0 | 0 | 0 | Matches | ||||||||
| 2020 | 26 | wls Wales | Friendlies (M) | 0.3 | 0 | 0 | 0 | Matches | ||||||||
| 2021 | 27 | wls Wales | UEFA Euro Qualifying | 0.8 | 0 | 2 | 1 | 50.0 | 2.47 | 1.23 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022 | 28 | wls Wales | Friendlies (M) | 0.7 | 0 | 0 | 0 | Matches | ||||||||
| 4 Seasons | 1 Club | 4 Leagues | 2.8 | 0 | 2 | 1 | 50.0 | 2.47 | 1.23 | 0.00 | 0.00 | 0 | 0 | |||
| Friendlies (M) (3 Seasons) | 2.0 | 0 | 0 | 0 | ||||||||||||
| UEFA Euro Qualifying (1 Season) | 0.8 | 0 | 2 | 1 | 50.0 | 2.47 | 1.23 | 0.00 | 0.00 | 0 | 0 | |||||
| WCQ (1 Season) | ||||||||||||||||
| UEFA Nations League (1 Season) | ||||||||||||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2012-2013 | 18 | Falkirk | sct SCO | 2. First Division | 6 | 389 | 65 | 12.0 | 4.3 | 4 | 2 | |||||||||||
| 2013-2014 | 19 | Falkirk | sct SCO | 2. Championship | 33 | 2,920 | 88 | 90.1 | 32.4 | 33 | 0 | |||||||||||
| 2014-2015 | 20 | Falkirk | sct SCO | 2. Championship | 34 | 2,924 | 86 | 90.2 | 32.5 | 33 | 30 | 1 | 1 | 1.53 | 46 | 44 | +2 | +0.06 | +0.63 | Matches | ||
| 2015-2016 | 21 | Falkirk | sct SCO | 2. Championship | 35 | 3,150 | 90 | 97.2 | 35.0 | 35 | 35 | 0 | 0 | 1.92 | 60 | 34 | +26 | +0.74 | -0.26 | Matches | ||
| 2016-2017 | 22 | Rotherham United | eng ENG | 2. Championship | 40 | 3,041 | 76 | 73.5 | 33.8 | 31 | 29 | 9 | 5 | 0.55 | 27 | 78 | -51 | -1.51 | -0.94 | Matches | ||
| 2016-2017 | 22 | Rotherham United | eng ENG | EFL Cup | 1 | 120 | 120 | 100.0 | 1.3 | 1 | 120 | 1 | 0 | 0 | 0.00 | 4 | 5 | -1 | -0.75 | Matches | ||
| 2016-2017 | 22 | Rotherham United | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 2 | 3 | -1 | -1.00 | Matches | ||
| 2017-2018 | 23 | Rotherham United | eng ENG | EFL Cup | 2 | 91 | 46 | 50.6 | 1.0 | 1 | 91 | 1 | 1 | 0 | 0 | 1.50 | 1 | 2 | -1 | -0.99 | -2.00 | Matches |
| 2017-2018 | 23 | Rotherham United | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | Matches | ||
| 2017-2018 | 23 | Rotherham United | eng ENG | 3. League One | 44 | 3,653 | 83 | 88.2 | 40.6 | 38 | 38 | 6 | 1 | 1.83 | 64 | 44 | +20 | +0.49 | +0.49 | Matches | ||
| 2018-2019 | 24 | Rotherham United | eng ENG | 2. Championship | 41 | 3,608 | 88 | 87.1 | 40.1 | 41 | 88 | 39 | 0 | 0 | 0.88 | 46 | 68 | -22 | -0.55 | +0.97 | Matches | |
| 2018-2019 | 24 | Rotherham United | eng ENG | EFL Cup | 1 | 45 | 45 | 25.0 | 0.5 | 0 | 0 | 1 | 45 | 0 | 0.00 | 1 | 2 | -1 | -2.00 | -2.67 | Matches | |
| 2018-2019 | 24 | Rotherham United | eng ENG | FA Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 7 | -7 | -7.00 | Matches | ||
| 2019-2020 | 25 | Cardiff City | eng ENG | 2. Championship | 27 | 1,683 | 62 | 40.7 | 18.7 | 18 | 84 | 14 | 9 | 18 | 14 | 1.86 | 29 | 28 | +1 | +0.05 | -0.28 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | EFL Cup | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 3 | -3 | -3.00 | Matches | ||
| 2019-2020 | 25 | Cardiff City | eng ENG | FA Cup | 4 | 390 | 98 | 100.0 | 4.3 | 4 | 98 | 4 | 0 | 0 | 1.25 | 10 | 9 | +1 | +0.23 | Matches | ||
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 42 | 3,134 | 75 | 75.7 | 34.8 | 36 | 85 | 28 | 6 | 11 | 2 | 1.50 | 47 | 41 | +6 | +0.17 | -0.81 | Matches |
| 2020-2021 | 26 | Cardiff City | eng ENG | FA Cup | 1 | 62 | 62 | 68.9 | 0.7 | 1 | 62 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.45 | -1.45 | Matches | |
| 2021-2022 | 27 | Cardiff City | eng ENG | 2. Championship | 36 | 2,101 | 58 | 50.7 | 23.3 | 23 | 80 | 13 | 13 | 20 | 7 | 1.06 | 23 | 39 | -16 | -0.69 | -0.60 | Matches |
| 2021-2022 | 27 | Cardiff City | eng ENG | EFL Cup | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 3 | 4 | -1 | -0.50 | Matches | ||
| 2021-2022 | 27 | Cardiff City | eng ENG | FA Cup | 2 | 188 | 94 | 89.5 | 2.1 | 2 | 94 | 1 | 0 | 0 | 1.50 | 2 | 3 | -1 | -0.48 | -0.48 | Matches | |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | EFL Cup | 2 | 135 | 68 | 45.0 | 1.5 | 1 | 90 | 1 | 1 | 45 | 1 | 2.00 | 3 | 0 | +3 | +2.00 | +0.91 | Matches |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | FA Cup | 4 | 330 | 83 | 73.3 | 3.7 | 4 | 83 | 3 | 0 | 0 | 2.50 | 6 | 3 | +3 | +0.82 | +0.82 | Matches | |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | 3. League One | 43 | 3,060 | 71 | 73.9 | 34.0 | 34 | 85 | 28 | 9 | 17 | 3 | 2.17 | 54 | 25 | +29 | +0.85 | -0.40 | Matches |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | 2. Championship | 34 | 2,354 | 69 | 56.9 | 26.2 | 25 | 82 | 14 | 9 | 34 | 8 | 1.29 | 28 | 37 | -9 | -0.34 | +0.41 | Matches |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | EFL Cup | 2 | 120 | 60 | 50.0 | 1.3 | 1 | 80 | 0 | 1 | 40 | 0 | 1.00 | 0 | 2 | -2 | -1.50 | -3.00 | Matches |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | FA Cup | 1 | 90 | 90 | 33.3 | 1.0 | 1 | 90 | 1 | 0 | 1 | 0.00 | 1 | 4 | -3 | -3.00 | -5.00 | Matches | |
| 2024-2025 | 30 | Oxford United | eng ENG | 2. Championship | 44 | 3,339 | 76 | 80.7 | 37.1 | 38 | 84 | 27 | 6 | 26 | 1 | 1.18 | 39 | 51 | -12 | -0.32 | +0.13 | Matches |
| 2024-2025 | 30 | Oxford United | eng ENG | EFL Cup | 2 | 34 | 17 | 18.9 | 0.4 | 0 | 0 | 2 | 17 | 0 | 1.50 | 0 | 0 | 0 | 0.00 | -0.62 | Matches | |
| 2024-2025 | 30 | Oxford United | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | ||||||||||||
| 2025-2026 | 31 | Oxford United | eng ENG | 2. Championship | 39 | 1,948 | 50 | 47.1 | 21.6 | 18 | 84 | 12 | 21 | 21 | 7 | 1.05 | 19 | 31 | -12 | -0.55 | -0.47 | Matches |
| 2025-2026 | 31 | Oxford United | eng ENG | EFL Cup | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 1 | 0.00 | 0 | 6 | -6 | -6.00 | -7.00 | Matches | |
| 2025-2026 | 31 | Oxford United | eng ENG | FA Cup | 2 | 155 | 78 | 73.8 | 1.7 | 2 | 78 | 1 | 0 | 0 | 0.50 | 1 | 2 | -1 | -0.58 | -0.58 | Matches | |
| 14 Seasons | 5 Clubs | 5 Leagues | 529 | 39,694 | 75 | 68.4 | 441.0 | 432 | 85 | 327 | 97 | 21 | 53 | 1.37 | 517 | 578 | -61 | -0.15 | -0.19 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Falkirk (4 Seasons) | 1 League | 108 | 9,383 | 87 | 72.4 | 104.3 | 105 | 65 | 3 | 1 | 1.73 | 106 | 78 | +28 | +0.41 | +0.64 | ||||||
| Rotherham United (3 Seasons) | 4 Leagues | 132 | 10,828 | 82 | 82.2 | 120.3 | 115 | 89 | 111 | 17 | 23 | 6 | 1.07 | 146 | 211 | -65 | -0.54 | 0.00 | ||||
| Cardiff City (3 Seasons) | 3 Leagues | 115 | 7,828 | 68 | 58.5 | 87.0 | 87 | 84 | 63 | 28 | 17 | 23 | 1.41 | 114 | 128 | -14 | -0.16 | -0.45 | ||||
| Oxford United (2 Seasons) | 3 Leagues | 88 | 5,566 | 63 | 62.3 | 61.8 | 59 | 84 | 41 | 29 | 22 | 10 | 1.10 | 59 | 90 | -31 | -0.50 | -0.39 | ||||
| Sheffield Weds (2 Seasons) | 4 Leagues | 86 | 6,089 | 71 | 63.8 | 67.7 | 66 | 84 | 47 | 20 | 27 | 13 | 1.78 | 92 | 71 | +21 | +0.31 | +0.10 | ||||
| FA Cup (10 Seasons) | 17 | 1,485 | 87 | 75.0 | 16.5 | 17 | 87 | 13 | 0 | 2 | 1.12 | 23 | 34 | -11 | -0.67 | -1.56 | ||||||
| EFL Cup (9 Seasons) | 14 | 905 | 65 | 54.8 | 10.1 | 8 | 93 | 7 | 6 | 27 | 2 | 1.07 | 12 | 24 | -12 | -1.19 | -2.16 | |||||
| Championship (8 Seasons) | 303 | 21,208 | 70 | 64.0 | 235.6 | 230 | 84 | 176 | 73 | 22 | 44 | 1.14 | 258 | 373 | -115 | -0.49 | -0.34 | |||||
| Championship (4 Seasons) | 108 | 9,383 | 87 | 72.4 | 104.3 | 105 | 65 | 3 | 1 | 1.73 | 106 | 78 | +28 | +0.41 | +0.64 | |||||||
| League One (2 Seasons) | 87 | 6,713 | 77 | 81.1 | 74.6 | 72 | 85 | 66 | 15 | 17 | 4 | 2.00 | 118 | 69 | +49 | +0.66 | -0.20 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2012-2013 | 18 | Falkirk | 1 League | 6 | 389 | 65 | 12.0 | 4.3 | 4 | 2 | |||||||||||
| 2013-2014 | 19 | Falkirk | 1 League | 33 | 2,920 | 88 | 90.1 | 32.4 | 33 | 0 | |||||||||||
| 2014-2015 | 20 | Falkirk | 1 League | 34 | 2,924 | 86 | 90.2 | 32.5 | 33 | 30 | 1 | 1 | 1.53 | 46 | 44 | +2 | +0.06 | +0.63 | |||
| 2015-2016 | 21 | Falkirk | 1 League | 35 | 3,150 | 90 | 97.2 | 35.0 | 35 | 35 | 0 | 0 | 1.92 | 60 | 34 | +26 | +0.74 | -0.26 | |||
| 2016-2017 | 22 | Rotherham United | 3 Leagues | 42 | 3,251 | 77 | 74.7 | 36.1 | 33 | 105 | 31 | 9 | 5 | 0.52 | 33 | 86 | -53 | -1.47 | -0.89 | ||
| 2017-2018 | 23 | Rotherham United | 3 Leagues | 47 | 3,834 | 82 | 86.9 | 42.6 | 40 | 91 | 40 | 7 | 0 | 1 | 1.78 | 66 | 48 | +18 | +0.42 | +0.27 | |
| 2018-2019 | 24 | Rotherham United | 3 Leagues | 43 | 3,743 | 87 | 84.9 | 41.6 | 42 | 88 | 40 | 1 | 45 | 0 | 0.84 | 47 | 77 | -30 | -0.72 | +0.36 | |
| 2019-2020 | 25 | Cardiff City | 3 Leagues | 32 | 2,163 | 68 | 46.8 | 24.0 | 23 | 87 | 19 | 9 | 18 | 14 | 1.73 | 39 | 40 | -1 | -0.04 | -0.37 | |
| 2020-2021 | 26 | Cardiff City | 2 Leagues | 43 | 3,196 | 74 | 75.6 | 35.5 | 37 | 85 | 28 | 6 | 11 | 2 | 1.47 | 47 | 42 | +5 | +0.14 | -0.82 | |
| 2021-2022 | 27 | Cardiff City | 3 Leagues | 40 | 2,469 | 62 | 54.5 | 27.4 | 27 | 82 | 16 | 13 | 20 | 7 | 1.10 | 28 | 46 | -18 | -0.66 | -0.57 | |
| 2022-2023 | 28 | Sheffield Weds | 3 Leagues | 49 | 3,525 | 72 | 72.1 | 39.2 | 39 | 85 | 32 | 10 | 20 | 4 | 2.19 | 63 | 28 | +35 | +0.89 | -0.23 | |
| 2023-2024 | 29 | Sheffield Weds | 3 Leagues | 37 | 2,564 | 69 | 55.1 | 28.5 | 27 | 82 | 15 | 10 | 34 | 9 | 1.24 | 29 | 43 | -14 | -0.49 | -0.10 | |
| 2024-2025 | 30 | Oxford United | 3 Leagues | 46 | 3,373 | 73 | 76.5 | 37.5 | 38 | 84 | 27 | 8 | 24 | 2 | 1.19 | 39 | 51 | -12 | -0.32 | -0.04 | |
| 2025-2026 | 31 | Oxford United | 3 Leagues | 42 | 2,193 | 52 | 48.4 | 24.4 | 21 | 84 | 14 | 21 | 21 | 8 | 1.00 | 20 | 39 | -19 | -0.78 | -0.74 | |
| 14 Seasons | 5 Clubs | 5 Leagues | 529 | 39,694 | 75 | 68.4 | 441.0 | 432 | 85 | 327 | 97 | 21 | 53 | 1.37 | 517 | 578 | -61 | -0.15 | -0.19 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Falkirk (4 Seasons) | 1 League | 108 | 9,383 | 87 | 72.4 | 104.3 | 105 | 65 | 3 | 1 | 1.73 | 106 | 78 | +28 | +0.41 | +0.64 | |||||
| Rotherham United (3 Seasons) | 4 Leagues | 132 | 10,828 | 82 | 82.2 | 120.3 | 115 | 89 | 111 | 17 | 23 | 6 | 1.07 | 146 | 211 | -65 | -0.54 | 0.00 | |||
| Cardiff City (3 Seasons) | 3 Leagues | 115 | 7,828 | 68 | 58.5 | 87.0 | 87 | 84 | 63 | 28 | 17 | 23 | 1.41 | 114 | 128 | -14 | -0.16 | -0.45 | |||
| Oxford United (2 Seasons) | 3 Leagues | 88 | 5,566 | 63 | 62.3 | 61.8 | 59 | 84 | 41 | 29 | 22 | 10 | 1.10 | 59 | 90 | -31 | -0.50 | -0.39 | |||
| Sheffield Weds (2 Seasons) | 4 Leagues | 86 | 6,089 | 71 | 63.8 | 67.7 | 66 | 84 | 47 | 20 | 27 | 13 | 1.78 | 92 | 71 | +21 | +0.31 | +0.10 | |||
| FA Cup (10 Seasons) | 17 | 1,485 | 87 | 75.0 | 16.5 | 17 | 87 | 13 | 0 | 2 | 1.12 | 23 | 34 | -11 | -0.67 | -1.56 | |||||
| EFL Cup (9 Seasons) | 14 | 905 | 65 | 54.8 | 10.1 | 8 | 93 | 7 | 6 | 27 | 2 | 1.07 | 12 | 24 | -12 | -1.19 | -2.16 | ||||
| Championship (8 Seasons) | 303 | 21,208 | 70 | 64.0 | 235.6 | 230 | 84 | 176 | 73 | 22 | 44 | 1.14 | 258 | 373 | -115 | -0.49 | -0.34 | ||||
| Championship (4 Seasons) | 108 | 9,383 | 87 | 72.4 | 104.3 | 105 | 65 | 3 | 1 | 1.73 | 106 | 78 | +28 | +0.41 | +0.64 | ||||||
| League One (2 Seasons) | 87 | 6,713 | 77 | 81.1 | 74.6 | 72 | 85 | 66 | 15 | 17 | 4 | 2.00 | 118 | 69 | +49 | +0.66 | -0.20 | ||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2012-2013 | 18 | Falkirk | sct SCO | 2. First Division | 3rd | 6 | 389 | 65 | 12.0 | 4.3 | 4 | 2 | |||||||||||
| 2013-2014 | 19 | Falkirk | sct SCO | 2. Championship | 3rd | 33 | 2,920 | 88 | 90.1 | 32.4 | 33 | 0 | |||||||||||
| 2014-2015 | 20 | Falkirk | sct SCO | 2. Championship | 5th | 34 | 2,924 | 86 | 90.2 | 32.5 | 33 | 30 | 1 | 1 | 1.53 | 46 | 44 | +2 | +0.06 | +0.63 | Matches | ||
| 2015-2016 | 21 | Falkirk | sct SCO | 2. Championship | 2nd | 35 | 3,150 | 90 | 97.2 | 35.0 | 35 | 35 | 0 | 0 | 1.92 | 60 | 34 | +26 | +0.74 | -0.26 | Matches | ||
| 2016-2017 | 22 | Rotherham United | eng ENG | 2. Championship | 24th | 40 | 3,041 | 76 | 73.5 | 33.8 | 31 | 29 | 9 | 5 | 0.55 | 27 | 78 | -51 | -1.51 | -0.94 | Matches | ||
| 2017-2018 | 23 | Rotherham United | eng ENG | 3. League One | 4th | 44 | 3,653 | 83 | 88.2 | 40.6 | 38 | 38 | 6 | 1 | 1.83 | 64 | 44 | +20 | +0.49 | +0.49 | Matches | ||
| 2018-2019 | 24 | Rotherham United | eng ENG | 2. Championship | 22nd | 41 | 3,608 | 88 | 87.1 | 40.1 | 41 | 88 | 39 | 0 | 0 | 0.88 | 46 | 68 | -22 | -0.55 | +0.97 | Matches | |
| 2019-2020 | 25 | Cardiff City | eng ENG | 2. Championship | 5th | 27 | 1,683 | 62 | 40.7 | 18.7 | 18 | 84 | 14 | 9 | 18 | 14 | 1.86 | 29 | 28 | +1 | +0.05 | -0.28 | Matches |
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 8th | 42 | 3,134 | 75 | 75.7 | 34.8 | 36 | 85 | 28 | 6 | 11 | 2 | 1.50 | 47 | 41 | +6 | +0.17 | -0.81 | Matches |
| 2021-2022 | 27 | Cardiff City | eng ENG | 2. Championship | 18th | 36 | 2,101 | 58 | 50.7 | 23.3 | 23 | 80 | 13 | 13 | 20 | 7 | 1.06 | 23 | 39 | -16 | -0.69 | -0.60 | Matches |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | 3. League One | 3rd | 43 | 3,060 | 71 | 73.9 | 34.0 | 34 | 85 | 28 | 9 | 17 | 3 | 2.17 | 54 | 25 | +29 | +0.85 | -0.40 | Matches |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | 2. Championship | 20th | 34 | 2,354 | 69 | 56.9 | 26.2 | 25 | 82 | 14 | 9 | 34 | 8 | 1.29 | 28 | 37 | -9 | -0.34 | +0.41 | Matches |
| 2024-2025 | 30 | Oxford United | eng ENG | 2. Championship | 17th | 44 | 3,339 | 76 | 80.7 | 37.1 | 38 | 84 | 27 | 6 | 26 | 1 | 1.18 | 39 | 51 | -12 | -0.32 | +0.13 | Matches |
| 2025-2026 | 31 | Oxford United | eng ENG | 2. Championship | 22nd | 39 | 1,948 | 50 | 47.1 | 21.6 | 18 | 84 | 12 | 21 | 21 | 7 | 1.05 | 19 | 31 | -12 | -0.55 | -0.47 | Matches |
| 14 Seasons | 5 Clubs | 3 Leagues | 498 | 37,304 | 75 | 68.6 | 414.5 | 407 | 85 | 307 | 91 | 21 | 49 | 1.39 | 482 | 520 | -38 | -0.10 | -0.07 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Falkirk (4 Seasons) | 1 League | 108 | 9,383 | 87 | 72.4 | 104.3 | 105 | 65 | 3 | 1 | 1.73 | 106 | 78 | +28 | +0.41 | +0.64 | |||||||
| Rotherham United (3 Seasons) | 2 Leagues | 125 | 10,302 | 82 | 82.9 | 114.5 | 110 | 88 | 106 | 15 | 6 | 1.11 | 137 | 190 | -53 | -0.46 | +0.22 | ||||||
| Cardiff City (3 Seasons) | 1 League | 105 | 6,918 | 66 | 55.7 | 76.9 | 77 | 84 | 55 | 28 | 17 | 23 | 1.44 | 99 | 108 | -9 | -0.12 | -0.41 | |||||
| Oxford United (2 Seasons) | 1 League | 83 | 5,287 | 64 | 63.9 | 58.7 | 56 | 84 | 39 | 27 | 22 | 8 | 1.12 | 58 | 82 | -24 | -0.41 | -0.23 | |||||
| Sheffield Weds (2 Seasons) | 2 Leagues | 77 | 5,414 | 70 | 65.4 | 60.2 | 59 | 84 | 42 | 18 | 25 | 11 | 1.78 | 82 | 62 | +20 | +0.33 | +0.33 | |||||
| Championship (8 Seasons) | 303 | 21,208 | 70 | 64.0 | 235.6 | 230 | 84 | 176 | 73 | 22 | 44 | 1.14 | 258 | 373 | -115 | -0.49 | -0.34 | ||||||
| Championship (4 Seasons) | 108 | 9,383 | 87 | 72.4 | 104.3 | 105 | 65 | 3 | 1 | 1.73 | 106 | 78 | +28 | +0.41 | +0.64 | ||||||||
| League One (2 Seasons) | 87 | 6,713 | 77 | 81.1 | 74.6 | 72 | 85 | 66 | 15 | 17 | 4 | 2.00 | 118 | 69 | +49 | +0.66 | -0.20 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2016-2017 | 22 | Rotherham United | eng ENG | EFL Cup | 58th | 1 | 120 | 120 | 100.0 | 1.3 | 1 | 120 | 1 | 0 | 0 | 0.00 | 4 | 5 | -1 | -0.75 | Matches | ||
| 2016-2017 | 22 | Rotherham United | eng ENG | FA Cup | 33rd | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 2 | 3 | -1 | -1.00 | Matches | ||
| 2017-2018 | 23 | Rotherham United | eng ENG | EFL Cup | 33rd | 2 | 91 | 46 | 50.6 | 1.0 | 1 | 91 | 1 | 1 | 0 | 0 | 1.50 | 1 | 2 | -1 | -0.99 | -2.00 | Matches |
| 2017-2018 | 23 | Rotherham United | eng ENG | FA Cup | 85th | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.00 | Matches | ||
| 2018-2019 | 24 | Rotherham United | eng ENG | EFL Cup | 33rd | 1 | 45 | 45 | 25.0 | 0.5 | 0 | 0 | 1 | 45 | 0 | 0.00 | 1 | 2 | -1 | -2.00 | -2.67 | Matches | |
| 2018-2019 | 24 | Rotherham United | eng ENG | FA Cup | 33rd | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 7 | -7 | -7.00 | Matches | ||
| 2019-2020 | 25 | Cardiff City | eng ENG | EFL Cup | 33rd | 1 | 90 | 90 | 100.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 3 | -3 | -3.00 | Matches | ||
| 2019-2020 | 25 | Cardiff City | eng ENG | FA Cup | 17th | 4 | 390 | 98 | 100.0 | 4.3 | 4 | 98 | 4 | 0 | 0 | 1.25 | 10 | 9 | +1 | +0.23 | Matches | ||
| 2020-2021 | 26 | Cardiff City | eng ENG | FA Cup | 33rd | 1 | 62 | 62 | 68.9 | 0.7 | 1 | 62 | 0 | 0 | 0 | 0.00 | 0 | 1 | -1 | -1.45 | -1.45 | Matches | |
| 2021-2022 | 27 | Cardiff City | eng ENG | EFL Cup | Rd2 | 2 | 180 | 90 | 100.0 | 2.0 | 2 | 90 | 2 | 0 | 0 | 1.50 | 3 | 4 | -1 | -0.50 | Matches | ||
| 2021-2022 | 27 | Cardiff City | eng ENG | FA Cup | 2 | 188 | 94 | 89.5 | 2.1 | 2 | 94 | 1 | 0 | 0 | 1.50 | 2 | 3 | -1 | -0.48 | -0.48 | Matches | ||
| 2022-2023 | 28 | Sheffield Weds | eng ENG | EFL Cup | Rd3 | 2 | 135 | 68 | 45.0 | 1.5 | 1 | 90 | 1 | 1 | 45 | 1 | 2.00 | 3 | 0 | +3 | +2.00 | +0.91 | Matches |
| 2022-2023 | 28 | Sheffield Weds | eng ENG | FA Cup | 4 | 330 | 83 | 73.3 | 3.7 | 4 | 83 | 3 | 0 | 0 | 2.50 | 6 | 3 | +3 | +0.82 | +0.82 | Matches | ||
| 2023-2024 | 29 | Sheffield Weds | eng ENG | EFL Cup | Rd2 | 2 | 120 | 60 | 50.0 | 1.3 | 1 | 80 | 0 | 1 | 40 | 0 | 1.00 | 0 | 2 | -2 | -1.50 | -3.00 | Matches |
| 2023-2024 | 29 | Sheffield Weds | eng ENG | FA Cup | 1 | 90 | 90 | 33.3 | 1.0 | 1 | 90 | 1 | 0 | 1 | 0.00 | 1 | 4 | -3 | -3.00 | -5.00 | Matches | ||
| 2024-2025 | 30 | Oxford United | eng ENG | EFL Cup | Rd2 | 2 | 34 | 17 | 18.9 | 0.4 | 0 | 0 | 2 | 17 | 0 | 1.50 | 0 | 0 | 0 | 0.00 | -0.62 | Matches | |
| 2024-2025 | 30 | Oxford United | eng ENG | FA Cup | 0 | 0 | 0 | 0 | 1 | Matches | |||||||||||||
| 2025-2026 | 31 | Oxford United | eng ENG | EFL Cup | Rd2 | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 1 | 0.00 | 0 | 6 | -6 | -6.00 | -7.00 | Matches | |
| 2025-2026 | 31 | Oxford United | eng ENG | FA Cup | 2 | 155 | 78 | 73.8 | 1.7 | 2 | 78 | 1 | 0 | 0 | 0.50 | 1 | 2 | -1 | -0.58 | -0.58 | Matches | ||
| 10 Seasons | 4 Clubs | 2 Leagues | 31 | 2,390 | 77 | 65.8 | 26.6 | 25 | 89 | 20 | 6 | 27 | 4 | 1.10 | 35 | 58 | -23 | -0.87 | -1.81 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Cardiff City (3 Seasons) | 2 Leagues | 10 | 910 | 91 | 94.8 | 10.1 | 10 | 91 | 8 | 0 | 0 | 1.10 | 15 | 20 | -5 | -0.49 | -0.49 | ||||||
| Rotherham United (3 Seasons) | 2 Leagues | 7 | 526 | 75 | 70.1 | 5.8 | 5 | 96 | 5 | 2 | 23 | 0 | 0.43 | 9 | 21 | -12 | -2.05 | -2.86 | |||||
| Sheffield Weds (2 Seasons) | 2 Leagues | 9 | 675 | 75 | 53.6 | 7.5 | 7 | 84 | 5 | 2 | 43 | 2 | 1.78 | 10 | 9 | +1 | +0.13 | -1.10 | |||||
| Oxford United (2 Seasons) | 2 Leagues | 5 | 279 | 56 | 42.3 | 3.1 | 3 | 82 | 2 | 2 | 17 | 2 | 0.80 | 1 | 8 | -7 | -2.26 | -2.88 | |||||
| FA Cup (10 Seasons) | 17 | 1,485 | 87 | 75.0 | 16.5 | 17 | 87 | 13 | 0 | 2 | 1.12 | 23 | 34 | -11 | -0.67 | -1.56 | |||||||
| EFL Cup (9 Seasons) | 14 | 905 | 65 | 54.8 | 10.1 | 8 | 93 | 7 | 6 | 27 | 2 | 1.07 | 12 | 24 | -12 | -1.19 | -2.16 | ||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2019 | 25 | wls Wales | Friendlies (M) | 2 | 92 | 46 | 51.1 | 1.0 | 1 | 91 | 1 | 1 | 1 | 0 | 3.00 | 1 | 0 | +1 | +0.98 | -0.04 | Matches | |
| 2020 | 26 | wls Wales | Friendlies (M) | 1 | 29 | 29 | 16.1 | 0.3 | 0 | 0 | 1 | 29 | 0 | 0.00 | 0 | 1 | -1 | -3.10 | -1.91 | Matches | ||
| 2020-2021 | 26 | wls Wales | UEFA Nations League | LgB | 0 | 0 | 0 | 0 | 4 | Matches | ||||||||||||
| 2021 | 27 | wls Wales | UEFA Euro Qualifying | 3 | 73 | 24 | 10.1 | 0.8 | 1 | 65 | 0 | 2 | 4 | 5 | 2.00 | 0 | 2 | -2 | -2.47 | -3.30 | Matches | |
| 2022 | 28 | wls Wales | WCQ | 0 | 0 | 0 | 0 | 4 | Matches | |||||||||||||
| 2022 | 28 | wls Wales | Friendlies (M) | 1 | 60 | 60 | 66.7 | 0.7 | 1 | 60 | 0 | 0 | 0 | 1.00 | 1 | 1 | 0 | 0.00 | 0.00 | Matches | ||
| 4 Seasons | 1 Club | 4 Leagues | 7 | 254 | 36 | 9.7 | 2.8 | 3 | 72 | 1 | 4 | 10 | 13 | 1.86 | 2 | 4 | -2 | -0.71 | -1.20 | |||
| Friendlies (M) (3 Seasons) | 4 | 181 | 45 | 40.2 | 2.0 | 2 | 76 | 1 | 2 | 15 | 0 | 1.75 | 2 | 2 | 0 | 0.00 | +0.33 | |||||
| UEFA Euro Qualifying (1 Season) | 3 | 73 | 24 | 10.1 | 0.8 | 1 | 65 | 0 | 2 | 4 | 5 | 2.00 | 0 | 2 | -2 | -2.47 | -3.30 | |||||
| WCQ (1 Season) | 0 | 0 | 0 | 0 | 4 | |||||||||||||||||
| UEFA Nations League (1 Season) | 0 | 0 | 0 | 0 | 4 | |||||||||||||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2012-2013 | 18 | Falkirk | sct SCO | 2. First Division | 4.3 | 1 | 0 | |||||||||||
| 2013-2014 | 19 | Falkirk | sct SCO | 2. Championship | 32.4 | 6 | 0 | |||||||||||
| 2014-2015 | 20 | Falkirk | sct SCO | 2. Championship | 32.5 | 10 | 0 | Matches | ||||||||||
| 2015-2016 | 21 | Falkirk | sct SCO | 2. Championship | 35.0 | 5 | 0 | 52 | Matches | |||||||||
| 2016-2017 | 22 | Rotherham United | eng ENG | 2. Championship | 33.8 | 9 | 0 | 0 | 56 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | Matches |
| 2016-2017 | 22 | Rotherham United | eng ENG | EFL Cup | 1.3 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 22 | Rotherham United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 23 | Rotherham United | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | Matches |
| 2017-2018 | 23 | Rotherham United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2017-2018 | 23 | Rotherham United | eng ENG | 3. League One | 40.6 | 9 | 0 | 0 | 69 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | 2. Championship | 40.1 | 10 | 1 | 0 | 59 | 51 | 0 | 77 | 67 | 56 | 0 | 0 | 0 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | EFL Cup | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 1 | 4 | 0 | 0 | 0 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | 2. Championship | 18.7 | 3 | 0 | 0 | 37 | 18 | 0 | 48 | 22 | 27 | 0 | Matches | ||
| 2019-2020 | 25 | Cardiff City | eng ENG | EFL Cup | 1.0 | 1 | 0 | 0 | 6 | 1 | 0 | 1 | 1 | 0 | 0 | Matches | ||
| 2019-2020 | 25 | Cardiff City | eng ENG | FA Cup | 4.3 | 2 | 0 | 0 | 3 | 1 | 0 | 5 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 34.8 | 6 | 1 | 0 | 61 | 25 | 3 | 79 | 53 | 32 | 0 | Matches | ||
| 2020-2021 | 26 | Cardiff City | eng ENG | FA Cup | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | Matches | ||
| 2021-2022 | 27 | Cardiff City | eng ENG | 2. Championship | 23.3 | 8 | 0 | 0 | 34 | 11 | 2 | 73 | 33 | 30 | 0 | Matches | ||
| 2021-2022 | 27 | Cardiff City | eng ENG | EFL Cup | 2.0 | 1 | 0 | 0 | 3 | 3 | 0 | 18 | 3 | 0 | 0 | Matches | ||
| 2021-2022 | 27 | Cardiff City | eng ENG | FA Cup | 2.1 | 1 | 0 | 0 | 6 | 3 | 0 | 4 | 4 | 0 | 0 | Matches | ||
| 2022-2023 | 28 | Sheffield Weds | eng ENG | EFL Cup | 1.5 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | Matches | ||
| 2022-2023 | 28 | Sheffield Weds | eng ENG | FA Cup | 3.7 | 1 | 0 | 0 | 6 | 2 | 0 | 5 | 2 | 3 | 0 | Matches | ||
| 2022-2023 | 28 | Sheffield Weds | eng ENG | 3. League One | 34.0 | 7 | 0 | 0 | 62 | 20 | 0 | 79 | 47 | 62 | 0 | Matches | ||
| 2023-2024 | 29 | Sheffield Weds | eng ENG | 2. Championship | 26.2 | 10 | 0 | 0 | 46 | 17 | 1 | 153 | 49 | 51 | 0 | Matches | ||
| 2023-2024 | 29 | Sheffield Weds | eng ENG | EFL Cup | 1.3 | 1 | 0 | 0 | 1 | 0 | 0 | 8 | 3 | 3 | 0 | Matches | ||
| 2023-2024 | 29 | Sheffield Weds | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | ||
| 2024-2025 | 30 | Oxford United | eng ENG | 2. Championship | 37.1 | 4 | 0 | 0 | 38 | 22 | 0 | 88 | 36 | 60 | 0 | Matches | ||
| 2024-2025 | 30 | Oxford United | eng ENG | EFL Cup | 0.4 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | Matches | ||
| 2025-2026 | 31 | Oxford United | eng ENG | 2. Championship | 21.6 | 9 | 0 | 0 | 20 | 11 | 1 | 45 | 28 | 36 | 0 | Matches | ||
| 2025-2026 | 31 | Oxford United | eng ENG | EFL Cup | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 0 | 2 | 0 | Matches | ||
| 2025-2026 | 31 | Oxford United | eng ENG | FA Cup | 1.7 | 1 | 0 | 0 | 4 | 2 | 0 | 3 | 1 | 1 | 0 | Matches | ||
| 14 Seasons | 5 Clubs | 5 Leagues | 441.0 | 106 | 2 | 0 | 568 | 197 | 8 | 697 | 351 | 371 | 0 | 1 | 1 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Falkirk (4 Seasons) | 1 League | 104.3 | 22 | 0 | 52 | |||||||||||||
| Rotherham United (3 Seasons) | 4 Leagues | 120.3 | 28 | 1 | 0 | 188 | 56 | 0 | 80 | 68 | 60 | 0 | 1 | 1 | ||||
| Cardiff City (3 Seasons) | 3 Leagues | 87.0 | 22 | 1 | 0 | 150 | 62 | 5 | 229 | 116 | 91 | 0 | ||||||
| Oxford United (2 Seasons) | 3 Leagues | 61.8 | 14 | 0 | 0 | 62 | 39 | 1 | 141 | 65 | 100 | 0 | ||||||
| Sheffield Weds (2 Seasons) | 4 Leagues | 67.7 | 20 | 0 | 0 | 116 | 40 | 2 | 247 | 102 | 120 | 0 | ||||||
| FA Cup (10 Seasons) | 16.5 | 5 | 0 | 0 | 22 | 10 | 0 | 19 | 8 | 10 | 0 | 0 | 0 | |||||
| EFL Cup (9 Seasons) | 10.1 | 4 | 0 | 0 | 12 | 12 | 1 | 36 | 8 | 7 | 0 | 1 | 0 | |||||
| Championship (8 Seasons) | 235.6 | 59 | 2 | 0 | 351 | 155 | 7 | 563 | 288 | 292 | 0 | 0 | 1 | |||||
| Championship (4 Seasons) | 104.3 | 22 | 0 | 52 | ||||||||||||||
| League One (2 Seasons) | 74.6 | 16 | 0 | 0 | 131 | 20 | 0 | 79 | 47 | 62 | 0 | 0 | 0 | |||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2012-2013 | 18 | Falkirk | 1 League | 4.3 | 1 | 0 | |||||||||||
| 2013-2014 | 19 | Falkirk | 1 League | 32.4 | 6 | 0 | |||||||||||
| 2014-2015 | 20 | Falkirk | 1 League | 32.5 | 10 | 0 | |||||||||||
| 2015-2016 | 21 | Falkirk | 1 League | 35.0 | 5 | 0 | 52 | ||||||||||
| 2016-2017 | 22 | Rotherham United | 3 Leagues | 36.1 | 9 | 0 | 0 | 57 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 1 | |
| 2017-2018 | 23 | Rotherham United | 3 Leagues | 42.6 | 9 | 0 | 0 | 70 | 3 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | |
| 2018-2019 | 24 | Rotherham United | 3 Leagues | 41.6 | 10 | 1 | 0 | 61 | 52 | 0 | 77 | 68 | 60 | 0 | 0 | 0 | |
| 2019-2020 | 25 | Cardiff City | 3 Leagues | 24.0 | 6 | 0 | 0 | 46 | 20 | 0 | 54 | 23 | 27 | 0 | |||
| 2020-2021 | 26 | Cardiff City | 2 Leagues | 35.5 | 6 | 1 | 0 | 61 | 25 | 3 | 80 | 53 | 34 | 0 | |||
| 2021-2022 | 27 | Cardiff City | 3 Leagues | 27.4 | 10 | 0 | 0 | 43 | 17 | 2 | 95 | 40 | 30 | 0 | |||
| 2022-2023 | 28 | Sheffield Weds | 3 Leagues | 39.2 | 9 | 0 | 0 | 68 | 23 | 1 | 85 | 50 | 66 | 0 | |||
| 2023-2024 | 29 | Sheffield Weds | 3 Leagues | 28.5 | 11 | 0 | 0 | 48 | 17 | 1 | 162 | 52 | 54 | 0 | |||
| 2024-2025 | 30 | Oxford United | 3 Leagues | 37.5 | 4 | 0 | 0 | 38 | 24 | 0 | 92 | 36 | 61 | 0 | |||
| 2025-2026 | 31 | Oxford United | 3 Leagues | 24.4 | 10 | 0 | 0 | 24 | 15 | 1 | 49 | 29 | 39 | 0 | |||
| 14 Seasons | 5 Clubs | 5 Leagues | 441.0 | 106 | 2 | 0 | 568 | 197 | 8 | 697 | 351 | 371 | 0 | 1 | 1 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Falkirk (4 Seasons) | 1 League | 104.3 | 22 | 0 | 52 | ||||||||||||
| Rotherham United (3 Seasons) | 4 Leagues | 120.3 | 28 | 1 | 0 | 188 | 56 | 0 | 80 | 68 | 60 | 0 | 1 | 1 | |||
| Cardiff City (3 Seasons) | 3 Leagues | 87.0 | 22 | 1 | 0 | 150 | 62 | 5 | 229 | 116 | 91 | 0 | |||||
| Oxford United (2 Seasons) | 3 Leagues | 61.8 | 14 | 0 | 0 | 62 | 39 | 1 | 141 | 65 | 100 | 0 | |||||
| Sheffield Weds (2 Seasons) | 4 Leagues | 67.7 | 20 | 0 | 0 | 116 | 40 | 2 | 247 | 102 | 120 | 0 | |||||
| FA Cup (10 Seasons) | 16.5 | 5 | 0 | 0 | 22 | 10 | 0 | 19 | 8 | 10 | 0 | 0 | 0 | ||||
| EFL Cup (9 Seasons) | 10.1 | 4 | 0 | 0 | 12 | 12 | 1 | 36 | 8 | 7 | 0 | 1 | 0 | ||||
| Championship (8 Seasons) | 235.6 | 59 | 2 | 0 | 351 | 155 | 7 | 563 | 288 | 292 | 0 | 0 | 1 | ||||
| Championship (4 Seasons) | 104.3 | 22 | 0 | 52 | |||||||||||||
| League One (2 Seasons) | 74.6 | 16 | 0 | 0 | 131 | 20 | 0 | 79 | 47 | 62 | 0 | 0 | 0 | ||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2012-2013 | 18 | Falkirk | sct SCO | 2. First Division | 3rd | 4.3 | 1 | 0 | |||||||||||
| 2013-2014 | 19 | Falkirk | sct SCO | 2. Championship | 3rd | 32.4 | 6 | 0 | |||||||||||
| 2014-2015 | 20 | Falkirk | sct SCO | 2. Championship | 5th | 32.5 | 10 | 0 | Matches | ||||||||||
| 2015-2016 | 21 | Falkirk | sct SCO | 2. Championship | 2nd | 35.0 | 5 | 0 | 52 | Matches | |||||||||
| 2016-2017 | 22 | Rotherham United | eng ENG | 2. Championship | 24th | 33.8 | 9 | 0 | 0 | 56 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | Matches |
| 2017-2018 | 23 | Rotherham United | eng ENG | 3. League One | 4th | 40.6 | 9 | 0 | 0 | 69 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | 2. Championship | 22nd | 40.1 | 10 | 1 | 0 | 59 | 51 | 0 | 77 | 67 | 56 | 0 | 0 | 0 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | 2. Championship | 5th | 18.7 | 3 | 0 | 0 | 37 | 18 | 0 | 48 | 22 | 27 | 0 | Matches | ||
| 2020-2021 | 26 | Cardiff City | eng ENG | 2. Championship | 8th | 34.8 | 6 | 1 | 0 | 61 | 25 | 3 | 79 | 53 | 32 | 0 | Matches | ||
| 2021-2022 | 27 | Cardiff City | eng ENG | 2. Championship | 18th | 23.3 | 8 | 0 | 0 | 34 | 11 | 2 | 73 | 33 | 30 | 0 | Matches | ||
| 2022-2023 | 28 | Sheffield Weds | eng ENG | 3. League One | 3rd | 34.0 | 7 | 0 | 0 | 62 | 20 | 0 | 79 | 47 | 62 | 0 | Matches | ||
| 2023-2024 | 29 | Sheffield Weds | eng ENG | 2. Championship | 20th | 26.2 | 10 | 0 | 0 | 46 | 17 | 1 | 153 | 49 | 51 | 0 | Matches | ||
| 2024-2025 | 30 | Oxford United | eng ENG | 2. Championship | 17th | 37.1 | 4 | 0 | 0 | 38 | 22 | 0 | 88 | 36 | 60 | 0 | Matches | ||
| 2025-2026 | 31 | Oxford United | eng ENG | 2. Championship | 22nd | 21.6 | 9 | 0 | 0 | 20 | 11 | 1 | 45 | 28 | 36 | 0 | Matches | ||
| 14 Seasons | 5 Clubs | 3 Leagues | 414.5 | 97 | 2 | 0 | 534 | 175 | 7 | 642 | 335 | 354 | 0 | 0 | 1 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Falkirk (4 Seasons) | 1 League | 104.3 | 22 | 0 | 52 | ||||||||||||||
| Rotherham United (3 Seasons) | 2 Leagues | 114.5 | 28 | 1 | 0 | 184 | 51 | 0 | 77 | 67 | 56 | 0 | 0 | 1 | |||||
| Cardiff City (3 Seasons) | 1 League | 76.9 | 17 | 1 | 0 | 132 | 54 | 5 | 200 | 108 | 89 | 0 | |||||||
| Oxford United (2 Seasons) | 1 League | 58.7 | 13 | 0 | 0 | 58 | 33 | 1 | 133 | 64 | 96 | 0 | |||||||
| Sheffield Weds (2 Seasons) | 2 Leagues | 60.2 | 17 | 0 | 0 | 108 | 37 | 1 | 232 | 96 | 113 | 0 | |||||||
| Championship (8 Seasons) | 235.6 | 59 | 2 | 0 | 351 | 155 | 7 | 563 | 288 | 292 | 0 | 0 | 1 | ||||||
| Championship (4 Seasons) | 104.3 | 22 | 0 | 52 | |||||||||||||||
| League One (2 Seasons) | 74.6 | 16 | 0 | 0 | 131 | 20 | 0 | 79 | 47 | 62 | 0 | 0 | 0 | ||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2016-2017 | 22 | Rotherham United | eng ENG | EFL Cup | 58th | 1.3 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 22 | Rotherham United | eng ENG | FA Cup | 33rd | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 23 | Rotherham United | eng ENG | EFL Cup | 33rd | 1.0 | 0 | 0 | 0 | 1 | 2 | 0 | 2 | 0 | 0 | 0 | 1 | 0 | Matches |
| 2017-2018 | 23 | Rotherham United | eng ENG | FA Cup | 85th | 1.0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2018-2019 | 24 | Rotherham United | eng ENG | EFL Cup | 33rd | 0.5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 24 | Rotherham United | eng ENG | FA Cup | 33rd | 1.0 | 0 | 0 | 0 | 2 | 1 | 0 | 0 | 1 | 4 | 0 | 0 | 0 | Matches |
| 2019-2020 | 25 | Cardiff City | eng ENG | EFL Cup | 33rd | 1.0 | 1 | 0 | 0 | 6 | 1 | 0 | 1 | 1 | 0 | 0 | Matches | ||
| 2019-2020 | 25 | Cardiff City | eng ENG | FA Cup | 17th | 4.3 | 2 | 0 | 0 | 3 | 1 | 0 | 5 | 0 | 0 | 0 | Matches | ||
| 2020-2021 | 26 | Cardiff City | eng ENG | FA Cup | 33rd | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 | 0 | Matches | ||
| 2021-2022 | 27 | Cardiff City | eng ENG | EFL Cup | Rd2 | 2.0 | 1 | 0 | 0 | 3 | 3 | 0 | 18 | 3 | 0 | 0 | Matches | ||
| 2021-2022 | 27 | Cardiff City | eng ENG | FA Cup | 2.1 | 1 | 0 | 0 | 6 | 3 | 0 | 4 | 4 | 0 | 0 | Matches | |||
| 2022-2023 | 28 | Sheffield Weds | eng ENG | EFL Cup | Rd3 | 1.5 | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 | Matches | ||
| 2022-2023 | 28 | Sheffield Weds | eng ENG | FA Cup | 3.7 | 1 | 0 | 0 | 6 | 2 | 0 | 5 | 2 | 3 | 0 | Matches | |||
| 2023-2024 | 29 | Sheffield Weds | eng ENG | EFL Cup | Rd2 | 1.3 | 1 | 0 | 0 | 1 | 0 | 0 | 8 | 3 | 3 | 0 | Matches | ||
| 2023-2024 | 29 | Sheffield Weds | eng ENG | FA Cup | 1.0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | Matches | |||
| 2024-2025 | 30 | Oxford United | eng ENG | EFL Cup | Rd2 | 0.4 | 0 | 0 | 0 | 0 | 2 | 0 | 4 | 0 | 1 | 0 | Matches | ||
| 2025-2026 | 31 | Oxford United | eng ENG | EFL Cup | Rd2 | 1.0 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 0 | 2 | 0 | Matches | ||
| 2025-2026 | 31 | Oxford United | eng ENG | FA Cup | 1.7 | 1 | 0 | 0 | 4 | 2 | 0 | 3 | 1 | 1 | 0 | Matches | |||
| 10 Seasons | 4 Clubs | 2 Leagues | 26.6 | 9 | 0 | 0 | 34 | 22 | 1 | 55 | 16 | 17 | 0 | 1 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Cardiff City (3 Seasons) | 2 Leagues | 10.1 | 5 | 0 | 0 | 18 | 8 | 0 | 29 | 8 | 2 | 0 | |||||||
| Rotherham United (3 Seasons) | 2 Leagues | 5.8 | 0 | 0 | 0 | 4 | 5 | 0 | 3 | 1 | 4 | 0 | 1 | 0 | |||||
| Sheffield Weds (2 Seasons) | 2 Leagues | 7.5 | 3 | 0 | 0 | 8 | 3 | 1 | 15 | 6 | 7 | 0 | |||||||
| Oxford United (2 Seasons) | 2 Leagues | 3.1 | 1 | 0 | 0 | 4 | 6 | 0 | 8 | 1 | 4 | 0 | |||||||
| FA Cup (10 Seasons) | 16.5 | 5 | 0 | 0 | 22 | 10 | 0 | 19 | 8 | 10 | 0 | 0 | 0 | ||||||
| EFL Cup (9 Seasons) | 10.1 | 4 | 0 | 0 | 12 | 12 | 1 | 36 | 8 | 7 | 0 | 1 | 0 | ||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2019 | 25 | wls Wales | Friendlies (M) | 1.0 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2020 | 26 | wls Wales | Friendlies (M) | 0.3 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2021 | 27 | wls Wales | UEFA Euro Qualifying | 0.8 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 1 | 0 | 0 | Matches | |||
| 2022 | 28 | wls Wales | Friendlies (M) | 0.7 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 4 Seasons | 1 Club | 4 Leagues | 2.8 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 1 | 0 | 0 | |||||
| Friendlies (M) (3 Seasons) | 2.0 | 0 | 0 | 0 | 0 | |||||||||||||
| UEFA Euro Qualifying (1 Season) | 0.8 | 0 | 0 | 0 | 1 | 0 | 0 | 2 | 1 | 0 | 0 | |||||||
| WCQ (1 Season) | ||||||||||||||||||
| UEFA Nations League (1 Season) | ||||||||||||||||||
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