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…

Borja

Sainz

LWSpain · FC Porto

№ 634461Elite €13.7M +0.38

Player dossierLiga Portugal

BorjaSainz

LWLeft WingerAttack

Club
FC Porto
League
Liga Portugal
Nationality
Spain
Age
25
Height
174 cm
Foot
Right
Valued
28 May 2026

Reading the valuation

The market values Sainz at €20M. Model A, which never saw Sainz during training, estimates €13.7M: the market value is 46% above that estimate.

That is a factor of ×1.46. 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 €6.4M, 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.38A €13.7M▲ +1.14B €6.4M
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
43
Minutes
2,340
Goals
6
Assists
6
Started
28/43
Min / app
54
Cards
7Y 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 Sainz…

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

Checking API
EmergingEstablishedEliteWorld Class€2M€10M€30M€100k€1M€100MMarket €20MModel A €13.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

Borja Sainz's percentiles among attackers: Goals per 90 44th, Assists per 90 79th, Minutes, two years 52nd, Starts 61st, Minutes, last 365 days 83rd, European club minutes 93rd44thGoals79thAssists52ndMinutes61stStarts83rdRecent93rdEurope

Dashed ring: the attacker median (50th percentile)

European club minutes

Share of minutes played in UEFA club competitions.

29% this player0% attacker median93rd percentile

0%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
€300k
Dec 2019
Peak
€23M
Dec 2025
Model target
€20M
May 2026
Valuations
18
4 club changes
May 2026€20MFC PortoValuation the model is trained to reproduce

May 2026: €20M, FC Porto. Dotted lines mark the €2M, €10M and €30M tier boundaries.

Show as a table
DateMarket valueClub
2019-12-20€300kDeportivo Alavés
2020-07-23€2.5MDeportivo Alavés
2020-10-08€2.5MDeportivo Alavés
2021-01-05€2.5MDeportivo Alavés
2021-06-10€2MDeportivo Alavés
2021-12-27€2.2MReal Zaragoza
2022-06-29€2.2MReal Zaragoza
2022-10-27€2.2MGiresunspor
2023-03-14€2.2MGiresunspor
2023-06-08€2.2MGiresunspor
2023-12-21€2.2MNorwich City
2024-05-24€2.2MNorwich City
2024-12-30€12MNorwich City
2025-05-27€14MNorwich City
2025-09-30€20MFC Porto
2025-12-18€23MFC Porto
2026-03-19€22MFC Porto
2026-05-28€20MFC Porto

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

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 →

Liga Portugal423 players · median €1M

Valued above 93% of the 423 Liga Portugal players.

€20k€200k€2M€20M€20MSee them in the Explorer →

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

Valued above 87% of the 1,583 attackers.

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

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