- Height
- 180 cm
- Shirt
- 18
- Age
- 32
- Preferred foot
- Right
- Country
- Wales
- Market value
- €765.2k
- Contract end
- 30 June 2028
A-League · 2026–2027
1Apps
1Starts
63Minutes
1Goals
0Assists
0.06xG
0.13xA
7.6Rating
2026–2027 by competition
| Competition | Team | Apps | G | A | Rating |
A-League |
Perth Glory |
1 |
1 |
0 |
7.6 |
Player profile
The radar needs 450+ minutes in A-League (63 so far).
Shooting
| Stat | Total | Per 90 |
| Goals |
1 |
1.43 |
| xG |
0.06 |
0.09 |
| xGOT |
0.29 |
0.42 |
| xG excl. penalty |
0.06 |
0.09 |
| Shots |
1 |
1.43 |
| Shots on target |
1 |
1.43 |
Passing
| Stat | Total | Per 90 |
| Assists |
0 |
0.00 |
| xA |
0.13 |
0.19 |
| Accurate passes |
14 |
20.0 |
| Pass accuracy |
70.0% |
— |
| Accurate long balls |
2 |
2.86 |
| Long ball accuracy |
50.0% |
— |
| Chances created |
1 |
1.43 |
| Successful crosses |
3 |
4.29 |
| Cross accuracy |
60.0% |
— |
Possession
| Stat | Total | Per 90 |
| Dribbles |
1 |
1.43 |
| Dribbles success rate |
50.0% |
— |
| Duels won |
3 |
4.29 |
| Duels won % |
37.5% |
— |
| Touches |
38 |
54.3 |
| Dispossessed |
1 |
1.43 |
| Fouls won |
2 |
2.86 |
Defending
| Stat | Total | Per 90 |
| Defensive actions |
2 |
2.86 |
| Fouls committed |
3 |
4.29 |
| Recoveries |
2 |
2.86 |
| Clearances |
2 |
2.86 |
| Clean sheets |
0 |
0.00 |
| Goals conceded while on pitch |
0 |
0.00 |
| xG against while on pitch |
0.28 |
0.39 |
Discipline
| Stat | Total | Per 90 |
| Yellow cards |
0 |
0.00 |
| Red cards |
0 |
0.00 |
Percentiles appear after 450 minutes in a competition.
| Season | Team | Apps | G | A | Rating |
| ▸ 2026–2027 |
Perth Glory |
1 |
1 |
0 |
7.6 |
|
A-League |
1 |
1 |
0 |
7.6 |
| ▸ 2025–2026 |
Perth Glory |
13 |
5 |
2 |
7.4 |
|
A-League |
13 |
5 |
2 |
7.4 |
| ▸ 2024–2025 |
Rangers |
28 |
6 |
2 |
6.9 |
|
Premiership |
18 |
4 |
2 |
6.8 |
|
League Cup |
2 |
0 |
0 |
— |
|
Scottish Cup |
1 |
0 |
0 |
— |
|
Champions League |
2 |
0 |
0 |
— |
|
Europa League |
5 |
2 |
0 |
7.2 |
| ▸ 2023–2024 |
Rangers |
32 |
3 |
3 |
7.0 |
|
Premiership |
23 |
2 |
3 |
7.0 |
|
League Cup |
1 |
0 |
0 |
— |
|
Scottish Cup |
3 |
0 |
0 |
— |
|
Europa League |
5 |
1 |
0 |
7.1 |
| ▸ 2022–2023 |
Rangers |
9 |
3 |
1 |
7.7 |
|
Premiership |
5 |
2 |
1 |
7.7 |
|
Champions League |
4 |
1 |
0 |
— |
| ▸ 2021–2022 |
Derby County |
39 |
11 |
5 |
7.1 |
|
Championship |
38 |
11 |
5 |
7.2 |
|
FA Cup |
1 |
0 |
0 |
6.0 |
| ▸ 2020–2021 |
Derby County |
23 |
3 |
1 |
6.8 |
|
Championship |
23 |
3 |
1 |
6.8 |
| ▸ 2019–2020 |
Derby County |
40 |
10 |
3 |
6.8 |
|
Championship |
37 |
10 |
3 |
6.9 |
|
FA Cup |
3 |
0 |
0 |
5.7 |
| ▸ 2018–2019 |
Derby County |
39 |
7 |
3 |
6.6 |
|
Championship |
36 |
6 |
2 |
6.6 |
|
FA Cup |
2 |
1 |
1 |
7.3 |
|
EFL Cup |
1 |
0 |
0 |
— |
| ▸ 2017–2018 |
Derby County |
44 |
6 |
7 |
7.0 |
|
Championship |
41 |
6 |
7 |
7.0 |
|
FA Cup |
1 |
0 |
0 |
6.5 |
|
EFL Cup |
2 |
0 |
0 |
— |
| ▸ 2016–2017 |
Ipswich Town |
36 |
11 |
9 |
6.9 |
|
Championship |
34 |
9 |
9 |
7.0 |
|
FA Cup |
2 |
2 |
0 |
5.5 |
| ▸ 2015–2016 |
Cardiff City |
14 |
0 |
0 |
— |
|
Championship |
14 |
0 |
0 |
— |
| ▸ 2015–2016 |
Blackburn Rovers |
23 |
2 |
3 |
— |
|
Championship |
21 |
2 |
2 |
— |
|
FA Cup |
2 |
0 |
1 |
— |
| ▸ 2014–2015 |
Leicester City |
4 |
0 |
0 |
— |
|
Premier League |
3 |
0 |
0 |
— |
|
FA Cup |
1 |
0 |
0 |
— |
| ▸ 2014–2015 |
Rotherham United |
6 |
1 |
1 |
— |
|
Championship |
6 |
1 |
1 |
— |
| ▸ 2013–2014 |
Manchester United |
1 |
0 |
0 |
— |
|
Premier League |
1 |
0 |
0 |
— |
| ▸ 2013–2014 |
Yeovil Town |
19 |
2 |
0 |
— |
|
Championship |
19 |
2 |
0 |
— |
| ▸ 2013–2014 |
Carlisle United |
11 |
3 |
0 |
— |
|
League One |
9 |
3 |
0 |
— |
|
FA Cup |
2 |
0 |
0 |
— |
Rangers
| Competition | Won | Runner-up |
| League Cup ×1 |
2023/2024 |
2 |
Manchester United
| Competition | Won | Runner-up |
| International Champions Cup ×1 |
2014 |
— |
| Community Shield ×1 |
2013/2014 |
— |