Age 27
Height 181 cm
Foot Left
Country Scotland
Value €577.3k
Contract 2026-06-30
📈
Form
Rating per season, last 5 matches, and timeline all matches
Season
7.29
50 matches
Last 5
7.40
+0.11 vs season
Best
8.5
vs Exeter City
MOTM
1
of 49 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
1
Assists
0
Rating
7.29
Goals
1
46%
Assists
0
0%
Rating
7.30
92%
Matches
43
94%
Started
43
95%
Minutes
3835
96%
🎯
Stats compared to other center-backs
League One · percentile vs peers
Chances created
81%
Aerial duels
94%
Defensive actions
81%
Goals
33%
Shot attempts
59%
Touches
96%
🎯
Shot Map
26 shots per season
Goals
1
On target
12
xG
3.64
Conversion
4%
Goal
Saved
Off target
🔥
Heatmap
4221 touches this season
Attack
Touches
4221
Attack
9%
Middle
42%
Ø position
37%
Detailed Stats & Percentiles (League One)
Shooting
| Stat | Total | Per 90 |
Percentile
avg 79%
|
Per 90 pctl
avg 59%
|
|---|---|---|---|---|
| Goals | 1 | 0.02 |
46
|
47
|
| xG | 3.52 | 0.08 |
96
|
81
|
| xGOT | 1.43 | 0.03 |
70
|
43
|
| xG excl. penalty | 3.52 | 0.08 |
96
|
81
|
| Shots | 26 | 0.61 |
90
|
63
|
| Shots on target | 4 | 0.09 |
67
|
35
|
| Headed shots | 15 | 0.35 |
90
|
62
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 78%
|
Per 90 pctl
avg 69%
|
|---|---|---|---|---|
| Assists | 0 | 0.00 |
0
|
0
|
| xA | 1.79 | 0.04 |
88
|
64
|
| Accurate passes | 2428 | 56.98 |
100
|
96
|
| Pass accuracy | 86.0 | 85.98 |
90
|
90
|
| Accurate long balls | 141 | 3.31 |
95
|
77
|
| Long ball accuracy | 38.6 | 38.63 |
73
|
73
|
| Chances created | 20 | 0.47 |
92
|
79
|
| Big chances created | 3 | 0.07 |
78
|
59
|
| Successful crosses | 11 | 0.26 |
93
|
84
|
| Cross accuracy | 26.2 | 26.19 |
71
|
71
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 71%
|
Per 90 pctl
avg 57%
|
|---|---|---|---|---|
| Dribbles | 6 | 0.14 |
75
|
46
|
| Dribbles success rate | 66.7 | 66.67 |
64
|
64
|
| Duels won | 262 | 6.15 |
92
|
49
|
| Duels won % | 63.0 | 62.98 |
58
|
58
|
| Aerials won | 195 | 4.58 |
94
|
73
|
| Aerials won % | 66.1 | 66.10 |
61
|
61
|
| Touches | 3659 | 85.87 |
98
|
96
|
| Touches in opposition box | 46 | 1.08 |
87
|
42
|
| Dispossessed | 6 | 0.14 |
23
|
60
|
| Fouls won | 17 | 0.40 |
58
|
23
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 73%
|
Per 90 pctl
avg 61%
|
|---|---|---|---|---|
| Defensive actions | 450 | 10.56 |
93
|
45
|
| Tackles | 45 | 1.06 |
82
|
26
|
| Interceptions | 36 | 0.84 |
84
|
25
|
| Blocked scoring attempt | 26 | 0.61 |
84
|
32
|
| Fouls committed | 42 | 0.99 |
93
|
66
|
| Recoveries | 156 | 3.66 |
94
|
70
|
| Possession won final 3rd | 6 | 0.14 |
93
|
83
|
| Dribbled past | 8 | 0.19 |
36
|
77
|
| Clearances | 343 | 8.05 |
93
|
61
|
| Clean sheets | 11 | 0.26 |
90
|
65
|
| Goals conceded while on pitch | 45 | 1.06 |
10
|
83
|
| xG against while on pitch | 40.48 | 0.95 |
22
|
94
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 52%
|
Per 90 pctl
avg 68%
|
|---|---|---|---|---|
| Yellow cards | 9 | 0.21 |
5
|
37
|
| Red cards | 0 | 0.00 |
100
|
100
|
Shooting
| Stat | Total | Per 90 |
Percentile
avg 79%
|
Per 90 pctl
avg 59%
|
|---|---|---|---|---|
| Goals | 1 | 0.02 |
46
|
47
|
| xG | 3.52 | 0.08 |
96
|
81
|
| xGOT | 1.43 | 0.03 |
70
|
43
|
| xG excl. penalty | 3.52 | 0.08 |
96
|
81
|
| Shots | 26 | 0.61 |
90
|
63
|
| Shots on target | 4 | 0.09 |
67
|
35
|
| Headed shots | 15 | 0.35 |
90
|
62
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 78%
|
Per 90 pctl
avg 69%
|
|---|---|---|---|---|
| Assists | 0 | 0.00 |
0
|
0
|
| xA | 1.79 | 0.04 |
88
|
64
|
| Accurate passes | 2428 | 56.98 |
100
|
96
|
| Pass accuracy | 86.0 | 85.98 |
90
|
90
|
| Accurate long balls | 141 | 3.31 |
95
|
77
|
| Long ball accuracy | 38.6 | 38.63 |
73
|
73
|
| Chances created | 20 | 0.47 |
92
|
79
|
| Big chances created | 3 | 0.07 |
78
|
59
|
| Successful crosses | 11 | 0.26 |
93
|
84
|
| Cross accuracy | 26.2 | 26.19 |
71
|
71
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 71%
|
Per 90 pctl
avg 57%
|
|---|---|---|---|---|
| Dribbles | 6 | 0.14 |
75
|
46
|
| Dribbles success rate | 66.7 | 66.67 |
64
|
64
|
| Duels won | 262 | 6.15 |
92
|
49
|
| Duels won % | 63.0 | 62.98 |
58
|
58
|
| Aerials won | 195 | 4.58 |
94
|
73
|
| Aerials won % | 66.1 | 66.10 |
61
|
61
|
| Touches | 3659 | 85.87 |
98
|
96
|
| Touches in opposition box | 46 | 1.08 |
87
|
42
|
| Dispossessed | 6 | 0.14 |
23
|
60
|
| Fouls won | 17 | 0.40 |
58
|
23
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 73%
|
Per 90 pctl
avg 61%
|
|---|---|---|---|---|
| Defensive actions | 450 | 10.56 |
93
|
45
|
| Tackles | 45 | 1.06 |
82
|
26
|
| Interceptions | 36 | 0.84 |
84
|
25
|
| Blocked scoring attempt | 26 | 0.61 |
84
|
32
|
| Fouls committed | 42 | 0.99 |
93
|
66
|
| Recoveries | 156 | 3.66 |
94
|
70
|
| Possession won final 3rd | 6 | 0.14 |
93
|
83
|
| Dribbled past | 8 | 0.19 |
36
|
77
|
| Clearances | 343 | 8.05 |
93
|
61
|
| Clean sheets | 11 | 0.26 |
90
|
65
|
| Goals conceded while on pitch | 45 | 1.06 |
10
|
83
|
| xG against while on pitch | 40.48 | 0.95 |
22
|
94
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 52%
|
Per 90 pctl
avg 68%
|
|---|---|---|---|---|
| Yellow cards | 9 | 0.21 |
5
|
37
|
| Red cards | 0 | 0.00 |
100
|
100
|
Recent Matches (51)
| Date | Opponent | Comp | Score | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|
| 2026-05-24 | vs Stockport County | League One Playoff | 4-1 | 90 | 0 | 0 | 8.1 |
| 2026-05-14 | @ Bradford City | League One Playoff | 0-1 | 90 | 0 | 0 | 7.5 |
| 2026-05-09 | vs Bradford City | League One Playoff | 1-0 | 90 | 0 | 0 | 7.7 |
| 2026-04-25 | @ Bradford City | League One | 1-1 | 90 | 0 | 0 | 7.2 |
| 2026-04-18 | vs Huddersfield Town | League One | 3-3 | 78 | 0 | 0 | 6.5 |
| 2026-04-14 | vs Stevenage | League One | 5-1 | 90 | 0 | 0 | 7.1 |
| 2026-04-11 | @ Cardiff City | League One | 2-0 | 90 | 0 | 0 | 6.3 |
| 2026-04-03 | @ Plymouth Argyle | League One | 1-2 | 90 | 0 | 0 | 7.4 |
| 2026-03-21 | @ Port Vale | League One | 1-0 | 90 | 0 | 0 | 7.3 |
| 2026-03-17 | vs Doncaster Rovers | League One | 0-0 | 90 | 0 | 0 | 7.6 |
| 2026-03-14 | @ Rotherham United | League One | 2-2 | 90 | 0 | 0 | 6.8 |
| 2026-03-07 | vs Wycombe Wanderers | League One | 3-2 | 90 | 0 | 0 | 6.9 |
| 2026-02-28 | @ Exeter City | League One | 1-5 | 90 | 1 | 0 | 8.5 |
| 2026-02-21 | vs Blackpool | League One | 2-2 | 82 | 0 | 0 | 6.9 |
| 2026-02-17 | @ Reading | League One | 1-1 | 90 | 0 | 0 | 7.4 |
| 2026-02-14 | @ Lincoln City | League One | 1-1 | 90 | 0 | 0 | 7.0 |
| 2026-02-07 | vs Barnsley | League One | 3-2 | 90 | 0 | 0 | 7.2 |
| 2026-01-31 | @ AFC Wimbledon | League One | 0-1 | 90 | 0 | 0 | 7.6 |
| 2026-01-27 | vs Burton Albion | League One | 2-1 | 90 | 0 | 0 | 8.0 |
| 2026-01-24 | vs Leyton Orient | League One | 2-1 | 90 | 0 | 0 | 7.7 |
| 2026-01-20 | @ Stevenage | League One | 0-0 | 90 | 0 | 0 | 7.7 |
| 2026-01-17 | @ Wigan Athletic | League One | 0-1 | 90 | 0 | 0 | 7.7 |
| 2026-01-10 | @ Peterborough United | League One | 3-1 | 90 | 0 | 0 | 5.8 |
| 2026-01-04 | vs Northampton Town | League One | 0-0 | 90 | 0 | 0 | 6.9 |
| 2026-01-01 | @ Doncaster Rovers | League One | 1-1 | 90 | 0 | 0 | 7.5 |
| 2025-12-29 | vs Mansfield Town | League One | 0-1 | 75 | 0 | 0 | 7.1 |
| 2025-12-26 | vs Rotherham United | League One | 2-1 | 90 | 0 | 0 | 7.4 |
| 2025-12-20 | @ Wycombe Wanderers | League One | 2-1 | 90 | 0 | 0 | 6.3 |
| 2025-12-13 | vs Exeter City | League One | 2-1 | 90 | 0 | 0 | 7.7 |
| 2025-12-09 | @ Mansfield Town | League One | 0-1 | 90 | 0 | 0 | 7.9 ⭐ |
| 2025-12-02 | vs Bradford City | EFL Trophy | 3-0 | 64 | 0 | 0 | 6.9 |
| 2025-11-29 | @ Luton Town | League One | 1-1 | 90 | 0 | 0 | 7.2 |
| 2025-11-22 | vs Bradford City | League One | 0-0 | 90 | 0 | 0 | 7.0 |
| 2025-11-08 | vs Port Vale | League One | 4-0 | 90 | 0 | 0 | 7.8 |
| 2025-11-01 | vs Huddersfield Town | FA Cup | 2-1 | 90 | 0 | 0 | |
| 2025-10-25 | vs Cardiff City | League One | 1-0 | 90 | 0 | 0 | 7.6 |
| 2025-10-16 | @ Huddersfield Town | League One | 1-2 | 90 | 0 | 0 | 8.2 |
| 2025-10-11 | @ Burton Albion | League One | 3-0 | 90 | 0 | 0 | 7.0 |
| 2025-10-04 | vs Peterborough United | League One | 2-1 | 90 | 0 | 0 | 7.1 |
| 2025-09-27 | @ Northampton Town | League One | 2-0 | 90 | 0 | 0 | 6.9 |
Career
| Season | Team | Type | Apps | G | A | Rating |
|---|---|---|---|---|---|---|
| 2025/2026 | Bolton Wanderers | senior | 50 | 1 | 0 | 7.29 |
| 2024/2025 | Bolton Wanderers | senior | 48 | 0 | 1 | 7.15 |
| 2022/2023 | Bolton Wanderers | senior | 45 | 1 | 2 | 7.09 |
| 2021/2022 | Bolton Wanderers | senior | 48 | 2 | 2 | 6.86 |
| 2020/2021 | Wigan Athletic | senior | 22 | 1 | 1 | 6.78 |
| 2020/2021 | Feyenoord | senior | 4 | 0 | 0 | 6.79 |
| 2019/2020 | Jong Feyenoord | youth | 1 | 0 | 0 | - |
| 2018/2019 | Liverpool U23 | youth | 24 | 2 | 0 | - |
| 2017/2018 | Liverpool U23 | youth | 17 | 2 | 0 | - |
| 2016/2017 | Liverpool U23 | youth | 1 | 0 | 0 | - |
| 2017/2018 | Liverpool U19 | youth | 8 | 1 | 0 | - |
| 2016/2017 | Liverpool U18 | youth | 26 | 5 | 1 | - |
| 2021 | Scotland U21 | national team | 8 | 0 | 0 | - |
Transfer Value History
Teammates
Carlos Mendes
Charlie Warren
Joel Randall
Luke Hutchinson
Sam Inwood
Jack Bonham
Chris Forino-Joseph
Xavier Simons
Richard Taylor
Josh Sheehan
Johnny Kenny
Sam Dalby
Thierry Gale
Nathan Broome
Jordi Osei-Tutu
Rob Apter
Eoin Toal
Ibrahim Cissoko
Ethan Erhahon
Kyle Dempsey
David Harrington
Max Conway
Lewis Temple
Ruben Rodrigues
Cyrus Christie
Corey Blackett-Taylor
Daeshon Lawrence
John McAtee
Mason Burstow
Tobias Ritchie
Trophies
Bolton Wanderers
🏆
EFL Trophy
x1
Liverpool
🏆
Champions League
x1