Model Validation
Every result below is out-of-sample: for each year, models were trained only on data available on 1 July of that year (walk-forward), then scored against what happened next. Model version 0.1.0, trained 5 Oct 2026 on data up to 6 Jul 2026.
Bargain Index backtest
Median market-value change ~2 years after each date, for the top 50 picks, a baseline matched on market-value decile and age band, and all evaluated players. Players who dropped out of tracked football count at their last known value (no survivorship flattering).
Honest reading: top-50 picks matched or beat the matched baseline in 8 of 8 years, and beat the all-player average in most years. The edge is modest and inconsistent year to year — the index ranks the pool in the right order on average (see deciles below), but individual picks often fail. See every historical pick, including failures →
Rank quality by year
| Date | Spearman: index vs value change | Spearman: age vs value change | Players sold for a fee | Spearman: index vs value ÷ fee paid | Median value change by index decile (low → high) |
|---|---|---|---|---|---|
| 2017 | 0.06 | -0.48 | 300 | 0.15 | -25% -20% -17% -10% +0% -15% -17% -20% -20% +0% |
| 2018 | 0.29 | -0.44 | 276 | 0.17 | -54% -40% -38% -33% -26% -22% -27% -20% -18% -5% |
| 2019 | 0.37 | -0.44 | 245 | 0.19 | -63% -50% -42% -33% -33% -32% -20% -19% -19% -11% |
| 2020 | 0.42 | -0.47 | 311 | 0.28 | -63% -42% -27% -31% -24% -13% -9% -11% +0% +30% |
| 2021 | 0.31 | -0.45 | 401 | 0.20 | -58% -43% -38% -36% -29% -20% -25% -17% -14% -8% |
| 2022 | 0.37 | -0.48 | 492 | 0.24 | -57% -41% -31% -25% -25% -8% -13% -11% -8% +0% |
| 2023 | 0.31 | -0.48 | 436 | 0.29 | -50% -42% -29% -21% -22% -10% -13% -8% +0% +0% |
| 2024 | 0.32 | -0.46 | 579 | 0.25 | -57% -40% -27% -17% -17% -9% +0% +0% +0% +0% |
“Value ÷ fee paid” uses real transfer fees for players actually sold within 12 months — the only fully realised value-for-money measure. Note that age alone correlates strongly with value change (young players appreciate); the index is about value for money, not appreciation alone.
Valuation models by year
| Year | Model value: median error | coverage | 24m projection: median error | naive | coverage |
|---|---|---|---|---|---|
| 2015 | 31% | 40% | 38% | 50% | 42% |
| 2016 | 30% | 64% | 41% | 50% | 45% |
| 2017 | 32% | 65% | 40% | 50% | 64% |
| 2018 | 34% | 55% | 36% | 54% | 72% |
| 2019 | 36% | 58% | 40% | 61% | 70% |
| 2020 | 33% | 65% | 39% | 58% | 56% |
| 2021 | 36% | 55% | 39% | 60% | 60% |
| 2022 | 34% | 65% | 36% | 55% | 67% |
| 2023 | 33% | 63% | 34% | 50% | 67% |
| 2024 | 37% | 60% | 36% | 47% | 63% |
| 2025 | 36% | 58% | — | — | — |
| 2026 | 38% | 56% | — | — | — |
The performance-implied model value is meant to differ from market value (the difference is the signal); its error is shown for transparency. MAE €3.3M in the latest year.
Breakout model by year
| Year | Young players | Base rate | Precision top 10% | Recall | False + | False − |
|---|---|---|---|---|---|---|
| 2015 | 749 | 24% | 37% | 16% | 47 | 149 |
| 2016 | 733 | 39% | 70% | 18% | 22 | 235 |
| 2017 | 774 | 39% | 60% | 16% | 31 | 255 |
| 2018 | 707 | 28% | 49% | 18% | 36 | 165 |
| 2019 | 748 | 25% | 25% | 10% | 56 | 166 |
| 2020 | 722 | 31% | 58% | 19% | 31 | 181 |
| 2021 | 773 | 25% | 36% | 15% | 50 | 163 |
| 2022 | 740 | 33% | 53% | 16% | 35 | 202 |
| 2023 | 784 | 28% | 53% | 19% | 37 | 179 |
| 2024 | 834 | 29% | 44% | 15% | 47 | 204 |
Acquisition-cost model
Trained on 9,684 paid transfers before 2023-07-01, tested on 6,704 later ones: median absolute error 45% (baseline “fee = market value”: 50%), MAE €1.9M, RMSE €4.2M, 20–80% range coverage 54%. Contract-length adjustments are heuristic (historical contract data unavailable) and are not part of this test.
Context engine parameters
{
"prior_slope": 94.85456032360442,
"beta_dominance": 0.1962874265327752,
"prior_fit_rows": 5168,
"prior_intercept": 125.92396672039968,
"clubs_with_prior": 875,
"shrink_prior_90s": 10
}