Age 32
Height 170 cm
Foot Right
Country Morocco
Value €1.2m
Contract 2026-06-30
📈
Form
Rating per season, last 5 matches, and timeline all matches
Season
7.00
17 matches
Last 5
7.42
+0.42 vs season
Best
8.7
vs Lorient
MOTM
2
of 30 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
17
Goals
1
Assists
4
Rating
7.00
Goals
1
22%
Assists
4
76%
Rating
7.00
70%
Matches
17
39%
Started
13
54%
Minutes
1028
50%
🎯
Stats compared to other attacking midfielders/wingers
Ligue 1 · percentile vs peers
Chances created
94%
Aerial duels
27%
Defensive actions
88%
Goals
22%
Shot attempts
58%
Touches
79%
🎯
Shot Map
19 shots per season
Goals
1
On target
10
xG
1.49
Conversion
5%
Goal
Saved
Off target
🔥
Heatmap
784 touches this season
Attack
Touches
784
Attack
40%
Middle
44%
Ø position
59%
Detailed Stats & Percentiles (Ligue 1)
Shooting
| Stat | Total | Per 90 |
Percentile
avg 29%
|
Per 90 pctl
avg 21%
|
|---|---|---|---|---|
| Goals | 1 | 0.09 |
22
|
26
|
| xG | 1.50 | 0.13 |
38
|
23
|
| xGOT | 0.74 | 0.07 |
21
|
15
|
| xG excl. penalty | 0.71 | 0.06 |
18
|
8
|
| Shots | 19 | 1.66 |
46
|
35
|
| Shots on target | 4 | 0.35 |
30
|
23
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 55%
|
Per 90 pctl
avg 59%
|
|---|---|---|---|---|
| Assists | 4 | 0.35 |
76
|
91
|
| xA | 1.99 | 0.17 |
62
|
62
|
| Accurate passes | 263 | 23.03 |
49
|
35
|
| Pass accuracy | 75.8 | 75.79 |
18
|
18
|
| Accurate long balls | 14 | 1.23 |
60
|
63
|
| Long ball accuracy | 40.0 | 40.00 |
12
|
12
|
| Chances created | 28 | 2.45 |
72
|
89
|
| Big chances created | 7 | 0.61 |
76
|
97
|
| Successful crosses | 14 | 1.23 |
79
|
77
|
| Cross accuracy | 23.3 | 23.33 |
46
|
46
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 62%
|
Per 90 pctl
avg 66%
|
|---|---|---|---|---|
| Dribbles | 25 | 2.19 |
77
|
89
|
| Dribbles success rate | 42.4 | 42.37 |
46
|
46
|
| Duels won | 86 | 7.53 |
71
|
93
|
| Duels won % | 47.8 | 47.78 |
67
|
67
|
| Aerials won | 4 | 0.35 |
39
|
32
|
| Aerials won % | 66.7 | 66.67 |
93
|
93
|
| Touches | 661 | 57.87 |
56
|
64
|
| Touches in opposition box | 34 | 2.98 |
45
|
29
|
| Dispossessed | 21 | 1.84 |
28
|
22
|
| Fouls won | 32 | 2.80 |
79
|
93
|
| Penalties awarded | 1 | 0.09 |
83
|
94
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 43%
|
Per 90 pctl
avg 41%
|
|---|---|---|---|---|
| Defensive actions | 32 | 2.80 |
53
|
48
|
| Tackles | 25 | 2.19 |
67
|
70
|
| Interceptions | 3 | 0.26 |
22
|
16
|
| Fouls committed | 24 | 2.10 |
80
|
84
|
| Recoveries | 65 | 5.69 |
63
|
88
|
| Possession won final 3rd | 6 | 0.53 |
43
|
32
|
| Dribbled past | 15 | 1.31 |
24
|
17
|
| Clearances | 4 | 0.35 |
35
|
31
|
| Clean sheets | 0 | 0.00 |
0
|
0
|
| Goals conceded while on pitch | 16 | 1.40 |
45
|
45
|
| xG against while on pitch | 18.66 | 1.63 |
39
|
25
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 65%
|
Per 90 pctl
avg 67%
|
|---|---|---|---|---|
| Yellow cards | 2 | 0.18 |
30
|
35
|
| Red cards | 0 | 0.00 |
100
|
100
|
Shooting
| Stat | Total | Per 90 |
Percentile
avg 29%
|
Per 90 pctl
avg 21%
|
|---|---|---|---|---|
| Goals | 1 | 0.09 |
22
|
26
|
| xG | 1.50 | 0.13 |
38
|
23
|
| xGOT | 0.74 | 0.07 |
21
|
15
|
| xG excl. penalty | 0.71 | 0.06 |
18
|
8
|
| Shots | 19 | 1.66 |
46
|
35
|
| Shots on target | 4 | 0.35 |
30
|
23
|
Passing
| Stat | Total | Per 90 |
Percentile
avg 55%
|
Per 90 pctl
avg 59%
|
|---|---|---|---|---|
| Assists | 4 | 0.35 |
76
|
91
|
| xA | 1.99 | 0.17 |
62
|
62
|
| Accurate passes | 263 | 23.03 |
49
|
35
|
| Pass accuracy | 75.8 | 75.79 |
18
|
18
|
| Accurate long balls | 14 | 1.23 |
60
|
63
|
| Long ball accuracy | 40.0 | 40.00 |
12
|
12
|
| Chances created | 28 | 2.45 |
72
|
89
|
| Big chances created | 7 | 0.61 |
76
|
97
|
| Successful crosses | 14 | 1.23 |
79
|
77
|
| Cross accuracy | 23.3 | 23.33 |
46
|
46
|
Possession
| Stat | Total | Per 90 |
Percentile
avg 62%
|
Per 90 pctl
avg 66%
|
|---|---|---|---|---|
| Dribbles | 25 | 2.19 |
77
|
89
|
| Dribbles success rate | 42.4 | 42.37 |
46
|
46
|
| Duels won | 86 | 7.53 |
71
|
93
|
| Duels won % | 47.8 | 47.78 |
67
|
67
|
| Aerials won | 4 | 0.35 |
39
|
32
|
| Aerials won % | 66.7 | 66.67 |
93
|
93
|
| Touches | 661 | 57.87 |
56
|
64
|
| Touches in opposition box | 34 | 2.98 |
45
|
29
|
| Dispossessed | 21 | 1.84 |
28
|
22
|
| Fouls won | 32 | 2.80 |
79
|
93
|
| Penalties awarded | 1 | 0.09 |
83
|
94
|
Defending
| Stat | Total | Per 90 |
Percentile
avg 43%
|
Per 90 pctl
avg 41%
|
|---|---|---|---|---|
| Defensive actions | 32 | 2.80 |
53
|
48
|
| Tackles | 25 | 2.19 |
67
|
70
|
| Interceptions | 3 | 0.26 |
22
|
16
|
| Fouls committed | 24 | 2.10 |
80
|
84
|
| Recoveries | 65 | 5.69 |
63
|
88
|
| Possession won final 3rd | 6 | 0.53 |
43
|
32
|
| Dribbled past | 15 | 1.31 |
24
|
17
|
| Clearances | 4 | 0.35 |
35
|
31
|
| Clean sheets | 0 | 0.00 |
0
|
0
|
| Goals conceded while on pitch | 16 | 1.40 |
45
|
45
|
| xG against while on pitch | 18.66 | 1.63 |
39
|
25
|
Discipline
| Stat | Total | Per 90 |
Percentile
avg 65%
|
Per 90 pctl
avg 67%
|
|---|---|---|---|---|
| Yellow cards | 2 | 0.18 |
30
|
35
|
| Red cards | 0 | 0.00 |
100
|
100
|
Recent Matches (42)
| Date | Opponent | Comp | Score | Min | G | A | Rating |
|---|---|---|---|---|---|---|---|
| 2026-05-17 | @ Lorient | Ligue 1 | 0-2 | 85 | 0 | 1 | 8.7 ⭐ |
| 2026-05-10 | vs Marseille | Ligue 1 | 0-1 | 72 | 0 | 0 | 7.2 |
| 2026-05-03 | @ Lille | Ligue 1 | 1-1 | 65 | 0 | 0 | 7.1 |
| 2026-04-26 | vs Metz | Ligue 1 | 4-4 | 11 | 0 | 0 | 6.5 |
| 2026-04-18 | @ Angers | Ligue 1 | 1-1 | 80 | 1 | 0 | 7.6 |
| 2026-04-12 | @ Nice | Ligue 1 | 1-1 | 20 | 0 | 0 | 6.7 |
| 2026-04-05 | vs Auxerre | Ligue 1 | 1-1 | 71 | 0 | 0 | 6.6 |
| 2026-03-22 | @ Paris FC | Ligue 1 | 3-2 | 75 | 0 | 1 | 7.6 |
| 2026-03-15 | vs Lyon | Ligue 1 | 0-0 | 85 | 0 | 0 | 7.6 |
| 2026-03-08 | @ Brest | Ligue 1 | 2-0 | 81 | 0 | 0 | 6.4 |
| 2026-02-28 | vs Paris Saint-Germain | Ligue 1 | 0-1 | 71 | 0 | 0 | 6.1 |
| 2026-02-22 | @ Nantes | Ligue 1 | 2-0 | 63 | 0 | 0 | 6.2 |
| 2026-02-15 | vs Toulouse | Ligue 1 | 2-1 | 65 | 0 | 1 | 7.9 |
| 2026-02-08 | vs Strasbourg | Ligue 1 | 2-1 | 79 | 0 | 1 | 8.4 ⭐ |
| 2026-01-30 | @ Lens | Ligue 1 | 1-0 | 69 | 0 | 0 | 6.2 |
| 2026-01-24 | vs Monaco | Ligue 1 | 0-0 | 25 | 0 | 0 | 6.0 |
| 2026-01-18 | @ Rennes | Ligue 1 | 1-1 | 11 | 0 | 0 | 6.3 |
| 2025-12-14 | @ Sporting Charleroi | Belgian Pro League | 1-1 | 0 | 0 | 0 | |
| 2025-12-09 | vs Marseille | Champions League | 2-3 | 26 | 0 | 0 | 6.8 |
| 2025-12-06 | vs Gent | Belgian Pro League | 1-1 | 16 | 0 | 0 | 6.2 |
| 2025-12-03 | vs Zulte Waregem | Cup | 2-1 | 0 | 0 | 0 | |
| 2025-11-30 | @ Anderlecht | Belgian Pro League | 1-0 | 0 | 0 | 0 | |
| 2025-11-25 | @ Galatasaray | Champions League | 0-1 | 19 | 0 | 0 | 5.9 |
| 2025-11-22 | vs Cercle Brugge | Belgian Pro League | 2-0 | 0 | 0 | 0 | |
| 2025-11-09 | @ KV Mechelen | Belgian Pro League | 1-1 | 4 | 0 | 0 | |
| 2025-11-04 | @ Atletico Madrid | Champions League | 3-1 | 16 | 0 | 1 | 7.3 |
| 2025-11-01 | @ Zulte Waregem | Belgian Pro League | 1-4 | 23 | 0 | 0 | 6.4 |
| 2025-10-29 | @ Tubize-Braine | Cup | 0-3 | 0 | 0 | 0 | |
| 2025-10-26 | vs St.Truiden | Belgian Pro League | 2-0 | 0 | 0 | 0 | |
| 2025-10-21 | vs Inter | Champions League | 0-4 | 0 | 0 | 0 | |
| 2025-10-18 | vs Sporting Charleroi | Belgian Pro League | 3-1 | 0 | 0 | 0 | |
| 2025-10-05 | @ Club Brugge | Belgian Pro League | 1-0 | 0 | 0 | 0 | |
| 2025-10-01 | vs Newcastle United | Champions League | 0-4 | 17 | 0 | 0 | 6.4 |
| 2025-09-27 | vs Westerlo | Belgian Pro League | 2-0 | 15 | 0 | 0 | 6.7 |
| 2025-09-16 | @ PSV Eindhoven | Champions League | 1-3 | 0 | 0 | 0 | |
| 2025-08-24 | @ RAAL La Louviere | Belgian Pro League | 0-0 | 45 | 0 | 0 | 6.5 |
| 2025-08-16 | vs Standard Liege | Belgian Pro League | 3-0 | 17 | 0 | 0 | 7.1 |
| 2025-08-09 | @ Gent | Belgian Pro League | 2-3 | 27 | 0 | 0 | 6.2 |
| 2025-08-03 | vs OH Leuven | Belgian Pro League | 5-0 | 22 | 0 | 1 | 7.6 |
| 2025-07-25 | @ Royal Antwerp | Belgian Pro League | 1-1 | 1 | 0 | 0 |
Career
| Season | Team | Type | Apps | G | A | Rating |
|---|---|---|---|---|---|---|
| 2025/2026 | Le Havre | senior | 17 | 1 | 4 | 7.00 |
| 2025/2026 | Union St.Gilloise | senior | 15 | 0 | 2 | 6.64 |
| 2024/2025 | Union St.Gilloise | senior | 25 | 0 | 4 | 6.97 |
| 2023/2024 | Al-Rayyan | senior | 5 | 1 | 0 | - |
| 2022/2023 | Al-Rayyan | senior | 9 | 3 | 2 | - |
| 2022/2023 | Angers | senior | 13 | 4 | 3 | 7.32 |
| 2021/2022 | Angers | senior | 29 | 8 | 4 | 7.20 |
| 2020/2021 | Angers | senior | 15 | 1 | 0 | 6.46 |
| 2019/2020 | Southampton | senior | 25 | 1 | 2 | 6.29 |
| 2018/2019 | Celta Vigo | senior | 35 | 3 | 3 | 6.97 |
| 2017/2018 | Southampton | senior | 30 | 2 | 2 | 6.60 |
| 2016/2017 | Southampton | senior | 29 | 2 | 1 | 6.61 |
| 2015/2016 | Lille | senior | 35 | 12 | 4 | 7.50 |
| 2014/2015 | Lille | senior | 16 | 3 | 6 | - |
| 2014/2015 | Angers | senior | 19 | 4 | 0 | 6.34 |
| 2013/2014 | Angers | senior | 32 | 0 | 0 | - |
| 2012/2013 | Angers | senior | 3 | 0 | 0 | - |
| 2013/2014 | Angers B | senior | 7 | 0 | 0 | - |
| 2012/2013 | Angers B | senior | 22 | 5 | 0 | - |
| 2016/2017 | Southampton U23 | youth | 1 | 0 | 0 | - |
| 2023 | Morocco | national team | 6 | 1 | 0 | 6.67 |
| 2022 | Morocco | national team | 18 | 3 | 0 | 6.84 |
| 2021 | Morocco | national team | 5 | 3 | 0 | 7.88 |
| 2019 | Morocco | national team | 7 | 0 | 0 | 7.01 |
| 2018 | Morocco | national team | 3 | 0 | 0 | 6.38 |
| 2017 | Morocco | national team | 1 | 0 | 0 | - |
Transfer Value History
Teammates
Ben Bamba
Gabriel Guri
Hernani Mendes Vaz
Gautier Lloris
Étienne Youté Kinkoué
Loïc Négo
Yassine Kechta
Felix Mambimbi
Godson Kyeremeh
Fodé Doucouré
Rassoul Ndiaye
Ayumu Seko
Alex Teixeira
Yanis Zouaoui
Lucas Gourna-Douath
Noam Jacquet
Guy Zohouri
Mbwana Samatta
Simon Ebonog
Enzo Koffi
Stephan Zagadou
Reda Khadra
Timothée Pembélé
Georges Gomis
Kenny Quetant
Issa Soumaré
Paul Argney
Lionel Mpasi-Nzau
Daren Mosengo
Arouna Sangante
Abdoulaye Touré
Mory Diaw
Trophies
Union St.Gilloise
🏆
First Division A
x1
Le Havre