Age 29
Height 188 cm
Foot Right
Country Scotland
Value €2.9m
Contract 2028-06-30
📈
Form
Rating per season, last 5 matches, and timeline all matches
Season
7.15
42 matches
Last 5
7.54
+0.39 vs season
Best
9.2
vs Oxford United
MOTM
5
of 42 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
42
Goals
19
Assists
7
Rating
7.15
Goals
17
96%
Assists
7
97%
Rating
7.15
97%
Matches
37
63%
Started
32
84%
Minutes
2911
86%
🎯
Stats compared to other forwards
Championship · percentile vs peers
Chances created
74%
Aerial duels
89%
Defensive actions
96%
Goals
76%
Shot attempts
38%
Touches
73%
🎯
Shot Map
71 shots per season
Goals
17
On target
51
xG
12.16
Conversion
24%
Goal
Saved
Off target
🔥
Heatmap
1726 touches this season
Attack
Touches
1726
Attack
41%
Middle
45%
Ø position
60%
Detailed Stats & Percentiles (Championship)
Shooting
| Stat | Total | Per 90 |
Percentile
avg 91%
|
Per 90 pctl
avg 72%
|
|---|---|---|---|---|
| Goals | 17 | 0.53 |
96
|
86
|
| xG | 12.27 | 0.38 |
91
|
64
|
| xGOT | 15.50 | 0.48 |
96
|
78
|
| Penalty goals | 3 | 0.09 |
95
|
91
|
| xG excl. penalty | 9.91 | 0.31 |
83
|
51
|
| Shots | 71 | 2.20 |
83
|
51
|
| Shots on target | 38 | 1.17 |
100
|
78
|
| Headed shots | 25 | 0.77 |
89
|
76
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 75%
|
Per 90 pctl
avg 63%
|
|---|---|---|---|---|
| Assists | 7 | 0.22 |
97
|
90
|
| xA | 2.25 | 0.07 |
80
|
58
|
| Accurate passes | 421 | 13.02 |
89
|
66
|
| Pass accuracy | 63.2 | 63.21 |
25
|
25
|
| Accurate long balls | 17 | 0.53 |
92
|
77
|
| Long ball accuracy | 42.5 | 42.50 |
39
|
39
|
| Chances created | 39 | 1.21 |
94
|
85
|
| Big chances created | 6 | 0.19 |
85
|
65
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 71%
|
Per 90 pctl
avg 62%
|
|---|---|---|---|---|
| Dribbles | 15 | 0.46 |
78
|
46
|
| Dribbles success rate | 30.6 | 30.61 |
27
|
27
|
| Duels won | 229 | 7.08 |
95
|
88
|
| Duels won % | 39.2 | 39.21 |
65
|
65
|
| Aerials won | 148 | 4.58 |
92
|
80
|
| Aerials won % | 40.4 | 40.44 |
70
|
70
|
| Touches | 1210 | 37.41 |
90
|
75
|
| Touches in opposition box | 138 | 4.27 |
88
|
47
|
| Dispossessed | 40 | 1.24 |
15
|
55
|
| Fouls won | 39 | 1.21 |
88
|
64
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 68%
|
Per 90 pctl
avg 59%
|
|---|---|---|---|---|
| Defensive actions | 134 | 4.14 |
100
|
97
|
| Tackles | 30 | 0.93 |
94
|
72
|
| Interceptions | 8 | 0.25 |
82
|
60
|
| Blocked scoring attempt | 12 | 0.37 |
100
|
95
|
| Fouls committed | 52 | 1.61 |
90
|
60
|
| Recoveries | 71 | 2.20 |
86
|
47
|
| Possession won final 3rd | 14 | 0.43 |
73
|
29
|
| Dribbled past | 15 | 0.46 |
4
|
26
|
| Clearances | 84 | 2.60 |
100
|
100
|
| Clean sheets | 3 | 0.09 |
84
|
77
|
| Goals conceded while on pitch | 47 | 1.45 |
3
|
28
|
| xG against while on pitch | 54.26 | 1.68 |
1
|
15
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 50%
|
Per 90 pctl
avg 60%
|
|---|---|---|---|---|
| Yellow cards | 8 | 0.25 |
0
|
21
|
| Red cards | 0 | 0.00 |
100
|
100
|
Shooting
| Stat | Total | Per 90 |
Percentile
avg 91%
|
Per 90 pctl
avg 72%
|
|---|---|---|---|---|
| Goals | 17 | 0.53 |
96
|
86
|
| xG | 12.27 | 0.38 |
91
|
64
|
| xGOT | 15.50 | 0.48 |
96
|
78
|
| Penalty goals | 3 | 0.09 |
95
|
91
|
| xG excl. penalty | 9.91 | 0.31 |
83
|
51
|
| Shots | 71 | 2.20 |
83
|
51
|
| Shots on target | 38 | 1.17 |
100
|
78
|
| Headed shots | 25 | 0.77 |
89
|
76
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 75%
|
Per 90 pctl
avg 63%
|
|---|---|---|---|---|
| Assists | 7 | 0.22 |
97
|
90
|
| xA | 2.25 | 0.07 |
80
|
58
|
| Accurate passes | 421 | 13.02 |
89
|
66
|
| Pass accuracy | 63.2 | 63.21 |
25
|
25
|
| Accurate long balls | 17 | 0.53 |
92
|
77
|
| Long ball accuracy | 42.5 | 42.50 |
39
|
39
|
| Chances created | 39 | 1.21 |
94
|
85
|
| Big chances created | 6 | 0.19 |
85
|
65
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 71%
|
Per 90 pctl
avg 62%
|
|---|---|---|---|---|
| Dribbles | 15 | 0.46 |
78
|
46
|
| Dribbles success rate | 30.6 | 30.61 |
27
|
27
|
| Duels won | 229 | 7.08 |
95
|
88
|
| Duels won % | 39.2 | 39.21 |
65
|
65
|
| Aerials won | 148 | 4.58 |
92
|
80
|
| Aerials won % | 40.4 | 40.44 |
70
|
70
|
| Touches | 1210 | 37.41 |
90
|
75
|
| Touches in opposition box | 138 | 4.27 |
88
|
47
|
| Dispossessed | 40 | 1.24 |
15
|
55
|
| Fouls won | 39 | 1.21 |
88
|
64
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 68%
|
Per 90 pctl
avg 59%
|
|---|---|---|---|---|
| Defensive actions | 134 | 4.14 |
100
|
97
|
| Tackles | 30 | 0.93 |
94
|
72
|
| Interceptions | 8 | 0.25 |
82
|
60
|
| Blocked scoring attempt | 12 | 0.37 |
100
|
95
|
| Fouls committed | 52 | 1.61 |
90
|
60
|
| Recoveries | 71 | 2.20 |
86
|
47
|
| Possession won final 3rd | 14 | 0.43 |
73
|
29
|
| Dribbled past | 15 | 0.46 |
4
|
26
|
| Clearances | 84 | 2.60 |
100
|
100
|
| Clean sheets | 3 | 0.09 |
84
|
77
|
| Goals conceded while on pitch | 47 | 1.45 |
3
|
28
|
| xG against while on pitch | 54.26 | 1.68 |
1
|
15
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 50%
|
Per 90 pctl
avg 60%
|
|---|---|---|---|---|
| Yellow cards | 8 | 0.25 |
0
|
21
|
| Red cards | 0 | 0.00 |
100
|
100
|
Recent Matches (43)
| Date | Opponent | Comp | Score | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|
| 2026-05-23 | vs Middlesbrough | Championship Playoff | 1-0 | 90 | 1 | 0 | 8.0 |
| 2026-05-11 | @ Millwall | Championship Playoff | 0-2 | 84 | 0 | 0 | 7.5 |
| 2026-05-08 | vs Millwall | Championship Playoff | 0-0 | 90 | 0 | 0 | 6.2 |
| 2026-05-02 | vs Norwich City | Championship | 2-1 | 90 | 2 | 0 | 9.1 ⭐ |
| 2026-04-25 | @ Charlton Athletic | Championship | 2-1 | 90 | 0 | 0 | 6.9 |
| 2026-04-21 | @ Leicester City | Championship | 2-2 | 90 | 1 | 0 | 7.0 |
| 2026-04-18 | vs Birmingham City | Championship | 1-1 | 90 | 0 | 0 | 6.3 |
| 2026-04-11 | @ Sheffield United | Championship | 2-1 | 87 | 1 | 0 | 7.5 |
| 2026-04-06 | vs Coventry City | Championship | 0-0 | 90 | 0 | 0 | 6.7 |
| 2026-04-03 | @ Oxford United | Championship | 1-1 | 90 | 0 | 0 | 6.6 |
| 2026-03-21 | vs Sheffield Wednesday | Championship | 3-1 | 90 | 0 | 1 | 7.8 |
| 2026-03-14 | @ West Bromwich Albion | Championship | 3-0 | 90 | 0 | 0 | 6.5 |
| 2026-03-10 | @ Wrexham | Championship | 1-2 | 69 | 0 | 0 | 7.1 |
| 2026-03-07 | vs Millwall | Championship | 1-3 | 90 | 0 | 0 | 6.2 |
| 2026-03-03 | @ Ipswich Town | Championship | 1-0 | 45 | 0 | 0 | 6.3 |
| 2026-02-28 | @ Portsmouth | Championship | 0-1 | 90 | 0 | 0 | 6.8 |
| 2026-02-24 | vs Derby County | Championship | 4-2 | 89 | 1 | 1 | 8.6 ⭐ |
| 2026-02-21 | vs Queens Park Rangers | Championship | 1-3 | 90 | 0 | 0 | 6.2 |
| 2026-02-07 | vs Bristol City | Championship | 2-3 | 90 | 1 | 0 | 7.3 |
| 2026-02-03 | vs Watford | Championship | 0-0 | 90 | 0 | 0 | 6.1 |
| 2026-01-31 | @ Blackburn Rovers | Championship | 0-1 | 77 | 0 | 0 | 6.7 |
| 2026-01-24 | vs Swansea City | Championship | 2-1 | 72 | 1 | 0 | 7.6 |
| 2026-01-20 | @ Preston North End | Championship | 0-3 | 81 | 1 | 1 | 8.4 |
| 2026-01-17 | @ Southampton | Championship | 1-2 | 90 | 0 | 1 | 7.7 |
| 2026-01-11 | vs Blackburn Rovers | FA Cup | 0-0 | 120 | 0 | 0 | 6.7 |
| 2026-01-01 | vs Stoke City | Championship | 0-1 | 90 | 0 | 0 | 6.2 |
| 2025-12-29 | @ Middlesbrough | Championship | 0-1 | 15 | 0 | 0 | 6.7 |
| 2025-12-26 | @ Sheffield Wednesday | Championship | 2-2 | 90 | 0 | 0 | 6.2 |
| 2025-12-20 | vs West Bromwich Albion | Championship | 1-0 | 85 | 1 | 0 | 7.6 |
| 2025-12-13 | @ Millwall | Championship | 1-3 | 24 | 1 | 0 | 7.0 |
| 2025-12-10 | vs Wrexham | Championship | 2-0 | 27 | 1 | 0 | 7.4 |
| 2025-12-05 | vs Middlesbrough | Championship | 1-4 | 0 | 0 | 0 | |
| 2025-10-18 | @ Birmingham City | Championship | 2-3 | 70 | 0 | 0 | 6.3 |
| 2025-10-04 | vs Sheffield United | Championship | 1-0 | 82 | 0 | 0 | 7.4 |
| 2025-09-30 | vs Preston North End | Championship | 2-2 | 90 | 2 | 0 | 8.5 ⭐ |
| 2025-09-27 | @ Watford | Championship | 2-1 | 90 | 1 | 0 | 8.0 |
| 2025-09-20 | vs Southampton | Championship | 3-1 | 90 | 1 | 1 | 8.1 ⭐ |
| 2025-09-13 | @ Swansea City | Championship | 2-2 | 90 | 1 | 0 | 7.5 |
| 2025-08-30 | @ Bristol City | Championship | 4-2 | 90 | 0 | 0 | 6.3 |
| 2025-08-23 | vs Blackburn Rovers | Championship | 0-3 | 90 | 0 | 0 | 6.7 |
Career
| Season | Team | Type | Apps | G | A | Rating |
|---|---|---|---|---|---|---|
| 2025/2026 | Hull City | senior | 42 | 19 | 7 | 7.15 |
| 2024/2025 | Las Palmas | senior | 35 | 5 | 6 | 6.67 |
| 2023/2024 | Sheffield United | senior | 23 | 6 | 3 | 6.74 |
| 2022/2023 | Sheffield United | senior | 41 | 15 | 2 | 7.02 |
| 2021/2022 | Sheffield United | senior | 30 | 1 | 2 | 6.37 |
| 2020/2021 | Sheffield United | senior | 25 | 1 | 0 | 6.35 |
| 2019/2020 | Sheffield United | senior | 40 | 6 | 0 | 6.42 |
| 2018/2019 | Swansea City | senior | 44 | 24 | 4 | 6.97 |
| 2017/2018 | Barnsley | senior | 17 | 9 | 0 | 7.06 |
| 2017/2018 | Swansea City | senior | 12 | 0 | 1 | 5.97 |
| 2016/2017 | Swansea City | senior | 6 | 2 | 1 | 5.92 |
| 2015/2016 | Bristol Rovers | senior | 5 | 0 | 1 | - |
| 2015/2016 | Newport County | senior | 3 | 3 | 0 | - |
| 2014/2015 | Chester FC | senior | 14 | 5 | 0 | - |
| 2014/2015 | Bradford City | senior | 11 | 0 | 0 | - |
| 2013/2014 | Bradford City | senior | 9 | 0 | 0 | - |
| 2017/2018 | Swansea City U23 | youth | 9 | 11 | 3 | - |
| 2016/2017 | Swansea City U23 | youth | 18 | 18 | 2 | - |
| 2022 | Scotland | national team | 1 | 0 | 0 | 6.34 |
| 2020 | Scotland | national team | 9 | 0 | 0 | - |
| 2018 | Scotland | national team | 6 | 0 | 0 | - |
| 2019 | Scotland U21 | national team | 4 | 1 | 0 | - |
| 2017 | Scotland U21 | national team | 7 | 1 | 0 | - |
| 2015 | Scotland U19 | national team | 3 | 1 | 0 | - |
Transfer Value History
Teammates
Ivor Pandur
Lewie Coyle
Ryan Giles
Charlie Hughes
John Lundstram
Semi Ajayi
Liam Millar
Eliot Matazo
Mohamed Belloumi
Babajide David
Dillon Phillips
Yu Hirakawa
John Egan
Matty Jacob
Cody Drameh
Amir Hadziahmetovic
Joe Gelhardt
Kyle Joseph
Akin Famewo
Darko Gyabi
Matt Crooks
Kieran Dowell
Regan Slater
Brandon Williams
James Debayo
Toby Collyer
Lewis Koumas
Paddy McNair
Rocco Coyle
Cathal McCarthy
Trophies
Swansea City U23
🏆
Premier League Cup
x1
🏆
Premier League 2 Div 2
x1
Hull City