What would MoneyballAI have found in 2019?
The top 50 players by Bargain Index on 1 July of that year, using only information available on that date (no look-ahead), and what actually happened over the next ~2 years. All picks are shown — successes and failures.
17 hits (market value up ≥ 25% within ~2 years) · 33 misses · 0 unknown. A “miss” can still have been a sensible purchase; “hit” is judged against market value, not our own estimates.
| # | Player | Age then | League then | BI | Value then | Est. acquisition then | Value ~2y later | Change | Next league | Sold for | Outcome |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Iñigo Córdoba LW | 22 | Laliga | 100 | €4.0M | €2.5M | €2.0M | -50% | Laliga | — | miss |
| 2 | Zeki Çelik RB | 22 | Ligue 1 | 100 | €17.0M | €18.5M | €20.0M | +18% | Ligue 1 | — | miss |
| 3 | Arnór Sigurdsson LW | 20 | Premier Liga | 100 | €7.0M | €7.8M | €4.5M | -36% | Premier Liga | — | miss |
| 4 | Adrien Rabiot CM | 24 | Ligue 1 | 100 | €35.0M | €28.9M | €30.0M | -14% | Serie A | — | miss |
| 5 | Joakim Maehle LB | 22 | Jupiler Pro League | 100 | €9.0M | €9.8M | €13.0M | +44% | Jupiler Pro League | €13.7M | hit |
| 6 | Paul Bernardoni GK | 22 | Ligue 1 | 100 | €9.0M | €9.1M | €10.0M | +11% | Ligue 1 | — | miss |
| 7 | James Tavernier RB | 28 | Scottish Premiership | 100 | €2.0M | €1.3M | €8.0M | +300% | Scottish Premiership | — | hit |
| 8 | Gregor Kobel GK | 22 | Bundesliga | 100 | €6.0M | €7.4M | €13.0M | +117% | Bundesliga | — | hit |
| 9 | Michel Vlap AM | 22 | Eredivisie | 100 | €8.0M | €6.9M | €3.0M | -63% | Jupiler Pro League | €6.9M | miss |
| 10 | Enock Kwateng RB | 22 | Ligue 1 | 100 | €4.0M | €4.0M | €3.2M | -20% | Ligue 1 | — | miss |
| 11 | Óscar Rodríguez AM | 21 | Laliga | 100 | €10.0M | €9.9M | €12.0M | +20% | Laliga | — | miss |
| 12 | Elvis Rexhbecaj CM | 22 | Bundesliga | 100 | €8.0M | €9.1M | €4.0M | -50% | Bundesliga | — | miss |
| 13 | Marc Cucurella LB | 21 | Laliga | 100 | €10.0M | €11.0M | €20.0M | +100% | Laliga | €4.0M | hit |
| 14 | Marco Richter AM | 22 | Bundesliga | 100 | €7.0M | €7.4M | €5.0M | -29% | Bundesliga | — | miss |
| 15 | Robin Zentner GK | 25 | Bundesliga | 100 | €1.0M | €855k | €5.0M | +400% | Bundesliga | — | hit |
| 16 | Florian Müller GK | 22 | Bundesliga | 100 | €10.0M | €9.8M | €8.0M | -20% | Bundesliga | — | miss |
| 17 | Thomas Lemar AM | 24 | Laliga | 100 | €40.0M | €32.5M | €25.0M | -38% | Laliga | — | miss |
| 18 | Yangel Herrera CM | 22 | Laliga | 100 | €2.0M | €1.5M | €18.0M | +800% | Laliga | — | hit |
| 19 | Igor Kharatin DM | 24 | Premier Liga | 99 | €1.0M | €600k | €2.2M | +120% | left covered leagues / no data | — | hit |
| 20 | Eduard Löwen CM | 22 | Bundesliga | 99 | €7.0M | €6.7M | €3.0M | -57% | Bundesliga | — | miss |
| 21 | Ovie Ejaria LW | 22 | Scottish Premiership | 99 | €900k | €732k | €4.0M | +344% | left covered leagues / no data | — | hit |
| 22 | Jérémie Boga LW | 23 | Serie A | 99 | €6.0M | €5.3M | €20.0M | +233% | Serie A | — | hit |
| 23 | Andreas Skov Olsen RW | 20 | Superliga | 99 | €8.0M | €7.3M | €6.5M | -19% | Serie A | €6.0M | miss |
| 24 | Stefan Posch CB | 22 | Bundesliga | 99 | €5.5M | €6.2M | €13.0M | +136% | Bundesliga | — | hit |
| 25 | Fabio Depaoli RB | 22 | Serie A | 99 | €5.0M | €3.9M | €3.5M | -30% | Serie A | — | miss |
| 26 | Santiago Cáseres DM | 22 | Laliga | 99 | €10.0M | €9.8M | €4.8M | -52% | left covered leagues / no data | — | miss |
| 27 | Volodymyr Shepelev CM | 22 | Premier Liga | 99 | €4.0M | €4.2M | €2.5M | -38% | Premier Liga | — | miss |
| 28 | Martín Aguirregabiria RB | 23 | Laliga | 99 | €7.5M | €5.2M | €3.0M | -60% | Laliga | — | miss |
| 29 | Zelimkhan Bakaev RW | 23 | Premier Liga | 99 | €3.5M | €2.6M | €5.0M | +43% | Premier Liga | — | hit |
| 30 | Ivan Oblyakov CM | 21 | Premier Liga | 99 | €7.5M | €9.7M | €6.5M | -13% | Premier Liga | — | miss |
| 31 | Josip Brekalo LW | 21 | Bundesliga | 99 | €10.0M | €10.1M | €12.0M | +20% | Bundesliga | — | miss |
| 32 | Dmitriy Skopintsev LB | 22 | Premier Liga | 99 | €4.5M | €3.9M | €4.0M | -11% | Premier Liga | €4.3M | miss |
| 33 | Javier Vet DM | 26 | Eredivisie | 99 | €250k | €131k | €325k | +30% | left covered leagues / no data | — | hit |
| 34 | Félix Eboa Eboa CB | 22 | Ligue 1 | 99 | €5.0M | €4.7M | €1.5M | -70% | left covered leagues / no data | — | miss |
| 35 | Hakan Çalhanoğlu DM | 25 | Serie A | 99 | €20.0M | €15.5M | €35.0M | +75% | Serie A | — | hit |
| 36 | Maycon CM | 22 | Premier Liga | 99 | €8.0M | €7.6M | €7.0M | -13% | Premier Liga | — | miss |
| 37 | Aleix García CM | 22 | Laliga | 99 | €3.0M | €2.7M | €1.8M | -40% | Laliga | — | miss |
| 38 | Leeroy Owusu RB | 23 | Eredivisie | 99 | €600k | €379k | €650k | +8% | Eredivisie | €325k | miss |
| 39 | Ricki Lamie CB | 26 | Scottish Premiership | 99 | €275k | €137k | €375k | +36% | Scottish Premiership | — | hit |
| 40 | Marcus Thuram ST | 22 | Ligue 1 | 99 | €9.0M | €9.2M | €35.0M | +289% | Bundesliga | €9.0M | hit |
| 41 | Ibrahima Sissoko DM | 22 | Ligue 1 | 99 | €6.5M | €9.7M | €5.5M | -15% | Ligue 1 | — | miss |
| 42 | Aaron Wan-Bissaka RB | 22 | Premier League | 99 | €35.0M | €33.0M | €40.0M | +14% | Premier League | — | miss |
| 43 | Valentin Rosier RB | 23 | Ligue 1 | 99 | €8.0M | €6.8M | €7.5M | -6% | Super Lig | — | miss |
| 44 | Oleksandr Golikov LB | 28 | Premier Liga | 99 | €300k | €146k | €175k | -42% | left covered leagues / no data | — | miss |
| 45 | Franck Kessié CM | 23 | Serie A | 99 | €33.0M | €32.3M | €55.0M | +67% | Serie A | — | hit |
| 46 | Mady Camara CM | 22 | Super League 1 | 99 | €8.0M | €10.3M | €15.0M | +88% | Super League 1 | — | hit |
| 47 | Sergiy Vakulenko CB | 26 | Premier Liga | 99 | €300k | €142k | €350k | +17% | left covered leagues / no data | — | miss |
| 48 | Luiz Felipe GK | 22 | Premier Liga | 99 | €500k | €497k | €400k | -20% | left covered leagues / no data | — | miss |
| 49 | Benson Manuel RW | 22 | Jupiler Pro League | 99 | €4.0M | €3.3M | €1.0M | -75% | Eredivisie | €3.0M | miss |
| 50 | Loris Karius GK | 26 | Super Lig | 99 | €5.0M | €3.3M | €2.0M | -60% | Bundesliga | — | miss |