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…

Marvin

Friedrich

CBGermany · Borussia Mönchengladbach

№ 196231Emerging €876k +0.72

Player dossierBundesliga

MarvinFriedrich

CBCentre-BackDefender

Club
Borussia Mönchengladbach
League
Bundesliga
Nationality
Germany
Age
30
Height
193 cm
Foot
Right
Valued
27 May 2026

Reading the valuation

The market values Friedrich at €1.8M. Model A, which never saw Friedrich during training, estimates €876k: the market value is 106% above that estimate.

That is a factor of ×2.06. 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 €724k, 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.72A €876k▲ +0.91B €724k
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
31
Minutes
1,245
Goals
0
Assists
1
Started
11/31
Min / app
40
Cards
1Y 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 Friedrich…

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

Checking API
EmergingEstablishedEliteWorld Class€2M€10M€30M€100k€1M€100MMarket €1.8MModel A €876k

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

Marvin Friedrich's percentiles among defenders: Goals per 90 18th, Assists per 90 68th, Minutes, two years 17th, Starts 2nd, Minutes, last 365 days 5th, European club minutes 30th18thGoals68thAssists17thMinutes2ndStarts5thRecent30thEurope

Dashed ring: the defender median (50th percentile)

Assists per 90

Club assists per 90 minutes in the same window.

0.07 this player0.04 defender median68th 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
€100k
Jun 2014
Peak
€10M
Jun 2021
Model target
€1.8M
May 2026
Valuations
32
4 club changes
May 2026€1.8MBorussia MönchengladbachValuation the model is trained to reproduce

May 2026: €1.8M, Borussia Mönchengladbach. Dotted lines mark the €2M, €10M and €30M tier boundaries.

Show as a table
DateMarket valueClub
2014-06-16€100kFC Schalke 04 U19
2014-07-10€100kFC Schalke 04
2014-11-03€500kFC Schalke 04
2015-02-04€500kFC Schalke 04
2015-07-01€750kFC Schalke 04
2016-02-15€750kFC Schalke 04
2016-07-22€1MFC Augsburg
2017-02-07€1MFC Augsburg
2017-06-19€750kFC Augsburg
2017-12-28€500kFC Augsburg
2018-06-19€600k1.FC Union Berlin
2018-10-16€900k1.FC Union Berlin
2019-01-08€1.5M1.FC Union Berlin
2019-03-13€2M1.FC Union Berlin
2019-06-12€3M1.FC Union Berlin
2019-12-17€3.5M1.FC Union Berlin
2020-04-08€2.8M1.FC Union Berlin
2020-11-26€4.5M1.FC Union Berlin
2021-02-10€9M1.FC Union Berlin
2021-06-09€10M1.FC Union Berlin
2021-12-22€10M1.FC Union Berlin
2022-06-09€8MBorussia Mönchengladbach
2022-11-09€8MBorussia Mönchengladbach
2023-03-29€5MBorussia Mönchengladbach
2023-06-22€4MBorussia Mönchengladbach
2023-12-14€3.5MBorussia Mönchengladbach
2024-05-29€3.5MBorussia Mönchengladbach
2024-12-20€3.5MBorussia Mönchengladbach
2025-06-05€3.5MBorussia Mönchengladbach
2025-10-14€2MBorussia Mönchengladbach
2025-12-19€1.8MBorussia Mönchengladbach
2026-05-27€1.8MBorussia Mönchengladbach

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

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 18% of the 451 Bundesliga players.

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

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

Valued above 48% of the 2,065 defenders.

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

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