- Height
- 169 cm
- Shirt
- 25
- Age
- 30
- Preferred foot
- Left
- Country
- Scotland
- Market value
- €2m
- Contract end
- 31 December 2027
Major League Soccer · 2026
16Apps
11Starts
1065Minutes
4Goals
1Assists
4.25xG
4.37xA
7.4Rating
Player profile
AM
Per-90 percentiles against wingers and attacking midfielders in Major League Soccer. 50 = average.
Shooting
| Stat | Total | Per 90 | Percentile |
| Goals |
4 |
0.34 |
71
|
| xG |
4.25 |
0.36 |
77
|
| xGOT |
4.88 |
0.41 |
77
|
| xG excl. penalty |
3.47 |
0.29 |
70
|
| Shots |
33 |
2.79 |
72
|
| Shots on target |
11 |
0.93 |
54
|
| Headed shots |
3 |
0.25 |
75
|
Passing
| Stat | Total | Per 90 | Percentile |
| Assists |
1 |
0.08 |
32
|
| xA |
4.37 |
0.37 |
96
|
| Accurate passes |
554 |
46.8 |
97
|
| Pass accuracy |
87.9% |
— |
90
|
| Accurate long balls |
25 |
2.11 |
87
|
| Long ball accuracy |
73.5% |
— |
89
|
| Line-breaking passes |
66 |
5.58 |
93
|
| Chances created |
37 |
3.13 |
96
|
| Big chances created |
6 |
0.51 |
75
|
| Successful crosses |
28 |
2.37 |
95
|
| Cross accuracy |
34.6% |
— |
89
|
Possession
| Stat | Total | Per 90 | Percentile |
| Dribbles |
7 |
0.59 |
18
|
| Dribbles success rate |
38.9% |
— |
28
|
| Duels won |
63 |
5.32 |
66
|
| Duels won % |
47.0% |
— |
62
|
| Aerials won |
9 |
0.76 |
70
|
| Aerials won % |
42.9% |
— |
62
|
| Touches |
898 |
75.9 |
97
|
| Touches in opposition box |
58 |
4.90 |
60
|
| Dispossessed |
13 |
1.10 |
65
|
| Fouls won |
13 |
1.10 |
35
|
| Penalties awarded |
1 |
0.08 |
91
|
Defending
| Stat | Total | Per 90 | Percentile |
| Defensive actions |
48 |
4.06 |
93
|
| Tackles |
34 |
2.87 |
94
|
| Interceptions |
4 |
0.34 |
31
|
| Blocked scoring attempt |
2 |
0.17 |
85
|
| Fouls committed |
16 |
1.35 |
32
|
| Recoveries |
59 |
4.99 |
90
|
| Possession won final 3rd |
10 |
0.85 |
71
|
| Dribbled past |
19 |
1.61 |
3
|
| Clearances |
8 |
0.68 |
63
|
| Clean sheets |
1 |
0.08 |
68
|
| Goals conceded while on pitch |
14 |
1.18 |
75
|
| xG against while on pitch |
12.85 |
1.09 |
87
|
Discipline
| Stat | Total | Per 90 | Percentile |
| Yellow cards |
3 |
0.25 |
22
|
| Red cards |
0 |
0.00 |
100
|
Percentiles are per 90 minutes, against players in the same position in Major League Soccer.
| Season | Team | Apps | G | A | Rating |
| ▸ 2026 |
Vancouver Whitecaps |
22 |
5 |
1 |
7.4 |
|
MLS |
16 |
4 |
1 |
7.4 |
|
Canadian Championship |
4 |
1 |
0 |
7.5 |
|
Leagues Cup |
2 |
0 |
0 |
7.0 |
| ▸ 2025 |
Vancouver Whitecaps |
15 |
3 |
2 |
7.0 |
|
MLS |
11 |
1 |
1 |
6.8 |
|
Canadian Championship |
1 |
1 |
0 |
7.3 |
|
CONCACAF Champions Cup |
3 |
1 |
1 |
7.4 |
| ▸ 2024 |
Vancouver Whitecaps |
41 |
17 |
12 |
7.8 |
|
MLS |
34 |
15 |
12 |
7.9 |
|
Canadian Championship |
5 |
2 |
0 |
7.5 |
|
CONCACAF Champions Cup |
2 |
0 |
0 |
6.9 |
| ▸ 2023 |
Vancouver Whitecaps |
42 |
12 |
17 |
7.7 |
|
MLS |
34 |
11 |
13 |
7.7 |
|
Canadian Championship |
2 |
1 |
0 |
8.2 |
|
Leagues Cup |
3 |
0 |
2 |
7.8 |
|
CONCACAF Champions Cup |
3 |
0 |
2 |
7.3 |
| ▸ 2022 |
Vancouver Whitecaps |
32 |
8 |
7 |
7.5 |
|
MLS |
28 |
8 |
5 |
7.5 |
|
Canadian Championship |
4 |
0 |
2 |
7.5 |
| ▸ 2021 |
Vancouver Whitecaps |
20 |
6 |
5 |
7.6 |
|
MLS |
19 |
4 |
5 |
7.5 |
|
Canadian Championship |
1 |
2 |
0 |
9.2 |
| ▸ 2020–2021 |
Farense |
34 |
9 |
7 |
7.3 |
|
Liga Portugal |
33 |
9 |
7 |
7.3 |
|
Taça de Portugal |
1 |
0 |
0 |
— |
| ▸ 2019–2020 |
Farense |
22 |
9 |
0 |
— |
|
Liga Portugal 2 |
21 |
9 |
0 |
— |
|
Taça de Portugal |
1 |
0 |
0 |
— |
| ▸ 2018–2019 |
Hibernian |
6 |
0 |
1 |
— |
|
Premiership |
5 |
0 |
0 |
— |
|
Scottish Cup |
1 |
0 |
1 |
— |
| ▸ 2018–2019 |
Farense |
12 |
2 |
0 |
— |
|
Liga Portugal 2 |
12 |
2 |
0 |
— |
| ▸ 2017–2018 |
Aves |
22 |
1 |
1 |
6.6 |
|
Liga Portugal |
18 |
1 |
1 |
6.6 |
|
League Cup |
1 |
0 |
0 |
— |
|
Taça de Portugal |
3 |
0 |
0 |
— |
| ▸ 2016–2017 |
Sporting CP B |
9 |
0 |
0 |
— |
|
Liga Portugal 2 |
9 |
0 |
0 |
— |
| ▸ 2016–2017 |
Vitória de Setúbal |
9 |
0 |
1 |
— |
|
Liga Portugal |
5 |
0 |
1 |
— |
|
League Cup |
2 |
0 |
0 |
— |
|
Taça de Portugal |
2 |
0 |
0 |
— |
| ▸ 2015–2016 |
Sporting CP B |
38 |
5 |
0 |
— |
|
Liga Portugal 2 |
38 |
5 |
0 |
— |
| ▸ 2014–2015 |
Sporting CP B |
26 |
3 |
0 |
— |
|
Liga Portugal 2 |
26 |
3 |
0 |
— |
| ▸ 2014–2015 |
Sporting CP |
5 |
2 |
0 |
— |
|
Liga Portugal |
2 |
0 |
0 |
— |
|
League Cup |
3 |
2 |
0 |
— |
| ▸ 2013–2014 |
Dundee United |
38 |
8 |
0 |
— |
|
Premiership |
31 |
6 |
0 |
— |
|
League Cup |
3 |
1 |
0 |
— |
|
Scottish Cup |
4 |
1 |
0 |
— |
| ▸ 2012–2013 |
Dundee United |
11 |
1 |
0 |
— |
|
Premiership |
10 |
1 |
0 |
— |
|
Scottish Cup |
1 |
0 |
0 |
— |
| ▸ 2011–2012 |
Dundee United |
1 |
0 |
0 |
— |
|
Premiership |
1 |
0 |
0 |
— |
Vancouver Whitecaps
| Competition | Won | Runner-up |
| Canadian Championship ×4 |
2025, 2024, 2023, 2022 |
— |
Sporting CP
| Competition | Won | Runner-up |
| Taça de Portugal ×1 |
2014/2015 |
— |
Aves
| Competition | Won | Runner-up |
| Taça de Portugal ×1 |
2017/2018 |
— |