| Playing Time | Performance | Per 90 Minutes | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2011-2012 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 39 | 33 | 2,995 | 33.3 | 8 | 1 | 9 | 3 | 5 | 5 | 6 | 0 | 0.24 | 0.03 | 0.27 | 0.09 | 0.12 | |
| 2012-2013 | 25 | Milton Keynes Dons | eng ENG | 3. League One | 44 | 43 | 3,893 | 43.3 | 3 | 3 | 6 | 1 | 2 | 2 | 5 | 0 | 0.07 | 0.07 | 0.14 | 0.02 | 0.09 | |
| 2013-2014 | 26 | Millwall | eng ENG | 2. Championship | 17 | 15 | 1,368 | 15.2 | 1 | 0 | 1 | 0 | 1 | 1 | 3 | 0 | 0.07 | 0.00 | 0.07 | 0.00 | 0.00 | |
| 2013-2014 | 26 | Milton Keynes Dons | eng ENG | 3. League One | 25 | 25 | 2,214 | 24.6 | 8 | 2 | 10 | 3 | 5 | 6 | 4 | 0 | 0.33 | 0.08 | 0.41 | 0.12 | 0.20 | |
| 2014-2015 | 27 | Millwall | eng ENG | 2. Championship | 38 | 38 | 3,336 | 37.1 | 2 | 2 | 4 | 1 | 1 | 2 | 8 | 2 | 0.05 | 0.05 | 0.11 | 0.03 | 0.08 | Matches |
| 2014-2015 | 27 | Millwall | eng ENG | League 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 |
| 2015-2016 | 28 | Millwall | eng ENG | FA Cup | 2 | 2 | 179 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 28 | Millwall | eng ENG | League Cup | 1 | 1 | 120 | 1.3 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.75 | 0.75 | 0.00 | 0.75 | Matches |
| 2015-2016 | 28 | Millwall | eng ENG | 3. League One | 33 | 32 | 2,774 | 30.8 | 2 | 4 | 6 | 2 | 0 | 0 | 9 | 1 | 0.06 | 0.13 | 0.19 | 0.06 | 0.19 | Matches |
| 2016-2017 | 29 | Millwall | eng ENG | EFL Cup | 1 | 0 | 18 | 0.2 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 5.00 | 0.00 | 5.00 | 5.00 | 5.00 | Matches |
| 2016-2017 | 29 | Millwall | eng ENG | FA Cup | 6 | 6 | 540 | 6.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2016-2017 | 29 | Millwall | eng ENG | 3. League One | 44 | 43 | 3,830 | 42.6 | 4 | 5 | 9 | 2 | 2 | 2 | 9 | 0 | 0.09 | 0.12 | 0.21 | 0.05 | 0.16 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | 2. Championship | 35 | 30 | 2,762 | 30.7 | 2 | 3 | 5 | 1 | 1 | 1 | 5 | 0 | 0.07 | 0.10 | 0.16 | 0.03 | 0.13 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | EFL Cup | 2 | 0 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | FA Cup | 3 | 2 | 187 | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | 2. Championship | 31 | 30 | 2,631 | 29.2 | 5 | 2 | 7 | 4 | 1 | 2 | 5 | 0 | 0.17 | 0.07 | 0.24 | 0.14 | 0.21 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | EFL Cup | 2 | 1 | 107 | 1.2 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0.84 | 0.00 | 0.84 | 0.00 | 0.00 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | FA Cup | 4 | 3 | 328 | 3.6 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.27 | 0.27 | 0.00 | 0.27 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | 2. Championship | 32 | 28 | 2,479 | 27.5 | 2 | 2 | 4 | 2 | 0 | 0 | 3 | 1 | 0.07 | 0.07 | 0.15 | 0.07 | 0.15 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | EFL Cup | 2 | 1 | 148 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 33 | Millwall | eng ENG | 2. Championship | 27 | 12 | 1,212 | 13.5 | 0 | 2 | 2 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.15 | 0.15 | 0.00 | 0.15 | Matches |
| 2020-2021 | 33 | Millwall | eng ENG | EFL Cup | 2 | 1 | 119 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 34 | Portsmouth | eng ENG | EFL Cup | 1 | 1 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 34 | Portsmouth | eng ENG | FA Cup | 2 | 2 | 162 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 34 | Portsmouth | eng ENG | 3. League One | 31 | 24 | 2,111 | 23.5 | 0 | 0 | 0 | 0 | 0 | 1 | 5 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 35 | Gillingham | eng ENG | EFL Cup | 3 | 3 | 203 | 2.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 35 | Gillingham | eng ENG | FA Cup | 4 | 4 | 360 | 4.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 35 | Gillingham | eng ENG | 4. League Two | 37 | 34 | 3,090 | 34.3 | 3 | 2 | 5 | 3 | 0 | 0 | 1 | 0 | 0.09 | 0.06 | 0.15 | 0.09 | 0.15 | Matches |
| 2023-2024 | 36 | Gillingham | eng ENG | EFL Cup | 1 | 0 | 18 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 36 | Gillingham | eng ENG | FA Cup | 2 | 0 | 72 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 36 | Gillingham | eng ENG | 4. League Two | 14 | 10 | 834 | 9.3 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.11 | 0.11 | 0.22 | 0.11 | 0.22 | Matches |
| 13 Seasons | 4 Clubs | 5 Leagues | 486 | 425 | 38,300 | 425.6 | 43 | 31 | 74 | 24 | 19 | 23 | 71 | 4 | 0.10 | 0.07 | 0.17 | 0.06 | 0.13 | |||
| Country | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Millwall (8 Seasons) | 4 Leagues | 283 | 246 | 22,288 | 247.6 | 20 | 22 | 42 | 13 | 7 | 9 | 45 | 4 | 0.08 | 0.09 | 0.17 | 0.05 | 0.14 | ||||
| Milton Keynes Dons (3 Seasons) | 1 League | 108 | 101 | 9,102 | 101.1 | 19 | 6 | 25 | 7 | 12 | 13 | 15 | 0 | 0.19 | 0.06 | 0.25 | 0.07 | 0.13 | ||||
| Gillingham (2 Seasons) | 3 Leagues | 61 | 51 | 4,577 | 50.9 | 4 | 3 | 7 | 4 | 0 | 0 | 5 | 0 | 0.08 | 0.06 | 0.14 | 0.08 | 0.14 | ||||
| Portsmouth (1 Season) | 3 Leagues | 34 | 27 | 2,333 | 25.9 | 0 | 0 | 0 | 0 | 0 | 1 | 6 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | ||||
| EFL Cup (10 Seasons) | 16 | 9 | 943 | 10.5 | 2 | 1 | 3 | 1 | 1 | 1 | 0 | 0 | 0.19 | 0.10 | 0.29 | 0.10 | 0.19 | |||||
| FA Cup (7 Seasons) | 23 | 19 | 1,828 | 20.3 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.05 | 0.05 | 0.00 | 0.05 | |||||
| League One (6 Seasons) | 216 | 200 | 17,817 | 198.0 | 25 | 15 | 40 | 11 | 14 | 16 | 38 | 1 | 0.13 | 0.08 | 0.20 | 0.06 | 0.13 | |||||
| Championship (6 Seasons) | 180 | 153 | 13,788 | 153.2 | 12 | 11 | 23 | 8 | 4 | 6 | 27 | 3 | 0.08 | 0.07 | 0.15 | 0.05 | 0.12 | |||||
| League Two (2 Seasons) | 51 | 44 | 3,924 | 43.6 | 4 | 3 | 7 | 4 | 0 | 0 | 4 | 0 | 0.09 | 0.07 | 0.16 | 0.09 | 0.16 | |||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2011-2012 | 24 | Milton Keynes Dons | 1 League | 39 | 33 | 2,995 | 33.3 | 8 | 1 | 9 | 3 | 5 | 5 | 6 | 0 | 0.24 | 0.03 | 0.27 | 0.09 | 0.12 | |
| 2012-2013 | 25 | Milton Keynes Dons | 1 League | 44 | 43 | 3,893 | 43.3 | 3 | 3 | 6 | 1 | 2 | 2 | 5 | 0 | 0.07 | 0.07 | 0.14 | 0.02 | 0.09 | |
| 2013-2014 | 26 | Milton Keynes Dons | 1 League | 25 | 25 | 2,214 | 24.6 | 8 | 2 | 10 | 3 | 5 | 6 | 4 | 0 | 0.33 | 0.08 | 0.41 | 0.12 | 0.20 | |
| 2013-2014 | 26 | Millwall | 1 League | 17 | 15 | 1,368 | 15.2 | 1 | 0 | 1 | 0 | 1 | 1 | 3 | 0 | 0.07 | 0.00 | 0.07 | 0.00 | 0.00 | |
| 2014-2015 | 27 | Millwall | 2 Leagues | 39 | 39 | 3,426 | 38.1 | 2 | 2 | 4 | 1 | 1 | 2 | 8 | 2 | 0.05 | 0.05 | 0.11 | 0.03 | 0.08 | |
| 2015-2016 | 28 | Millwall | 3 Leagues | 36 | 35 | 3,073 | 34.1 | 2 | 5 | 7 | 2 | 0 | 0 | 9 | 1 | 0.06 | 0.15 | 0.21 | 0.06 | 0.21 | |
| 2016-2017 | 29 | Millwall | 3 Leagues | 51 | 49 | 4,388 | 48.8 | 5 | 5 | 10 | 3 | 2 | 2 | 9 | 0 | 0.10 | 0.10 | 0.21 | 0.06 | 0.16 | |
| 2017-2018 | 30 | Millwall | 3 Leagues | 40 | 32 | 3,009 | 33.4 | 2 | 3 | 5 | 1 | 1 | 1 | 5 | 0 | 0.06 | 0.09 | 0.15 | 0.03 | 0.12 | |
| 2018-2019 | 31 | Millwall | 3 Leagues | 37 | 34 | 3,066 | 34.1 | 6 | 3 | 9 | 4 | 2 | 3 | 5 | 0 | 0.18 | 0.09 | 0.26 | 0.12 | 0.21 | |
| 2019-2020 | 32 | Millwall | 2 Leagues | 34 | 29 | 2,627 | 29.2 | 2 | 2 | 4 | 2 | 0 | 0 | 3 | 1 | 0.07 | 0.07 | 0.14 | 0.07 | 0.14 | |
| 2020-2021 | 33 | Millwall | 2 Leagues | 29 | 13 | 1,331 | 14.8 | 0 | 2 | 2 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.14 | 0.14 | 0.00 | 0.14 | |
| 2021-2022 | 34 | Portsmouth | 3 Leagues | 34 | 27 | 2,333 | 25.9 | 0 | 0 | 0 | 0 | 0 | 1 | 6 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |
| 2022-2023 | 35 | Gillingham | 3 Leagues | 44 | 41 | 3,653 | 40.6 | 3 | 2 | 5 | 3 | 0 | 0 | 2 | 0 | 0.07 | 0.05 | 0.12 | 0.07 | 0.12 | |
| 2023-2024 | 36 | Gillingham | 3 Leagues | 17 | 10 | 924 | 10.3 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.10 | 0.10 | 0.19 | 0.10 | 0.19 | |
| 13 Seasons | 4 Clubs | 5 Leagues | 486 | 425 | 38,300 | 425.6 | 43 | 31 | 74 | 24 | 19 | 23 | 71 | 4 | 0.10 | 0.07 | 0.17 | 0.06 | 0.13 | ||
| Comp | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Millwall (8 Seasons) | 4 Leagues | 283 | 246 | 22,288 | 247.6 | 20 | 22 | 42 | 13 | 7 | 9 | 45 | 4 | 0.08 | 0.09 | 0.17 | 0.05 | 0.14 | |||
| Milton Keynes Dons (3 Seasons) | 1 League | 108 | 101 | 9,102 | 101.1 | 19 | 6 | 25 | 7 | 12 | 13 | 15 | 0 | 0.19 | 0.06 | 0.25 | 0.07 | 0.13 | |||
| Gillingham (2 Seasons) | 3 Leagues | 61 | 51 | 4,577 | 50.9 | 4 | 3 | 7 | 4 | 0 | 0 | 5 | 0 | 0.08 | 0.06 | 0.14 | 0.08 | 0.14 | |||
| Portsmouth (1 Season) | 3 Leagues | 34 | 27 | 2,333 | 25.9 | 0 | 0 | 0 | 0 | 0 | 1 | 6 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||
| EFL Cup (10 Seasons) | 16 | 9 | 943 | 10.5 | 2 | 1 | 3 | 1 | 1 | 1 | 0 | 0 | 0.19 | 0.10 | 0.29 | 0.10 | 0.19 | ||||
| FA Cup (7 Seasons) | 23 | 19 | 1,828 | 20.3 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.05 | 0.05 | 0.00 | 0.05 | ||||
| League One (6 Seasons) | 216 | 200 | 17,817 | 198.0 | 25 | 15 | 40 | 11 | 14 | 16 | 38 | 1 | 0.13 | 0.08 | 0.20 | 0.06 | 0.13 | ||||
| Championship (6 Seasons) | 180 | 153 | 13,788 | 153.2 | 12 | 11 | 23 | 8 | 4 | 6 | 27 | 3 | 0.08 | 0.07 | 0.15 | 0.05 | 0.12 | ||||
| League Two (2 Seasons) | 51 | 44 | 3,924 | 43.6 | 4 | 3 | 7 | 4 | 0 | 0 | 4 | 0 | 0.09 | 0.07 | 0.16 | 0.09 | 0.16 | ||||
| Playing Time | Performance | Per 90 Minutes | |||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | |||||
| 2011-2012 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 5th | 39 | 33 | 2,995 | 33.3 | 8 | 1 | 9 | 3 | 5 | 5 | 6 | 0 | 0.24 | 0.03 | 0.27 | 0.09 | 0.12 | |
| 2012-2013 | 25 | Milton Keynes Dons | eng ENG | 3. League One | 8th | 44 | 43 | 3,893 | 43.3 | 3 | 3 | 6 | 1 | 2 | 2 | 5 | 0 | 0.07 | 0.07 | 0.14 | 0.02 | 0.09 | |
| 2013-2014 | 26 | Milton Keynes Dons | eng ENG | 3. League One | 10th | 25 | 25 | 2,214 | 24.6 | 8 | 2 | 10 | 3 | 5 | 6 | 4 | 0 | 0.33 | 0.08 | 0.41 | 0.12 | 0.20 | |
| 2013-2014 | 26 | Millwall | eng ENG | 2. Championship | 19th | 17 | 15 | 1,368 | 15.2 | 1 | 0 | 1 | 0 | 1 | 1 | 3 | 0 | 0.07 | 0.00 | 0.07 | 0.00 | 0.00 | |
| 2014-2015 | 27 | Millwall | eng ENG | 2. Championship | 22nd | 38 | 38 | 3,336 | 37.1 | 2 | 2 | 4 | 1 | 1 | 2 | 8 | 2 | 0.05 | 0.05 | 0.11 | 0.03 | 0.08 | Matches |
| 2015-2016 | 28 | Millwall | eng ENG | 3. League One | 4th | 33 | 32 | 2,774 | 30.8 | 2 | 4 | 6 | 2 | 0 | 0 | 9 | 1 | 0.06 | 0.13 | 0.19 | 0.06 | 0.19 | Matches |
| 2016-2017 | 29 | Millwall | eng ENG | 3. League One | 6th | 44 | 43 | 3,830 | 42.6 | 4 | 5 | 9 | 2 | 2 | 2 | 9 | 0 | 0.09 | 0.12 | 0.21 | 0.05 | 0.16 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | 2. Championship | 8th | 35 | 30 | 2,762 | 30.7 | 2 | 3 | 5 | 1 | 1 | 1 | 5 | 0 | 0.07 | 0.10 | 0.16 | 0.03 | 0.13 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | 2. Championship | 21st | 31 | 30 | 2,631 | 29.2 | 5 | 2 | 7 | 4 | 1 | 2 | 5 | 0 | 0.17 | 0.07 | 0.24 | 0.14 | 0.21 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | 2. Championship | 8th | 32 | 28 | 2,479 | 27.5 | 2 | 2 | 4 | 2 | 0 | 0 | 3 | 1 | 0.07 | 0.07 | 0.15 | 0.07 | 0.15 | Matches |
| 2020-2021 | 33 | Millwall | eng ENG | 2. Championship | 11th | 27 | 12 | 1,212 | 13.5 | 0 | 2 | 2 | 0 | 0 | 0 | 3 | 0 | 0.00 | 0.15 | 0.15 | 0.00 | 0.15 | Matches |
| 2021-2022 | 34 | Portsmouth | eng ENG | 3. League One | 10th | 31 | 24 | 2,111 | 23.5 | 0 | 0 | 0 | 0 | 0 | 1 | 5 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 35 | Gillingham | eng ENG | 4. League Two | 17th | 37 | 34 | 3,090 | 34.3 | 3 | 2 | 5 | 3 | 0 | 0 | 1 | 0 | 0.09 | 0.06 | 0.15 | 0.09 | 0.15 | Matches |
| 2023-2024 | 36 | Gillingham | eng ENG | 4. League Two | 12th | 14 | 10 | 834 | 9.3 | 1 | 1 | 2 | 1 | 0 | 0 | 3 | 0 | 0.11 | 0.11 | 0.22 | 0.11 | 0.22 | Matches |
| 13 Seasons | 4 Clubs | 3 Leagues | 447 | 397 | 35,529 | 394.8 | 41 | 29 | 70 | 23 | 18 | 22 | 69 | 4 | 0.10 | 0.07 | 0.18 | 0.06 | 0.13 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Millwall (8 Seasons) | 2 Leagues | 257 | 228 | 20,392 | 226.6 | 18 | 20 | 38 | 12 | 6 | 8 | 45 | 4 | 0.08 | 0.09 | 0.17 | 0.05 | 0.14 | |||||
| Milton Keynes Dons (3 Seasons) | 1 League | 108 | 101 | 9,102 | 101.1 | 19 | 6 | 25 | 7 | 12 | 13 | 15 | 0 | 0.19 | 0.06 | 0.25 | 0.07 | 0.13 | |||||
| Gillingham (2 Seasons) | 1 League | 51 | 44 | 3,924 | 43.6 | 4 | 3 | 7 | 4 | 0 | 0 | 4 | 0 | 0.09 | 0.07 | 0.16 | 0.09 | 0.16 | |||||
| Portsmouth (1 Season) | 1 League | 31 | 24 | 2,111 | 23.5 | 0 | 0 | 0 | 0 | 0 | 1 | 5 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| League One (6 Seasons) | 216 | 200 | 17,817 | 198.0 | 25 | 15 | 40 | 11 | 14 | 16 | 38 | 1 | 0.13 | 0.08 | 0.20 | 0.06 | 0.13 | ||||||
| Championship (6 Seasons) | 180 | 153 | 13,788 | 153.2 | 12 | 11 | 23 | 8 | 4 | 6 | 27 | 3 | 0.08 | 0.07 | 0.15 | 0.05 | 0.12 | ||||||
| League Two (2 Seasons) | 51 | 44 | 3,924 | 43.6 | 4 | 3 | 7 | 4 | 0 | 0 | 4 | 0 | 0.09 | 0.07 | 0.16 | 0.09 | 0.16 | ||||||
| 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 | 27 | Millwall | eng ENG | League 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 |
| 2015-2016 | 28 | Millwall | eng ENG | FA Cup | 65th | 2 | 2 | 179 | 2.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2015-2016 | 28 | Millwall | eng ENG | League Cup | 57th | 1 | 1 | 120 | 1.3 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.75 | 0.75 | 0.00 | 0.75 | Matches |
| 2016-2017 | 29 | Millwall | eng ENG | EFL Cup | 33rd | 1 | 0 | 18 | 0.2 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 5.00 | 0.00 | 5.00 | 5.00 | 5.00 | Matches |
| 2016-2017 | 29 | Millwall | eng ENG | FA Cup | 5th | 6 | 6 | 540 | 6.0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | EFL Cup | 33rd | 2 | 0 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | FA Cup | 17th | 3 | 2 | 187 | 2.1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | EFL Cup | 17th | 2 | 1 | 107 | 1.2 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0.84 | 0.00 | 0.84 | 0.00 | 0.00 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | FA Cup | 5th | 4 | 3 | 328 | 3.6 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.27 | 0.27 | 0.00 | 0.27 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | EFL Cup | 33rd | 2 | 1 | 148 | 1.6 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2020-2021 | 33 | Millwall | eng ENG | EFL Cup | 17th | 2 | 1 | 119 | 1.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 34 | Portsmouth | eng ENG | EFL Cup | Rd1 | 1 | 1 | 60 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2021-2022 | 34 | Portsmouth | eng ENG | FA Cup | 2 | 2 | 162 | 1.8 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2022-2023 | 35 | Gillingham | eng ENG | EFL Cup | Rd4 | 3 | 3 | 203 | 2.3 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2022-2023 | 35 | Gillingham | eng ENG | FA Cup | 4 | 4 | 360 | 4.0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2023-2024 | 36 | Gillingham | eng ENG | EFL Cup | Rd2 | 1 | 0 | 18 | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches |
| 2023-2024 | 36 | Gillingham | eng ENG | FA Cup | 2 | 0 | 72 | 0.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 10 Seasons | 3 Clubs | 2 Leagues | 39 | 28 | 2,771 | 30.8 | 2 | 2 | 4 | 1 | 1 | 1 | 2 | 0 | 0.06 | 0.06 | 0.13 | 0.03 | 0.10 | ||||
| Country | Comp | LgRank | MP | Starts | Min | 90s | Gls | Ast | G+A | G-PK | PK | PKatt | CrdY | CrdR | Matches | ||||||||
| Millwall (7 Seasons) | 2 Leagues | 26 | 18 | 1,896 | 21.1 | 2 | 2 | 4 | 1 | 1 | 1 | 0 | 0 | 0.09 | 0.09 | 0.19 | 0.05 | 0.14 | |||||
| Gillingham (2 Seasons) | 2 Leagues | 10 | 7 | 653 | 7.3 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| Portsmouth (1 Season) | 2 Leagues | 3 | 3 | 222 | 2.5 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| EFL Cup (10 Seasons) | 16 | 9 | 943 | 10.5 | 2 | 1 | 3 | 1 | 1 | 1 | 0 | 0 | 0.19 | 0.10 | 0.29 | 0.10 | 0.19 | ||||||
| FA Cup (7 Seasons) | 23 | 19 | 1,828 | 20.3 | 0 | 1 | 1 | 0 | 0 | 0 | 2 | 0 | 0.00 | 0.05 | 0.05 | 0.00 | 0.05 | ||||||
| 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 | |||||
| 2018 | 31 | ie Rep. of Ireland | Friendlies (M) | 2 | 1 | 83 | 0.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | Matches | |
| 2018-2019 | 31 | ie Rep. of Ireland | UEFA Nations League | 23rd | 1 | 0 | 35 | 0.4 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2.57 | 0.00 | 2.57 | 2.57 | 2.57 | Matches |
| 1 Season | 1 Club | 2 Leagues | 3 | 1 | 118 | 1.3 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0.76 | 0.00 | 0.76 | 0.76 | 0.76 | |||
| Friendlies (M) (1 Season) | 2 | 1 | 83 | 0.9 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 | 0.00 | 0.00 | |||||
| UEFA Nations League (1 Season) | 1 | 0 | 35 | 0.4 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 2.57 | 0.00 | 2.57 | 2.57 | 2.57 | |||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2011-2012 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 33.3 | 8 | 14 | 0.42 | 0.21 | 5 | 5 | |||||
| 2012-2013 | 25 | Milton Keynes Dons | eng ENG | 3. League One | 43.3 | 3 | 14 | 0.32 | 0.07 | 2 | 2 | |||||
| 2013-2014 | 26 | Millwall | eng ENG | 2. Championship | 15.2 | 1 | 8 | 0.53 | 0.00 | 1 | 1 | |||||
| 2013-2014 | 26 | Milton Keynes Dons | eng ENG | 3. League One | 24.6 | 8 | 17 | 0.69 | 0.18 | 5 | 6 | |||||
| 2014-2015 | 27 | Millwall | eng ENG | 2. Championship | 37.1 | 2 | 14 | 0.38 | 0.07 | 1 | 2 | Matches | ||||
| 2014-2015 | 27 | Millwall | eng ENG | League Cup | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 28 | Millwall | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 28 | Millwall | eng ENG | League Cup | 1.3 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 28 | Millwall | eng ENG | 3. League One | 30.8 | 2 | 16 | 0.52 | 0.13 | 0 | 0 | Matches | ||||
| 2016-2017 | 29 | Millwall | eng ENG | EFL Cup | 0.2 | 1 | 1 | 1 | 100.0 | 5.00 | 5.00 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2016-2017 | 29 | Millwall | eng ENG | FA Cup | 6.0 | 0 | 0 | 0 | Matches | |||||||
| 2016-2017 | 29 | Millwall | eng ENG | 3. League One | 42.6 | 4 | 0 | 12 | 0.00 | 0.28 | 0.17 | 2 | 2 | Matches | ||
| 2017-2018 | 30 | Millwall | eng ENG | 2. Championship | 30.7 | 2 | 32 | 13 | 40.6 | 1.04 | 0.42 | 0.03 | 0.08 | 1 | 1 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | EFL Cup | 0.7 | 0 | 1 | 1 | 100.0 | 1.50 | 1.50 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | FA Cup | 2.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 31 | Millwall | eng ENG | 2. Championship | 29.2 | 5 | 32 | 10 | 31.3 | 1.09 | 0.34 | 0.13 | 0.40 | 1 | 2 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | EFL Cup | 1.2 | 1 | 2 | 2 | 100.0 | 1.68 | 1.68 | 0.00 | 0.00 | 1 | 1 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | FA Cup | 3.6 | 0 | 3 | 2 | 66.7 | 0.82 | 0.55 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | 2. Championship | 27.5 | 2 | 16 | 6 | 37.5 | 0.58 | 0.22 | 0.13 | 0.33 | 0 | 0 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | EFL Cup | 1.6 | 0 | 2 | 1 | 50.0 | 1.22 | 0.61 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 33 | Millwall | eng ENG | 2. Championship | 13.5 | 0 | 13 | 3 | 23.1 | 0.97 | 0.22 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 33 | Millwall | eng ENG | EFL Cup | 1.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 34 | Portsmouth | eng ENG | EFL Cup | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 34 | Portsmouth | eng ENG | FA Cup | 1.8 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 34 | Portsmouth | eng ENG | 3. League One | 23.5 | 0 | 11 | 5 | 45.5 | 0.47 | 0.21 | 0.00 | 0.00 | 0 | 1 | Matches |
| 2022-2023 | 35 | Gillingham | eng ENG | EFL Cup | 2.3 | 0 | 1 | 0 | 0.0 | 0.44 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 35 | Gillingham | eng ENG | FA Cup | 4.0 | 0 | 2 | 1 | 50.0 | 0.50 | 0.25 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2022-2023 | 35 | Gillingham | eng ENG | 4. League Two | 34.3 | 3 | 23 | 7 | 30.4 | 0.67 | 0.20 | 0.13 | 0.43 | 0 | 0 | Matches |
| 2023-2024 | 36 | Gillingham | eng ENG | EFL Cup | 0.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2023-2024 | 36 | Gillingham | eng ENG | FA Cup | 0.8 | 0 | 1 | 0 | 0.0 | 1.25 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 36 | Gillingham | eng ENG | 4. League Two | 9.3 | 1 | 11 | 1 | 9.1 | 1.19 | 0.11 | 0.09 | 1.00 | 0 | 0 | Matches |
| 13 Seasons | 4 Clubs | 5 Leagues | 425.6 | 43 | 151 | 148 | 43.0 | 0.65 | 0.36 | 0.09 | 0.16 | 19 | 23 | |||
| Country | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Millwall (8 Seasons) | 4 Leagues | 247.6 | 20 | 102 | 89 | 50.0 | 0.66 | 0.38 | 0.10 | 0.15 | 7 | 9 | ||||
| Milton Keynes Dons (3 Seasons) | 1 League | 101.1 | 19 | 45 | 0.44 | 0.16 | 12 | 13 | ||||||||
| Gillingham (2 Seasons) | 3 Leagues | 50.9 | 4 | 38 | 9 | 23.7 | 0.75 | 0.18 | 0.11 | 0.44 | 0 | 0 | ||||
| Portsmouth (1 Season) | 3 Leagues | 25.9 | 0 | 11 | 5 | 45.5 | 0.42 | 0.19 | 0.00 | 0.00 | 0 | 1 | ||||
| EFL Cup (10 Seasons) | 10.5 | 2 | 7 | 5 | 71.4 | 0.86 | 0.61 | 0.14 | 0.20 | 1 | 1 | |||||
| FA Cup (7 Seasons) | 20.3 | 0 | 6 | 3 | 50.0 | 0.49 | 0.24 | 0.00 | 0.00 | 0 | 0 | |||||
| League One (6 Seasons) | 198.0 | 25 | 11 | 78 | 154.5 | 0.17 | 0.39 | 0.18 | 0.14 | 14 | 16 | |||||
| Championship (6 Seasons) | 153.2 | 12 | 93 | 54 | 34.4 | 0.92 | 0.35 | 0.08 | 0.15 | 4 | 6 | |||||
| League Two (2 Seasons) | 43.6 | 4 | 34 | 8 | 23.5 | 0.78 | 0.18 | 0.12 | 0.50 | 0 | 0 | |||||
| Standard | |||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2011-2012 | 24 | Milton Keynes Dons | 1 League | 33.3 | 8 | 14 | 0.42 | 0.21 | 5 | 5 | |||||
| 2012-2013 | 25 | Milton Keynes Dons | 1 League | 43.3 | 3 | 14 | 0.32 | 0.07 | 2 | 2 | |||||
| 2013-2014 | 26 | Milton Keynes Dons | 1 League | 24.6 | 8 | 17 | 0.69 | 0.18 | 5 | 6 | |||||
| 2013-2014 | 26 | Millwall | 1 League | 15.2 | 1 | 8 | 0.53 | 0.00 | 1 | 1 | |||||
| 2014-2015 | 27 | Millwall | 2 Leagues | 38.1 | 2 | 14 | 0.38 | 0.07 | 1 | 2 | |||||
| 2015-2016 | 28 | Millwall | 3 Leagues | 34.1 | 2 | 16 | 0.52 | 0.13 | 0 | 0 | |||||
| 2016-2017 | 29 | Millwall | 3 Leagues | 48.8 | 5 | 1 | 13 | 1300.0 | 0.02 | 0.30 | 3.00 | 0.23 | 2 | 2 | |
| 2017-2018 | 30 | Millwall | 3 Leagues | 33.4 | 2 | 33 | 14 | 42.4 | 0.99 | 0.42 | 0.03 | 0.07 | 1 | 1 | |
| 2018-2019 | 31 | Millwall | 3 Leagues | 34.1 | 6 | 37 | 14 | 37.8 | 1.09 | 0.41 | 0.11 | 0.29 | 2 | 3 | |
| 2019-2020 | 32 | Millwall | 2 Leagues | 29.2 | 2 | 18 | 7 | 38.9 | 0.62 | 0.24 | 0.11 | 0.29 | 0 | 0 | |
| 2020-2021 | 33 | Millwall | 2 Leagues | 14.8 | 0 | 13 | 3 | 23.1 | 0.88 | 0.20 | 0.00 | 0.00 | 0 | 0 | |
| 2021-2022 | 34 | Portsmouth | 3 Leagues | 25.9 | 0 | 11 | 5 | 45.5 | 0.42 | 0.19 | 0.00 | 0.00 | 0 | 1 | |
| 2022-2023 | 35 | Gillingham | 3 Leagues | 40.6 | 3 | 26 | 8 | 30.8 | 0.64 | 0.20 | 0.12 | 0.38 | 0 | 0 | |
| 2023-2024 | 36 | Gillingham | 3 Leagues | 10.3 | 1 | 12 | 1 | 8.3 | 1.17 | 0.10 | 0.08 | 1.00 | 0 | 0 | |
| 13 Seasons | 4 Clubs | 5 Leagues | 425.6 | 43 | 151 | 148 | 43.0 | 0.65 | 0.36 | 0.09 | 0.16 | 19 | 23 | ||
| Comp | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Millwall (8 Seasons) | 4 Leagues | 247.6 | 20 | 102 | 89 | 50.0 | 0.66 | 0.38 | 0.10 | 0.15 | 7 | 9 | |||
| Milton Keynes Dons (3 Seasons) | 1 League | 101.1 | 19 | 45 | 0.44 | 0.16 | 12 | 13 | |||||||
| Gillingham (2 Seasons) | 3 Leagues | 50.9 | 4 | 38 | 9 | 23.7 | 0.75 | 0.18 | 0.11 | 0.44 | 0 | 0 | |||
| Portsmouth (1 Season) | 3 Leagues | 25.9 | 0 | 11 | 5 | 45.5 | 0.42 | 0.19 | 0.00 | 0.00 | 0 | 1 | |||
| EFL Cup (10 Seasons) | 10.5 | 2 | 7 | 5 | 71.4 | 0.86 | 0.61 | 0.14 | 0.20 | 1 | 1 | ||||
| FA Cup (7 Seasons) | 20.3 | 0 | 6 | 3 | 50.0 | 0.49 | 0.24 | 0.00 | 0.00 | 0 | 0 | ||||
| League One (6 Seasons) | 198.0 | 25 | 11 | 78 | 154.5 | 0.17 | 0.39 | 0.18 | 0.14 | 14 | 16 | ||||
| Championship (6 Seasons) | 153.2 | 12 | 93 | 54 | 34.4 | 0.92 | 0.35 | 0.08 | 0.15 | 4 | 6 | ||||
| League Two (2 Seasons) | 43.6 | 4 | 34 | 8 | 23.5 | 0.78 | 0.18 | 0.12 | 0.50 | 0 | 0 | ||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2011-2012 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 5th | 33.3 | 8 | 14 | 0.42 | 0.21 | 5 | 5 | |||||
| 2012-2013 | 25 | Milton Keynes Dons | eng ENG | 3. League One | 8th | 43.3 | 3 | 14 | 0.32 | 0.07 | 2 | 2 | |||||
| 2013-2014 | 26 | Milton Keynes Dons | eng ENG | 3. League One | 10th | 24.6 | 8 | 17 | 0.69 | 0.18 | 5 | 6 | |||||
| 2013-2014 | 26 | Millwall | eng ENG | 2. Championship | 19th | 15.2 | 1 | 8 | 0.53 | 0.00 | 1 | 1 | |||||
| 2014-2015 | 27 | Millwall | eng ENG | 2. Championship | 22nd | 37.1 | 2 | 14 | 0.38 | 0.07 | 1 | 2 | Matches | ||||
| 2015-2016 | 28 | Millwall | eng ENG | 3. League One | 4th | 30.8 | 2 | 16 | 0.52 | 0.13 | 0 | 0 | Matches | ||||
| 2016-2017 | 29 | Millwall | eng ENG | 3. League One | 6th | 42.6 | 4 | 0 | 12 | 0.00 | 0.28 | 0.17 | 2 | 2 | Matches | ||
| 2017-2018 | 30 | Millwall | eng ENG | 2. Championship | 8th | 30.7 | 2 | 32 | 13 | 40.6 | 1.04 | 0.42 | 0.03 | 0.08 | 1 | 1 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | 2. Championship | 21st | 29.2 | 5 | 32 | 10 | 31.3 | 1.09 | 0.34 | 0.13 | 0.40 | 1 | 2 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | 2. Championship | 8th | 27.5 | 2 | 16 | 6 | 37.5 | 0.58 | 0.22 | 0.13 | 0.33 | 0 | 0 | Matches |
| 2020-2021 | 33 | Millwall | eng ENG | 2. Championship | 11th | 13.5 | 0 | 13 | 3 | 23.1 | 0.97 | 0.22 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2021-2022 | 34 | Portsmouth | eng ENG | 3. League One | 10th | 23.5 | 0 | 11 | 5 | 45.5 | 0.47 | 0.21 | 0.00 | 0.00 | 0 | 1 | Matches |
| 2022-2023 | 35 | Gillingham | eng ENG | 4. League Two | 17th | 34.3 | 3 | 23 | 7 | 30.4 | 0.67 | 0.20 | 0.13 | 0.43 | 0 | 0 | Matches |
| 2023-2024 | 36 | Gillingham | eng ENG | 4. League Two | 12th | 9.3 | 1 | 11 | 1 | 9.1 | 1.19 | 0.11 | 0.09 | 1.00 | 0 | 0 | Matches |
| 13 Seasons | 4 Clubs | 3 Leagues | 394.8 | 41 | 138 | 140 | 41.3 | 0.66 | 0.35 | 0.09 | 0.16 | 18 | 22 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Millwall (8 Seasons) | 2 Leagues | 226.6 | 18 | 93 | 82 | 47.3 | 0.65 | 0.36 | 0.10 | 0.15 | 6 | 8 | |||||
| Milton Keynes Dons (3 Seasons) | 1 League | 101.1 | 19 | 45 | 0.44 | 0.16 | 12 | 13 | |||||||||
| Gillingham (2 Seasons) | 1 League | 43.6 | 4 | 34 | 8 | 23.5 | 0.78 | 0.18 | 0.12 | 0.50 | 0 | 0 | |||||
| Portsmouth (1 Season) | 1 League | 23.5 | 0 | 11 | 5 | 45.5 | 0.47 | 0.21 | 0.00 | 0.00 | 0 | 1 | |||||
| League One (6 Seasons) | 198.0 | 25 | 11 | 78 | 154.5 | 0.17 | 0.39 | 0.18 | 0.14 | 14 | 16 | ||||||
| Championship (6 Seasons) | 153.2 | 12 | 93 | 54 | 34.4 | 0.92 | 0.35 | 0.08 | 0.15 | 4 | 6 | ||||||
| League Two (2 Seasons) | 43.6 | 4 | 34 | 8 | 23.5 | 0.78 | 0.18 | 0.12 | 0.50 | 0 | 0 | ||||||
| Standard | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2014-2015 | 27 | Millwall | eng ENG | League Cup | 33rd | 1.0 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 28 | Millwall | eng ENG | FA Cup | 65th | 2.0 | 0 | 0 | 0 | Matches | |||||||
| 2015-2016 | 28 | Millwall | eng ENG | League Cup | 57th | 1.3 | 0 | 0 | 0 | Matches | |||||||
| 2016-2017 | 29 | Millwall | eng ENG | EFL Cup | 33rd | 0.2 | 1 | 1 | 1 | 100.0 | 5.00 | 5.00 | 1.00 | 1.00 | 0 | 0 | Matches |
| 2016-2017 | 29 | Millwall | eng ENG | FA Cup | 5th | 6.0 | 0 | 0 | 0 | Matches | |||||||
| 2017-2018 | 30 | Millwall | eng ENG | EFL Cup | 33rd | 0.7 | 0 | 1 | 1 | 100.0 | 1.50 | 1.50 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | FA Cup | 17th | 2.1 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2018-2019 | 31 | Millwall | eng ENG | EFL Cup | 17th | 1.2 | 1 | 2 | 2 | 100.0 | 1.68 | 1.68 | 0.00 | 0.00 | 1 | 1 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | FA Cup | 5th | 3.6 | 0 | 3 | 2 | 66.7 | 0.82 | 0.55 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | EFL Cup | 33rd | 1.6 | 0 | 2 | 1 | 50.0 | 1.22 | 0.61 | 0.00 | 0.00 | 0 | 0 | Matches |
| 2020-2021 | 33 | Millwall | eng ENG | EFL Cup | 17th | 1.3 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 34 | Portsmouth | eng ENG | EFL Cup | Rd1 | 0.7 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2021-2022 | 34 | Portsmouth | eng ENG | FA Cup | 1.8 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | ||||
| 2022-2023 | 35 | Gillingham | eng ENG | EFL Cup | Rd4 | 2.3 | 0 | 1 | 0 | 0.0 | 0.44 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2022-2023 | 35 | Gillingham | eng ENG | FA Cup | 4.0 | 0 | 2 | 1 | 50.0 | 0.50 | 0.25 | 0.00 | 0.00 | 0 | 0 | Matches | |
| 2023-2024 | 36 | Gillingham | eng ENG | EFL Cup | Rd2 | 0.2 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | Matches | |||
| 2023-2024 | 36 | Gillingham | eng ENG | FA Cup | 0.8 | 0 | 1 | 0 | 0.0 | 1.25 | 0.00 | 0.00 | 0 | 0 | Matches | ||
| 10 Seasons | 3 Clubs | 2 Leagues | 30.8 | 2 | 13 | 8 | 61.5 | 0.64 | 0.39 | 0.08 | 0.13 | 1 | 1 | ||||
| Country | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | ||||||||
| Millwall (7 Seasons) | 2 Leagues | 21.1 | 2 | 9 | 7 | 77.8 | 0.84 | 0.65 | 0.11 | 0.14 | 1 | 1 | |||||
| Gillingham (2 Seasons) | 2 Leagues | 7.3 | 0 | 4 | 1 | 25.0 | 0.55 | 0.14 | 0.00 | 0.00 | 0 | 0 | |||||
| Portsmouth (1 Season) | 2 Leagues | 2.5 | 0 | 0 | 0 | 0.00 | 0.00 | 0 | 0 | ||||||||
| EFL Cup (10 Seasons) | 10.5 | 2 | 7 | 5 | 71.4 | 0.86 | 0.61 | 0.14 | 0.20 | 1 | 1 | ||||||
| FA Cup (7 Seasons) | 20.3 | 0 | 6 | 3 | 50.0 | 0.49 | 0.24 | 0.00 | 0.00 | 0 | 0 | ||||||
| Standard | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | Gls | Sh | SoT | PK | PKatt | Matches | |||||
| 2018 | 31 | ie Rep. of Ireland | Friendlies (M) | 0.9 | 0 | 0 | 0 | Matches | ||||||||
| 2018-2019 | 31 | ie Rep. of Ireland | UEFA Nations League | 23rd | 0.4 | 1 | 0 | 0 | Matches | |||||||
| 1 Season | 1 Club | 2 Leagues | 1.3 | 1 | 0 | 0 | ||||||||||
| Friendlies (M) (1 Season) | 0.9 | 0 | 0 | 0 | ||||||||||||
| UEFA Nations League (1 Season) | 0.4 | 1 | 0 | 0 | ||||||||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2011-2012 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 39 | 2,995 | 77 | 72.3 | 33.3 | 33 | 6 | |||||||||||
| 2012-2013 | 25 | Milton Keynes Dons | eng ENG | 3. League One | 44 | 3,893 | 88 | 94.0 | 43.3 | 43 | 1 | |||||||||||
| 2013-2014 | 26 | Millwall | eng ENG | 2. Championship | 17 | 1,368 | 80 | 33.0 | 15.2 | 15 | 2 | |||||||||||
| 2013-2014 | 26 | Milton Keynes Dons | eng ENG | 3. League One | 25 | 2,214 | 89 | 53.5 | 24.6 | 25 | 0 | |||||||||||
| 2014-2015 | 27 | Millwall | eng ENG | 2. Championship | 38 | 3,336 | 88 | 80.6 | 37.1 | 38 | 35 | 0 | 0 | 1.00 | 32 | 59 | -27 | -0.73 | +0.06 | Matches | ||
| 2014-2015 | 27 | Millwall | eng ENG | League Cup | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | -3.00 | Matches | |
| 2015-2016 | 28 | Millwall | eng ENG | FA Cup | 2 | 179 | 90 | 99.4 | 2.0 | 2 | 90 | 1 | 0 | 0 | 1.50 | 4 | 3 | +1 | +0.50 | +0.50 | Matches | |
| 2015-2016 | 28 | Millwall | eng ENG | League Cup | 1 | 120 | 120 | 100.0 | 1.3 | 1 | 120 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -0.75 | Matches | ||
| 2015-2016 | 28 | Millwall | eng ENG | 3. League One | 33 | 2,774 | 84 | 67.0 | 30.8 | 32 | 29 | 1 | 6 | 1.56 | 49 | 35 | +14 | +0.45 | -0.20 | Matches | ||
| 2016-2017 | 29 | Millwall | eng ENG | EFL Cup | 1 | 18 | 18 | 10.0 | 0.2 | 0 | 0 | 1 | 17 | 1 | 0.00 | 1 | 1 | 0 | 0.00 | -1.67 | Matches | |
| 2016-2017 | 29 | Millwall | eng ENG | FA Cup | 6 | 540 | 90 | 100.0 | 6.0 | 6 | 90 | 6 | 0 | 0 | 2.50 | 11 | 8 | +3 | +0.50 | Matches | ||
| 2016-2017 | 29 | Millwall | eng ENG | 3. League One | 44 | 3,830 | 87 | 92.5 | 42.6 | 43 | 41 | 1 | 0 | 1.64 | 63 | 50 | +13 | +0.31 | +1.47 | Matches | ||
| 2017-2018 | 30 | Millwall | eng ENG | 2. Championship | 35 | 2,762 | 79 | 66.7 | 30.7 | 30 | 29 | 5 | 1 | 1.77 | 42 | 28 | +14 | +0.46 | +0.65 | Matches | ||
| 2017-2018 | 30 | Millwall | eng ENG | EFL Cup | 2 | 60 | 30 | 28.6 | 0.7 | 0 | 0 | 2 | 29 | 0 | 1.50 | 0 | 2 | -2 | -3.00 | -4.20 | Matches | |
| 2017-2018 | 30 | Millwall | eng ENG | FA Cup | 3 | 187 | 62 | 69.3 | 2.1 | 2 | 90 | 2 | 1 | 7 | 0 | 1.33 | 5 | 2 | +3 | +1.44 | +2.53 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | 2. Championship | 31 | 2,631 | 85 | 63.6 | 29.2 | 30 | 88 | 24 | 1 | 3 | 8 | 0.81 | 28 | 44 | -16 | -0.55 | -0.55 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | EFL Cup | 2 | 107 | 54 | 35.7 | 1.2 | 1 | 91 | 1 | 1 | 16 | 1 | 1.50 | 3 | 2 | +1 | +0.84 | +1.77 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | FA Cup | 4 | 328 | 82 | 84.1 | 3.6 | 3 | 100 | 3 | 1 | 27 | 0 | 2.25 | 8 | 4 | +4 | +1.10 | +2.55 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | 2. Championship | 32 | 2,479 | 77 | 59.9 | 27.5 | 28 | 86 | 22 | 4 | 20 | 7 | 1.59 | 35 | 28 | +7 | +0.25 | +0.31 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | EFL Cup | 2 | 148 | 74 | 70.5 | 1.6 | 1 | 120 | 1 | 1 | 28 | 0 | 1.50 | 2 | 2 | 0 | 0.00 | -1.45 | Matches |
| 2020-2021 | 33 | Millwall | eng ENG | 2. Championship | 27 | 1,212 | 45 | 29.3 | 13.5 | 12 | 79 | 3 | 15 | 17 | 16 | 1.22 | 15 | 17 | -2 | -0.15 | -0.06 | Matches |
| 2020-2021 | 33 | Millwall | eng ENG | EFL Cup | 2 | 119 | 60 | 44.1 | 1.3 | 1 | 90 | 1 | 1 | 29 | 0 | 1.50 | 0 | 2 | -2 | -1.51 | -3.90 | Matches |
| 2021-2022 | 34 | Portsmouth | eng ENG | EFL Cup | 1 | 60 | 60 | 66.7 | 0.7 | 1 | 60 | 0 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.50 | -1.50 | Matches | |
| 2021-2022 | 34 | Portsmouth | eng ENG | FA Cup | 2 | 162 | 81 | 90.0 | 1.8 | 2 | 81 | 1 | 0 | 0 | 1.50 | 2 | 2 | 0 | 0.00 | 0.00 | Matches | |
| 2021-2022 | 34 | Portsmouth | eng ENG | 3. League One | 31 | 2,111 | 68 | 51.0 | 23.5 | 24 | 82 | 15 | 7 | 20 | 3 | 1.39 | 28 | 25 | +3 | +0.13 | -0.49 | Matches |
| 2022-2023 | 35 | Gillingham | eng ENG | EFL Cup | 3 | 203 | 68 | 52.1 | 2.3 | 3 | 68 | 0 | 0 | 0 | 1.33 | 0 | 1 | -1 | -0.44 | -0.92 | Matches | |
| 2022-2023 | 35 | Gillingham | eng ENG | FA Cup | 4 | 360 | 90 | 80.0 | 4.0 | 4 | 90 | 4 | 0 | 0 | 1.75 | 5 | 4 | +1 | +0.25 | +0.25 | Matches | |
| 2022-2023 | 35 | Gillingham | eng ENG | 4. League Two | 37 | 3,090 | 84 | 74.6 | 34.3 | 34 | 88 | 30 | 3 | 31 | 0 | 1.32 | 29 | 38 | -9 | -0.26 | +0.08 | Matches |
| 2023-2024 | 36 | Gillingham | eng ENG | EFL Cup | 1 | 18 | 18 | 10.0 | 0.2 | 0 | 0 | 1 | 18 | 0 | 0.00 | 1 | 0 | +1 | +5.00 | +5.00 | Matches | |
| 2023-2024 | 36 | Gillingham | eng ENG | FA Cup | 2 | 72 | 36 | 26.7 | 0.8 | 0 | 0 | 2 | 36 | 1 | 3.00 | 1 | 0 | +1 | +1.25 | +1.70 | Matches | |
| 2023-2024 | 36 | Gillingham | eng ENG | 4. League Two | 14 | 834 | 60 | 20.1 | 9.3 | 10 | 77 | 5 | 4 | 16 | 9 | 1.57 | 8 | 8 | 0 | 0.00 | +0.30 | Matches |
| 13 Seasons | 4 Clubs | 5 Leagues | 486 | 38,300 | 79 | 61.4 | 425.6 | 425 | 86 | 255 | 61 | 20 | 53 | 1.41 | 374 | 371 | +3 | +0.01 | +0.02 | |||
| Country | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Millwall (8 Seasons) | 4 Leagues | 283 | 22,288 | 79 | 62.0 | 247.6 | 246 | 87 | 200 | 37 | 19 | 40 | 1.41 | 299 | 291 | +8 | +0.03 | +0.04 | ||||
| Milton Keynes Dons (3 Seasons) | 1 League | 108 | 9,102 | 84 | 73.3 | 101.1 | 101 | 7 | ||||||||||||||
| Gillingham (2 Seasons) | 3 Leagues | 61 | 4,577 | 75 | 47.8 | 50.9 | 51 | 85 | 39 | 10 | 25 | 10 | 1.44 | 44 | 51 | -7 | -0.14 | +0.13 | ||||
| Portsmouth (1 Season) | 3 Leagues | 34 | 2,333 | 69 | 52.9 | 25.9 | 27 | 81 | 16 | 7 | 20 | 3 | 1.36 | 31 | 29 | +2 | +0.08 | -0.53 | ||||
| EFL Cup (10 Seasons) | 16 | 943 | 59 | 44.3 | 10.5 | 9 | 86 | 5 | 7 | 24 | 2 | 1.00 | 9 | 16 | -7 | -0.67 | -1.43 | |||||
| FA Cup (7 Seasons) | 23 | 1,828 | 79 | 80.2 | 20.3 | 19 | 91 | 17 | 4 | 27 | 1 | 2.04 | 36 | 23 | +13 | +0.64 | +1.24 | |||||
| League One (6 Seasons) | 216 | 17,817 | 82 | 71.7 | 198.0 | 200 | 82 | 85 | 16 | 20 | 9 | 1.54 | 140 | 110 | +30 | +0.31 | -0.18 | |||||
| Championship (6 Seasons) | 180 | 13,788 | 77 | 55.5 | 153.2 | 153 | 85 | 113 | 27 | 17 | 32 | 1.28 | 152 | 176 | -24 | -0.17 | -0.02 | |||||
| League Two (2 Seasons) | 51 | 3,924 | 77 | 47.4 | 43.6 | 44 | 86 | 35 | 7 | 22 | 9 | 1.39 | 37 | 46 | -9 | -0.21 | +0.10 | |||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2011-2012 | 24 | Milton Keynes Dons | 1 League | 39 | 2,995 | 77 | 72.3 | 33.3 | 33 | 6 | |||||||||||
| 2012-2013 | 25 | Milton Keynes Dons | 1 League | 44 | 3,893 | 88 | 94.0 | 43.3 | 43 | 1 | |||||||||||
| 2013-2014 | 26 | Milton Keynes Dons | 1 League | 25 | 2,214 | 89 | 53.5 | 24.6 | 25 | 0 | |||||||||||
| 2013-2014 | 26 | Millwall | 1 League | 17 | 1,368 | 80 | 33.0 | 15.2 | 15 | 2 | |||||||||||
| 2014-2015 | 27 | Millwall | 2 Leagues | 39 | 3,426 | 88 | 79.3 | 38.1 | 39 | 90 | 36 | 0 | 0 | 0.97 | 32 | 61 | -29 | -0.76 | -0.16 | ||
| 2015-2016 | 28 | Millwall | 3 Leagues | 36 | 3,073 | 85 | 69.2 | 34.1 | 35 | 100 | 31 | 1 | 6 | 1.51 | 54 | 40 | +14 | +0.41 | -0.25 | ||
| 2016-2017 | 29 | Millwall | 3 Leagues | 51 | 4,388 | 86 | 90.3 | 48.8 | 49 | 90 | 47 | 2 | 17 | 1 | 1.71 | 75 | 59 | +16 | +0.33 | +0.52 | |
| 2017-2018 | 30 | Millwall | 3 Leagues | 40 | 3,009 | 75 | 65.1 | 33.4 | 32 | 91 | 31 | 8 | 22 | 1 | 1.72 | 47 | 32 | +15 | +0.45 | +0.56 | |
| 2018-2019 | 31 | Millwall | 3 Leagues | 37 | 3,066 | 83 | 63.5 | 34.1 | 34 | 89 | 28 | 3 | 15 | 9 | 1.00 | 39 | 50 | -11 | -0.32 | -0.17 | |
| 2019-2020 | 32 | Millwall | 2 Leagues | 34 | 2,627 | 77 | 60.4 | 29.2 | 29 | 87 | 23 | 5 | 22 | 7 | 1.58 | 37 | 30 | +7 | +0.24 | +0.24 | |
| 2020-2021 | 33 | Millwall | 2 Leagues | 29 | 1,331 | 46 | 30.2 | 14.8 | 13 | 80 | 4 | 16 | 18 | 16 | 1.24 | 15 | 19 | -4 | -0.27 | -0.30 | |
| 2021-2022 | 34 | Portsmouth | 3 Leagues | 34 | 2,333 | 69 | 52.9 | 25.9 | 27 | 81 | 16 | 7 | 20 | 3 | 1.36 | 31 | 29 | +2 | +0.08 | -0.53 | |
| 2022-2023 | 35 | Gillingham | 3 Leagues | 44 | 3,653 | 83 | 73.4 | 40.6 | 41 | 87 | 34 | 3 | 31 | 0 | 1.36 | 34 | 43 | -9 | -0.22 | -0.02 | |
| 2023-2024 | 36 | Gillingham | 3 Leagues | 17 | 924 | 54 | 20.1 | 10.3 | 10 | 77 | 5 | 7 | 22 | 10 | 1.65 | 10 | 8 | +2 | +0.19 | +0.49 | |
| 13 Seasons | 4 Clubs | 5 Leagues | 486 | 38,300 | 79 | 61.4 | 425.6 | 425 | 86 | 255 | 61 | 20 | 53 | 1.41 | 374 | 371 | +3 | +0.01 | +0.02 | ||
| Comp | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Millwall (8 Seasons) | 4 Leagues | 283 | 22,288 | 79 | 62.0 | 247.6 | 246 | 87 | 200 | 37 | 19 | 40 | 1.41 | 299 | 291 | +8 | +0.03 | +0.04 | |||
| Milton Keynes Dons (3 Seasons) | 1 League | 108 | 9,102 | 84 | 73.3 | 101.1 | 101 | 7 | |||||||||||||
| Gillingham (2 Seasons) | 3 Leagues | 61 | 4,577 | 75 | 47.8 | 50.9 | 51 | 85 | 39 | 10 | 25 | 10 | 1.44 | 44 | 51 | -7 | -0.14 | +0.13 | |||
| Portsmouth (1 Season) | 3 Leagues | 34 | 2,333 | 69 | 52.9 | 25.9 | 27 | 81 | 16 | 7 | 20 | 3 | 1.36 | 31 | 29 | +2 | +0.08 | -0.53 | |||
| EFL Cup (10 Seasons) | 16 | 943 | 59 | 44.3 | 10.5 | 9 | 86 | 5 | 7 | 24 | 2 | 1.00 | 9 | 16 | -7 | -0.67 | -1.43 | ||||
| FA Cup (7 Seasons) | 23 | 1,828 | 79 | 80.2 | 20.3 | 19 | 91 | 17 | 4 | 27 | 1 | 2.04 | 36 | 23 | +13 | +0.64 | +1.24 | ||||
| League One (6 Seasons) | 216 | 17,817 | 82 | 71.7 | 198.0 | 200 | 82 | 85 | 16 | 20 | 9 | 1.54 | 140 | 110 | +30 | +0.31 | -0.18 | ||||
| Championship (6 Seasons) | 180 | 13,788 | 77 | 55.5 | 153.2 | 153 | 85 | 113 | 27 | 17 | 32 | 1.28 | 152 | 176 | -24 | -0.17 | -0.02 | ||||
| League Two (2 Seasons) | 51 | 3,924 | 77 | 47.4 | 43.6 | 44 | 86 | 35 | 7 | 22 | 9 | 1.39 | 37 | 46 | -9 | -0.21 | +0.10 | ||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2011-2012 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 5th | 39 | 2,995 | 77 | 72.3 | 33.3 | 33 | 6 | |||||||||||
| 2012-2013 | 25 | Milton Keynes Dons | eng ENG | 3. League One | 8th | 44 | 3,893 | 88 | 94.0 | 43.3 | 43 | 1 | |||||||||||
| 2013-2014 | 26 | Milton Keynes Dons | eng ENG | 3. League One | 10th | 25 | 2,214 | 89 | 53.5 | 24.6 | 25 | 0 | |||||||||||
| 2013-2014 | 26 | Millwall | eng ENG | 2. Championship | 19th | 17 | 1,368 | 80 | 33.0 | 15.2 | 15 | 2 | |||||||||||
| 2014-2015 | 27 | Millwall | eng ENG | 2. Championship | 22nd | 38 | 3,336 | 88 | 80.6 | 37.1 | 38 | 35 | 0 | 0 | 1.00 | 32 | 59 | -27 | -0.73 | +0.06 | Matches | ||
| 2015-2016 | 28 | Millwall | eng ENG | 3. League One | 4th | 33 | 2,774 | 84 | 67.0 | 30.8 | 32 | 29 | 1 | 6 | 1.56 | 49 | 35 | +14 | +0.45 | -0.20 | Matches | ||
| 2016-2017 | 29 | Millwall | eng ENG | 3. League One | 6th | 44 | 3,830 | 87 | 92.5 | 42.6 | 43 | 41 | 1 | 0 | 1.64 | 63 | 50 | +13 | +0.31 | +1.47 | Matches | ||
| 2017-2018 | 30 | Millwall | eng ENG | 2. Championship | 8th | 35 | 2,762 | 79 | 66.7 | 30.7 | 30 | 29 | 5 | 1 | 1.77 | 42 | 28 | +14 | +0.46 | +0.65 | Matches | ||
| 2018-2019 | 31 | Millwall | eng ENG | 2. Championship | 21st | 31 | 2,631 | 85 | 63.6 | 29.2 | 30 | 88 | 24 | 1 | 3 | 8 | 0.81 | 28 | 44 | -16 | -0.55 | -0.55 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | 2. Championship | 8th | 32 | 2,479 | 77 | 59.9 | 27.5 | 28 | 86 | 22 | 4 | 20 | 7 | 1.59 | 35 | 28 | +7 | +0.25 | +0.31 | Matches |
| 2020-2021 | 33 | Millwall | eng ENG | 2. Championship | 11th | 27 | 1,212 | 45 | 29.3 | 13.5 | 12 | 79 | 3 | 15 | 17 | 16 | 1.22 | 15 | 17 | -2 | -0.15 | -0.06 | Matches |
| 2021-2022 | 34 | Portsmouth | eng ENG | 3. League One | 10th | 31 | 2,111 | 68 | 51.0 | 23.5 | 24 | 82 | 15 | 7 | 20 | 3 | 1.39 | 28 | 25 | +3 | +0.13 | -0.49 | Matches |
| 2022-2023 | 35 | Gillingham | eng ENG | 4. League Two | 17th | 37 | 3,090 | 84 | 74.6 | 34.3 | 34 | 88 | 30 | 3 | 31 | 0 | 1.32 | 29 | 38 | -9 | -0.26 | +0.08 | Matches |
| 2023-2024 | 36 | Gillingham | eng ENG | 4. League Two | 12th | 14 | 834 | 60 | 20.1 | 9.3 | 10 | 77 | 5 | 4 | 16 | 9 | 1.57 | 8 | 8 | 0 | 0.00 | +0.30 | Matches |
| 13 Seasons | 4 Clubs | 3 Leagues | 447 | 35,529 | 79 | 61.3 | 394.8 | 397 | 85 | 233 | 50 | 19 | 50 | 1.39 | 329 | 332 | -3 | -0.01 | +0.04 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Millwall (8 Seasons) | 2 Leagues | 257 | 20,392 | 79 | 61.6 | 226.6 | 228 | 85 | 183 | 29 | 17 | 38 | 1.39 | 264 | 261 | +3 | +0.01 | +0.09 | |||||
| Milton Keynes Dons (3 Seasons) | 1 League | 108 | 9,102 | 84 | 73.3 | 101.1 | 101 | 7 | |||||||||||||||
| Gillingham (2 Seasons) | 1 League | 51 | 3,924 | 77 | 47.4 | 43.6 | 44 | 86 | 35 | 7 | 22 | 9 | 1.39 | 37 | 46 | -9 | -0.21 | +0.10 | |||||
| Portsmouth (1 Season) | 1 League | 31 | 2,111 | 68 | 51.0 | 23.5 | 24 | 82 | 15 | 7 | 20 | 3 | 1.39 | 28 | 25 | +3 | +0.13 | -0.49 | |||||
| League One (6 Seasons) | 216 | 17,817 | 82 | 71.7 | 198.0 | 200 | 82 | 85 | 16 | 20 | 9 | 1.54 | 140 | 110 | +30 | +0.31 | -0.18 | ||||||
| Championship (6 Seasons) | 180 | 13,788 | 77 | 55.5 | 153.2 | 153 | 85 | 113 | 27 | 17 | 32 | 1.28 | 152 | 176 | -24 | -0.17 | -0.02 | ||||||
| League Two (2 Seasons) | 51 | 3,924 | 77 | 47.4 | 43.6 | 44 | 86 | 35 | 7 | 22 | 9 | 1.39 | 37 | 46 | -9 | -0.21 | +0.10 | ||||||
| Playing Time | Starts | Subs | Team Success | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2014-2015 | 27 | Millwall | eng ENG | League Cup | 33rd | 1 | 90 | 90 | 50.0 | 1.0 | 1 | 90 | 1 | 0 | 0 | 0.00 | 0 | 2 | -2 | -2.00 | -3.00 | Matches | |
| 2015-2016 | 28 | Millwall | eng ENG | FA Cup | 65th | 2 | 179 | 90 | 99.4 | 2.0 | 2 | 90 | 1 | 0 | 0 | 1.50 | 4 | 3 | +1 | +0.50 | +0.50 | Matches | |
| 2015-2016 | 28 | Millwall | eng ENG | League Cup | 57th | 1 | 120 | 120 | 100.0 | 1.3 | 1 | 120 | 1 | 0 | 0 | 0.00 | 1 | 2 | -1 | -0.75 | Matches | ||
| 2016-2017 | 29 | Millwall | eng ENG | EFL Cup | 33rd | 1 | 18 | 18 | 10.0 | 0.2 | 0 | 0 | 1 | 17 | 1 | 0.00 | 1 | 1 | 0 | 0.00 | -1.67 | Matches | |
| 2016-2017 | 29 | Millwall | eng ENG | FA Cup | 5th | 6 | 540 | 90 | 100.0 | 6.0 | 6 | 90 | 6 | 0 | 0 | 2.50 | 11 | 8 | +3 | +0.50 | Matches | ||
| 2017-2018 | 30 | Millwall | eng ENG | EFL Cup | 33rd | 2 | 60 | 30 | 28.6 | 0.7 | 0 | 0 | 2 | 29 | 0 | 1.50 | 0 | 2 | -2 | -3.00 | -4.20 | Matches | |
| 2017-2018 | 30 | Millwall | eng ENG | FA Cup | 17th | 3 | 187 | 62 | 69.3 | 2.1 | 2 | 90 | 2 | 1 | 7 | 0 | 1.33 | 5 | 2 | +3 | +1.44 | +2.53 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | EFL Cup | 17th | 2 | 107 | 54 | 35.7 | 1.2 | 1 | 91 | 1 | 1 | 16 | 1 | 1.50 | 3 | 2 | +1 | +0.84 | +1.77 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | FA Cup | 5th | 4 | 328 | 82 | 84.1 | 3.6 | 3 | 100 | 3 | 1 | 27 | 0 | 2.25 | 8 | 4 | +4 | +1.10 | +2.55 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | EFL Cup | 33rd | 2 | 148 | 74 | 70.5 | 1.6 | 1 | 120 | 1 | 1 | 28 | 0 | 1.50 | 2 | 2 | 0 | 0.00 | -1.45 | Matches |
| 2020-2021 | 33 | Millwall | eng ENG | EFL Cup | 17th | 2 | 119 | 60 | 44.1 | 1.3 | 1 | 90 | 1 | 1 | 29 | 0 | 1.50 | 0 | 2 | -2 | -1.51 | -3.90 | Matches |
| 2021-2022 | 34 | Portsmouth | eng ENG | EFL Cup | Rd1 | 1 | 60 | 60 | 66.7 | 0.7 | 1 | 60 | 0 | 0 | 0 | 0.00 | 1 | 2 | -1 | -1.50 | -1.50 | Matches | |
| 2021-2022 | 34 | Portsmouth | eng ENG | FA Cup | 2 | 162 | 81 | 90.0 | 1.8 | 2 | 81 | 1 | 0 | 0 | 1.50 | 2 | 2 | 0 | 0.00 | 0.00 | Matches | ||
| 2022-2023 | 35 | Gillingham | eng ENG | EFL Cup | Rd4 | 3 | 203 | 68 | 52.1 | 2.3 | 3 | 68 | 0 | 0 | 0 | 1.33 | 0 | 1 | -1 | -0.44 | -0.92 | Matches | |
| 2022-2023 | 35 | Gillingham | eng ENG | FA Cup | 4 | 360 | 90 | 80.0 | 4.0 | 4 | 90 | 4 | 0 | 0 | 1.75 | 5 | 4 | +1 | +0.25 | +0.25 | Matches | ||
| 2023-2024 | 36 | Gillingham | eng ENG | EFL Cup | Rd2 | 1 | 18 | 18 | 10.0 | 0.2 | 0 | 0 | 1 | 18 | 0 | 0.00 | 1 | 0 | +1 | +5.00 | +5.00 | Matches | |
| 2023-2024 | 36 | Gillingham | eng ENG | FA Cup | 2 | 72 | 36 | 26.7 | 0.8 | 0 | 0 | 2 | 36 | 1 | 3.00 | 1 | 0 | +1 | +1.25 | +1.70 | Matches | ||
| 10 Seasons | 3 Clubs | 2 Leagues | 39 | 2,771 | 71 | 62.8 | 30.8 | 28 | 89 | 22 | 11 | 25 | 3 | 1.61 | 45 | 39 | +6 | +0.19 | -0.19 | ||||
| Country | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | ||||||||||
| Millwall (7 Seasons) | 2 Leagues | 26 | 1,896 | 73 | 66.5 | 21.1 | 18 | 95 | 17 | 8 | 23 | 2 | 1.65 | 35 | 30 | +5 | +0.24 | -0.42 | |||||
| Gillingham (2 Seasons) | 2 Leagues | 10 | 653 | 65 | 50.6 | 7.3 | 7 | 80 | 4 | 3 | 30 | 1 | 1.70 | 7 | 5 | +2 | +0.28 | +0.28 | |||||
| Portsmouth (1 Season) | 2 Leagues | 3 | 222 | 74 | 82.2 | 2.5 | 3 | 74 | 1 | 0 | 0 | 1.00 | 3 | 4 | -1 | -0.41 | -0.41 | ||||||
| EFL Cup (10 Seasons) | 16 | 943 | 59 | 44.3 | 10.5 | 9 | 86 | 5 | 7 | 24 | 2 | 1.00 | 9 | 16 | -7 | -0.67 | -1.43 | ||||||
| FA Cup (7 Seasons) | 23 | 1,828 | 79 | 80.2 | 20.3 | 19 | 91 | 17 | 4 | 27 | 1 | 2.04 | 36 | 23 | +13 | +0.64 | +1.24 | ||||||
| Playing Time | Starts | Subs | Team Success | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | MP | Min | 90s | Starts | Compl | Subs | unSub | onG | onGA | +/- | Matches | |||||||
| 2018 | 31 | ie Rep. of Ireland | Friendlies (M) | 2 | 83 | 42 | 18.4 | 0.9 | 1 | 73 | 0 | 1 | 10 | 1 | 0.50 | 1 | 0 | +1 | +1.08 | +1.82 | Matches | |
| 2018-2019 | 31 | ie Rep. of Ireland | UEFA Nations League | 23rd | 1 | 35 | 35 | 9.7 | 0.4 | 0 | 0 | 1 | 34 | 3 | 0.00 | 1 | 0 | +1 | +2.57 | +3.96 | Matches | |
| 1 Season | 1 Club | 2 Leagues | 3 | 118 | 39 | 14.6 | 1.3 | 1 | 74 | 0 | 2 | 22 | 4 | 0.33 | 2 | 0 | +2 | +1.53 | +2.57 | |||
| Friendlies (M) (1 Season) | 2 | 83 | 42 | 18.4 | 0.9 | 1 | 73 | 0 | 1 | 10 | 1 | 0.50 | 1 | 0 | +1 | +1.08 | +1.82 | |||||
| UEFA Nations League (1 Season) | 1 | 35 | 35 | 9.7 | 0.4 | 0 | 0 | 1 | 34 | 3 | 0.00 | 1 | 0 | +1 | +2.57 | +3.96 | ||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2011-2012 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 33.3 | 6 | 0 | 32 | ||||||||||
| 2012-2013 | 25 | Milton Keynes Dons | eng ENG | 3. League One | 43.3 | 5 | 0 | 42 | ||||||||||
| 2013-2014 | 26 | Millwall | eng ENG | 2. Championship | 15.2 | 3 | 0 | 24 | ||||||||||
| 2013-2014 | 26 | Milton Keynes Dons | eng ENG | 3. League One | 24.6 | 4 | 0 | 21 | ||||||||||
| 2014-2015 | 27 | Millwall | eng ENG | 2. Championship | 37.1 | 8 | 2 | 54 | Matches | |||||||||
| 2014-2015 | 27 | Millwall | eng ENG | League Cup | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 28 | Millwall | eng ENG | FA Cup | 2.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 28 | Millwall | eng ENG | League Cup | 1.3 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 28 | Millwall | eng ENG | 3. League One | 30.8 | 9 | 1 | 43 | Matches | |||||||||
| 2016-2017 | 29 | Millwall | eng ENG | EFL Cup | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 29 | Millwall | eng ENG | FA Cup | 6.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2016-2017 | 29 | Millwall | eng ENG | 3. League One | 42.6 | 9 | 0 | 0 | 78 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | 2. Championship | 30.7 | 5 | 0 | 0 | 46 | 64 | 0 | 146 | 43 | 33 | 0 | 0 | 0 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | EFL Cup | 0.7 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | FA Cup | 2.1 | 0 | 0 | 0 | 2 | 1 | 0 | 12 | 0 | 0 | 0 | Matches | ||
| 2018-2019 | 31 | Millwall | eng ENG | 2. Championship | 29.2 | 5 | 0 | 0 | 44 | 47 | 0 | 131 | 31 | 37 | 0 | 2 | 0 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | EFL Cup | 1.2 | 0 | 0 | 0 | 2 | 4 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | FA Cup | 3.6 | 0 | 0 | 0 | 4 | 3 | 0 | 8 | 6 | 2 | 0 | 0 | 0 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | 2. Championship | 27.5 | 3 | 1 | 0 | 41 | 40 | 0 | 50 | 29 | 33 | 0 | Matches | ||
| 2019-2020 | 32 | Millwall | eng ENG | EFL Cup | 1.6 | 0 | 0 | 0 | 2 | 3 | 0 | 3 | 1 | 3 | 0 | Matches | ||
| 2020-2021 | 33 | Millwall | eng ENG | 2. Championship | 13.5 | 3 | 0 | 0 | 15 | 19 | 0 | 22 | 24 | 11 | 0 | Matches | ||
| 2020-2021 | 33 | Millwall | eng ENG | EFL Cup | 1.3 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 1 | 2 | 0 | Matches | ||
| 2021-2022 | 34 | Portsmouth | eng ENG | EFL Cup | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 0 | Matches | ||
| 2021-2022 | 34 | Portsmouth | eng ENG | FA Cup | 1.8 | 1 | 0 | 0 | 2 | 5 | 0 | 6 | 0 | 1 | 0 | Matches | ||
| 2021-2022 | 34 | Portsmouth | eng ENG | 3. League One | 23.5 | 5 | 0 | 0 | 22 | 31 | 0 | 67 | 34 | 24 | 0 | Matches | ||
| 2022-2023 | 35 | Gillingham | eng ENG | EFL Cup | 2.3 | 0 | 0 | 0 | 3 | 4 | 0 | 1 | 3 | 3 | 0 | Matches | ||
| 2022-2023 | 35 | Gillingham | eng ENG | FA Cup | 4.0 | 1 | 0 | 0 | 5 | 6 | 0 | 5 | 3 | 5 | 0 | Matches | ||
| 2022-2023 | 35 | Gillingham | eng ENG | 4. League Two | 34.3 | 1 | 0 | 0 | 44 | 70 | 0 | 80 | 45 | 54 | 0 | Matches | ||
| 2023-2024 | 36 | Gillingham | eng ENG | EFL Cup | 0.2 | 0 | 0 | 0 | 1 | 1 | 0 | 6 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 36 | Gillingham | eng ENG | FA Cup | 0.8 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 36 | Gillingham | eng ENG | 4. League Two | 9.3 | 3 | 0 | 0 | 14 | 6 | 1 | 16 | 17 | 9 | 0 | Matches | ||
| 13 Seasons | 4 Clubs | 5 Leagues | 425.6 | 71 | 4 | 0 | 544 | 307 | 1 | 562 | 237 | 218 | 0 | 2 | 0 | |||
| Country | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Millwall (8 Seasons) | 4 Leagues | 247.6 | 45 | 4 | 0 | 358 | 183 | 0 | 379 | 135 | 121 | 0 | 2 | 0 | ||||
| Milton Keynes Dons (3 Seasons) | 1 League | 101.1 | 15 | 0 | 95 | |||||||||||||
| Gillingham (2 Seasons) | 3 Leagues | 50.9 | 5 | 0 | 0 | 67 | 88 | 1 | 108 | 68 | 71 | 0 | ||||||
| Portsmouth (1 Season) | 3 Leagues | 25.9 | 6 | 0 | 0 | 24 | 36 | 0 | 75 | 34 | 26 | 0 | ||||||
| EFL Cup (10 Seasons) | 10.5 | 0 | 0 | 0 | 11 | 14 | 0 | 19 | 5 | 9 | 0 | 0 | 0 | |||||
| FA Cup (7 Seasons) | 20.3 | 2 | 0 | 0 | 13 | 16 | 0 | 31 | 9 | 8 | 0 | 0 | 0 | |||||
| League One (6 Seasons) | 198.0 | 38 | 1 | 0 | 238 | 31 | 0 | 67 | 34 | 24 | 0 | 0 | 0 | |||||
| Championship (6 Seasons) | 153.2 | 27 | 3 | 0 | 224 | 170 | 0 | 349 | 127 | 114 | 0 | 2 | 0 | |||||
| League Two (2 Seasons) | 43.6 | 4 | 0 | 0 | 58 | 76 | 1 | 96 | 62 | 63 | 0 | |||||||
| Performance | |||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2011-2012 | 24 | Milton Keynes Dons | 1 League | 33.3 | 6 | 0 | 32 | ||||||||||
| 2012-2013 | 25 | Milton Keynes Dons | 1 League | 43.3 | 5 | 0 | 42 | ||||||||||
| 2013-2014 | 26 | Milton Keynes Dons | 1 League | 24.6 | 4 | 0 | 21 | ||||||||||
| 2013-2014 | 26 | Millwall | 1 League | 15.2 | 3 | 0 | 24 | ||||||||||
| 2014-2015 | 27 | Millwall | 2 Leagues | 38.1 | 8 | 2 | 0 | 54 | 0 | ||||||||
| 2015-2016 | 28 | Millwall | 3 Leagues | 34.1 | 9 | 1 | 0 | 43 | 0 | ||||||||
| 2016-2017 | 29 | Millwall | 3 Leagues | 48.8 | 9 | 0 | 0 | 78 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
| 2017-2018 | 30 | Millwall | 3 Leagues | 33.4 | 5 | 0 | 0 | 50 | 65 | 0 | 158 | 43 | 33 | 0 | 0 | 0 | |
| 2018-2019 | 31 | Millwall | 3 Leagues | 34.1 | 5 | 0 | 0 | 50 | 54 | 0 | 145 | 37 | 39 | 0 | 2 | 0 | |
| 2019-2020 | 32 | Millwall | 2 Leagues | 29.2 | 3 | 1 | 0 | 43 | 43 | 0 | 53 | 30 | 36 | 0 | |||
| 2020-2021 | 33 | Millwall | 2 Leagues | 14.8 | 3 | 0 | 0 | 16 | 21 | 0 | 23 | 25 | 13 | 0 | |||
| 2021-2022 | 34 | Portsmouth | 3 Leagues | 25.9 | 6 | 0 | 0 | 24 | 36 | 0 | 75 | 34 | 26 | 0 | |||
| 2022-2023 | 35 | Gillingham | 3 Leagues | 40.6 | 2 | 0 | 0 | 52 | 80 | 0 | 86 | 51 | 62 | 0 | |||
| 2023-2024 | 36 | Gillingham | 3 Leagues | 10.3 | 3 | 0 | 0 | 15 | 8 | 1 | 22 | 17 | 9 | 0 | |||
| 13 Seasons | 4 Clubs | 5 Leagues | 425.6 | 71 | 4 | 0 | 544 | 307 | 1 | 562 | 237 | 218 | 0 | 2 | 0 | ||
| Comp | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Millwall (8 Seasons) | 4 Leagues | 247.6 | 45 | 4 | 0 | 358 | 183 | 0 | 379 | 135 | 121 | 0 | 2 | 0 | |||
| Milton Keynes Dons (3 Seasons) | 1 League | 101.1 | 15 | 0 | 95 | ||||||||||||
| Gillingham (2 Seasons) | 3 Leagues | 50.9 | 5 | 0 | 0 | 67 | 88 | 1 | 108 | 68 | 71 | 0 | |||||
| Portsmouth (1 Season) | 3 Leagues | 25.9 | 6 | 0 | 0 | 24 | 36 | 0 | 75 | 34 | 26 | 0 | |||||
| EFL Cup (10 Seasons) | 10.5 | 0 | 0 | 0 | 11 | 14 | 0 | 19 | 5 | 9 | 0 | 0 | 0 | ||||
| FA Cup (7 Seasons) | 20.3 | 2 | 0 | 0 | 13 | 16 | 0 | 31 | 9 | 8 | 0 | 0 | 0 | ||||
| League One (6 Seasons) | 198.0 | 38 | 1 | 0 | 238 | 31 | 0 | 67 | 34 | 24 | 0 | 0 | 0 | ||||
| Championship (6 Seasons) | 153.2 | 27 | 3 | 0 | 224 | 170 | 0 | 349 | 127 | 114 | 0 | 2 | 0 | ||||
| League Two (2 Seasons) | 43.6 | 4 | 0 | 0 | 58 | 76 | 1 | 96 | 62 | 63 | 0 | ||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2011-2012 | 24 | Milton Keynes Dons | eng ENG | 3. League One | 5th | 33.3 | 6 | 0 | 32 | ||||||||||
| 2012-2013 | 25 | Milton Keynes Dons | eng ENG | 3. League One | 8th | 43.3 | 5 | 0 | 42 | ||||||||||
| 2013-2014 | 26 | Milton Keynes Dons | eng ENG | 3. League One | 10th | 24.6 | 4 | 0 | 21 | ||||||||||
| 2013-2014 | 26 | Millwall | eng ENG | 2. Championship | 19th | 15.2 | 3 | 0 | 24 | ||||||||||
| 2014-2015 | 27 | Millwall | eng ENG | 2. Championship | 22nd | 37.1 | 8 | 2 | 54 | Matches | |||||||||
| 2015-2016 | 28 | Millwall | eng ENG | 3. League One | 4th | 30.8 | 9 | 1 | 43 | Matches | |||||||||
| 2016-2017 | 29 | Millwall | eng ENG | 3. League One | 6th | 42.6 | 9 | 0 | 0 | 78 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | 2. Championship | 8th | 30.7 | 5 | 0 | 0 | 46 | 64 | 0 | 146 | 43 | 33 | 0 | 0 | 0 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | 2. Championship | 21st | 29.2 | 5 | 0 | 0 | 44 | 47 | 0 | 131 | 31 | 37 | 0 | 2 | 0 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | 2. Championship | 8th | 27.5 | 3 | 1 | 0 | 41 | 40 | 0 | 50 | 29 | 33 | 0 | Matches | ||
| 2020-2021 | 33 | Millwall | eng ENG | 2. Championship | 11th | 13.5 | 3 | 0 | 0 | 15 | 19 | 0 | 22 | 24 | 11 | 0 | Matches | ||
| 2021-2022 | 34 | Portsmouth | eng ENG | 3. League One | 10th | 23.5 | 5 | 0 | 0 | 22 | 31 | 0 | 67 | 34 | 24 | 0 | Matches | ||
| 2022-2023 | 35 | Gillingham | eng ENG | 4. League Two | 17th | 34.3 | 1 | 0 | 0 | 44 | 70 | 0 | 80 | 45 | 54 | 0 | Matches | ||
| 2023-2024 | 36 | Gillingham | eng ENG | 4. League Two | 12th | 9.3 | 3 | 0 | 0 | 14 | 6 | 1 | 16 | 17 | 9 | 0 | Matches | ||
| 13 Seasons | 4 Clubs | 3 Leagues | 394.8 | 69 | 4 | 0 | 520 | 277 | 1 | 512 | 223 | 201 | 0 | 2 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Millwall (8 Seasons) | 2 Leagues | 226.6 | 45 | 4 | 0 | 345 | 170 | 0 | 349 | 127 | 114 | 0 | 2 | 0 | |||||
| Milton Keynes Dons (3 Seasons) | 1 League | 101.1 | 15 | 0 | 95 | ||||||||||||||
| Gillingham (2 Seasons) | 1 League | 43.6 | 4 | 0 | 0 | 58 | 76 | 1 | 96 | 62 | 63 | 0 | |||||||
| Portsmouth (1 Season) | 1 League | 23.5 | 5 | 0 | 0 | 22 | 31 | 0 | 67 | 34 | 24 | 0 | |||||||
| League One (6 Seasons) | 198.0 | 38 | 1 | 0 | 238 | 31 | 0 | 67 | 34 | 24 | 0 | 0 | 0 | ||||||
| Championship (6 Seasons) | 153.2 | 27 | 3 | 0 | 224 | 170 | 0 | 349 | 127 | 114 | 0 | 2 | 0 | ||||||
| League Two (2 Seasons) | 43.6 | 4 | 0 | 0 | 58 | 76 | 1 | 96 | 62 | 63 | 0 | ||||||||
| Performance | |||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2014-2015 | 27 | Millwall | eng ENG | League Cup | 33rd | 1.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 28 | Millwall | eng ENG | FA Cup | 65th | 2.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2015-2016 | 28 | Millwall | eng ENG | League Cup | 57th | 1.3 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2016-2017 | 29 | Millwall | eng ENG | EFL Cup | 33rd | 0.2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2016-2017 | 29 | Millwall | eng ENG | FA Cup | 5th | 6.0 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 2017-2018 | 30 | Millwall | eng ENG | EFL Cup | 33rd | 0.7 | 0 | 0 | 0 | 2 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2017-2018 | 30 | Millwall | eng ENG | FA Cup | 17th | 2.1 | 0 | 0 | 0 | 2 | 1 | 0 | 12 | 0 | 0 | 0 | Matches | ||
| 2018-2019 | 31 | Millwall | eng ENG | EFL Cup | 17th | 1.2 | 0 | 0 | 0 | 2 | 4 | 0 | 6 | 0 | 0 | 0 | 0 | 0 | Matches |
| 2018-2019 | 31 | Millwall | eng ENG | FA Cup | 5th | 3.6 | 0 | 0 | 0 | 4 | 3 | 0 | 8 | 6 | 2 | 0 | 0 | 0 | Matches |
| 2019-2020 | 32 | Millwall | eng ENG | EFL Cup | 33rd | 1.6 | 0 | 0 | 0 | 2 | 3 | 0 | 3 | 1 | 3 | 0 | Matches | ||
| 2020-2021 | 33 | Millwall | eng ENG | EFL Cup | 17th | 1.3 | 0 | 0 | 0 | 1 | 2 | 0 | 1 | 1 | 2 | 0 | Matches | ||
| 2021-2022 | 34 | Portsmouth | eng ENG | EFL Cup | Rd1 | 0.7 | 0 | 0 | 0 | 0 | 0 | 0 | 2 | 0 | 1 | 0 | Matches | ||
| 2021-2022 | 34 | Portsmouth | eng ENG | FA Cup | 1.8 | 1 | 0 | 0 | 2 | 5 | 0 | 6 | 0 | 1 | 0 | Matches | |||
| 2022-2023 | 35 | Gillingham | eng ENG | EFL Cup | Rd4 | 2.3 | 0 | 0 | 0 | 3 | 4 | 0 | 1 | 3 | 3 | 0 | Matches | ||
| 2022-2023 | 35 | Gillingham | eng ENG | FA Cup | 4.0 | 1 | 0 | 0 | 5 | 6 | 0 | 5 | 3 | 5 | 0 | Matches | |||
| 2023-2024 | 36 | Gillingham | eng ENG | EFL Cup | Rd2 | 0.2 | 0 | 0 | 0 | 1 | 1 | 0 | 6 | 0 | 0 | 0 | Matches | ||
| 2023-2024 | 36 | Gillingham | eng ENG | FA Cup | 0.8 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | Matches | |||
| 10 Seasons | 3 Clubs | 2 Leagues | 30.8 | 2 | 0 | 0 | 24 | 30 | 0 | 50 | 14 | 17 | 0 | 0 | 0 | ||||
| Country | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches | |||
| Millwall (7 Seasons) | 2 Leagues | 21.1 | 0 | 0 | 0 | 13 | 13 | 0 | 30 | 8 | 7 | 0 | 0 | 0 | |||||
| Gillingham (2 Seasons) | 2 Leagues | 7.3 | 1 | 0 | 0 | 9 | 12 | 0 | 12 | 6 | 8 | 0 | |||||||
| Portsmouth (1 Season) | 2 Leagues | 2.5 | 1 | 0 | 0 | 2 | 5 | 0 | 8 | 0 | 2 | 0 | |||||||
| EFL Cup (10 Seasons) | 10.5 | 0 | 0 | 0 | 11 | 14 | 0 | 19 | 5 | 9 | 0 | 0 | 0 | ||||||
| FA Cup (7 Seasons) | 20.3 | 2 | 0 | 0 | 13 | 16 | 0 | 31 | 9 | 8 | 0 | 0 | 0 | ||||||
| Performance | ||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Season | Age | Squad | Comp | LgRank | 90s | CrdY | CrdR | 2CrdY | Fls | Fld | Off | Crs | Int | TklW | PKwon | PKcon | OG | Matches |
| 2018 | 31 | ie Rep. of Ireland | Friendlies (M) | 0.9 | 0 | 0 | 0 | 0 | Matches | |||||||||
| 2018-2019 | 31 | ie Rep. of Ireland | UEFA Nations League | 23rd | 0.4 | 0 | 0 | 0 | 0 | Matches | ||||||||
| 1 Season | 1 Club | 2 Leagues | 1.3 | 0 | 0 | 0 | 0 | |||||||||||
| Friendlies (M) (1 Season) | 0.9 | 0 | 0 | 0 | 0 | |||||||||||||
| UEFA Nations League (1 Season) | 0.4 | 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