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…

Michiel

Kramer

CFNetherlands · RKC Waalwijk

№ 56523Emerging €107k −0.06

Player dossierEredivisie

MichielKramer

CFCentre-ForwardAttack

Club
RKC Waalwijk
League
Eredivisie
Nationality
Netherlands
Age
37
Height
196 cm
Foot
Right
Valued
16 Dec 2025

Reading the valuation

The market values Kramer at €100k. Model A, which never saw Kramer during training, estimates €107k: the market value is 6% below that estimate.

That is a factor of ×1.07. 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 €141k, 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.06A €107k▼ −0.34B €141k
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
35
Minutes
1,260
Goals
7
Assists
0
Started
11/35
Min / app
36
Cards
4Y 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 Kramer…

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

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

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

Michiel Kramer's percentiles among attackers: Goals per 90 88th, Assists per 90 6th, Minutes, two years 26th, Starts 12th, Minutes, last 365 days 25th, European club minutes 28th88thGoals6thAssists26thMinutes12thStarts25thRecent28thEurope

Dashed ring: the attacker median (50th percentile)

Goals per 90

Club goals per 90 minutes played in the two years to the valuation date.

0.50 this player0.26 attacker median88th percentile

0.00peer deciles · median line · this player ●1.17

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
Oct 2007
Peak
€3M
Feb 2016
Model target
€100k
Dec 2025
Valuations
35
7 club changes
Dec 2025€100kRKC WaalwijkValuation the model is trained to reproduce

Dec 2025: €100k, RKC Waalwijk. Dotted lines mark the €2M, €10M and €30M tier boundaries.

Show as a table
DateMarket valueClub
2007-10-19€50kNAC Breda
2008-07-29€75kNAC Breda
2009-06-03€150kNAC Breda
2011-01-05€200kFC Volendam
2012-01-01€150kFC Volendam
2013-06-05€400kFC Volendam
2014-02-11€400kADO Den Haag
2014-08-10€500kADO Den Haag
2014-11-02€1MADO Den Haag
2015-02-12€1.5MADO Den Haag
2015-07-01€2.5MADO Den Haag
2016-02-05€3MFeyenoord Rotterdam
2016-07-15€3MFeyenoord Rotterdam
2017-01-18€2.5MFeyenoord Rotterdam
2017-06-07€2MFeyenoord Rotterdam
2018-01-17€1.5MFeyenoord Rotterdam
2018-11-08€1.5MMaccabi Haifa
2019-03-13€1MFC Utrecht
2019-06-12€800kFC Utrecht
2019-09-19€650kADO Den Haag
2019-12-18€650kADO Den Haag
2020-04-08€525kADO Den Haag
2020-10-14€525kADO Den Haag
2021-03-09€400kADO Den Haag
2021-05-19€350kADO Den Haag
2022-01-05€350kRKC Waalwijk
2022-06-08€375kRKC Waalwijk
2022-11-11€375kRKC Waalwijk
2023-06-23€400kRKC Waalwijk
2023-12-15€350kRKC Waalwijk
2024-05-31€275kRKC Waalwijk
2024-10-14€175kRKC Waalwijk
2024-12-17€150kRKC Waalwijk
2025-05-28€125kRKC Waalwijk
2025-12-16€100kRKC Waalwijk

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

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

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

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

Valued above 1% of the 1,583 attackers.

€20k€300k€5M€75M€100kSee them in the Explorer →

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