

Last 5rating per match
Form, 12 monthsaverage rating per month
Club matchesNice
Key statsLigue 1
xG — expected goals: the quality of the chances taken; xA — expected assists: the quality of the chances created. Values per 90 minutes are shown under the totals. What xG, npxG, xA and xGChain mean
Player profileattributes and traits
Player Position average
Strengths
No outstanding strengths
Weaknesses
- Discipline
Player positions: DL · ML
Positions on the pitch
Percentiles per 90per 90 minutes vs positional peers of the league
AttackingPer 90 · Percentile
PlaymakingPer 90 · Percentile
DefendingPer 90 · Percentile
What a percentile means
The percentile shows what share of players of the same position in this league the player beats on a per-90-minute metric. 90% — better than nine out of ten peers; 50% — the league median. Per 90 minutes removes the effect of playing time.
For fouls, offsides, being dribbled past and goals conceded the scale is inverted: a higher percentile means fewer of them.
vs 60 defenders · Ligue 1 · season 25/26 · min 270′ · player 1165′
Similar playersLigue 1 · defenders · season 25/26
Rafik MessaliToulouse · Defender - Right-BackRating0G0A23age79%
Lilian RaolisoaAngers SCO · Defender - Right-BackRating2G4A26age79%
Romain PerraudLille · Defender - Left-BackRating3G4A28age78%
Timothy WeahMarseille · Defender - Right-BackRating2G2A26age78%
Enzo KoffiLe Havre AC · Defender - Left-BackRating0G0A20age75%
Djibril SidibéLe Mans FC · Defender - Right-BackRating3G4A34ageProfile match = 100 − mean gap of per-90 percentiles across 28 metrics of this position; players of the same league, position group and season with at least 270 minutes.
Availability
Tunisia49 caps · 7 goalsSeason statsSeason 26/27
| Competition | Team | Season | Apps | Min | Rating | G | A | G+A | YC | RC |
|---|---|---|---|---|---|---|---|---|---|---|
Ligue 1 | Nice | 26/27 | 3 | 47 | 6.30 | — | — | 0 | — | — |
Transfers8
| Date | Season | From | To | Fee | Market value |
|---|---|---|---|---|---|
| 02/09/2024 | 24/25 | SM Caen | Nice | €500k | €1.50m |
| 21/07/2021 | 21/22 | Paris FC | SM Caen | free transfer | €1.10m |
| 23/07/2019 | 19/20 | Club Africain | Paris FC | free transfer | €800k |
| 01/07/2016 | 16/17 | Esperance | Club Africain | free transfer | €175k |
| 30/06/2014 | 13/14 | Stade Tunisien | Esperance | End of loan | €100k |
| 12/01/2014 | 13/14 | Esperance | Stade Tunisien | loan transfer | €100k |
| 21/07/2012 | 12/13 | JS Kairouan | Esperance | €150k | €75k |
| 30/08/2011 | 11/12 | Sfax Railways | JS Kairouan | free transfer | - |
Market value
Value history
| Date | Age | Club | Value |
|---|---|---|---|
| 11/04/2012 | 18 | JS Kairouanaise | €75k |
| 19/03/2013 | 19 | Esperance Tunis | €150k |
| 02/01/2014 | 20 | Esperance Tunis | €100k |
| 30/07/2014 | 20 | Esperance Tunis | €200k |
| 14/07/2015 | 21 | Esperance Tunis | €250k |
| 17/02/2016 | 22 | Esperance Tunis | €175k |
| 20/07/2016 | 22 | Club Africain | €150k |
| 15/02/2017 | 23 | Club Africain | €175k |
| 28/06/2017 | 23 | Club Africain | €225k |
| 23/01/2018 | 24 | Club Africain | €400k |
| 09/06/2018 | 24 | Club Africain | €550k |
| 17/01/2019 | 25 | Club Africain | €700k |
| 28/06/2019 | 25 | Club Africain | €800k |
| 06/01/2020 | 26 | Paris FC | €800k |
| 08/04/2020 | 26 | Paris FC | €650k |
| 11/11/2020 | 26 | Paris FC | €650k |
| 25/06/2021 | 27 | Paris FC | €1.10m |
| 27/10/2021 | 27 | SM Caen | €1.00m |
| 27/12/2021 | 28 | SM Caen | €1.00m |
| 02/06/2022 | 28 | SM Caen | €1.50m |
| 28/10/2022 | 28 | SM Caen | €1.50m |
| 16/06/2023 | 29 | SM Caen | €1.50m |
| 13/12/2023 | 29 | SM Caen | €1.50m |
| 11/06/2024 | 30 | SM Caen | €1.50m |
| 10/12/2024 | 30 | OGC Nice | €3.00m |
| 03/06/2025 | 31 | OGC Nice | €3.00m |
| 15/12/2025 | 31 | OGC Nice | €2.50m |
| 01/06/2026 | 32 | OGC Nice | €2.00m |
xG Statisticsall seasons
| Season | League | Club | Apps | Min | G | xG | npxG | A | xA | Sh | KP | xGChain |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Ligue 1 | Nice | 1 | 16 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 2025 | Ligue 1 | Nice | 22 | 1156 | 3 | 2.4 | 2.4 | 0 | 2.05 | 16 | 17 | 2.75 |
What xG, npxG, xA and xGChain mean
xGExpected goals- How many goals an average finisher would score from the same shots. A 0.30 xG shot goes in about 3 times in 10. Goals above xG mean efficient finishing; below — a cold streak or poor finishing.
npxGNon-penalty xG- The same xG without penalties. A penalty alone is worth about 0.76 xG, so npxG is a cleaner view of open-play and set-piece chances.
xAExpected assists- The xG of the shots that followed the player's passes. High xA with few assists means teammates missed good chances.
xGChainxG chain- Team xG from every possession the player touched. It shows involvement in build-up, not only the shot or the final pass, so a deep midfielder can rank high without scoring.
KPKey passes- Passes that led directly to a shot — the volume behind xA.
Teammatessame club
Antoine MendyDefender - Centre-Back22age€10.00mvalue
Axel WitselMidfield - Defensive Midfield37age€1.20mvalue
Djibril CoulibalyMidfield - Central Midfield17age€1.00mvalue
Elye WahiAttack - Centre-Forward23age€18.00mvalue
EvertonMidfield - Defensive Midfield19age€2.00mvalue
Gauthier HeinAttack - Right Winger30age€5.00mvalue
Hamza KoutouneDefender - Right-Back19age€150kvalue
Hicham BoudaouiMidfield - Central Midfield26age€12.00mvalue
Ligue 1
Stade Brestois 29
Lyon
Strasbourg
Lille
Auxerre
Ligue 1
SM Caen
Paris FC
Club Africain
Esperance
Stade Tunisien
JS Kairouan
Sfax Railways