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…

Portrait of Ritsu Doan

Ritsu

Doan

RWJapan · Eintracht Frankfurt

№ 358504Elite €15.7M +0.08

Image: FootyLogos

Player dossierBundesliga

RitsuDoan

RWRight WingerAttack

Club
Eintracht Frankfurt
League
Bundesliga
Nationality
Japan
Age
27
Height
172 cm
Foot
Left
Valued
27 May 2026

Reading the valuation

The market values Doan at €17M. Model A, which never saw Doan during training, estimates €15.7M: the market value is 8% above that estimate.

That is a factor of ×1.08. 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 €14M, 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.08A €15.7M▲ +0.20B €14M
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
76
Minutes
6,091
Goals
17
Assists
15
Started
71/76
Min / app
80
Cards
8Y 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 Doan…

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 €17M

Checking API
EmergingEstablishedEliteWorld Class€2M€10M€30M€100k€1M€100MMarket €17MModel A €15.7M

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

Ritsu Doan's percentiles among attackers: Goals per 90 48th, Assists per 90 77th, Minutes, two years 97th, Starts 98th, Minutes, last 365 days 95th, European club minutes 67th48thGoals77thAssists97thMinutes98thStarts95thRecent67thEurope

Dashed ring: the attacker median (50th percentile)

Starts

Share of appearances started rather than entered from the bench.

93% this player59% attacker median98th 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
€100k
Feb 2016
Peak
€25M
Jun 2025
Model target
€17M
May 2026
Valuations
27
6 club changes
May 2026€17MEintracht FrankfurtValuation the model is trained to reproduce

May 2026: €17M, Eintracht Frankfurt. Dotted lines mark the €2M, €10M and €30M tier boundaries.

Show as a table
DateMarket valueClub
2016-02-25€100kGamba Osaka
2017-03-25€150kGamba Osaka
2017-10-26€750kFC Groningen
2018-01-17€1MFC Groningen
2018-03-27€1.8MFC Groningen
2018-06-12€2.5MFC Groningen
2018-12-28€7.5MFC Groningen
2019-06-12€10MFC Groningen
2019-12-18€8MPSV Eindhoven
2020-03-12€7MPSV Eindhoven
2020-04-08€6.3MPSV Eindhoven
2021-02-10€7MArminia Bielefeld
2021-06-09€7MArminia Bielefeld
2021-10-04€6.5MPSV Eindhoven
2022-01-05€6.5MPSV Eindhoven
2022-06-08€8MPSV Eindhoven
2022-11-09€12MSC Freiburg
2022-12-23€15MSC Freiburg
2023-06-22€18MSC Freiburg
2023-12-14€18MSC Freiburg
2024-03-27€15MSC Freiburg
2024-05-29€18MSC Freiburg
2024-12-20€22MSC Freiburg
2025-06-05€25MSC Freiburg
2025-12-19€25MEintracht Frankfurt
2026-03-20€20MEintracht Frankfurt
2026-05-27€17MEintracht Frankfurt

Audit context group-level, not about this player

Audit group
non-UEFA
Population gap, Model A
+0.093 95% CI +0.063 to +0.124
This player, market vs held-out A
+0.079

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 →

Bundesliga451 players · median €5M

Valued above 78% of the 451 Bundesliga players.

€300k€2M€15M€100M€17MSee them in the Explorer →

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

Valued above 84% of the 1,583 attackers.

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

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