Age 33
Height 176 cm
Foot Left
Country Northern Ireland
Value €275.4k
📈
Form
Rating per season, last 5 matches, and timeline all matches
Season
7.14
43 matches
Last 5
7.42
+0.28 vs season
Best
8.6
vs Blackpool
MOTM
2
of 38 matches
Rating by match (last 30)
≥8.0
7.0–8.0
6.0–7.0
5.5–6.0
<5.5
🧬
Attributes
Chances created
Aerial duels
Defensive actions
Goals
Shot attempts
Touches
Filter:
Apps
43
Goals
2
Assists
5
Rating
7.14
Goals
2
60%
Assists
5
87%
Rating
7.13
88%
Matches
38
71%
Started
26
66%
Minutes
2327
68%
🎯
Stats compared to other midfielders
League One · percentile vs peers
Chances created
90%
Aerial duels
93%
Defensive actions
83%
Goals
43%
Shot attempts
20%
Touches
79%
🎯
Shot Map
16 shots per season
Goals
2
On target
10
xG
0.76
Conversion
12%
Goal
Saved
Off target
🔥
Heatmap
2024 touches this season
Attack
Touches
2024
Attack
27%
Middle
51%
Ø position
52%
Detailed Stats & Percentiles (League One)
Shooting
| Stat | Total | Per 90 |
Percentile
avg 48%
|
Per 90 pctl
avg 39%
|
|---|---|---|---|---|
| Goals | 2 | 0.08 |
60
|
61
|
| xG | 0.76 | 0.03 |
33
|
20
|
| xGOT | 1.44 | 0.06 |
63
|
53
|
| xG excl. penalty | 0.76 | 0.03 |
33
|
20
|
| Shots | 16 | 0.62 |
43
|
23
|
| Shots on target | 3 | 0.12 |
35
|
23
|
| Headed shots | 2 | 0.08 |
72
|
70
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 76%
|
Per 90 pctl
avg 74%
|
|---|---|---|---|---|
| Assists | 5 | 0.19 |
87
|
86
|
| xA | 4.18 | 0.16 |
83
|
77
|
| Accurate passes | 994 | 38.44 |
80
|
80
|
| Pass accuracy | 81.9 | 81.95 |
80
|
80
|
| Accurate long balls | 44 | 1.70 |
65
|
53
|
| Long ball accuracy | 41.5 | 41.51 |
58
|
58
|
| Chances created | 47 | 1.82 |
87
|
88
|
| Big chances created | 7 | 0.27 |
80
|
75
|
| Successful crosses | 35 | 1.35 |
86
|
90
|
| Cross accuracy | 25.0 | 25.00 |
52
|
52
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 75%
|
Per 90 pctl
avg 74%
|
|---|---|---|---|---|
| Dribbles | 17 | 0.66 |
76
|
63
|
| Dribbles success rate | 58.6 | 58.62 |
68
|
68
|
| Duels won | 170 | 6.57 |
86
|
85
|
| Duels won % | 56.9 | 56.86 |
78
|
78
|
| Aerials won | 56 | 2.17 |
86
|
90
|
| Aerials won % | 60.2 | 60.22 |
85
|
85
|
| Touches | 1746 | 67.53 |
78
|
84
|
| Touches in opposition box | 21 | 0.81 |
52
|
34
|
| Dispossessed | 13 | 0.50 |
49
|
70
|
| Fouls won | 46 | 1.78 |
91
|
83
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 61%
|
Per 90 pctl
avg 59%
|
|---|---|---|---|---|
| Defensive actions | 160 | 6.19 |
82
|
81
|
| Tackles | 51 | 1.97 |
65
|
49
|
| Interceptions | 43 | 1.66 |
94
|
94
|
| Blocked scoring attempt | 11 | 0.43 |
76
|
70
|
| Fouls committed | 40 | 1.55 |
84
|
82
|
| Recoveries | 115 | 4.45 |
69
|
45
|
| Possession won final 3rd | 5 | 0.19 |
40
|
20
|
| Dribbled past | 32 | 1.24 |
8
|
14
|
| Clearances | 55 | 2.13 |
76
|
72
|
| Clean sheets | 6 | 0.23 |
77
|
84
|
| Goals conceded while on pitch | 35 | 1.35 |
29
|
46
|
| xG against while on pitch | 33.39 | 1.29 |
28
|
52
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 55%
|
Per 90 pctl
avg 60%
|
|---|---|---|---|---|
| Yellow cards | 8 | 0.31 |
10
|
20
|
| Red cards | 0 | 0.00 |
100
|
100
|
Shooting
| Stat | Total | Per 90 |
Percentile
avg 48%
|
Per 90 pctl
avg 39%
|
|---|---|---|---|---|
| Goals | 2 | 0.08 |
60
|
61
|
| xG | 0.76 | 0.03 |
33
|
20
|
| xGOT | 1.44 | 0.06 |
63
|
53
|
| xG excl. penalty | 0.76 | 0.03 |
33
|
20
|
| Shots | 16 | 0.62 |
43
|
23
|
| Shots on target | 3 | 0.12 |
35
|
23
|
| Headed shots | 2 | 0.08 |
72
|
70
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 76%
|
Per 90 pctl
avg 74%
|
|---|---|---|---|---|
| Assists | 5 | 0.19 |
87
|
86
|
| xA | 4.18 | 0.16 |
83
|
77
|
| Accurate passes | 994 | 38.44 |
80
|
80
|
| Pass accuracy | 81.9 | 81.95 |
80
|
80
|
| Accurate long balls | 44 | 1.70 |
65
|
53
|
| Long ball accuracy | 41.5 | 41.51 |
58
|
58
|
| Chances created | 47 | 1.82 |
87
|
88
|
| Big chances created | 7 | 0.27 |
80
|
75
|
| Successful crosses | 35 | 1.35 |
86
|
90
|
| Cross accuracy | 25.0 | 25.00 |
52
|
52
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 75%
|
Per 90 pctl
avg 74%
|
|---|---|---|---|---|
| Dribbles | 17 | 0.66 |
76
|
63
|
| Dribbles success rate | 58.6 | 58.62 |
68
|
68
|
| Duels won | 170 | 6.57 |
86
|
85
|
| Duels won % | 56.9 | 56.86 |
78
|
78
|
| Aerials won | 56 | 2.17 |
86
|
90
|
| Aerials won % | 60.2 | 60.22 |
85
|
85
|
| Touches | 1746 | 67.53 |
78
|
84
|
| Touches in opposition box | 21 | 0.81 |
52
|
34
|
| Dispossessed | 13 | 0.50 |
49
|
70
|
| Fouls won | 46 | 1.78 |
91
|
83
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 61%
|
Per 90 pctl
avg 59%
|
|---|---|---|---|---|
| Defensive actions | 160 | 6.19 |
82
|
81
|
| Tackles | 51 | 1.97 |
65
|
49
|
| Interceptions | 43 | 1.66 |
94
|
94
|
| Blocked scoring attempt | 11 | 0.43 |
76
|
70
|
| Fouls committed | 40 | 1.55 |
84
|
82
|
| Recoveries | 115 | 4.45 |
69
|
45
|
| Possession won final 3rd | 5 | 0.19 |
40
|
20
|
| Dribbled past | 32 | 1.24 |
8
|
14
|
| Clearances | 55 | 2.13 |
76
|
72
|
| Clean sheets | 6 | 0.23 |
77
|
84
|
| Goals conceded while on pitch | 35 | 1.35 |
29
|
46
|
| xG against while on pitch | 33.39 | 1.29 |
28
|
52
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 55%
|
Per 90 pctl
avg 60%
|
|---|---|---|---|---|
| Yellow cards | 8 | 0.31 |
10
|
20
|
| Red cards | 0 | 0.00 |
100
|
100
|
Recent Matches (61)
| Date | Opponent | Comp | Score | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|
| 2026-05-02 | @ Bolton Wanderers | League One | 2-3 | 0 | 0 | 0 | |
| 2026-04-25 | vs Barnsley | League One | 2-1 | 4 | 0 | 0 | |
| 2026-04-21 | @ Rotherham United | League One | 0-2 | 16 | 0 | 0 | 6.5 |
| 2026-04-18 | @ Mansfield Town | League One | 2-2 | 0 | 0 | 0 | |
| 2026-04-15 | vs Northampton Town | League One | 2-1 | 1 | 0 | 0 | |
| 2026-04-12 | vs Stockport County | EFL Trophy | 3-1 | 1 | 0 | 0 | |
| 2026-04-06 | @ AFC Wimbledon | League One | 0-3 | 9 | 0 | 0 | |
| 2026-04-03 | vs Peterborough United | League One | 2-1 | 7 | 0 | 0 | |
| 2026-03-31 | @ Wales | Friendlies | 1-1 | 45 | 0 | 0 | 6.4 |
| 2026-03-26 | @ Italy | World Cup Qualification UEFA 2nd Round | 2-0 | 0 | 0 | 0 | |
| 2026-03-21 | vs Stockport County | League One | 1-1 | 88 | 0 | 0 | 7.5 |
| 2026-03-17 | vs Exeter City | League One | 3-2 | 89 | 0 | 1 | 8.2 |
| 2026-03-14 | @ Wycombe Wanderers | League One | 1-2 | 90 | 0 | 1 | 8.5 |
| 2026-03-10 | @ Doncaster Rovers | League One | 1-1 | 17 | 0 | 0 | 6.4 |
| 2026-03-07 | vs Reading | League One | 2-3 | 90 | 1 | 0 | 6.6 |
| 2026-03-04 | vs Northampton Town | EFL Trophy | 2-1 | 0 | 0 | 0 | |
| 2026-02-28 | @ Port Vale | League One | 1-1 | 90 | 0 | 0 | 7.4 |
| 2026-02-24 | vs Plymouth Argyle | EFL Trophy | 2-1 | 90 | 0 | 0 | 7.8 |
| 2026-02-21 | vs Burton Albion | League One | 1-1 | 90 | 0 | 0 | 7.2 |
| 2026-02-18 | @ Wigan Athletic | League One | 1-0 | 0 | 0 | 0 | |
| 2026-02-14 | @ Cardiff City | League One | 3-1 | 0 | 0 | 0 | |
| 2026-02-07 | vs Bradford City | League One | 2-1 | 7 | 0 | 0 | |
| 2026-01-31 | vs Blackpool | League One | 1-0 | 1 | 0 | 0 | |
| 2026-01-24 | @ Plymouth Argyle | League One | 1-0 | 0 | 0 | 0 | |
| 2026-01-17 | vs Lincoln City | League One | 2-2 | 0 | 0 | 0 | |
| 2026-01-13 | vs Swindon Town | EFL Trophy | 3-0 | 87 | 0 | 0 | |
| 2026-01-10 | vs Stevenage | League One | 2-1 | 1 | 0 | 0 | |
| 2026-01-01 | @ Exeter City | League One | 1-0 | 76 | 0 | 0 | 7.1 |
| 2025-12-29 | vs Leyton Orient | League One | 3-0 | 45 | 0 | 0 | 6.7 |
| 2025-12-26 | vs Wycombe Wanderers | League One | 4-0 | 22 | 0 | 0 | 6.4 |
| 2025-12-18 | @ Reading | League One | 3-2 | 4 | 0 | 0 | |
| 2025-12-13 | vs Port Vale | League One | 2-2 | 62 | 0 | 0 | 6.0 |
| 2025-12-09 | @ Leyton Orient | League One | 1-1 | 70 | 0 | 0 | 6.5 |
| 2025-12-06 | @ Fleetwood Town | FA Cup | 2-2 | 45 | 0 | 0 | |
| 2025-11-29 | vs Bolton Wanderers | League One | 1-1 | 90 | 0 | 0 | 7.3 |
| 2025-11-25 | vs Huddersfield Town | League One | 2-1 | 90 | 0 | 0 | 8.5 ⭐ |
| 2025-11-22 | @ Barnsley | League One | 5-0 | 71 | 0 | 0 | 5.0 |
| 2025-11-14 | @ Slovakia | World Cup Qualification UEFA 1st Round Grp. A | 1-0 | 90 | 0 | 0 | 6.1 |
| 2025-11-08 | @ Stockport County | League One | 0-3 | 90 | 0 | 0 | 6.9 |
| 2025-10-31 | vs Forest Green Rovers | FA Cup | 4-3 | 90 | 0 | 0 | 7.1 |
Career
| Season | Team | Type | Apps | G | A | Rating |
|---|---|---|---|---|---|---|
| 2025/2026 | Luton Town | senior | 43 | 2 | 5 | 7.14 |
| 2024/2025 | Millwall | senior | 49 | 1 | 3 | 6.97 |
| 2023/2024 | Millwall | senior | 41 | 2 | 4 | 7.04 |
| 2022/2023 | Millwall | senior | 44 | 2 | 0 | 7.12 |
| 2021/2022 | Millwall | senior | 40 | 3 | 2 | 7.11 |
| 2020/2021 | Middlesbrough | senior | 42 | 6 | 4 | 6.72 |
| 2019/2020 | Middlesbrough | senior | 40 | 2 | 3 | 6.61 |
| 2018/2019 | Middlesbrough | senior | 1 | 0 | 0 | 7.04 |
| 2018/2019 | Middlesbrough | senior | 35 | 4 | 0 | 6.77 |
| 2018/2019 | Millwall | senior | 4 | 0 | 0 | 6.77 |
| 2017/2018 | Millwall | senior | 45 | 10 | 1 | 7.20 |
| 2016/2017 | Wolverhampton Wanderers | senior | 29 | 1 | 1 | 6.42 |
| 2015/2016 | Wolverhampton Wanderers | senior | 19 | 5 | 0 | - |
| 2015/2016 | Millwall | senior | 15 | 0 | 0 | - |
| 2015/2016 | Wolverhampton Wanderers | senior | 2 | 0 | 0 | - |
| 2014/2015 | Bristol City | senior | 8 | 1 | 0 | - |
| 2014/2015 | Wolverhampton Wanderers | senior | 7 | 0 | 0 | - |
| 2013/2014 | Brentford | senior | 44 | 3 | 0 | - |
| 2012/2013 | Millwall | senior | 3 | 0 | 0 | - |
| 2016/2017 | Wolverhampton Wanderers U23 | youth | 1 | 0 | 0 | - |
| 2012/2013 | Chelsea U19 | youth | - | 1 | - | - |
| 2026 | Northern Ireland | national team | 4 | 0 | 0 | 6.11 |
| 2025 | Northern Ireland | national team | 4 | 0 | 2 | 6.93 |
| 2024 | Northern Ireland | national team | 14 | 0 | 1 | - |
| 2022 | Northern Ireland | national team | 13 | 0 | 0 | 6.35 |
| 2021 | Northern Ireland | national team | 3 | 0 | 0 | 6.24 |
| 2020 | Northern Ireland | national team | 13 | 0 | 0 | - |
| 2019 | Northern Ireland | national team | 2 | 0 | 0 | - |
| 2018 | Northern Ireland | national team | 11 | 0 | 1 | 5.59 |
Transfer Value History
Teammates
Thomas Holmes
James Shea
Kal Naismith
Sverre Hakami Sandal
Mads Juel Andersen
Davy van den Berg
Liam Walsh
Elijah Adebayo
Ali Al Hamadi
Shayden Morris
Teden Mengi
Hakeem Odoffin
Nigel Lonwijk
Jordan Clark
Nahki Wells
Devante Cole
Josh Keeley
Isaiah Jones
Shandon Baptiste
Jake Richards
Gideon Kodua
Cohen Bramall
Zacharias Ioannidis
Joseph Johnson
Lucas Thomas
Harry Fox
Vladimir Paternoster
Charlie Booth
Finley Evans
Jack Lorentzen-Jones
Dawid Gawel
Kasey Palmer
Trophies
Bristol City
🏆
League One
x1
🏆
EFL Trophy
x1
Luton Town
🏆
EFL Trophy
x1