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…

Florent

Hanin

LBFrance · Angers SCO

№ 111811Emerging €254k −0.24

Player dossierLigue 1

FlorentHanin

LBLeft-BackDefender

Club
Angers SCO
League
Ligue 1
Nationality
France
Age
36
Height
177 cm
Foot
Left
Valued
1 Jun 2026

Reading the valuation

The market values Hanin at €200k. Model A, which never saw Hanin during training, estimates €254k: the market value is 21% below that estimate.

That is a factor of ×1.27. 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 €389k, 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.24A €254k▼ −0.67B €389k
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
58
Minutes
3,540
Goals
1
Assists
2
Started
40/58
Min / app
61
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 Hanin…

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

Checking API
EmergingEstablishedEliteWorld Class€2M€10M€30M€100k€1M€100MMarket €200kModel A €254k

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 2,065 defenders

Florent Hanin's percentiles among defenders: Goals per 90 44th, Assists per 90 58th, Minutes, two years 62nd, Starts 26th, Minutes, last 365 days 25th, European club minutes 30th44thGoals58thAssists62ndMinutes26thStarts25thRecent30thEurope

Dashed ring: the defender median (50th percentile)

Minutes, two years

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

3,540 this player2,860 defender median62nd percentile

451peer deciles · median line · this player ●9,111

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
€50k
Aug 2009
Peak
€2M
Dec 2019
Model target
€200k
Jun 2026
Valuations
34
12 club changes
Jun 2026€200kAngers SCOValuation the model is trained to reproduce

Jun 2026: €200k, Angers SCO. Dotted lines mark the €2M, €10M and €30M tier boundaries.

Show as a table
DateMarket valueClub
2009-08-06€50kLe Havre AC
2009-12-13€1.5MLe Havre AC
2010-02-01€50kLe Havre AC
2011-05-30€50kLe Havre AC
2012-02-02€400kLeixões SC
2013-03-29€1MMoreirense FC
2013-07-02€1.2MSC Braga B
2013-11-05€1MMoreirense FC
2014-03-28€1MPanetolikos
2015-01-08€600kLierse SK (-2018)
2015-12-27€600kStrømsgodset IF
2016-07-16€400kFC St. Gallen 1879
2017-02-22€700kCF Os Belenenses
2017-06-26€1MCF Os Belenenses
2018-02-07€1.5MCF Os Belenenses
2018-06-13€1.5MCF Os Belenenses
2019-01-11€1.3MVitória Guimarães SC
2019-06-07€1.3MVitória Guimarães SC
2019-12-30€2MVitória Guimarães SC
2020-04-08€1.6MVitória Guimarães SC
2020-08-17€1.6MParis FC
2020-11-11€1.6MParis FC
2021-06-25€1.2MParis FC
2021-12-27€1MParis FC
2022-06-02€800kParis FC
2022-10-28€700kParis FC
2023-06-16€600kParis FC
2023-10-27€500kAngers SCO
2023-12-13€400kAngers SCO
2024-06-11€350kAngers SCO
2024-12-10€350kAngers SCO
2025-06-03€300kAngers SCO
2025-12-15€250kAngers SCO
2026-06-01€200kAngers SCO

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.238

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 →

Ligue 1423 players · median €5M

Valued above 1% of the 423 Ligue 1 players.

€100k€750k€5M€30M€200kSee them in the Explorer →

Defenders, all leagues2,065 players · median €2M

Valued above 5% of the 2,065 defenders.

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

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