- Height
- 177 cm
- Shirt
- 14
- Age
- 28
- Preferred foot
- Left
- Country
- Scotland
- Market value
- €1.2m
- Contract end
- 31 May 2028
Premiership · 2026–2027
4Apps
1Starts
80Minutes
1Goals
0Assists
0.14xG
0.37xA
6.5Rating
2026–2027 by competition
| Competition | Team | Apps | G | A | Rating |
Premiership |
Celtic |
4 |
1 |
0 |
6.5 |
League Cup |
Celtic |
1 |
0 |
0 |
— |
Champions League |
Celtic |
1 |
0 |
0 |
— |
Europa League |
Celtic |
1 |
0 |
0 |
6.4 |
Player profile
The radar needs 450+ minutes in Premiership (80 so far).
Shooting
| Stat | Total | Per 90 |
| Goals |
1 |
1.12 |
| xG |
0.14 |
0.15 |
| xGOT |
0.61 |
0.69 |
| xG excl. penalty |
0.14 |
0.15 |
| Shots |
2 |
2.25 |
| Shots on target |
1 |
1.12 |
Passing
| Stat | Total | Per 90 |
| Assists |
0 |
0.00 |
| xA |
0.37 |
0.42 |
| Accurate passes |
28 |
31.5 |
| Pass accuracy |
71.8% |
— |
| Accurate long balls |
1 |
1.12 |
| Long ball accuracy |
33.3% |
— |
| Line-breaking passes |
7 |
7.87 |
| Chances created |
2 |
2.25 |
Possession
| Stat | Total | Per 90 |
| Dribbles |
1 |
1.12 |
| Dribbles success rate |
100.0% |
— |
| Duels won |
3 |
3.38 |
| Duels won % |
30.0% |
— |
| Touches |
52 |
58.5 |
| Touches in opposition box |
7 |
7.87 |
| Dispossessed |
1 |
1.12 |
| Fouls won |
1 |
1.12 |
Defending
| Stat | Total | Per 90 |
| Defensive actions |
2 |
2.25 |
| Tackles |
1 |
1.12 |
| Interceptions |
1 |
1.12 |
| Fouls committed |
1 |
1.12 |
| Recoveries |
2 |
2.25 |
| Dribbled past |
1 |
1.12 |
| Clean sheets |
0 |
0.00 |
| Goals conceded while on pitch |
1 |
1.12 |
| xG against while on pitch |
1.55 |
1.75 |
Discipline
| Stat | Total | Per 90 |
| Yellow cards |
0 |
0.00 |
| Red cards |
0 |
0.00 |
Percentiles appear after 450 minutes in a competition.
| Season | Team | Apps | G | A | Rating |
| ▸ 2026–2027 |
Celtic |
7 |
1 |
0 |
6.5 |
|
Premiership |
4 |
1 |
0 |
6.5 |
|
League Cup |
1 |
0 |
0 |
— |
|
Champions League |
1 |
0 |
0 |
— |
|
Europa League |
1 |
0 |
0 |
6.4 |
| ▸ 2025–2026 |
Celtic |
42 |
4 |
3 |
6.5 |
|
Premiership |
30 |
1 |
1 |
6.5 |
|
League Cup |
3 |
1 |
0 |
— |
|
Scottish Cup |
4 |
1 |
2 |
— |
|
Champions League |
1 |
0 |
0 |
— |
|
Europa League |
4 |
1 |
0 |
6.7 |
| ▸ 2024–2025 |
Celtic |
41 |
7 |
9 |
7.1 |
|
Premiership |
33 |
6 |
7 |
7.2 |
|
Scottish Cup |
5 |
1 |
2 |
— |
|
Champions League |
3 |
0 |
0 |
6.2 |
| ▸ 2024–2025 |
Dundee FC |
8 |
3 |
5 |
7.2 |
|
Premiership |
3 |
2 |
1 |
7.2 |
|
League Cup |
5 |
1 |
4 |
— |
| ▸ 2023–2024 |
Dundee FC |
41 |
10 |
5 |
7.5 |
|
Premiership |
37 |
10 |
5 |
7.5 |
|
League Cup |
3 |
0 |
0 |
— |
|
Scottish Cup |
1 |
0 |
0 |
— |
| ▸ 2022–2023 |
Dundee FC |
40 |
10 |
6 |
6.6 |
|
Championship |
30 |
7 |
3 |
6.6 |
|
League Cup |
5 |
1 |
0 |
— |
|
Challenge Cup |
3 |
1 |
2 |
— |
|
Scottish Cup |
2 |
1 |
1 |
— |
| ▸ 2021–2022 |
Dundee FC |
36 |
5 |
2 |
6.7 |
|
Premiership |
29 |
4 |
2 |
6.7 |
|
League Cup |
4 |
1 |
0 |
— |
|
Scottish Cup |
3 |
0 |
0 |
— |
| ▸ 2020–2021 |
Ayr United |
33 |
9 |
4 |
— |
|
Championship |
26 |
5 |
4 |
— |
|
League Cup |
5 |
2 |
0 |
— |
|
Scottish Cup |
2 |
2 |
0 |
— |
| ▸ 2019–2020 |
Ayr United |
31 |
8 |
5 |
— |
|
Championship |
24 |
5 |
3 |
— |
|
League Cup |
4 |
3 |
2 |
— |
|
Challenge Cup |
1 |
0 |
0 |
— |
|
Scottish Cup |
2 |
0 |
0 |
— |
| ▸ 2018–2019 |
Ayr United |
9 |
1 |
2 |
— |
|
Championship |
5 |
0 |
0 |
— |
|
Challenge Cup |
1 |
0 |
0 |
— |
|
Scottish Cup |
1 |
0 |
1 |
— |
|
Play-offs 1/2 |
2 |
1 |
1 |
— |
| ▸ 2017–2018 |
Ayr United |
5 |
1 |
0 |
— |
|
League One |
1 |
0 |
0 |
— |
|
League Cup |
1 |
0 |
0 |
— |
|
Challenge Cup |
2 |
1 |
0 |
— |
|
Scottish Cup |
1 |
0 |
0 |
— |
Celtic
| Competition | Won | Runner-up |
| Scottish Cup ×1 |
2025/2026 |
1 |
| Premiership ×2 |
2025/2026, 2024/2025 |
— |
| League Cup ×1 |
2024/2025 |
1 |
Dundee FC
| Competition | Won | Runner-up |
| Championship ×1 |
2022/2023 |
— |
Ayr United
| Competition | Won | Runner-up |
| League One ×1 |
2017/2018 |
— |