Age 26
Height 180 cm
Foot Right
Country Scotland
Value €291.7k
Contract 2026-06-30
📈
Form
Rating per season, last 5 matches, and timeline all matches
Season
6.53
50 matches
Last 5
6.24
-0.29 vs season
Best
8.1
vs Stevenage
MOTM
0
of 47 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
50
Goals
4
Assists
5
Rating
6.53
Goals
1
27%
Assists
4
82%
Rating
6.52
41%
Matches
44
96%
Started
25
80%
Minutes
2464
86%
🎯
Stats compared to other attacking midfielders/wingers
League One · percentile vs peers
Chances created
10%
Aerial duels
11%
Defensive actions
68%
Goals
25%
Shot attempts
30%
Touches
46%
🎯
Shot Map
37 shots per season
Goals
1
On target
31
xG
2.40
Conversion
3%
Goal
Saved
Off target
🔥
Heatmap
1593 touches this season
Attack
Touches
1593
Attack
35%
Middle
46%
Ø position
55%
Detailed Stats & Percentiles (League One)
Shooting
| Stat | Total | Per 90 |
Percentile
avg 53%
|
Per 90 pctl
avg 25%
|
|---|---|---|---|---|
| Goals | 1 | 0.04 |
27
|
28
|
| xG | 2.39 | 0.09 |
58
|
23
|
| xGOT | 2.01 | 0.07 |
50
|
27
|
| xG excl. penalty | 2.39 | 0.09 |
58
|
23
|
| Shots | 37 | 1.35 |
74
|
28
|
| Shots on target | 8 | 0.29 |
53
|
20
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 69%
|
Per 90 pctl
avg 55%
|
|---|---|---|---|---|
| Assists | 4 | 0.15 |
82
|
63
|
| xA | 3.22 | 0.12 |
84
|
57
|
| Accurate passes | 663 | 24.22 |
93
|
84
|
| Pass accuracy | 82.0 | 81.95 |
88
|
88
|
| Accurate long balls | 32 | 1.17 |
92
|
80
|
| Long ball accuracy | 45.7 | 45.71 |
69
|
69
|
| Chances created | 21 | 0.77 |
67
|
25
|
| Big chances created | 4 | 0.15 |
65
|
43
|
| Successful crosses | 2 | 0.07 |
27
|
19
|
| Cross accuracy | 6.7 | 6.67 |
19
|
19
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 62%
|
Per 90 pctl
avg 47%
|
|---|---|---|---|---|
| Dribbles | 28 | 1.02 |
81
|
53
|
| Dribbles success rate | 50.0 | 50.00 |
73
|
73
|
| Duels won | 141 | 5.15 |
86
|
53
|
| Duels won % | 42.9 | 42.86 |
62
|
62
|
| Aerials won | 7 | 0.26 |
35
|
15
|
| Aerials won % | 17.5 | 17.50 |
22
|
22
|
| Touches | 1319 | 48.18 |
90
|
64
|
| Touches in opposition box | 65 | 2.37 |
72
|
20
|
| Dispossessed | 62 | 2.26 |
1
|
13
|
| Fouls won | 68 | 2.48 |
98
|
93
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 57%
|
Per 90 pctl
avg 51%
|
|---|---|---|---|---|
| Defensive actions | 71 | 2.59 |
76
|
34
|
| Tackles | 38 | 1.39 |
83
|
50
|
| Interceptions | 13 | 0.47 |
79
|
53
|
| Blocked scoring attempt | 3 | 0.11 |
71
|
55
|
| Fouls committed | 53 | 1.94 |
94
|
81
|
| Penalties conceded | 1 | 0.04 |
0
|
1
|
| Recoveries | 146 | 5.33 |
96
|
94
|
| Possession won final 3rd | 21 | 0.77 |
92
|
80
|
| Dribbled past | 16 | 0.58 |
21
|
58
|
| Clearances | 17 | 0.62 |
63
|
26
|
| Clean sheets | 1 | 0.04 |
55
|
56
|
| Goals conceded while on pitch | 41 | 1.50 |
7
|
33
|
| xG against while on pitch | 39.11 | 1.43 |
8
|
39
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 55%
|
Per 90 pctl
avg 71%
|
|---|---|---|---|---|
| Yellow cards | 5 | 0.18 |
11
|
42
|
| Red cards | 0 | 0.00 |
100
|
100
|
Shooting
| Stat | Total | Per 90 |
Percentile
avg 53%
|
Per 90 pctl
avg 25%
|
|---|---|---|---|---|
| Goals | 1 | 0.04 |
27
|
28
|
| xG | 2.39 | 0.09 |
58
|
23
|
| xGOT | 2.01 | 0.07 |
50
|
27
|
| xG excl. penalty | 2.39 | 0.09 |
58
|
23
|
| Shots | 37 | 1.35 |
74
|
28
|
| Shots on target | 8 | 0.29 |
53
|
20
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 69%
|
Per 90 pctl
avg 55%
|
|---|---|---|---|---|
| Assists | 4 | 0.15 |
82
|
63
|
| xA | 3.22 | 0.12 |
84
|
57
|
| Accurate passes | 663 | 24.22 |
93
|
84
|
| Pass accuracy | 82.0 | 81.95 |
88
|
88
|
| Accurate long balls | 32 | 1.17 |
92
|
80
|
| Long ball accuracy | 45.7 | 45.71 |
69
|
69
|
| Chances created | 21 | 0.77 |
67
|
25
|
| Big chances created | 4 | 0.15 |
65
|
43
|
| Successful crosses | 2 | 0.07 |
27
|
19
|
| Cross accuracy | 6.7 | 6.67 |
19
|
19
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 62%
|
Per 90 pctl
avg 47%
|
|---|---|---|---|---|
| Dribbles | 28 | 1.02 |
81
|
53
|
| Dribbles success rate | 50.0 | 50.00 |
73
|
73
|
| Duels won | 141 | 5.15 |
86
|
53
|
| Duels won % | 42.9 | 42.86 |
62
|
62
|
| Aerials won | 7 | 0.26 |
35
|
15
|
| Aerials won % | 17.5 | 17.50 |
22
|
22
|
| Touches | 1319 | 48.18 |
90
|
64
|
| Touches in opposition box | 65 | 2.37 |
72
|
20
|
| Dispossessed | 62 | 2.26 |
1
|
13
|
| Fouls won | 68 | 2.48 |
98
|
93
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 57%
|
Per 90 pctl
avg 51%
|
|---|---|---|---|---|
| Defensive actions | 71 | 2.59 |
76
|
34
|
| Tackles | 38 | 1.39 |
83
|
50
|
| Interceptions | 13 | 0.47 |
79
|
53
|
| Blocked scoring attempt | 3 | 0.11 |
71
|
55
|
| Fouls committed | 53 | 1.94 |
94
|
81
|
| Penalties conceded | 1 | 0.04 |
0
|
1
|
| Recoveries | 146 | 5.33 |
96
|
94
|
| Possession won final 3rd | 21 | 0.77 |
92
|
80
|
| Dribbled past | 16 | 0.58 |
21
|
58
|
| Clearances | 17 | 0.62 |
63
|
26
|
| Clean sheets | 1 | 0.04 |
55
|
56
|
| Goals conceded while on pitch | 41 | 1.50 |
7
|
33
|
| xG against while on pitch | 39.11 | 1.43 |
8
|
39
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 55%
|
Per 90 pctl
avg 71%
|
|---|---|---|---|---|
| Yellow cards | 5 | 0.18 |
11
|
42
|
| Red cards | 0 | 0.00 |
100
|
100
|
Recent Matches (50)
| Date | Opponent | Comp | Score | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|
| 2026-05-02 | vs Bradford City | League One | 1-2 | 22 | 0 | 0 | 6.3 |
| 2026-04-25 | @ Burton Albion | League One | 1-1 | 45 | 0 | 0 | 6.4 |
| 2026-04-18 | vs Stockport County | League One | 3-3 | 15 | 0 | 0 | 6.3 |
| 2026-04-11 | @ Plymouth Argyle | League One | 2-2 | 13 | 0 | 0 | 5.8 |
| 2026-04-06 | vs Doncaster Rovers | League One | 3-0 | 16 | 0 | 0 | 6.4 |
| 2026-04-03 | @ Blackpool | League One | 1-0 | 87 | 0 | 0 | 6.6 |
| 2026-03-28 | vs Leyton Orient | League One | 0-0 | 10 | 0 | 0 | 6.1 |
| 2026-03-21 | @ Wigan Athletic | League One | 2-0 | 74 | 0 | 0 | 6.5 |
| 2026-03-17 | @ Luton Town | League One | 3-2 | 90 | 0 | 0 | 7.1 |
| 2026-03-14 | vs Cardiff City | League One | 0-4 | 28 | 0 | 0 | 6.0 |
| 2026-03-10 | vs Lincoln City | League One | 0-1 | 56 | 0 | 0 | 6.7 |
| 2026-03-07 | @ Barnsley | League One | 2-1 | 83 | 0 | 0 | 5.8 |
| 2026-03-03 | vs Burton Albion | League One | 1-1 | 90 | 0 | 0 | 7.2 |
| 2026-02-28 | vs Bolton Wanderers | League One | 1-5 | 90 | 0 | 0 | 6.6 |
| 2026-02-21 | @ Peterborough United | League One | 3-3 | 90 | 0 | 1 | 7.6 |
| 2026-02-17 | vs Wycombe Wanderers | League One | 1-1 | 90 | 0 | 0 | 7.6 |
| 2026-02-14 | vs Northampton Town | League One | 0-0 | 83 | 0 | 0 | 6.7 |
| 2026-02-07 | @ Mansfield Town | League One | 0-0 | 74 | 0 | 0 | 6.3 |
| 2026-01-31 | vs Rotherham United | League One | 0-4 | 33 | 0 | 0 | 5.5 |
| 2026-01-27 | @ Reading | League One | 2-2 | 32 | 0 | 0 | 6.1 |
| 2026-01-24 | @ Port Vale | League One | 1-3 | 82 | 0 | 1 | 7.5 |
| 2026-01-17 | vs Stevenage | League One | 3-0 | 18 | 0 | 2 | 8.1 |
| 2026-01-10 | @ Manchester City | FA Cup | 10-1 | 59 | 0 | 0 | 6.2 |
| 2026-01-04 | @ Huddersfield Town | League One | 2-2 | 20 | 0 | 0 | 6.3 |
| 2026-01-01 | vs Luton Town | League One | 1-0 | 88 | 0 | 0 | 7.2 |
| 2025-12-29 | @ AFC Wimbledon | League One | 0-1 | 26 | 0 | 0 | 6.4 |
| 2025-12-26 | @ Cardiff City | League One | 1-0 | 80 | 0 | 0 | 6.1 |
| 2025-12-20 | vs Barnsley | League One | 3-0 | 84 | 0 | 0 | 7.1 |
| 2025-12-13 | @ Bolton Wanderers | League One | 2-1 | 74 | 1 | 0 | 7.5 |
| 2025-12-09 | vs AFC Wimbledon | League One | 1-0 | 90 | 0 | 0 | 6.9 |
| 2025-12-06 | vs Wycombe Wanderers | FA Cup | 4-0 | 81 | 2 | 0 | |
| 2025-12-02 | @ Luton Town | EFL Trophy | 4-0 | 60 | 0 | 0 | 6.1 |
| 2025-11-29 | @ Bradford City | League One | 1-0 | 80 | 0 | 0 | 6.8 |
| 2025-11-15 | @ Leyton Orient | League One | 2-1 | 70 | 0 | 0 | 5.5 |
| 2025-11-11 | @ Newport County | EFL Trophy Southern Grp. A | 0-1 | 90 | 0 | 1 | 7.7 |
| 2025-11-08 | vs Wigan Athletic | League One | 1-1 | 45 | 0 | 0 | 6.2 |
| 2025-11-01 | @ FC Halifax Town | FA Cup | 0-2 | 16 | 0 | 0 | |
| 2025-10-28 | vs Arsenal U21 | EFL Trophy Southern Grp. A | 4-3 | 71 | 1 | 0 | 7.8 |
| 2025-10-23 | vs Plymouth Argyle | League One | 2-0 | 19 | 0 | 0 | 6.0 |
| 2025-10-18 | @ Stockport County | League One | 1-0 | 30 | 0 | 0 | 5.8 |
Career
| Season | Team | Type | Apps | G | A | Rating |
|---|---|---|---|---|---|---|
| 2025/2026 | Exeter City | senior | 50 | 4 | 5 | 6.53 |
| 2024/2025 | Exeter City | senior | 34 | 1 | 3 | 6.36 |
| 2023/2024 | Exeter City | senior | 41 | 4 | 2 | 6.57 |
| 2022/2023 | Motherwell | senior | 11 | 0 | 0 | 6.21 |
| 2022/2023 | Barnsley | senior | 23 | 3 | 0 | 6.38 |
| 2021/2022 | Forest Green Rovers | senior | 53 | 7 | 5 | 6.77 |
| 2020/2021 | Stevenage | senior | 27 | 1 | 0 | 6.32 |
| 2019/2020 | Forest Green Rovers | senior | 30 | 6 | 5 | 6.68 |
| 2018/2019 | Alloa Athletic | senior | 11 | 1 | 0 | - |
| 2018/2019 | Dumbarton | senior | 4 | 0 | 0 | - |
| 2016/2017 | Celtic | senior | 2 | 0 | 0 | - |
| 2015/2016 | Celtic | senior | 1 | 1 | 0 | - |
| 2025/2026 | Exeter City Under 21 | youth | 1 | 0 | 0 | - |
| 2019/2020 | Celtic U21 | youth | 2 | 1 | 1 | - |
| 2018/2019 | Celtic U21 | youth | 1 | 0 | 0 | - |
| 2017/2018 | Celtic FC Under 23 | youth | 2 | 0 | 0 | - |
| 2017/2018 | Celtic U20 | youth | 1 | 0 | 0 | - |
| 2016/2017 | Celtic U20 | youth | 3 | 2 | 0 | - |
| 2017/2018 | Celtic U19 | youth | 6 | 3 | 4 | - |
| 2016/2017 | Celtic U19 | youth | 6 | 2 | 0 | - |
| 2015/2016 | Celtic U19 | youth | 3 | 1 | 0 | - |
| 2019 | Scotland U19 | national team | 5 | 2 | 0 | - |
| 2018 | Scotland U19 | national team | 5 | 5 | 0 | - |
| 2017 | Scotland U17 | national team | 9 | 5 | 0 | - |
| 2016 | Scotland U17 | national team | 8 | 1 | 0 | - |
| 2015 | Scotland U17 | national team | 3 | 0 | 0 | - |
Transfer Value History
Teammates
Andrew Oluwabori
Kieran Wilson
Tom Dean
Jack McMillan
Ed Turns
Jack Fitzwater
Jayden Wareham
Reece Cole
Ilmari Niskanen
Johnly Yfeko
Sonny Cox
Luca Woodhouse
Danny Andrew
Jack Bycroft
Pierce Sweeney
Josh Magennis
Timur Tuterov
Kevin McDonald
Jake Doyle-Hayes
Frankie Phillips
Liam Oakes
Edward James
Pedro Borges
George Birch
Charlie Cummins
Trophies
Forest Green Rovers
🏆
League Two
x1
Celtic
🏆
Scottish Cup
x1
🏆
Premiership
x2
🏆
League Cup
x1
Exeter City