

Last 5rating per match
Form, 12 monthsaverage rating per month
Club matchesLens
Next matches
24 Oct · 19:45Ligue 1H
Paris FC2.533.522.67PredictionOdds are 1X2 for the match; the club's outcome is highlighted. Prediction opens the full match preview.
Key statsUEFA Champions League · Ligue 1 · Trophée des Champions
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. Rank: place among defenders — Ligue 1, season 26/27. What xG, npxG, xA and xGChain mean
Player profileattributes and traits
Player Position average
Strengths
No outstanding strengths
Weaknesses
No outstanding weaknesses
Player positions: MR · DR
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 55 defenders · Ligue 1 · season 26/27 · min 270′ · player 440′
Similar playersLigue 1 · defenders · season 26/27
Zachary AthekameLyon · Defender - Right-BackRating2G3A21age79%
Lucas MaronnierTroyes · Defender - Right-BackRating1G0A26age78%
Jonathan ClaussNice · Defender - Right-BackRating1G1A33age78%
Timothy WeahMarseille · Defender - Right-BackRating0G2A26age76%
Matthieu UdolLens · Defender - Left-BackRating2G0A30age76%
Lucas CalodatLe Mans FC · Defender - Left-BackRating1G2A24ageProfile match = 100 − mean gap of per-90 percentiles across 27 metrics of this position; players of the same league, position group and season with at least 270 minutes.
Reality checkactual vs expected, by season
Goals vs xG
+0.9Goals xG · total 2 / 1.1
Assists vs xA
-1.5Assists xA · total 2 / 3.5
Bars above xG mean the player scores more than the quality of his chances suggests; a long run below xG is usually a finishing problem, a short one — variance.
Availability
France1 caps · 0 goalsSeason statsSeason 26/27
| Competition | Team | Season | Apps | Min | Rating | G | A | G+A | YC | RC |
|---|---|---|---|---|---|---|---|---|---|---|
UEFA Champions League | RC Lens | 26/27 | 3 | 142 | 6.63 | 1 | — | 1 | — | — |
Ligue 1 | RC Lens | 26/27 | 6 | 440 | 6.97 | 1 | 1 | 2 | 1 | — |
Trophée des Champions | RC Lens | 26/27 | 1 | 45 | 7.20 | — | — | 0 | — | — |
Transfers8
| Date | Season | From | To | Fee | Market value |
|---|---|---|---|---|---|
| 01/09/2023 | 23/24 | Monaco | Lens | €3.50m | €7.00m |
| 06/08/2019 | 19/20 | Montpellier | Monaco | €8.00m | €8.00m |
| 01/07/2017 | 17/18 | AJ Auxerre | Montpellier | free transfer | €900k |
| 01/07/2014 | 14/15 | Grenoble | AJ Auxerre | free transfer | - |
| 20/07/2013 | 13/14 | Saint-Étienne B | Grenoble | free transfer | - |
| 06/07/2011 | 11/12 | Grenoble U19 | Saint-Étienne B | free transfer | - |
| 01/07/2010 | 10/11 | Grenoble 38 U17 | Grenoble U19 | - | - |
| 01/07/2008 | 08/09 | Grenoble Jugend | Grenoble 38 U17 | - | - |
Market value
Value history
| Date | Age | Club | Value |
|---|---|---|---|
| 20/11/2014 | 21 | AJ Auxerre | €400k |
| 06/06/2015 | 22 | AJ Auxerre | €400k |
| 04/02/2016 | 22 | AJ Auxerre | €500k |
| 13/07/2016 | 23 | AJ Auxerre | €700k |
| 20/03/2017 | 23 | AJ Auxerre | €900k |
| 15/06/2017 | 24 | AJ Auxerre | €900k |
| 24/01/2018 | 24 | Montpellier HSC | €2.50m |
| 20/03/2018 | 24 | Montpellier HSC | €4.00m |
| 04/06/2018 | 25 | Montpellier HSC | €6.00m |
| 17/12/2018 | 25 | Montpellier HSC | €6.00m |
| 03/06/2019 | 26 | Montpellier HSC | €8.00m |
| 19/12/2019 | 26 | AS Monaco | €8.00m |
| 08/04/2020 | 26 | AS Monaco | €6.50m |
| 15/10/2020 | 27 | AS Monaco | €8.00m |
| 07/01/2021 | 27 | AS Monaco | €10.00m |
| 09/04/2021 | 27 | AS Monaco | €12.00m |
| 04/06/2021 | 28 | AS Monaco | €12.00m |
| 08/10/2021 | 28 | AS Monaco | €10.00m |
| 16/12/2021 | 28 | AS Monaco | €10.00m |
| 30/05/2022 | 29 | AS Monaco | €10.00m |
| 02/11/2022 | 29 | AS Monaco | €10.00m |
| 27/06/2023 | 30 | AS Monaco | €7.00m |
| 16/10/2023 | 30 | RC Lens | €6.00m |
| 18/12/2023 | 30 | RC Lens | €6.00m |
| 03/06/2024 | 31 | RC Lens | €5.00m |
| 10/12/2024 | 31 | RC Lens | €4.00m |
| 03/06/2025 | 32 | RC Lens | €3.50m |
| 15/12/2025 | 32 | RC Lens | €3.00m |
| 01/06/2026 | 33 | RC Lens | €2.50m |
xG Statisticsall seasons
| Season | League | Club | Apps | Min | G | xG | npxG | A | xA | Sh | KP | xGChain |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Ligue 1 | Lens | 2 | 95 | 0 | 0.07 | 0.07 | 0 | 0.27 | 1 | 2 | 0.8 |
| 2025 | Ligue 1 | Lens | 26 | 1751 | 2 | 1.04 | 1.04 | 2 | 3.24 | 13 | 26 | 10.67 |
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
Abdallah SimaAttack - Left Winger25age€5.00mvalue
Amadou HaidaraMidfield - Central Midfield28age€5.00mvalue
Andrija BulatovicMidfield - Central Midfield19age€8.00mvalue
Florian SotocaAttack - Centre-Forward35age€1.20mvalue
Florian ThauvinAttack - Right Winger33age€5.00mvalue
Franjo IvanovićAttack - Centre-Forward22age€15.00mvalue
Ilan JourdrenGoalkeeper18age-value
Ismaëlo GaniouDefender - Centre-Back21age€20.00mvalue
Ligue 1
Club Brugge KV
Estac Troyes
Sporting CP
Lyon
Monaco
UEFA Champions League
RC Lens
Ligue 1
Trophée des Champions
Montpellier
AJ Auxerre
Grenoble
Saint-Étienne B
AS Monaco