Age 28
Height 190 cm
Foot Right
Country Scotland
Value €2m
Contract 2027-06-30
📈
Form
Rating per season, last 5 matches, and timeline all matches
Season
6.87
41 matches
Last 5
6.26
-0.61 vs season
Best
8.9
vs Sheffield United
MOTM
2
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
41
Goals
3
Assists
6
Rating
6.87
Goals
3
89%
Assists
6
93%
Rating
6.89
54%
Matches
39
80%
Started
34
82%
Minutes
2843
77%
🎯
Stats compared to other fullbacks
Championship · percentile vs peers
Chances created
63%
Aerial duels
99%
Defensive actions
75%
Goals
78%
Shot attempts
92%
Touches
21%
🎯
Shot Map
43 shots per season
Goals
3
On target
27
xG
2.66
Conversion
7%
Goal
Saved
Off target
🔥
Heatmap
2126 touches this season
Attack
Touches
2126
Attack
31%
Middle
42%
Ø position
51%
Detailed Stats & Percentiles (Championship)
Shooting
| Stat | Total | Per 90 |
Percentile
avg 94%
|
Per 90 pctl
avg 88%
|
|---|---|---|---|---|
| Goals | 3 | 0.09 |
89
|
85
|
| xG | 2.60 | 0.08 |
91
|
82
|
| xGOT | 3.43 | 0.11 |
94
|
91
|
| xG excl. penalty | 2.60 | 0.08 |
91
|
82
|
| Shots | 43 | 1.36 |
95
|
89
|
| Shots on target | 14 | 0.44 |
100
|
93
|
| Headed shots | 12 | 0.38 |
97
|
94
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 65%
|
Per 90 pctl
avg 47%
|
|---|---|---|---|---|
| Assists | 6 | 0.19 |
93
|
83
|
| xA | 2.98 | 0.09 |
74
|
51
|
| Accurate passes | 681 | 21.56 |
67
|
22
|
| Pass accuracy | 72.6 | 72.60 |
21
|
21
|
| Accurate long balls | 19 | 0.60 |
46
|
10
|
| Long ball accuracy | 27.5 | 27.54 |
22
|
22
|
| Chances created | 30 | 0.95 |
77
|
48
|
| Big chances created | 8 | 0.25 |
85
|
72
|
| Successful crosses | 22 | 0.70 |
75
|
56
|
| Cross accuracy | 31.0 | 30.99 |
87
|
87
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 67%
|
Per 90 pctl
avg 58%
|
|---|---|---|---|---|
| Dribbles | 23 | 0.73 |
92
|
70
|
| Dribbles success rate | 42.6 | 42.59 |
40
|
40
|
| Duels won | 233 | 7.38 |
97
|
91
|
| Duels won % | 50.0 | 50.00 |
26
|
26
|
| Aerials won | 106 | 3.36 |
98
|
94
|
| Aerials won % | 54.1 | 54.08 |
59
|
59
|
| Touches | 1677 | 53.09 |
70
|
23
|
| Touches in opposition box | 94 | 2.98 |
97
|
90
|
| Dispossessed | 29 | 0.92 |
4
|
18
|
| Fouls won | 36 | 1.14 |
88
|
74
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 57%
|
Per 90 pctl
avg 46%
|
|---|---|---|---|---|
| Defensive actions | 191 | 6.05 |
76
|
46
|
| Tackles | 68 | 2.15 |
86
|
64
|
| Interceptions | 28 | 0.89 |
70
|
40
|
| Blocked scoring attempt | 8 | 0.25 |
66
|
43
|
| Fouls committed | 59 | 1.87 |
100
|
94
|
| Penalties conceded | 1 | 0.03 |
0
|
7
|
| Recoveries | 117 | 3.70 |
75
|
41
|
| Possession won final 3rd | 8 | 0.25 |
83
|
64
|
| Dribbled past | 28 | 0.89 |
3
|
17
|
| Clearances | 87 | 2.75 |
76
|
41
|
| Clean sheets | 6 | 0.19 |
76
|
70
|
| Goals conceded while on pitch | 42 | 1.33 |
14
|
41
|
| xG against while on pitch | 43.48 | 1.38 |
10
|
35
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 61%
|
Per 90 pctl
avg 74%
|
|---|---|---|---|---|
| Yellow cards | 5 | 0.16 |
23
|
49
|
| Red cards | 0 | 0.00 |
100
|
100
|
Shooting
| Stat | Total | Per 90 |
Percentile
avg 94%
|
Per 90 pctl
avg 88%
|
|---|---|---|---|---|
| Goals | 3 | 0.09 |
89
|
85
|
| xG | 2.60 | 0.08 |
91
|
82
|
| xGOT | 3.43 | 0.11 |
94
|
91
|
| xG excl. penalty | 2.60 | 0.08 |
91
|
82
|
| Shots | 43 | 1.36 |
95
|
89
|
| Shots on target | 14 | 0.44 |
100
|
93
|
| Headed shots | 12 | 0.38 |
97
|
94
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 65%
|
Per 90 pctl
avg 47%
|
|---|---|---|---|---|
| Assists | 6 | 0.19 |
93
|
83
|
| xA | 2.98 | 0.09 |
74
|
51
|
| Accurate passes | 681 | 21.56 |
67
|
22
|
| Pass accuracy | 72.6 | 72.60 |
21
|
21
|
| Accurate long balls | 19 | 0.60 |
46
|
10
|
| Long ball accuracy | 27.5 | 27.54 |
22
|
22
|
| Chances created | 30 | 0.95 |
77
|
48
|
| Big chances created | 8 | 0.25 |
85
|
72
|
| Successful crosses | 22 | 0.70 |
75
|
56
|
| Cross accuracy | 31.0 | 30.99 |
87
|
87
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 67%
|
Per 90 pctl
avg 58%
|
|---|---|---|---|---|
| Dribbles | 23 | 0.73 |
92
|
70
|
| Dribbles success rate | 42.6 | 42.59 |
40
|
40
|
| Duels won | 233 | 7.38 |
97
|
91
|
| Duels won % | 50.0 | 50.00 |
26
|
26
|
| Aerials won | 106 | 3.36 |
98
|
94
|
| Aerials won % | 54.1 | 54.08 |
59
|
59
|
| Touches | 1677 | 53.09 |
70
|
23
|
| Touches in opposition box | 94 | 2.98 |
97
|
90
|
| Dispossessed | 29 | 0.92 |
4
|
18
|
| Fouls won | 36 | 1.14 |
88
|
74
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 57%
|
Per 90 pctl
avg 46%
|
|---|---|---|---|---|
| Defensive actions | 191 | 6.05 |
76
|
46
|
| Tackles | 68 | 2.15 |
86
|
64
|
| Interceptions | 28 | 0.89 |
70
|
40
|
| Blocked scoring attempt | 8 | 0.25 |
66
|
43
|
| Fouls committed | 59 | 1.87 |
100
|
94
|
| Penalties conceded | 1 | 0.03 |
0
|
7
|
| Recoveries | 117 | 3.70 |
75
|
41
|
| Possession won final 3rd | 8 | 0.25 |
83
|
64
|
| Dribbled past | 28 | 0.89 |
3
|
17
|
| Clearances | 87 | 2.75 |
76
|
41
|
| Clean sheets | 6 | 0.19 |
76
|
70
|
| Goals conceded while on pitch | 42 | 1.33 |
14
|
41
|
| xG against while on pitch | 43.48 | 1.38 |
10
|
35
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 61%
|
Per 90 pctl
avg 74%
|
|---|---|---|---|---|
| Yellow cards | 5 | 0.16 |
23
|
49
|
| Red cards | 0 | 0.00 |
100
|
100
|
Recent Matches (44)
| Date | Opponent | Comp | Score | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|
| 2026-05-02 | vs Stoke City | Championship | 2-0 | 90 | 0 | 0 | 7.4 |
| 2026-04-25 | @ Birmingham City | Championship | 2-1 | 90 | 0 | 0 | 6.5 |
| 2026-04-21 | @ Southampton | Championship | 2-2 | 90 | 0 | 0 | 5.9 |
| 2026-04-18 | vs Norwich City | Championship | 2-4 | 87 | 0 | 0 | 5.0 |
| 2026-04-11 | @ Queens Park Rangers | Championship | 0-0 | 14 | 0 | 0 | 6.5 |
| 2026-04-03 | @ Charlton Athletic | Championship | 1-2 | 45 | 0 | 0 | 6.9 |
| 2026-03-31 | @ Ivory Coast | Friendlies | 1-0 | 62 | 0 | 0 | 6.3 |
| 2026-03-28 | vs Japan | Friendlies | 0-1 | 0 | 0 | 0 | |
| 2026-03-21 | vs West Bromwich Albion | Championship | 0-1 | 90 | 0 | 0 | 7.2 |
| 2026-03-14 | @ Middlesbrough | Championship | 1-1 | 90 | 0 | 0 | 6.6 |
| 2026-03-10 | @ Leicester City | Championship | 2-0 | 60 | 0 | 0 | 6.0 |
| 2026-03-03 | @ Port Vale | FA Cup | 1-0 | 45 | 0 | 0 | 7.1 |
| 2026-02-27 | vs Watford | Championship | 1-2 | 84 | 0 | 0 | 5.5 |
| 2026-02-07 | @ Hull City | Championship | 2-3 | 71 | 1 | 0 | 7.7 |
| 2026-01-30 | vs Derby County | Championship | 0-5 | 90 | 0 | 0 | 6.6 |
| 2026-01-24 | vs Sheffield Wednesday | Championship | 2-0 | 90 | 0 | 1 | 7.7 |
| 2026-01-04 | vs Preston North End | Championship | 0-2 | 89 | 0 | 0 | 6.0 |
| 2026-01-01 | vs Portsmouth | Championship | 5-0 | 56 | 0 | 0 | 7.1 |
| 2025-12-29 | @ Millwall | Championship | 2-1 | 90 | 0 | 1 | 7.9 ⭐ |
| 2025-12-26 | @ West Bromwich Albion | Championship | 1-2 | 76 | 1 | 0 | 7.9 ⭐ |
| 2025-12-20 | vs Middlesbrough | Championship | 2-0 | 90 | 0 | 0 | 8.0 |
| 2025-12-13 | @ Coventry City | Championship | 1-0 | 90 | 0 | 0 | 6.9 |
| 2025-12-10 | vs Leicester City | Championship | 2-2 | 90 | 0 | 1 | 7.5 |
| 2025-12-06 | vs Millwall | Championship | 0-1 | 26 | 0 | 0 | 6.6 |
| 2025-11-29 | @ Portsmouth | Championship | 0-1 | 90 | 0 | 0 | 7.2 |
| 2025-11-26 | @ Wrexham | Championship | 2-0 | 79 | 0 | 0 | 5.9 |
| 2025-11-22 | vs Swansea City | Championship | 3-0 | 58 | 0 | 0 | 6.7 |
| 2025-11-07 | @ Watford | Championship | 1-1 | 57 | 0 | 0 | 6.1 |
| 2025-11-04 | vs Blackburn Rovers | Championship | 0-1 | 90 | 0 | 0 | 6.5 |
| 2025-11-01 | @ Stoke City | Championship | 5-1 | 41 | 0 | 0 | 6.7 |
| 2025-10-25 | vs Birmingham City | Championship | 1-0 | 45 | 0 | 0 | 7.1 |
| 2025-10-21 | vs Southampton | Championship | 3-1 | 18 | 0 | 0 | 6.3 |
| 2025-10-18 | @ Norwich City | Championship | 0-1 | 68 | 0 | 0 | 7.0 |
| 2025-10-04 | vs Queens Park Rangers | Championship | 1-2 | 35 | 0 | 0 | 6.5 |
| 2025-09-30 | vs Ipswich Town | Championship | 1-1 | 57 | 0 | 0 | 6.7 |
| 2025-09-27 | @ Preston North End | Championship | 0-0 | 90 | 0 | 0 | 8.0 |
| 2025-09-21 | vs Oxford United | Championship | 1-3 | 71 | 0 | 0 | 6.5 |
| 2025-09-13 | @ Sheffield Wednesday | Championship | 0-3 | 86 | 0 | 0 | 7.2 |
| 2025-08-30 | vs Hull City | Championship | 4-2 | 90 | 0 | 2 | 8.6 |
| 2025-08-27 | @ Fulham | EFL Cup | 2-0 | 45 | 0 | 0 | 6.2 |
Career
| Season | Team | Type | Apps | G | A | Rating |
|---|---|---|---|---|---|---|
| 2025/2026 | Bristol City | senior | 41 | 3 | 6 | 6.87 |
| 2024/2025 | Bristol City | senior | 26 | 5 | 0 | 6.85 |
| 2023/2024 | Bristol City | senior | 22 | 0 | 1 | 6.60 |
| 2022/2023 | Aberdeen | senior | 41 | 5 | 1 | 6.85 |
| 2021/2022 | Aberdeen | senior | 39 | 1 | 2 | 6.93 |
| 2020/2021 | Aberdeen | senior | 34 | 2 | 0 | 6.79 |
| 2019/2020 | Aberdeen | senior | 1 | 0 | 0 | - |
| 2019/2020 | Portsmouth | senior | 23 | 0 | 5 | 6.37 |
| 2018/2019 | Rangers | senior | 31 | 0 | 0 | 6.22 |
| 2017/2018 | Rangers | senior | 24 | 2 | 0 | - |
| 2016/2017 | Dumbarton | senior | 9 | 0 | 1 | - |
| 2015/2016 | Ayr United | senior | 15 | 2 | 0 | - |
| 2017/2018 | Rangers FC U20 | youth | 1 | 0 | 0 | - |
| 2016/2017 | Rangers FC U20 | youth | 2 | 0 | 0 | - |
| 2026 | Scotland | national team | 1 | 0 | 0 | 6.28 |
| 2024 | Scotland | national team | 1 | 0 | 0 | 7.57 |
| 2021 | Scotland U21 | national team | 8 | 1 | 0 | - |
| 2019 | Scotland U21 | national team | 8 | 0 | 0 | - |
| 2017 | Scotland U21 | national team | 1 | 0 | 0 | - |
| 2017 | Scotland U19 | national team | 6 | 0 | 0 | - |
| 2016 | Scotland U19 | national team | 1 | 1 | 0 | - |
| 2017 | Scotland U20 | national team | 3 | 0 | 0 | - |
| 2015 | Scotland U17 | national team | 9 | 1 | 0 | - |
Transfer Value History
Teammates
Elijah Morrison
Ephraim Yeboah
Harry Cornick
Jamie Knight-Lebel
Josh Stokes
Olly Thomas
Cameron Pring
Adam Randell
Robert Atkinson
Max Bird
Joe Williams
Scott Twine
Delano Burgzorg
Jason Knight
Joe Lumley
Tomi Horvat
Luke McNally
Rob Dickie
Mark Sykes
Emil Riis Jakobsen
George Tanner
Sam Bell
Radek Vítek
Seb Naylor
Sinclair Armstrong
Lewis Thomas
Noah Eile
Sam Morsy
Daniel Ezendu
Bristol City