

Last 5rating per match
Form, 12 monthsaverage rating per month
Club matchesLyon
Key statsUEFA Europa League · Ligue 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
- Ground duels
Weaknesses
No outstanding weaknesses
Player positions: DC
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 52 defenders · Ligue 1 · season 25/26 · min 270′ · player 2836′
Similar playersLigue 1 · defenders · season 25/26
Lucas HøgsbergR. Strasbourg · Defender - Centre-BackRating0G0A20age82%
Moussa NiakhatéLyon · Defender - Centre-BackRating0G2A30age82%
CJ Egan-RileyMarseille · Defender - Centre-BackRating0G0A23age81%
Mark McKenzieToulouse · Defender - Centre-BackRating0G2A27age81%
Jordan LefortAngers SCO · Defender - Centre-BackRating0G2A33age80%
Moustapha MbowParis FC · Defender - Centre-BackRating0G1A26ageProfile 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.
Availability
Angola18 caps · 0 goalsSeason statsSeason 26/27
| Competition | Team | Season | Apps | Min | Rating | G | A | G+A | YC | RC |
|---|---|---|---|---|---|---|---|---|---|---|
UEFA Europa League | Olympique Lyonnais | 26/27 | 1 | 90 | 6.30 | — | — | 0 | — | — |
Ligue 1 | Olympique Lyonnais | 26/27 | 1 | 90 | 7.70 | — | — | 0 | — | — |
Transfers7
| Date | Season | From | To | Fee | Market value |
|---|---|---|---|---|---|
| 06/07/2023 | 23/24 | Club Brugge | Lyon | €5.00m | €4.50m |
| 01/07/2018 | 18/19 | R Charleroi SC | Club Brugge | €1.50m | €2.50m |
| 30/06/2018 | 17/18 | Genk | R Charleroi SC | End of loan | €2.50m |
| 12/08/2017 | 17/18 | R Charleroi SC | Genk | Loan fee:€850k | €3.00m |
| 01/07/2014 | 14/15 | KAS Eupen | R Charleroi SC | free transfer | €150k |
| 01/01/2012 | 11/12 | KAS Eupen U21 | KAS Eupen | - | - |
| 01/07/2010 | 10/11 | CS Visé U19 | KAS Eupen U21 | free transfer | - |
Market value
Value history
| Date | Age | Club | Value |
|---|---|---|---|
| 05/02/2012 | 19 | KAS Eupen | €25k |
| 26/03/2012 | 19 | KAS Eupen | €50k |
| 24/06/2012 | 19 | KAS Eupen | €100k |
| 01/01/2013 | 20 | KAS Eupen | €150k |
| 07/01/2015 | 22 | Royal Charleroi SC | €350k |
| 24/06/2015 | 22 | Royal Charleroi SC | €500k |
| 07/02/2016 | 23 | Royal Charleroi SC | €500k |
| 14/04/2016 | 23 | Royal Charleroi SC | €700k |
| 15/07/2016 | 23 | Royal Charleroi SC | €1.00m |
| 20/10/2016 | 23 | Royal Charleroi SC | €1.50m |
| 21/01/2017 | 24 | Royal Charleroi SC | €3.00m |
| 06/06/2017 | 24 | Royal Charleroi SC | €3.00m |
| 09/01/2018 | 25 | KRC Genk | €2.50m |
| 03/06/2018 | 25 | KRC Genk | €2.50m |
| 27/12/2018 | 26 | Club Brugge KV | €3.00m |
| 10/06/2019 | 26 | Club Brugge KV | €4.50m |
| 13/12/2019 | 27 | Club Brugge KV | €5.50m |
| 30/03/2020 | 27 | Club Brugge KV | €8.00m |
| 08/04/2020 | 27 | Club Brugge KV | €6.50m |
| 06/08/2020 | 27 | Club Brugge KV | €8.50m |
| 16/10/2020 | 27 | Club Brugge KV | €8.50m |
| 17/03/2021 | 28 | Club Brugge KV | €10.00m |
| 07/06/2021 | 28 | Club Brugge KV | €10.00m |
| 06/01/2022 | 29 | Club Brugge KV | €8.00m |
| 12/04/2022 | 29 | Club Brugge KV | €8.00m |
| 04/11/2022 | 29 | Club Brugge KV | €7.00m |
| 22/03/2023 | 30 | Club Brugge KV | €5.00m |
| 09/06/2023 | 30 | Club Brugge KV | €4.50m |
| 18/12/2023 | 31 | Olympique Lyon | €4.00m |
| 03/06/2024 | 31 | Olympique Lyon | €4.00m |
| 10/12/2024 | 32 | Olympique Lyon | €4.00m |
| 03/06/2025 | 32 | Olympique Lyon | €3.50m |
| 15/12/2025 | 33 | Olympique Lyon | €3.00m |
| 01/06/2026 | 33 | Olympique Lyon | €2.50m |
xG Statisticsall seasons
| Season | League | Club | Apps | Min | G | xG | npxG | A | xA | Sh | KP | xGChain |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Ligue 1 | Lyon | 1 | 90 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.03 |
| 2025 | Ligue 1 | Lyon | 32 | 2845 | 0 | 0.17 | 0.17 | 0 | 0.09 | 5 | 2 | 11.68 |
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
AbnerDefender - Left-Back26age€10.00mvalue
Alejandro Gomes RodríguezAttack - Centre-Forward18age€800kvalue
Corentin TolissoMidfield - Central Midfield32age€10.00mvalue
Dominik GreifGoalkeeper29age€9.00mvalue
Ernest NuamahAttack - Right Winger22age€10.00mvalue
Felix BacherDefender - Centre-Back25age€6.00mvalue
Julien DuranvilleAttack - Left Winger20age€6.00mvalue
Justin BenguiGoalkeeper21age€250kvalue
Ligue 1
Rennes
Anderlecht
Paris FC
Auxerre
Le Havre
UEFA Europa League
Olympique Lyonnais
Ligue 1
Club Brugge
R Charleroi SC
Genk
KAS Eupen
Royal Charleroi SC
KRC Genk