Age 24
Height 183 cm
Foot Left
Country Scotland
Value €310.7k
📈
Form
Rating per season, last 5 matches, and timeline all matches
Season
6.62
22 matches
Last 5
6.28
-0.34 vs season
Best
8.8
vs Barrow
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
22
Goals
3
Assists
4
Rating
6.62
Goals
4
72%
Assists
4
82%
Rating
6.62
55%
Matches
36
80%
Started
18
68%
Minutes
1637
69%
🎯
Stats compared to other attacking midfielders/wingers
League One · percentile vs peers
Chances created
42%
Aerial duels
25%
Defensive actions
50%
Goals
84%
Shot attempts
80%
Touches
32%
🎯
Shot Map
42 shots per season
Goals
4
On target
31
xG
2.50
Conversion
10%
Goal
Saved
Off target
🔥
Heatmap
925 touches this season
Attack
Touches
925
Attack
48%
Middle
32%
Ø position
60%
Detailed Stats & Percentiles (League One)
Shooting
| Stat | Total | Per 90 |
Percentile
avg 70%
|
Per 90 pctl
avg 58%
|
|---|---|---|---|---|
| Goals | 4 | 0.22 |
72
|
65
|
| xG | 2.48 | 0.14 |
60
|
39
|
| xGOT | 3.13 | 0.17 |
68
|
50
|
| xG excl. penalty | 2.48 | 0.14 |
60
|
39
|
| Shots | 42 | 2.31 |
78
|
76
|
| Shots on target | 16 | 0.88 |
79
|
80
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 72%
|
Per 90 pctl
avg 69%
|
|---|---|---|---|---|
| Assists | 4 | 0.22 |
82
|
85
|
| xA | 2.68 | 0.15 |
71
|
73
|
| Accurate passes | 304 | 16.71 |
65
|
43
|
| Pass accuracy | 76.4 | 76.38 |
65
|
65
|
| Accurate long balls | 13 | 0.71 |
64
|
52
|
| Long ball accuracy | 33.3 | 33.33 |
36
|
36
|
| Chances created | 25 | 1.37 |
73
|
72
|
| Big chances created | 6 | 0.33 |
80
|
82
|
| Successful crosses | 22 | 1.21 |
89
|
91
|
| Cross accuracy | 34.4 | 34.38 |
91
|
91
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 58%
|
Per 90 pctl
avg 50%
|
|---|---|---|---|---|
| Dribbles | 24 | 1.32 |
79
|
71
|
| Dribbles success rate | 50.0 | 50.00 |
73
|
73
|
| Duels won | 77 | 4.23 |
60
|
31
|
| Duels won % | 43.0 | 43.02 |
63
|
63
|
| Aerials won | 8 | 0.44 |
39
|
23
|
| Aerials won % | 25.0 | 25.00 |
31
|
31
|
| Touches | 782 | 42.99 |
63
|
40
|
| Touches in opposition box | 84 | 4.62 |
79
|
79
|
| Dispossessed | 26 | 1.43 |
30
|
55
|
| Fouls won | 19 | 1.04 |
60
|
33
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 37%
|
Per 90 pctl
avg 24%
|
|---|---|---|---|---|
| Defensive actions | 48 | 2.64 |
60
|
36
|
| Tackles | 26 | 1.43 |
64
|
51
|
| Interceptions | 7 | 0.38 |
56
|
39
|
| Fouls committed | 13 | 0.71 |
44
|
14
|
| Penalties conceded | 1 | 0.05 |
0
|
0
|
| Recoveries | 55 | 3.02 |
60
|
23
|
| Possession won final 3rd | 6 | 0.33 |
42
|
21
|
| Dribbled past | 18 | 0.99 |
15
|
20
|
| Clearances | 15 | 0.82 |
62
|
39
|
| Clean sheets | 0 | 0.00 |
0
|
0
|
| Goals conceded while on pitch | 31 | 1.70 |
18
|
19
|
| xG against while on pitch | 28.09 | 1.54 |
22
|
26
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 100%
|
Per 90 pctl
avg 100%
|
|---|---|---|---|---|
| Yellow cards | 0 | 0.00 |
100
|
100
|
| Red cards | 0 | 0.00 |
100
|
100
|
Shooting
| Stat | Total | Per 90 |
Percentile
avg 70%
|
Per 90 pctl
avg 58%
|
|---|---|---|---|---|
| Goals | 4 | 0.22 |
72
|
65
|
| xG | 2.48 | 0.14 |
60
|
39
|
| xGOT | 3.13 | 0.17 |
68
|
50
|
| xG excl. penalty | 2.48 | 0.14 |
60
|
39
|
| Shots | 42 | 2.31 |
78
|
76
|
| Shots on target | 16 | 0.88 |
79
|
80
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 72%
|
Per 90 pctl
avg 69%
|
|---|---|---|---|---|
| Assists | 4 | 0.22 |
82
|
85
|
| xA | 2.68 | 0.15 |
71
|
73
|
| Accurate passes | 304 | 16.71 |
65
|
43
|
| Pass accuracy | 76.4 | 76.38 |
65
|
65
|
| Accurate long balls | 13 | 0.71 |
64
|
52
|
| Long ball accuracy | 33.3 | 33.33 |
36
|
36
|
| Chances created | 25 | 1.37 |
73
|
72
|
| Big chances created | 6 | 0.33 |
80
|
82
|
| Successful crosses | 22 | 1.21 |
89
|
91
|
| Cross accuracy | 34.4 | 34.38 |
91
|
91
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 58%
|
Per 90 pctl
avg 50%
|
|---|---|---|---|---|
| Dribbles | 24 | 1.32 |
79
|
71
|
| Dribbles success rate | 50.0 | 50.00 |
73
|
73
|
| Duels won | 77 | 4.23 |
60
|
31
|
| Duels won % | 43.0 | 43.02 |
63
|
63
|
| Aerials won | 8 | 0.44 |
39
|
23
|
| Aerials won % | 25.0 | 25.00 |
31
|
31
|
| Touches | 782 | 42.99 |
63
|
40
|
| Touches in opposition box | 84 | 4.62 |
79
|
79
|
| Dispossessed | 26 | 1.43 |
30
|
55
|
| Fouls won | 19 | 1.04 |
60
|
33
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 37%
|
Per 90 pctl
avg 24%
|
|---|---|---|---|---|
| Defensive actions | 48 | 2.64 |
60
|
36
|
| Tackles | 26 | 1.43 |
64
|
51
|
| Interceptions | 7 | 0.38 |
56
|
39
|
| Fouls committed | 13 | 0.71 |
44
|
14
|
| Penalties conceded | 1 | 0.05 |
0
|
0
|
| Recoveries | 55 | 3.02 |
60
|
23
|
| Possession won final 3rd | 6 | 0.33 |
42
|
21
|
| Dribbled past | 18 | 0.99 |
15
|
20
|
| Clearances | 15 | 0.82 |
62
|
39
|
| Clean sheets | 0 | 0.00 |
0
|
0
|
| Goals conceded while on pitch | 31 | 1.70 |
18
|
19
|
| xG against while on pitch | 28.09 | 1.54 |
22
|
26
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 100%
|
Per 90 pctl
avg 100%
|
|---|---|---|---|---|
| Yellow cards | 0 | 0.00 |
100
|
100
|
| Red cards | 0 | 0.00 |
100
|
100
|
Recent Matches (45)
| Date | Opponent | Comp | Score | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|
| 2026-05-02 | vs Stockport County | League One | 1-3 | 8 | 0 | 0 | |
| 2026-04-28 | @ Northampton Town | League One | 0-1 | 18 | 0 | 0 | 6.3 |
| 2026-04-25 | @ Luton Town | League One | 2-1 | 14 | 0 | 0 | 6.5 |
| 2026-04-21 | @ Stevenage | League One | 1-0 | 45 | 0 | 0 | 6.1 |
| 2026-04-18 | vs Bradford City | League One | 2-2 | 61 | 0 | 0 | 6.3 |
| 2026-04-14 | @ Port Vale | League One | 0-0 | 68 | 0 | 0 | 6.2 |
| 2026-04-11 | @ Rotherham United | League One | 1-3 | 69 | 0 | 0 | 7.2 |
| 2026-04-06 | vs Plymouth Argyle | League One | 0-3 | 23 | 0 | 0 | 6.1 |
| 2026-04-03 | @ Burton Albion | League One | 1-1 | 63 | 0 | 0 | 6.0 |
| 2026-03-21 | vs Doncaster Rovers | League One | 0-1 | 45 | 0 | 0 | 6.6 |
| 2026-03-17 | vs Wigan Athletic | League One | 1-1 | 53 | 0 | 0 | 6.2 |
| 2026-03-14 | @ Mansfield Town | League One | 2-2 | 69 | 1 | 0 | 7.4 |
| 2026-03-10 | vs Cardiff City | League One | 1-1 | 65 | 1 | 0 | 7.7 |
| 2026-03-07 | vs Exeter City | League One | 2-1 | 18 | 0 | 0 | 6.4 |
| 2026-03-03 | vs Wycombe Wanderers | League One | 0-1 | 63 | 0 | 0 | 6.5 |
| 2026-02-28 | @ Leyton Orient | League One | 1-3 | 24 | 0 | 0 | 6.0 |
| 2026-02-21 | @ Huddersfield Town | League One | 2-1 | 80 | 0 | 0 | 6.4 |
| 2026-02-17 | vs Peterborough United | League One | 2-1 | 87 | 0 | 0 | 6.8 |
| 2026-02-14 | vs AFC Wimbledon | League One | 3-3 | 90 | 1 | 0 | 7.6 |
| 2026-02-07 | @ Bolton Wanderers | League One | 3-2 | 90 | 0 | 2 | 8.1 |
| 2026-02-03 | vs Northampton Town | League One | 2-2 | 90 | 0 | 1 | 8.1 ⭐ |
| 2026-01-31 | vs Stevenage | League One | 3-1 | 89 | 0 | 1 | 7.7 |
| 2026-01-17 | @ Barnsley | League One | 2-1 | 38 | 0 | 0 | 6.2 |
| 2026-01-10 | @ Ipswich Town | FA Cup | 2-1 | 13 | 0 | 0 | 6.8 |
| 2026-01-04 | vs Bradford City | League One | 1-2 | 66 | 0 | 0 | 6.1 |
| 2026-01-01 | @ Port Vale | League One | 5-1 | 28 | 0 | 0 | 6.5 |
| 2025-12-29 | vs Rotherham United | League One | 4-0 | 25 | 0 | 0 | 6.3 |
| 2025-12-26 | vs Doncaster Rovers | League One | 1-0 | 17 | 0 | 0 | 6.2 |
| 2025-12-20 | @ Wigan Athletic | League One | 0-2 | 0 | 0 | 0 | |
| 2025-12-13 | vs Lincoln City | League One | 2-2 | 16 | 0 | 0 | 6.0 |
| 2025-12-10 | @ Rotherham United | League One | 0-3 | 0 | 0 | 0 | |
| 2025-12-07 | vs Carlisle United | FA Cup | 4-1 | 57 | 1 | 1 | 8.6 |
| 2025-12-02 | @ Harrogate Town | EFL Trophy | 4-2 | 90 | 0 | 0 | 7.0 |
| 2025-11-29 | vs Reading | League One | 0-3 | 9 | 0 | 0 | |
| 2025-11-22 | @ Leyton Orient | League One | 1-1 | 28 | 0 | 0 | 6.7 |
| 2025-11-15 | @ Burton Albion | League One | 1-0 | 21 | 0 | 0 | 6.7 |
| 2025-11-11 | @ Tranmere Rovers | EFL Trophy Northern Grp. B | 2-1 | 58 | 1 | 0 | 7.4 |
| 2025-11-08 | vs Cardiff City | League One | 3-1 | 2 | 0 | 0 | |
| 2025-11-01 | vs Scunthorpe United | FA Cup | 1-0 | 45 | 0 | 0 | |
| 2025-10-25 | @ Peterborough United | League One | 1-2 | 15 | 1 | 0 | 7.1 |
Career
| Season | Team | Type | Apps | G | A | Rating |
|---|---|---|---|---|---|---|
| 2025/2026 | Barnsley | senior | 22 | 3 | 4 | 6.62 |
| 2025/2026 | Blackpool | senior | 20 | 5 | 1 | 6.95 |
| 2024/2025 | St. Pauli | senior | 12 | 0 | 0 | 6.14 |
| 2023/2024 | St. Pauli | senior | 4 | 0 | 1 | 6.56 |
| 2022/2023 | Bradford City | senior | 36 | 6 | 6 | 7.01 |
| 2020/2021 | Dunfermline Athletic | senior | 13 | 0 | 1 | - |
| 2019/2020 | Alloa Athletic | senior | 4 | 0 | 0 | - |
| 2019/2020 | Dundee United | senior | 4 | 0 | 1 | - |
| 2018/2019 | Clyde | senior | 15 | 1 | 0 | - |
| 2023 | Crystal Palace U21 | youth | 3 | 1 | 0 | - |
| 2022/2023 | Crystal Palace U21 | youth | 1 | 1 | 0 | - |
| 2021/2022 | Crystal Palace U21 | youth | 2 | 0 | 0 | - |
| 2021/2022 | Crystal Palace U23 | youth | 17 | 10 | 4 | - |
| 2020/2021 | Crystal Palace U23 | youth | 11 | 4 | 2 | - |
| 2023 | Scotland U21 | national team | 5 | 0 | 0 | - |
Transfer Value History
Teammates
Owen Goodman
Marc Roberts
Jack Shepherd
Maël de Gevigney
Corey O'Keeffe
Adam Phillips
David McGoldrick
Eoghan O'Connell
Georgie Gent
Reyes Cleary
Charlie Lennon
Patrick Kelly
Tennai Watson
Jonathan Bland
Kieran Graham
Josh Earl
Robson Woodcock
Luke Alker
Vimal Yoganathan
Luca Connell
Kelechi Nwakali
Kieren Flavell
Trophies
St. Pauli
🏆
2. Bundesliga
x1
Barnsley