Player Comparison

Side by side on performance, context, cost and risk. Differences are explained — no single 'better player' verdict.

Julian Ryerson removeAlexis Saelemaekers remove
Age2827
PositionRight midfielderRight midfielder
Club · leagueBorussia Dortmund · BundesligaAC Milan · Serie A
League strength0.940.93
Team strength (Elo)16561570
League minutes2274 (74%)2802 (82%)
G+A per 90 (raw)0.590.23
G+A per 90 (context-adjusted)0.310.20
Passing / defending / progressionData unavailableData unavailable
Performance percentile9387
Market value€25.0M€20.0M
Estimated acquisition€17.2M – €25.7M€15.4M – €20.9M
Model value€20.6M – €38.3M€11.6M – €30.8M
Projected value (24m)€9.3M – €20.0M€8.8M – €24.2M
Bargain Index8/10025/100
DevelopmentLowLow
Breakout probabilityn/a (age > 23)n/a (age > 23)
RiskLowLow
Data confidenceMediumMedium
Value picture
Estimated acquisition€17.2M – €25.7M
Model value (performance-implied)€20.6M – €38.3M
Projected value (24 months)€9.3M – €20.0M
Dashed line: current market value (€25.0M). Bars are 20–80% model ranges; tick = median.
Estimated acquisition€15.4M – €20.9M
Model value (performance-implied)€11.6M – €30.8M
Projected value (24 months)€8.8M – €24.2M
Dashed line: current market value (€20.0M). Bars are 20–80% model ranges; tick = median.

What separates Julian Ryerson and Alexis Saelemaekers

  • Ryerson has higher context-adjusted goal contributions (0.31 vs 0.20 per 90).
  • On value for money the model prefers Saelemaekers (Bargain Index 25 vs 8) — this is not a statement about who is the better player.