
Mahdi Camara#45
Stade Rennais·
Ligue 1·Midfield - Central Midfield
€12.00mMarket value#5 in Stade Rennais · #85 in Ligue 1
Key stats
Goals0
xG0.130.10 / 90
Assists0
xA0.310.24 / 90
Shots21.53 / 90
Key passes21.53 / 90
Minutes1182 matches
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
Reality checkactual vs expected, by season
Goals vs xG
+0.2+0.425/26
-0.126/27
Goals xG · total 3 / 2.8
Assists vs xA
-1.5-1.225/26
-0.326/27
Assists xA · total 1 / 2.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.
Statistics
This season
| Season | Competition | Apps | Min | G | A | YC | RC |
|---|---|---|---|---|---|---|---|
| 26/27 | Ligue 1 | 1 | 30 | 0 | 0 | 0 | 0 |
By competition
| Competition | Apps | G | A |
|---|---|---|---|
Ligue 1 | 216 | 23 | 15 |
| National 3 - Grp. K (-2024) | 25 | 5 | 0 |
Coupe de France | 21 | 1 | 1 |
| National 2 - Grp. F | 16 | 4 | 0 |
Ligue 3 | 14 | 3 | 0 |
UEFA Champions League | 10 | 1 | 1 |
| National 1 - Grp. B | 9 | 0 | 2 |
| National 2 - Grp. E | 5 | 0 | 0 |
| Ligue 2 | 4 | 0 | 1 |
Europa League | 2 | 1 | 0 |
| L1/L2 Playoffs | 2 | 1 | 0 |
| Coupe de la Ligue | 2 | 0 | 0 |
| National 1 - Grp. C | 2 | 0 | 0 |
| National U19 - Phase finale | 1 | 0 | 0 |
| National U17 - Phase finale | 0 | 0 | 0 |
By club
| Club | Apps | G | A |
|---|---|---|---|
Stade Brestois | 115 | 15 | 11 |
Saint-Étienne | 105 | 9 | 5 |
Saint-Étienne B | 57 | 9 | 2 |
| Stade Rennais | 36 | 3 | 2 |
| Stade Lavallois | 14 | 3 | 0 |
| St-Étienne U19 | 1 | 0 | 0 |
Transfers10
| Date | Season | From | To | Fee | Market value |
|---|---|---|---|---|---|
| 13/08/2025 | 25/26 | Stade Brestois | Stade Rennais | €8.00m | €9.00m |
| 01/07/2023 | 23/24 | Saint-Étienne | Stade Brestois | €3.00m | €3.00m |
| 30/06/2023 | 22/23 | Stade Brestois | Saint-Étienne | End of loan | €3.00m |
| 26/08/2022 | 22/23 | Saint-Étienne | Stade Brestois | loan transfer | €6.00m |
| 30/06/2019 | 18/19 | Stade Lavallois | Saint-Étienne | End of loan | €300k |
| 29/01/2019 | 18/19 | Saint-Étienne | Stade Lavallois | loan transfer | €150k |
| 01/07/2018 | 18/19 | Saint-Étienne B | Saint-Étienne | - | - |
| 01/07/2016 | 16/17 | St-Étienne U19 | Saint-Étienne B | - | - |
| 01/07/2015 | 15/16 | St-Étienne U17 | St-Étienne U19 | - | - |
| 01/07/2013 | 13/14 | Martigues Jgd. | St-Étienne U17 | free transfer | - |
Market value
€12.00m Current€12.00m Highest · 01/06/202601/06/2026 Last change
24.10.201801.06.2026
#144 Central Midfield#102 France#85 Ligue 1#5 Stade Rennais#1.044 Worldwide#70 Year 1998
Value history
| Date | Age | Club | Value |
|---|---|---|---|
| 24/10/2018 | 20 | AS Saint-Étienne | €150k |
| 17/12/2018 | 20 | AS Saint-Étienne | €150k |
| 28/06/2019 | 20 | Stade Lavallois | €300k |
| 19/12/2019 | 21 | AS Saint-Étienne | €1.20m |
| 08/04/2020 | 21 | AS Saint-Étienne | €1.00m |
| 15/10/2020 | 22 | AS Saint-Étienne | €3.50m |
| 09/04/2021 | 22 | AS Saint-Étienne | €5.00m |
| 04/06/2021 | 22 | AS Saint-Étienne | €5.00m |
| 08/10/2021 | 23 | AS Saint-Étienne | €6.00m |
| 16/12/2021 | 23 | AS Saint-Étienne | €6.00m |
| 30/05/2022 | 23 | AS Saint-Étienne | €6.00m |
| 19/09/2022 | 24 | Stade Brestois 29 | €4.00m |
| 02/11/2022 | 24 | Stade Brestois 29 | €4.00m |
| 27/03/2023 | 24 | Stade Brestois 29 | €3.00m |
| 27/06/2023 | 24 | Stade Brestois 29 | €3.00m |
| 16/10/2023 | 25 | Stade Brestois 29 | €5.00m |
| 18/12/2023 | 25 | Stade Brestois 29 | €6.00m |
| 19/03/2024 | 25 | Stade Brestois 29 | €9.00m |
| 03/06/2024 | 25 | Stade Brestois 29 | €10.00m |
| 10/12/2024 | 26 | Stade Brestois 29 | €10.00m |
| 03/06/2025 | 26 | Stade Brestois 29 | €9.00m |
| 15/12/2025 | 27 | Stade Rennais FC | €10.00m |
| 01/06/2026 | 27 | Stade Rennais FC | €12.00m |
xG Statisticsall seasons
| Season | League | Club | Apps | Min | G | xG | npxG | A | xA | Sh | KP | xGChain |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Ligue 1 | Rennes | 2 | 118 | 0 | 0.13 | 0.13 | 0 | 0.31 | 2 | 2 | 1.51 |
| 2025 | Ligue 1 | Rennes | 32 | 2670 | 3 | 2.64 | 2.64 | 1 | 2.19 | 29 | 23 | 12.45 |
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
Abdelhamid Ait BoudlalDefender - Centre-Back20age€12.00mvalue
Adrien ThomassonMidfield - Central Midfield32age€4.00mvalue
Alidu SeiduDefender - Centre-Back26age€6.00mvalue
Anthony RouaultDefender - Centre-Back25age€12.00mvalue
Arnaud NordinAttack - Right Winger28age€4.00mvalue
Ayanda SishubaMidfield - Attacking Midfield21age€800kvalue
Boulaye DiaAttack - Centre-Forward29age€5.00mvalue
Brice SambaGoalkeeper32age€7.00mvalue
Ligue 1
Coupe de France
Ligue 3
UEFA Champions League
Europa League
Stade Brestois
Saint-Étienne
Rennes