Age 31
Height 185 cm
Foot Right
Country Wales
Value €150.6k
Contract 2026-06-30
📈
Form
Rating per season, last 5 matches, and timeline all matches
Season
6.97
8 matches
Last 5
7.44
+0.47 vs season
Best
8.2
vs Stockport County
MOTM
2
of 31 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
8
Goals
0
Assists
2
Rating
6.97
Goals
2
60%
Assists
3
66%
Rating
6.97
76%
Matches
32
55%
Started
16
37%
Minutes
1555
42%
🎯
Stats compared to other midfielders
League One · percentile vs peers
Chances created
71%
Aerial duels
92%
Defensive actions
59%
Goals
55%
Shot attempts
39%
Touches
97%
🎯
Shot Map
16 shots per season
Goals
2
On target
4
xG
1.28
Conversion
12%
Goal
Saved
Off target
🔥
Heatmap
1674 touches this season
Attack
Touches
1674
Attack
17%
Middle
52%
Ø position
46%
Detailed Stats & Percentiles (League One)
Shooting
| Stat | Total | Per 90 |
Percentile
avg 50%
|
Per 90 pctl
avg 55%
|
|---|---|---|---|---|
| Goals | 2 | 0.12 |
60
|
74
|
| xG | 1.30 | 0.08 |
56
|
63
|
| xGOT | 0.94 | 0.05 |
47
|
51
|
| Penalty goals | 1 | 0.06 |
94
|
96
|
| xG excl. penalty | 0.51 | 0.03 |
26
|
20
|
| Shots | 16 | 0.93 |
43
|
47
|
| Shots on target | 2 | 0.12 |
23
|
23
|
| Headed shots | 1 | 0.06 |
49
|
64
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 66%
|
Per 90 pctl
avg 73%
|
|---|---|---|---|---|
| Assists | 3 | 0.17 |
66
|
81
|
| xA | 3.06 | 0.18 |
73
|
83
|
| Accurate passes | 841 | 48.68 |
73
|
93
|
| Pass accuracy | 75.8 | 75.77 |
43
|
43
|
| Accurate long balls | 98 | 5.67 |
90
|
98
|
| Long ball accuracy | 46.7 | 46.67 |
77
|
77
|
| Chances created | 17 | 0.98 |
51
|
55
|
| Big chances created | 4 | 0.23 |
60
|
70
|
| Successful crosses | 17 | 0.98 |
70
|
78
|
| Cross accuracy | 24.6 | 24.64 |
50
|
50
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 65%
|
Per 90 pctl
avg 71%
|
|---|---|---|---|---|
| Dribbles | 6 | 0.35 |
36
|
30
|
| Dribbles success rate | 66.7 | 66.67 |
85
|
85
|
| Duels won | 105 | 6.08 |
53
|
74
|
| Duels won % | 64.8 | 64.81 |
95
|
95
|
| Aerials won | 36 | 2.08 |
75
|
88
|
| Aerials won % | 69.2 | 69.23 |
96
|
96
|
| Touches | 1461 | 84.56 |
70
|
98
|
| Touches in opposition box | 7 | 0.41 |
18
|
8
|
| Dispossessed | 10 | 0.58 |
59
|
63
|
| Fouls won | 26 | 1.50 |
69
|
74
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 47%
|
Per 90 pctl
avg 54%
|
|---|---|---|---|---|
| Defensive actions | 107 | 6.19 |
54
|
82
|
| Tackles | 37 | 2.14 |
48
|
61
|
| Interceptions | 16 | 0.93 |
45
|
55
|
| Blocked scoring attempt | 13 | 0.75 |
83
|
97
|
| Fouls committed | 19 | 1.10 |
43
|
50
|
| Penalties conceded | 1 | 0.06 |
1
|
3
|
| Recoveries | 123 | 7.12 |
70
|
98
|
| Possession won final 3rd | 6 | 0.35 |
46
|
59
|
| Dribbled past | 12 | 0.69 |
60
|
59
|
| Clearances | 41 | 2.37 |
63
|
81
|
| Clean sheets | 1 | 0.06 |
25
|
30
|
| Goals conceded while on pitch | 32 | 1.85 |
34
|
12
|
| xG against while on pitch | 27.81 | 1.61 |
41
|
16
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 58%
|
Per 90 pctl
avg 54%
|
|---|---|---|---|---|
| Yellow cards | 7 | 0.41 |
17
|
9
|
| Red cards | 0 | 0.00 |
100
|
100
|
Shooting
| Stat | Total | Per 90 |
Percentile
avg 50%
|
Per 90 pctl
avg 55%
|
|---|---|---|---|---|
| Goals | 2 | 0.12 |
60
|
74
|
| xG | 1.30 | 0.08 |
56
|
63
|
| xGOT | 0.94 | 0.05 |
47
|
51
|
| Penalty goals | 1 | 0.06 |
94
|
96
|
| xG excl. penalty | 0.51 | 0.03 |
26
|
20
|
| Shots | 16 | 0.93 |
43
|
47
|
| Shots on target | 2 | 0.12 |
23
|
23
|
| Headed shots | 1 | 0.06 |
49
|
64
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 66%
|
Per 90 pctl
avg 73%
|
|---|---|---|---|---|
| Assists | 3 | 0.17 |
66
|
81
|
| xA | 3.06 | 0.18 |
73
|
83
|
| Accurate passes | 841 | 48.68 |
73
|
93
|
| Pass accuracy | 75.8 | 75.77 |
43
|
43
|
| Accurate long balls | 98 | 5.67 |
90
|
98
|
| Long ball accuracy | 46.7 | 46.67 |
77
|
77
|
| Chances created | 17 | 0.98 |
51
|
55
|
| Big chances created | 4 | 0.23 |
60
|
70
|
| Successful crosses | 17 | 0.98 |
70
|
78
|
| Cross accuracy | 24.6 | 24.64 |
50
|
50
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 65%
|
Per 90 pctl
avg 71%
|
|---|---|---|---|---|
| Dribbles | 6 | 0.35 |
36
|
30
|
| Dribbles success rate | 66.7 | 66.67 |
85
|
85
|
| Duels won | 105 | 6.08 |
53
|
74
|
| Duels won % | 64.8 | 64.81 |
95
|
95
|
| Aerials won | 36 | 2.08 |
75
|
88
|
| Aerials won % | 69.2 | 69.23 |
96
|
96
|
| Touches | 1461 | 84.56 |
70
|
98
|
| Touches in opposition box | 7 | 0.41 |
18
|
8
|
| Dispossessed | 10 | 0.58 |
59
|
63
|
| Fouls won | 26 | 1.50 |
69
|
74
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 47%
|
Per 90 pctl
avg 54%
|
|---|---|---|---|---|
| Defensive actions | 107 | 6.19 |
54
|
82
|
| Tackles | 37 | 2.14 |
48
|
61
|
| Interceptions | 16 | 0.93 |
45
|
55
|
| Blocked scoring attempt | 13 | 0.75 |
83
|
97
|
| Fouls committed | 19 | 1.10 |
43
|
50
|
| Penalties conceded | 1 | 0.06 |
1
|
3
|
| Recoveries | 123 | 7.12 |
70
|
98
|
| Possession won final 3rd | 6 | 0.35 |
46
|
59
|
| Dribbled past | 12 | 0.69 |
60
|
59
|
| Clearances | 41 | 2.37 |
63
|
81
|
| Clean sheets | 1 | 0.06 |
25
|
30
|
| Goals conceded while on pitch | 32 | 1.85 |
34
|
12
|
| xG against while on pitch | 27.81 | 1.61 |
41
|
16
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 58%
|
Per 90 pctl
avg 54%
|
|---|---|---|---|---|
| Yellow cards | 7 | 0.41 |
17
|
9
|
| Red cards | 0 | 0.00 |
100
|
100
|
Recent Matches (52)
| Date | Opponent | Comp | Score | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|
| 2026-04-25 | vs Bolton Wanderers | League One | 1-1 | 0 | 0 | 0 | |
| 2026-04-21 | vs Plymouth Argyle | League One | 1-1 | 0 | 0 | 0 | |
| 2026-04-18 | @ Barnsley | League One | 2-2 | 2 | 0 | 0 | |
| 2026-04-11 | vs Stevenage | League One | 0-1 | 0 | 0 | 0 | |
| 2026-04-06 | @ Wycombe Wanderers | League One | 1-2 | 45 | 0 | 0 | 6.5 |
| 2026-04-03 | vs Northampton Town | League One | 1-0 | 8 | 0 | 0 | |
| 2026-03-21 | @ Burton Albion | League One | 2-1 | 45 | 0 | 1 | 7.7 |
| 2026-03-17 | vs Mansfield Town | League One | 1-1 | 0 | 0 | 0 | |
| 2026-03-14 | @ Wigan Athletic | League One | 2-0 | 0 | 0 | 0 | |
| 2026-03-11 | @ Port Vale | League One | 0-2 | 0 | 0 | 0 | |
| 2026-03-07 | vs Leyton Orient | League One | 2-1 | 0 | 0 | 0 | |
| 2026-02-28 | @ Reading | League One | 2-1 | 0 | 0 | 0 | |
| 2026-02-24 | vs Rotherham United | League One | 1-0 | 0 | 0 | 0 | |
| 2026-02-21 | @ AFC Wimbledon | League One | 3-1 | 90 | 0 | 1 | 7.8 |
| 2026-02-17 | vs Stockport County | League One | 1-0 | 90 | 0 | 0 | 8.2 ⭐ |
| 2026-02-14 | vs Peterborough United | League One | 2-0 | 18 | 0 | 0 | 7.0 |
| 2026-02-07 | @ Luton Town | League One | 2-1 | 5 | 0 | 0 | |
| 2026-01-31 | @ Luton Town | League One | 1-0 | 90 | 0 | 0 | 7.4 |
| 2026-01-27 | vs Stockport County | League One | 1-2 | 78 | 0 | 0 | 6.8 |
| 2026-01-24 | vs Northampton Town | League One | 2-0 | 13 | 0 | 0 | 6.5 |
| 2026-01-17 | @ Barnsley | League One | 2-1 | 19 | 0 | 0 | 6.3 |
| 2026-01-10 | @ Ipswich Town | FA Cup | 2-1 | 62 | 0 | 0 | 6.0 |
| 2026-01-04 | vs Bradford City | League One | 1-2 | 0 | 0 | 0 | |
| 2026-01-01 | @ Port Vale | League One | 5-1 | 9 | 0 | 0 | |
| 2025-12-29 | vs Rotherham United | League One | 4-0 | 16 | 0 | 0 | 6.3 |
| 2025-12-26 | vs Doncaster Rovers | League One | 1-0 | 18 | 0 | 0 | 6.4 |
| 2025-12-20 | @ Wigan Athletic | League One | 0-2 | 0 | 0 | 0 | |
| 2025-12-13 | vs Lincoln City | League One | 2-2 | 90 | 1 | 0 | 7.9 |
| 2025-12-10 | @ Rotherham United | League One | 0-3 | 4 | 0 | 0 | |
| 2025-12-07 | vs Carlisle United | FA Cup | 4-1 | 45 | 0 | 0 | 6.4 |
| 2025-12-02 | @ Harrogate Town | EFL Trophy | 4-2 | 90 | 0 | 0 | 6.7 |
| 2025-11-29 | vs Reading | League One | 0-3 | 58 | 0 | 0 | 6.5 |
| 2025-11-22 | @ Leyton Orient | League One | 1-1 | 28 | 0 | 0 | 7.0 |
| 2025-11-15 | @ Burton Albion | League One | 1-0 | 63 | 0 | 0 | 6.5 |
| 2025-11-11 | @ Tranmere Rovers | EFL Trophy Northern Grp. B | 2-1 | 45 | 0 | 0 | 5.9 |
| 2025-11-01 | vs Scunthorpe United | FA Cup | 1-0 | 90 | 0 | 0 | |
| 2025-10-25 | @ Peterborough United | League One | 1-2 | 90 | 0 | 0 | 7.8 ⭐ |
| 2025-10-18 | vs Wycombe Wanderers | League One | 1-1 | 90 | 0 | 0 | 7.7 |
| 2025-10-11 | @ Stockport County | League One | 1-0 | 90 | 0 | 0 | 7.1 |
| 2025-10-04 | vs AFC Wimbledon | League One | 0-2 | 90 | 0 | 0 | 6.5 |
Career
| Season | Team | Type | Apps | G | A | Rating |
|---|---|---|---|---|---|---|
| 2025/2026 | Bradford City | senior | 8 | 0 | 2 | 6.97 |
| 2025/2026 | Blackpool | senior | 31 | 2 | 2 | 6.88 |
| 2024/2025 | Blackpool | senior | 45 | 5 | 5 | 7.45 |
| 2023/2024 | Portsmouth | senior | 4 | 0 | 0 | 6.64 |
| 2023/2024 | Ipswich Town | senior | 5 | 0 | 1 | 7.49 |
| 2022/2023 | Ipswich Town | senior | 27 | 3 | 2 | 7.67 |
| 2021/2022 | Ipswich Town | senior | 29 | 3 | 3 | 7.07 |
| 2020/2021 | Wigan Athletic | senior | 24 | 2 | 3 | 7.15 |
| 2019/2020 | Wigan Athletic | senior | 33 | 2 | 1 | 6.41 |
| 2018/2019 | Wigan Athletic | senior | 35 | 1 | 5 | 6.80 |
| 2018/2019 | Sheffield United | senior | 2 | 0 | 0 | 6.81 |
| 2017/2018 | Sheffield United | senior | 19 | 2 | 1 | 6.95 |
| 2017/2018 | Wigan Athletic | senior | 23 | 3 | 8 | 6.80 |
| 2016/2017 | Wolverhampton Wanderers | senior | 18 | 0 | 0 | 6.68 |
| 2015/2016 | Bradford City | senior | 41 | 4 | 2 | - |
| 2014/2015 | Wolverhampton Wanderers | senior | 21 | 1 | 0 | - |
| 2013/2014 | Wolverhampton Wanderers | senior | 28 | 2 | 0 | - |
| 2012/2013 | Newport County | senior | 25 | 3 | 0 | - |
| 2011/2012 | Newport County | senior | 5 | 0 | 0 | - |
| 2019 | Wales | national team | 1 | 0 | 0 | - |
| 2018 | Wales | national team | 2 | 0 | 0 | - |
| 2017 | Wales | national team | 1 | 0 | 0 | - |
| 2017 | Wales U21 | national team | 7 | 0 | 0 | - |
| 2015 | Wales U21 | national team | 6 | 2 | 0 | - |
Transfer Value History
Teammates
George Goodman
Neill Byrne
Sam Walker
Ibou Touray
Joe Wright
Max Power
Josh Neufville
Antoni Sarcevic
Stephen Humphrys
Paul Mullin
Aden Baldwin
Tyreik Samuel Wright
Ciarán Kelly
Kayden Jackson
Jenson Metcalfe
Nick Powell
Bobby Pointon
Will Swan
Joe Hilton
Curtis Tilt
Matthew Pennington
Zac Hadi
George Lapslie
Louie Sibley
Trophies
Wolverhampton Wanderers
🏆
League One
x1
Bradford City