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…

Sébastien

Haller

CFCote d'Ivoire · FC Utrecht

№ 181375Emerging €1.2M −0.21

Player dossierEredivisie

SébastienHaller

CFCentre-ForwardAttack

Club
FC Utrecht
League
Eredivisie
Nationality
Cote d'Ivoire
Age
31
Height
190 cm
Foot
Right
Valued
28 May 2026

Reading the valuation

The market values Haller at €1M. Model A, which never saw Haller during training, estimates €1.2M: the market value is 19% below that estimate.

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

Without league and club, Model B estimates €1.7M, 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.21A €1.2M▼ −0.53B €1.7M
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
59
Minutes
3,339
Goals
7
Assists
5
Started
36/59
Min / app
57
Cards
2Y 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 Haller…

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 €1M

Checking API
EmergingEstablishedEliteWorld Class€2M€10M€30M€100k€1M€100MMarket €1MModel A €1.2M

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 1,583 attackers

Sébastien Haller's percentiles among attackers: Goals per 90 33rd, Assists per 90 45th, Minutes, two years 71st, Starts 53rd, Minutes, last 365 days 55th, European club minutes 77th33rdGoals45thAssists71stMinutes53rdStarts55thRecent77thEurope

Dashed ring: the attacker median (50th percentile)

European club minutes

Share of minutes played in UEFA club competitions.

14% this player0% attacker median77th percentile

0%peer deciles · median line · this player ●100%

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 2011
Peak
€45M
Sept 2019
Model target
€1M
May 2026
Valuations
41
8 club changes
May 2026€1MFC UtrechtValuation the model is trained to reproduce

May 2026: €1M, FC Utrecht. Dotted lines mark the €2M, €10M and €30M tier boundaries.

Show as a table
DateMarket valueClub
2011-07-20€100kAJ Auxerre B
2011-12-24€200kAJ Auxerre B
2012-05-23€200kAJ Auxerre B
2013-01-04€400kAJ Auxerre
2013-05-29€750kAJ Auxerre
2014-01-13€1.3MAJ Auxerre
2014-11-20€1.3MAJ Auxerre
2015-02-16€1.3MFC Utrecht
2015-07-01€2MFC Utrecht
2015-11-11€3.5MFC Utrecht
2016-02-05€6.5MFC Utrecht
2016-07-15€7.5MFC Utrecht
2017-01-18€8MFC Utrecht
2017-06-07€8MFC Utrecht
2017-12-28€12MEintracht Frankfurt
2018-06-05€12MEintracht Frankfurt
2018-08-22€11MEintracht Frankfurt
2018-10-22€15MEintracht Frankfurt
2018-12-18€35MEintracht Frankfurt
2019-03-06€40MEintracht Frankfurt
2019-06-05€40MEintracht Frankfurt
2019-09-12€45MWest Ham United
2019-12-10€45MWest Ham United
2020-04-08€36MWest Ham United
2020-10-13€30MWest Ham United
2021-05-19€27MAjax Amsterdam
2022-01-05€30MAjax Amsterdam
2022-06-08€35MAjax Amsterdam
2022-11-09€35MBorussia Dortmund
2023-03-29€30MBorussia Dortmund
2023-06-22€30MBorussia Dortmund
2023-10-18€25MBorussia Dortmund
2023-12-14€18MBorussia Dortmund
2024-03-27€14MBorussia Dortmund
2024-05-29€10MBorussia Dortmund
2024-10-11€7.5MCD Leganés
2024-12-27€3MCD Leganés
2025-05-28€3MFC Utrecht
2025-12-02€2MFC Utrecht
2026-03-11€1.3MFC Utrecht
2026-05-28€1MFC Utrecht

Audit context group-level, not about this player

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

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 →

Eredivisie425 players · median €1M

Valued above 46% of the 425 Eredivisie players.

€75k€500k€3M€20M€1MSee them in the Explorer →

Attackers, all leagues1,583 players · median €2.5M

Valued above 29% of the 1,583 attackers.

€20k€300k€5M€75M€1MSee them in the Explorer →

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