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…

Marvin

Peersman

LBBelgium · FC Groningen

№ 125769Emerging €333k −0.29

Player dossierEredivisie

MarvinPeersman

LBLeft-BackDefender

Club
FC Groningen
League
Eredivisie
Nationality
Belgium
Age
35
Height
185 cm
Foot
Left
Valued
28 May 2026

Reading the valuation

The market values Peersman at €250k. Model A, which never saw Peersman during training, estimates €333k: the market value is 25% below that estimate.

That is a factor of ×1.33. 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 €691k, 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.29A €333k▼ −1.02B €691k
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
61
Minutes
4,775
Goals
3
Assists
4
Started
55/61
Min / app
78
Cards
12Y 1R

Club matches, two years to the valuation date

The Valuation Journey

What moves Model A

Asking the prediction API to explain Model A for Peersman…

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

Checking API
EmergingEstablishedEliteWorld Class€2M€10M€30M€100k€1M€100MMarket €250kModel A €333k

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

Marvin Peersman's percentiles among defenders: Goals per 90 68th, Assists per 90 69th, Minutes, two years 80th, Starts 70th, Minutes, last 365 days 86th, European club minutes 30th68thGoals69thAssists80thMinutes70thStarts86thRecent30thEurope

Dashed ring: the defender median (50th percentile)

Minutes, last 365 days

Club minutes in the final year of the window: recent involvement, or the absence of it.

2,888 this player1,687 defender median86th percentile

0peer deciles · median line · this player ●4,941

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
Sept 2009
Peak
€500k
Feb 2022
Model target
€250k
May 2026
Valuations
35
7 club changes
May 2026€250kFC GroningenValuation the model is trained to reproduce

May 2026: €250k, FC Groningen. Dotted lines mark the €2M, €10M and €30M tier boundaries.

Show as a table
DateMarket valueClub
2009-09-21€50kKSK Beveren (-2010)
2010-02-09€250kKSK Beveren (-2010)
2010-05-26€200kKSK Beveren (-2010)
2010-12-03€250kRoyal Antwerp FC
2011-06-17€300kRoyal Antwerp FC
2011-12-02€250kRoyal Antwerp FC
2012-06-24€200kRoyal Antwerp FC
2013-06-04€200kFC Dordrecht
2014-02-10€250kFC Dordrecht
2014-08-11€300kFC Dordrecht
2015-02-17€300kFC Dordrecht
2015-07-01€350kSC Cambuur Leeuwarden
2015-11-11€450kSC Cambuur Leeuwarden
2016-02-05€450kSC Cambuur Leeuwarden
2016-07-01€400kSC Cambuur Leeuwarden
2017-02-02€350kSC Cambuur Leeuwarden
2017-06-21€350kSC Cambuur Leeuwarden
2018-11-08€350kHapoel Tel Aviv
2019-06-28€350kHapoel Tel Aviv
2019-12-28€350kHapoel Tel Aviv
2020-04-08€300kHapoel Tel Aviv
2020-07-07€300kHapoel Tel Aviv
2021-02-12€350kPAS Giannina
2021-05-30€400kPAS Giannina
2021-11-01€450kPAS Giannina
2022-02-22€500kPAS Giannina
2022-06-09€500kPAS Giannina
2022-11-07€500kAris Thessaloniki
2023-05-22€500kAris Thessaloniki
2024-01-08€400kFC Groningen
2024-06-10€350kFC Groningen
2024-12-17€350kFC Groningen
2025-05-28€300kFC Groningen
2025-12-02€300kFC Groningen
2026-05-28€250kFC Groningen

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

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 5% of the 425 Eredivisie players.

€75k€500k€3M€20M€250kSee them in the Explorer →

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

Valued above 7% of the 2,065 defenders.

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

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