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…

Thomas

Bruns

AMNetherlands · Heracles Almelo

№ 172202Emerging €198k −0.12

Player dossierEredivisie

ThomasBruns

AMAttacking MidfieldMidfield

Club
Heracles Almelo
League
Eredivisie
Nationality
Netherlands
Age
34
Height
177 cm
Foot
Right
Valued
28 May 2026

Reading the valuation

The market values Bruns at €175k. Model A, which never saw Bruns during training, estimates €198k: the market value is 12% below that estimate.

That is a factor of ×1.13. 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 €485k, 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.12A €198k▼ −1.02B €485k
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
54
Minutes
2,617
Goals
6
Assists
4
Started
30/54
Min / app
48
Cards
6Y 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 Bruns…

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

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

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,687 midfielders

Thomas Bruns's percentiles among midfielders: Goals per 90 83rd, Assists per 90 67th, Minutes, two years 50th, Starts 28th, Minutes, last 365 days 38th, European club minutes 30th83rdGoals67thAssists50thMinutes28thStarts38thRecent30thEurope

Dashed ring: the midfielder median (50th percentile)

Goals per 90

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

0.21 this player0.08 midfielder median83rd percentile

0.00peer deciles · median line · this player ●0.93

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
Jan 2011
Peak
€2.5M
Jul 2016
Model target
€175k
May 2026
Valuations
34
7 club changes
May 2026€175kHeracles AlmeloValuation the model is trained to reproduce

May 2026: €175k, Heracles Almelo. Dotted lines mark the €2M, €10M and €30M tier boundaries.

Show as a table
DateMarket valueClub
2011-01-10€50kHeracles Almelo
2011-06-22€75kHeracles Almelo
2012-07-21€300kHeracles Almelo
2013-01-14€800kHeracles Almelo
2013-06-17€1MHeracles Almelo
2014-02-11€1MHeracles Almelo
2014-08-11€800kHeracles Almelo
2015-02-11€800kHeracles Almelo
2015-07-01€1MHeracles Almelo
2015-11-11€1.3MHeracles Almelo
2016-02-05€1.8MHeracles Almelo
2016-04-08€2.3MHeracles Almelo
2016-07-15€2.5MHeracles Almelo
2017-01-18€2.5MHeracles Almelo
2017-06-07€1.5MHeracles Almelo
2017-10-26€1.8MVitesse Arnhem
2018-01-17€1.3MVitesse Arnhem
2018-06-12€1MVitesse Arnhem
2018-12-28€900kVitesse Arnhem
2019-06-12€900kFC Groningen
2019-12-18€800kPEC Zwolle
2020-04-08€650kVVV-Venlo
2020-10-14€650kVitesse Arnhem
2021-05-19€650kVitesse Arnhem
2021-10-22€525kAdanaspor
2022-01-17€500kAdanaspor
2022-06-10€400kAdanaspor
2023-07-04€400kHeracles Almelo
2023-12-15€400kHeracles Almelo
2024-05-31€350kHeracles Almelo
2024-12-17€300kHeracles Almelo
2025-05-28€250kHeracles Almelo
2025-12-02€250kHeracles Almelo
2026-05-28€175kHeracles Almelo

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

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

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

Midfielders, all leagues1,687 players · median €2M

Valued above 3% of the 1,687 midfielders.

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

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