
M'Baye Niang
Value picture
Where the market, the likely price and the model estimates sit.
The model rates M'Baye Niang's performance-implied value at EUR 0.3M-1.2M, above the estimated acquisition range of EUR 0.2M-0.9M. Its 24-month market value projection is EUR 0.3M-0.7M. Context-adjusted goal contributions are 0.95x the positional average in the league (1741 minutes, league coefficient 0.40). Confidence is medium: no event-level data (xG, progressive actions) is available from the current free source, and injury history is unavailable.
Acquisition note: Contract end date unavailable: range widened by 15% each side.
Bargain Index: 77
What drives the score. Not a black box: each component and its level.
| Performance | Below average | 23.8th pct among ATT peers (age-neutral) |
| Age | Unfavorable | 31.5 years |
| Acquisition cost | Very favorable | est. €419k vs market €800k |
| Expected appreciation | Very low | -31% over ~2 years (model) |
| Value gap | Small | weak predictor on its own |
| Development | Low | |
| League translation | Uncertain | league coefficient 0.4 |
| Tactical fit | Not evaluated | Requires event/role data not available from the current free source. |
| Risk | High | |
| Data confidence | Medium |
Bargain Index = percentile (among all evaluated players) of expected 2-year value relative to estimated cost. See methodology and backtests.
Market value history
Market value ≠ transfer fee ≠ acquisition cost.
Profile vs positional peers
Percentiles among 900 evaluated ATT players with 900+ minutes.
Performance (last season, league)
- Minutes
- 1741 (57% of available)
- Goals + assists / 90
- 0.31
- Context-adjusted G+A / 90
- 0.48
- xG, xA, progression
- Data unavailable
- Defensive actions
- Data unavailable
- Performance percentile
- 24 (Below average)
Adjusted = shrunk toward positional baseline for small samples, corrected for team dominance over opponents, expressed relative to positional peers in the same league.
Context
- League strength
- 0.40 (rank 18)
- Team strength (Elo)
- 1161
- Opponent strength
- 1273
- Possession, role
- Data unavailable
League strength 1.00 = average club of the big-five leagues. Elo includes continental matches.
Potential
- Development
- Low
- Trajectory
- insufficient
- Breakout probability
- Age > 23
- Resale range (24m)
- €306k – €709k
Historical comparables (8): median 2-year value change -50% (IQR -53% to -47%).
Risk profile
Overall: High
- ⚠Limited sample: 1741 league minutes last season.
- ⚠League level coefficient 0.40 (1.00 = big-five average): output may not translate.
- ⚠No continental-competition minutes last season.
- ⚠Age 32: resale value typically declines.
- ⓘContract end date unavailable (or stale in source).
- ⓘInjury history unavailable from current data source.
League translation
What happened to players who moved from this league to the big-five leagues (observed, not a forecast).
- Historical movers
- 53 (ATT)
- Relative output kept
- 79%–133%
- Held a regular role (900+ min)
- 58%
- Confidence
- Medium
Output is relative to positional peers in each league. Movers are a selected group (clubs buy players who fit), so treat this as context, not a guarantee.
Season-by-season (domestic league)
Context-adjusted values are model outputs.
| Season | Club | League | Pos | Apps | Min | Min share | G | A | G+A/90 | Adj. G+A/90 | Opp. Elo | Team Elo | League str. |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2025/26 | Gençlerbirliği Spor Kulübü | Super Lig | ST | 26 | 1741 | 57% | 4 | 2 | 0.31 | 0.48 | 1273 | 1160 | 0.40 |
| 2023/24 | Adana Demirspor | Super Lig | ST | 16 | 994 | 29% | 8 | 1 | 0.81 | 0.60 | 1315 | 1250 | 0.45 |
| 2023/24 | FC Empoli | Serie A | ST | 14 | 706 | 21% | 6 | 1 | 0.89 | 1.07 | 1548 | 1388 | 0.98 |
| 2022/23 | AJ Auxerre | Ligue 1 | ST | 30 | 1487 | 43% | 6 | 0 | 0.36 | 0.57 | 1466 | 1314 | 0.82 |
| 2021/22 | FC Girondins Bordeaux | Ligue 1 | ST | 22 | 769 | 22% | 3 | 0 | 0.35 | 0.54 | 1403 | 1312 | 0.86 |
| 2020/21 | Stade Rennais FC | Ligue 1 | ST | 9 | 422 | 12% | 1 | 0 | 0.21 | 0.40 | 1441 | 1445 | 0.75 |
| 2019/20 | Stade Rennais FC | Ligue 1 | ST | 26 | 2134 | 85% | 10 | 2 | 0.51 | 0.48 | 1432 | 1507 | 0.82 |
| 2018/19 | Stade Rennais FC | Ligue 1 | ST | 29 | 1801 | 53% | 11 | 5 | 0.80 | 0.70 | 1456 | 1488 | 0.82 |
| 2017/18 | Torino FC | Serie A | ST | 26 | 1538 | 45% | 4 | 1 | 0.29 | 0.38 | 1461 | 1481 | 0.86 |
| 2016/17 | Watford FC | Premier League | LW | 16 | 1254 | 37% | 2 | 2 | 0.29 | 0.42 | 1560 | 1403 | 1.07 |
| 2016/17 | AC Milan | Serie A | LW | 18 | 1124 | 33% | 3 | 3 | 0.48 | 0.37 | 1504 | 1519 | 0.88 |
| 2015/16 | AC Milan | Serie A | ST | 16 | 1161 | 34% | 5 | 4 | 0.70 | 0.58 | 1474 | 1515 | 0.95 |
| 2014/15 | Genoa CFC | Serie A | ST | 14 | 967 | 28% | 5 | 3 | 0.74 | 0.63 | 1481 | 1492 | 0.93 |
| 2014/15 | AC Milan | Serie A | ST | 5 | 84 | 2% | 0 | 0 | 0.00 | 0.37 | 1461 | 1513 | 0.93 |
| 2013/14 | Montpellier HSC | Ligue 1 | ST | 19 | 1384 | 40% | 4 | 2 | 0.39 | 0.52 | 1483 | 1372 | 0.79 |
| 2013/14 | AC Milan | Serie A | ST | 8 | 237 | 7% | 0 | 1 | 0.38 | 0.38 | 1476 | 1560 | 0.88 |
| 2012/13 | AC Milan | Serie A | ST | 20 | 871 | 25% | 0 | 1 | 0.10 | 0.23 | 1354 | 1622 | 0.88 |
Cups & continental competitions
| Season | Competition | Club | Apps | Min | G | A | Avg opp. Elo |
|---|---|---|---|---|---|---|---|
| 2023/24 | Uefa Conference League Qualifying | Adana Demirspor | 4 | 82 | 0 | 1 | 1425 |
| 2020/21 | Uefa Champions League | Stade Rennais FC | 3 | 99 | 0 | 0 | 1608 |
| 2019/20 | Uefa Europa League | Stade Rennais FC | 5 | 380 | 1 | 0 | 1501 |
| 2018/19 | Uefa Europa League | Stade Rennais FC | 9 | 543 | 1 | 1 | 1532 |
| 2017/18 | Italy Cup | Torino FC | 3 | 207 | 0 | 2 | — |
| 2017/18 | Uefa Europa League Qualifying | AC Milan | 2 | 180 | 0 | 0 | 1339 |
| 2015/16 | Italy Cup | AC Milan | 5 | 251 | 3 | 0 | — |
| 2013/14 | Uefa Champions League Qualifying | AC Milan | 1 | 6 | 0 | 0 | 1558 |
| 2012/13 | Italy Cup | AC Milan | 2 | 85 | 1 | 0 | — |
| 2012/13 | Uefa Champions League | AC Milan | 2 | 75 | 0 | 0 | 1771 |
Small continental samples are shown for context only and are not over-weighted.
Historical comparables
Most similar profiles 2+ years ago (same position group) and what happened next. Chosen by similarity only — failures included.
| Player (then) | Age | Value then | ~2y later | Outcome |
|---|---|---|---|---|
| Arvydas Novikovas Super Lig · 2021 | 31 | €600k | €300k | fell |
| Alexandros Kontos Super League 1 · 2017 | 31 | €400k | €150k | fell |
| Christos Eleftheriadis Super League 1 · 2021 | 30 | €400k | €200k | fell |
| Antonis Petropoulos Super League 1 · 2015 | 29 | €600k | €300k | fell |
| Vidar Örn Kjartansson Super League 1 · 2023 | 33 | €500k | €500k | flat |
| Sasa Kajkut Super League 1 · 2015 | 31 | €400k | €200k | fell |
| Sofiane Moussa Scottish Premiership · 2018 | 30 | €325k | €200k | fell |
| Sandi Krizman Super League 1 · 2021 | 32 | €300k | €100k | fell |
Transfer history
Fees as reported by the source; undisclosed fees shown as unknown, never estimated.
| Date | From | To | Fee | MV at time |
|---|---|---|---|---|
| 30 Aug 2025 | Sampdoria | Genclerbirligi | Free / loan | €1.0M |
| 15 Jan 2025 | Wydad AC | Sampdoria | Free / loan | €1.5M |
| 8 Sept 2024 | FC Empoli | Wydad AC | Free / loan | €2.5M |
| 31 Jan 2024 | Adana Demirspor | FC Empoli | €250k | €2.7M |
| 9 Aug 2023 | AJ Auxerre | Adana Demirspor | Free / loan | €2.5M |
| 16 Aug 2022 | G. Bordeaux | AJ Auxerre | Free / loan | €4.0M |
| 24 Sept 2021 | Stade Rennais | G. Bordeaux | Free / loan | €4.5M |
| 30 Jun 2021 | Al-Ahli | Stade Rennais | Free / loan | €4.5M |
| 7 Feb 2021 | Stade Rennais | Al-Ahli | Free / loan | €10.0M |
| 1 Jul 2019 | Torino | Stade Rennais | €15.0M | €12.0M |
| 30 Jun 2019 | Stade Rennais | Torino | Free / loan | €12.0M |
| 31 Aug 2018 | Torino | Stade Rennais | Free / loan | €10.0M |
| 1 Jul 2018 | AC Milan | Torino | €12.0M | €10.0M |
| 30 Jun 2018 | Torino | AC Milan | Free / loan | €10.0M |
| 31 Aug 2017 | AC Milan | Torino | Free / loan | €15.0M |
| 30 Jun 2017 | Watford | AC Milan | Free / loan | €15.0M |
| 26 Jan 2017 | AC Milan | Watford | Free / loan | €15.0M |
| 30 Jun 2015 | Genoa | AC Milan | Free / loan | €5.0M |
| 21 Jan 2015 | AC Milan | Genoa | Free / loan | €4.0M |
| 30 Jun 2014 | Montpellier | AC Milan | Free / loan | €4.5M |
| 1 Jan 2014 | AC Milan | Montpellier | Free / loan | €5.0M |
| 28 Aug 2012 | SM Caen | AC Milan | €3.3M | €1.8M |
| 1 Mar 2011 | SM Caen B | SM Caen | Unknown | Data unavailable |
| 1 Jul 2010 | SM Caen U17 | SM Caen B | Unknown | Data unavailable |
| 1 Jan 2010 | SM Caen Jugend | SM Caen U17 | Unknown | Data unavailable |
MoneyballAI identifies statistical opportunities from available data. A player flagged as a potential bargain is not guaranteed to succeed, to transfer, to rise in value, or to generate resale profit. Market values, fees and contracts come from third-party sources; ranges are model estimates with stated confidence.