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 Leonardo Spinazzola

Leonardo

Spinazzola

LBItaly · SSC Napoli

№ 118689Established €4.8M −0.32

Image: FootyLogos

Player dossierSerie A

LeonardoSpinazzola

LBLeft-BackDefender

Club
SSC Napoli
League
Serie A
Nationality
Italy
Age
33
Height
186 cm
Foot
Right
Valued
29 May 2026

Reading the valuation

The market values Spinazzola at €3.5M. Model A, which never saw Spinazzola during training, estimates €4.8M: the market value is 27% below that estimate.

That is a factor of ×1.38. 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 €2.1M, 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.32A €4.8M▲ +0.49B €2.1M
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
72
Minutes
4,371
Goals
4
Assists
6
Started
50/72
Min / app
61
Cards
4Y 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 Spinazzola…

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

Checking API
EmergingEstablishedEliteWorld Class€2M€10M€30M€100k€1M€100MMarket €3.5MModel A €4.8M

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 2,065 defenders

Leonardo Spinazzola's percentiles among defenders: Goals per 90 81st, Assists per 90 83rd, Minutes, two years 75th, Starts 26th, Minutes, last 365 days 78th, European club minutes 72nd81stGoals83rdAssists75thMinutes26thStarts78thRecent72ndEurope

Dashed ring: the defender median (50th percentile)

Assists per 90

Club assists per 90 minutes in the same window.

0.12 this player0.04 defender median83rd percentile

0.00peer deciles · median line · this player ●0.58

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
Nov 2010
Peak
€26M
Mar 2021
Model target
€3.5M
May 2026
Valuations
38
11 club changes
May 2026€3.5MSSC NapoliValuation the model is trained to reproduce

May 2026: €3.5M, SSC Napoli. Dotted lines mark the €2M, €10M and €30M tier boundaries.

Show as a table
DateMarket valueClub
2010-11-16€50kJuventus Primavera
2011-06-07€75kJuventus Primavera
2012-03-01€100kJuventus Primavera
2012-12-25€300kFC Empoli
2013-06-30€250kJuventus FC
2014-01-29€250kAC Siena
2014-07-15€700kJuventus FC
2015-01-07€700kAtalanta BC
2015-06-29€600kVicenza Calcio
2015-12-28€700kAC Perugia Calcio
2016-06-13€900kAC Perugia Calcio
2017-01-02€2MAtalanta BC
2017-03-28€4MAtalanta BC
2017-06-08€8MAtalanta BC
2017-12-29€12MAtalanta BC
2018-06-07€12MAtalanta BC
2018-12-20€12MJuventus FC
2019-06-06€15MJuventus FC
2019-12-12€18MAS Roma
2020-04-08€14.5MAS Roma
2020-08-25€15MAS Roma
2020-10-29€18MAS Roma
2020-12-29€23MAS Roma
2021-03-23€26MAS Roma
2021-05-25€26MAS Roma
2021-12-28€26MAS Roma
2022-03-15€20MAS Roma
2022-06-07€20MAS Roma
2022-11-11€15MAS Roma
2023-06-15€10MAS Roma
2023-12-20€7.5MAS Roma
2024-03-12€4MAS Roma
2024-06-05€4MAS Roma
2024-12-18€2.5MSSC Napoli
2025-03-25€3.5MSSC Napoli
2025-06-17€3.5MSSC Napoli
2025-12-23€3.5MSSC Napoli
2026-05-29€3.5MSSC Napoli

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

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 →

Serie A507 players · median €5.5M

Valued above 34% of the 507 Serie A players.

€100k€750k€5M€30M€3.5MSee them in the Explorer →

Defenders, all leagues2,065 players · median €2M

Valued above 63% of the 2,065 defenders.

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

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