FairValue

Checking model

Esc

  • EnvironmentOverviewWhat FairValue measures, what it found, where to go next.
  • EnvironmentTerminalExplore, compare and track players; market, league and model views.
  • EnvironmentStoriesValuations, head-to-heads and research findings, told as stories.
  • TerminalPlayer ExplorerSearch, filter and sort the player export.
  • TerminalComparison StudioTwo to four players on one scale.
  • TerminalWatchlistsNamed collections, kept in this browser.
  • TerminalMarket LandscapeHow observed value is distributed, and where the model drifts.

↑ ↓ to move · Enter to open · Esc to closeLoading player index…

Kevin

Müller

GKGermany · 1.FC Heidenheim 1846

№ 43824Emerging €826k −1.01

Player dossierBundesliga

KevinMüller

GKGoalkeeperGoalkeeper

Club
1.FC Heidenheim 1846
League
Bundesliga
Nationality
Germany
Age
34
Height
190 cm
Foot
Right
Valued
19 Dec 2025

Reading the valuation

The market values Müller at €300k. Model A, which never saw Müller during training, estimates €826k: the market value is 64% below that estimate.

That is a factor of ×2.75. Model A's typical held-out miss is ×1.50 either way, so this gap is larger than its usual error.

Without league and club, Model B estimates €374k, closer to the market here, although it is usually further off (typical miss ×2.07).

A gap describes the model's arithmetic for this player's inputs, not what the player is worth.

▼ −1.01A €826k▼ −0.22B €374k
Pitch length is a log value scale fitted to this player's figures. ● observed · ◇ Model A · dashed ◇ Model B · each arc is a residual, log(observed) − log(estimate).
Apps
53
Minutes
4,740
Started
53/53
Min / app
89
Cards
0Y 0R

Club matches, two years to the valuation date

The Valuation Journey

What moves Model A

Asking the prediction API to explain Model A for Müller…

SHAP describes the model's arithmetic for this player's inputs, not what causes market value. Model B can be explained only by the live service; Model A also has a published explanation for the research players.

Model A vs Model B against the observed €300k

Checking API
EmergingEstablishedEliteWorld Class€2M€10M€30M€100k€1M€100MMarket €300kModel A €826k

Asking the prediction API…

Held-out estimates come from cross-validation, with this player outside the training data: the honest comparison. Served models were refitted on every player, this one included, so they sit closer to the market. Shaded band: Model A's typical miss (×1.50 either way).

Player traitspercentiles vs 485 goalkeepers

Kevin Müller's percentiles among goalkeepers: Minutes, two years 74th, Starts 62nd, Minutes, last 365 days 52nd, European club minutes 64th74thMinutes62ndStarts52ndRecent64thEurope

Dashed ring: the goalkeeper median (50th percentile)

Minutes, two years

Total club minutes in the two-year window: how much the player was used.

4,740 this player2,790 goalkeeper median74th percentile

450peer deciles · median line · this player ●9,210

No passing, progression or defensive actions exist in the dataset, so no trait claims to measure them.

Valuation history every Transfermarkt valuation on record

First valuation
€100k
Jul 2010
Peak
€1.2M
Mar 2024
Model target
€300k
Dec 2025
Valuations
39
3 club changes
Dec 2025€300k1.FC Heidenheim 1846Valuation the model is trained to reproduce

Dec 2025: €300k, 1.FC Heidenheim 1846. Dotted lines mark the €2M, €10M and €30M tier boundaries.

Show as a table
DateMarket valueClub
2010-07-01€100kFC Hansa Rostock
2010-11-16€200kFC Hansa Rostock
2011-01-17€350kFC Hansa Rostock
2011-05-30€400kFC Hansa Rostock
2011-10-15€600kFC Hansa Rostock
2012-01-16€800kFC Hansa Rostock
2012-06-24€500kFC Hansa Rostock
2013-06-28€500kFC Hansa Rostock
2014-01-24€300kVfB Stuttgart II
2014-06-30€300kVfB Stuttgart II
2014-11-06€300kFC Energie Cottbus
2015-03-07€350kFC Energie Cottbus
2015-07-01€450k1.FC Heidenheim 1846
2016-02-11€400k1.FC Heidenheim 1846
2016-07-22€400k1.FC Heidenheim 1846
2016-10-06€600k1.FC Heidenheim 1846
2017-01-23€800k1.FC Heidenheim 1846
2017-06-27€800k1.FC Heidenheim 1846
2018-01-22€800k1.FC Heidenheim 1846
2018-06-19€800k1.FC Heidenheim 1846
2019-01-08€800k1.FC Heidenheim 1846
2019-06-12€800k1.FC Heidenheim 1846
2019-12-13€800k1.FC Heidenheim 1846
2020-04-08€650k1.FC Heidenheim 1846
2020-07-15€900k1.FC Heidenheim 1846
2021-02-08€900k1.FC Heidenheim 1846
2021-06-16€800k1.FC Heidenheim 1846
2021-10-13€700k1.FC Heidenheim 1846
2021-12-15€600k1.FC Heidenheim 1846
2022-06-16€600k1.FC Heidenheim 1846
2022-11-30€600k1.FC Heidenheim 1846
2023-06-28€800k1.FC Heidenheim 1846
2023-12-14€800k1.FC Heidenheim 1846
2024-03-27€1.2M1.FC Heidenheim 1846
2024-05-29€1M1.FC Heidenheim 1846
2024-12-20€1M1.FC Heidenheim 1846
2025-06-05€700k1.FC Heidenheim 1846
2025-10-14€400k1.FC Heidenheim 1846
2025-12-19€300k1.FC Heidenheim 1846

Audit context group-level, not about this player

Audit group
UEFA
Population gap, Model A
+0.093 95% CI +0.063 to +0.124
This player, market vs held-out A
−1.013

The group comes from first-listed citizenship and is never a model input. Across the population, non-UEFA players' market values sit about 10% above Model A's held-out estimates, relative to UEFA players in the same leagues. One player's residual says nothing about that pattern (typical miss ×1.50), and none of it is evidence of discrimination: the target may itself be biased. Open the Fairness Audit

In context observed value among comparable players in this build

All players in the Terminal →

Bundesliga451 players · median €5M

The joint lowest observed value among 451 Bundesliga players.

€300k€2M€15M€100M€300kSee them in the Explorer →

Goalkeepers, all leagues485 players · median €1M

Valued above 15% of the 485 goalkeepers.

€20k€200k€2M€20M€300kSee them in the Explorer →

Where Müller appears

Watchlists and the comparison tray are kept in this browser only.

Near this valuation closest observed values: same league, then same position

Counts and ranks of observed Transfermarkt values only; model errors are never ranked here. Full player export: Every player in the modelling population (D-011).