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…

Bryan

Linssen

CFNetherlands · NEC Nijmegen

№ 82410Emerging €849k −1.04

Player dossierEredivisie

BryanLinssen

CFCentre-ForwardAttack

Club
NEC Nijmegen
League
Eredivisie
Nationality
Netherlands
Age
35
Height
170 cm
Foot
Right
Valued
28 May 2026

Reading the valuation

The market values Linssen at €300k. Model A, which never saw Linssen during training, estimates €849k: the market value is 65% below that estimate.

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

Without league and club, Model B estimates €647k, closer to the market here, although it is usually further off (typical miss ×2.07).

A gap describes the model's arithmetic for this player's inputs, not what the player is worth.

▼ −1.04A €849k▼ −0.77B €647k
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
51
Minutes
3,327
Goals
16
Assists
8
Started
43/51
Min / app
65
Cards
10Y 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 Linssen…

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

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

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

Bryan Linssen's percentiles among attackers: Goals per 90 81st, Assists per 90 75th, Minutes, two years 71st, Starts 88th, Minutes, last 365 days 87th, European club minutes 28th81stGoals75thAssists71stMinutes88thStarts87thRecent28thEurope

Dashed ring: the attacker median (50th percentile)

Starts

Share of appearances started rather than entered from the bench.

84% this player59% attacker median88th percentile

5%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
€50k
Aug 2008
Peak
€4M
Jun 2018
Model target
€300k
May 2026
Valuations
38
8 club changes
May 2026€300kNEC NijmegenValuation the model is trained to reproduce

May 2026: €300k, NEC Nijmegen. Dotted lines mark the €2M, €10M and €30M tier boundaries.

Show as a table
DateMarket valueClub
2008-08-14€50kFortuna Sittard
2009-06-14€250kFortuna Sittard
2010-06-01€350kMVV Maastricht
2010-08-20€450kVVV-Venlo
2011-06-30€350kVVV-Venlo
2012-01-23€450kVVV-Venlo
2012-07-25€500kVVV-Venlo
2013-01-17€650kVVV-Venlo
2013-06-18€650kVVV-Venlo
2014-02-11€900kHeracles Almelo
2014-08-11€1MHeracles Almelo
2015-02-11€1MHeracles Almelo
2015-07-01€1.3MFC Groningen
2015-11-11€1.5MFC Groningen
2016-02-05€2MFC Groningen
2016-07-15€2MFC Groningen
2017-01-18€1.8MFC Groningen
2017-06-07€2.5MFC Groningen
2018-01-17€2.5MVitesse Arnhem
2018-03-27€3.5MVitesse Arnhem
2018-06-12€4MVitesse Arnhem
2018-12-28€3.5MVitesse Arnhem
2019-06-12€3MVitesse Arnhem
2019-12-18€3MVitesse Arnhem
2020-04-08€2.4MVitesse Arnhem
2020-10-14€2.4MFeyenoord Rotterdam
2021-01-06€2MFeyenoord Rotterdam
2021-05-19€2.2MFeyenoord Rotterdam
2022-01-05€2.2MFeyenoord Rotterdam
2022-06-08€2.2MFeyenoord Rotterdam
2023-01-06€1.8MUrawa Red Diamonds
2023-06-27€1.3MUrawa Red Diamonds
2024-02-22€1MUrawa Red Diamonds
2024-06-12€500kUrawa Red Diamonds
2024-12-10€450kUrawa Red Diamonds
2025-05-28€400kNEC Nijmegen
2025-12-02€350kNEC Nijmegen
2026-05-28€300kNEC Nijmegen

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
−1.040

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

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

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

Valued above 8% of the 1,583 attackers.

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

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