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 Christian Pulisic

Christian

Pulisic

RWUnited States · AC Milan

№ 315779World Class €37.6M +0.06

Photo: Bryan Berlin / WikiPortraits, CC BY-SA 4.0 (background removed)

Player dossierSerie A

ChristianPulisic

RWRight WingerAttack

Club
AC Milan
League
Serie A
Nationality
United States
Age
27
Height
177 cm
Foot
Right
Valued
29 May 2026

Reading the valuation

The market values Pulisic at €40M. Model A, which never saw Pulisic during training, estimates €37.6M: the market value is 6% above that estimate.

That is a factor of ×1.06. 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 €22.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.06A €37.6M▲ +0.59B €22.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
84
Minutes
5,456
Goals
27
Assists
16
Started
63/84
Min / app
65
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 Pulisic…

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

Checking API
EmergingEstablishedEliteWorld Class€2M€10M€30M€100k€1M€100MMarket €40MModel A €37.6M

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

Christian Pulisic's percentiles among attackers: Goals per 90 82nd, Assists per 90 86th, Minutes, two years 94th, Starts 76th, Minutes, last 365 days 67th, European club minutes 73rd82ndGoals86thAssists94thMinutes76thStarts67thRecent73rdEurope

Dashed ring: the attacker median (50th percentile)

Minutes, two years

Total club minutes in the two-year window: how much the player was used.

5,456 this player2,242 attacker median94th percentile

450peer deciles · median line · this player ●8,788

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
€500k
Jan 2016
Peak
€60M
Mar 2019
Model target
€40M
May 2026
Valuations
31
2 club changes
May 2026€40MAC MilanValuation the model is trained to reproduce

May 2026: €40M, AC Milan. Dotted lines mark the €2M, €10M and €30M tier boundaries.

Show as a table
DateMarket valueClub
2016-01-23€500kBorussia Dortmund
2016-04-13€1MBorussia Dortmund
2016-07-22€5MBorussia Dortmund
2017-02-07€12MBorussia Dortmund
2017-06-19€18MBorussia Dortmund
2017-10-18€45MBorussia Dortmund
2017-12-28€45MBorussia Dortmund
2018-06-05€45MBorussia Dortmund
2018-12-18€50MBorussia Dortmund
2019-03-06€60MBorussia Dortmund
2019-06-05€60MBorussia Dortmund
2019-12-10€60MChelsea FC
2020-04-08€54MChelsea FC
2020-07-30€60MChelsea FC
2020-10-13€60MChelsea FC
2021-03-18€50MChelsea FC
2021-06-08€50MChelsea FC
2021-12-23€45MChelsea FC
2022-06-15€42MChelsea FC
2022-11-03€38MChelsea FC
2023-03-16€32MChelsea FC
2023-06-20€25MChelsea FC
2023-12-20€32MAC Milan
2024-06-05€40MAC Milan
2024-10-18€50MAC Milan
2024-12-18€50MAC Milan
2025-06-17€50MAC Milan
2025-10-07€60MAC Milan
2025-12-23€60MAC Milan
2026-03-24€50MAC Milan
2026-05-29€40MAC Milan

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

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 96% of the 507 Serie A players.

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

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

Valued above 95% of the 1,583 attackers.

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

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