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…

Jesper

Hansen

GKDenmark · Aarhus GF

№ 22860Emerging €105k −0.74

Player dossierSuperliga

JesperHansen

GKGoalkeeperGoalkeeper

Club
Aarhus GF
League
Superliga
Nationality
Denmark
Age
41
Height
188 cm
Foot
Right
Valued
25 May 2026

Reading the valuation

The market values Hansen at €50k. Model A, which never saw Hansen during training, estimates €105k: the market value is 52% below that estimate.

That is a factor of ×2.10. 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 €161k, further from the market. Model B is usually further off (typical miss ×2.07): league and club explain much of how the market prices players.

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

▼ −0.74A €105k▼ −1.17B €161k
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
52
Minutes
4,666
Started
51/52
Min / app
90
Cards
1Y 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 Hansen…

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 €50k

Checking API
EmergingEstablishedEliteWorld Class€2M€10M€30M€100k€1M€100MMarket €50kModel A €105k

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

Jesper Hansen's percentiles among goalkeepers: Minutes, two years 73rd, Starts 20th, Minutes, last 365 days 66th, European club minutes 32nd73rdMinutes20thStarts66thRecent32ndEurope

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,666 this player2,790 goalkeeper median73rd 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
€125k
Feb 2007
Peak
€1M
Jan 2013
Model target
€50k
May 2026
Valuations
41
5 club changes
May 2026€50kAarhus GFValuation the model is trained to reproduce

May 2026: €50k, Aarhus GF. Dotted lines mark the €2M, €10M and €30M tier boundaries.

Show as a table
DateMarket valueClub
2007-02-26€125kFC Nordsjaelland
2008-02-21€100kFC Nordsjaelland
2008-06-09€300kFC Nordsjaelland
2008-12-18€400kFC Nordsjaelland
2009-10-27€350kFC Nordsjaelland
2010-05-28€500kFC Nordsjaelland
2011-01-17€400kFC Nordsjaelland
2011-06-30€500kFC Nordsjaelland
2011-12-29€850kFC Nordsjaelland
2012-07-18€850kFC Nordsjaelland
2013-01-17€1MFC Nordsjaelland
2013-06-18€1MFC Nordsjaelland
2014-01-14€1MFC Évian Thonon Gaillard
2014-08-07€1MFC Évian Thonon Gaillard
2015-01-14€1MFC Évian Thonon Gaillard
2015-06-06€800kFC Évian Thonon Gaillard
2015-09-06€1MSC Bastia
2016-02-04€1MSC Bastia
2016-07-01€500kLyngby Boldklub
2016-08-12€400kLyngby Boldklub
2016-12-12€500kLyngby Boldklub
2017-06-21€500kLyngby Boldklub
2017-12-18€500kFC Midtjylland
2018-06-02€500kFC Midtjylland
2018-12-21€500kFC Midtjylland
2019-06-08€500kFC Midtjylland
2019-12-22€500kFC Midtjylland
2020-04-08€400kFC Midtjylland
2020-07-31€350kFC Midtjylland
2020-12-23€350kFC Midtjylland
2021-06-04€250kFC Midtjylland
2021-12-28€250kAarhus GF
2022-06-20€200kAarhus GF
2022-12-22€200kAarhus GF
2023-06-26€200kAarhus GF
2023-12-21€150kAarhus GF
2024-06-10€100kAarhus GF
2024-12-09€100kAarhus GF
2025-06-16€100kAarhus GF
2025-12-15€50kAarhus GF
2026-05-25€50kAarhus GF

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
−0.740

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 →

Superliga256 players · median €800k

Valued above 2% of the 256 Superliga players.

€20k€150k€1M€7.5M€50kSee them in the Explorer →

Goalkeepers, all leagues485 players · median €1M

Valued above 0% of the 485 goalkeepers.

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

Where Hansen 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).