Champions League Player Predictability

How predictable is each Champions League player? Before every match our models publish a full probability distribution for how many shots and shots on target each player will take. This board compares those distributions with what actually happened across the 2023-24 campaign, for every player who started at least 8 matches, a full league phase. The score measures how much closer our distributions get than a baseline that knows only the player's position and his expected minutes. Higher means easier to call in advance.

Season 2021-22 2022-23 2023-24 2024-25 2025-26 season backtest
# Player Role Club Starts Score Shots skill On target skill Scorer skill Shots / match
1 Stanislav Lobotka Midfielder Napoli 8 +69.3 ±5.4 +58.3% +80.2% +67.2% 0.12
2 Igor Zubeldia Midfielder Real Sociedad 8 +66.1 ±5.4 +43.0% +89.2% +76.3% 0.50
3 Ferland Mendy Defender Real Madrid 9 +56.8 ±7.4 +50.1% +63.6% +18.7% 0.00
4 Koke Midfielder Atleti 8 +55.8 ±7.4 +41.1% +70.6% +65.1% 0.38
5 Kevin Diks Defender Copenhagen 8 +42.2 ±7.0 +7.1% +77.4% +92.2% 0.25
6 Erling Haaland Forward Man City 9 +41.0 ±11.7 +40.6% +41.4% +25.1% 4.78
7 Axel Witsel Midfielder Atleti 10 +26.9 ±15.0 +47.6% +6.3% +51.8% 0.30
8 Kylian Mbappé Forward Paris 12 +26.4 ±7.9 +33.2% +19.6% +18.1% 4.25
9 Leroy Sané Midfielder Bayern München 11 +25.3 ±18.7 +25.5% +25.1% -22.5% 2.27
10 Rodrygo Forward Real Madrid 12 +19.9 ±10.1 +20.0% +19.7% +5.3% 2.92
11 Martin Zubimendi Midfielder Real Sociedad 8 +19.1 ±26.9 +12.9% +25.2% +52.7% 0.88
12 Álvaro Morata Forward Atleti 8 +18.9 ±4.8 +12.7% +25.0% +24.2% 2.75
13 Jude Bellingham Midfielder Real Madrid 11 +18.4 ±10.5 +28.1% +8.7% +19.9% 2.09
14 Marquinhos Defender Paris 10 +14.4 ±12.5 +7.6% +21.3% -118.7% 0.30
15 João Cancelo Defender Barcelona 8 +13.2 ±9.1 +11.1% +15.3% +2.6% 1.25
16 Jamal Musiala Midfielder Bayern München 11 +10.2 ±8.7 +20.9% -0.4% +3.9% 2.18
17 Giovanni Di Lorenzo Defender Napoli 8 +9.7 ±9.8 +20.3% -0.9% -0.9% 1.25
18 Achraf Hakimi Defender Paris 11 +9.6 ±4.7 +19.3% -0.0% +5.3% 1.55
19 Antoine Griezmann Forward Atleti 10 +9.4 ±10.3 +7.1% +11.7% +19.5% 2.20
20 Johan Bakayoko Forward PSV 8 +8.7 ±10.0 +17.3% +0.2% +10.9% 3.00
21 Luis Alberto Midfielder Lazio 8 +7.1 ±9.6 +3.8% +10.4% +39.1% 1.88
22 Julian Brandt Midfielder B. Dortmund 9 +6.8 ±5.1 +9.3% +4.3% +4.0% 1.78
23 William Saliba Defender Arsenal 10 +6.7 ±13.3 +0.5% +12.9% -84.5% 0.30
24 Declan Rice Midfielder Arsenal 9 +6.2 ±9.9 -1.5% +14.0% -64.5% 0.56
25 Matteo Politano Forward Napoli 8 +5.3 ±7.2 +8.5% +2.1% +15.7% 1.62
26 Harry Kane Forward Bayern München 11 +4.8 ±23.9 +1.5% +8.1% +9.6% 2.91
27 Bukayo Saka Forward Arsenal 9 +3.5 ±8.1 +0.4% +6.7% +3.8% 1.56
28 Ousmane Dembélé Forward Paris 10 +3.3 ±8.0 +3.8% +2.9% -0.4% 3.20
29 Vinícius Júnior Forward Real Madrid 10 +2.2 ±6.9 +1.8% +2.5% +17.6% 3.10
30 Vitinha Midfielder Paris 10 +1.9 ±3.7 +3.3% +0.5% -6.3% 1.90
31 Martin Ødegaard Midfielder Arsenal 8 +1.8 ±8.4 +7.7% -4.0% +4.7% 2.12
32 Warren Zaïre-Emery Midfielder Paris 10 +1.4 ±15.7 +2.6% +0.2% -4.9% 0.70
33 Nahuel Molina Defender Atleti 10 +1.2 ±10.2 +6.5% -4.1% +52.9% 0.40
34 Rúben Dias Defender Man City 9 +0.7 ±21.4 +4.8% -3.4% -168.1% 0.67
35 Antonio Rüdiger Defender Real Madrid 11 +0.6 ±9.7 +2.9% -1.7% -135.5% 0.55
36 Nico Schlotterbeck Defender B. Dortmund 11 +0.3 ±8.6 +4.0% -3.4% +68.8% 0.36
37 Niclas Füllkrug Forward B. Dortmund 11 -0.1 ±3.3 -0.8% +0.6% +5.1% 2.64
38 Rodri Midfielder Man City 8 -0.7 ±9.5 +0.3% -1.7% +5.9% 1.50
39 Ronald Araújo Defender Barcelona 8 -1.2 ±6.1 +5.1% -7.4% +69.7% 0.50
40 Mats Hummels Defender B. Dortmund 13 -1.3 ±11.1 -2.9% +0.3% -3.6% 0.77
41 Konrad Laimer Midfielder Bayern München 8 -1.9 ±16.2 -5.7% +2.0% +44.2% 0.25
42 Karim Adeyemi Forward B. Dortmund 8 -2.1 ±6.9 -8.2% +3.9% -1.5% 1.88
43 Toni Kroos Midfielder Real Madrid 10 -2.2 ±7.7 -1.3% -3.2% +31.4% 0.60
44 Alan Varela Midfielder Porto 8 -2.6 ±10.6 +2.4% -7.6% +35.2% 1.00
45 Jack Grealish Midfielder Man City 8 -2.6 ±10.3 -2.6% -2.7% -45.6% 1.62
46 Marcel Sabitzer Midfielder B. Dortmund 11 -2.9 ±7.2 -7.2% +1.4% +5.0% 1.09
47 Federico Valverde Midfielder Real Madrid 12 -3.0 ±9.0 +3.5% -9.5% -9.3% 1.75
48 Gabriel Defender Arsenal 10 -3.5 ±16.4 -0.9% -6.1% -11.1% 0.70
49 Emre Can Defender B. Dortmund 11 -4.2 ±7.9 -5.8% -2.7% -0.6% 0.45
50 Nacho Defender Real Madrid 11 -4.2 ±4.9 -3.8% -4.6% +4.0% 0.55
51 Dani Carvajal Defender Real Madrid 9 -4.3 ±6.2 -4.5% -4.1% -3.7% 0.89
52 Julian Ryerson Defender B. Dortmund 9 -4.6 ±8.5 -3.2% -6.0% +63.2% 0.44
53 Eduardo Camavinga Midfielder Real Madrid 9 -5.8 ±9.9 +0.5% -12.2% +40.5% 1.11
54 İlkay Gündoğan Midfielder Barcelona 9 -6.7 ±9.8 -6.7% -6.7% +13.6% 1.56
55 Robert Lewandowski Forward Barcelona 9 -7.6 ±27.2 -5.6% -9.5% -0.3% 2.44
56 Jules Koundé Defender Barcelona 8 -8.3 ±32.3 -2.1% -14.4% +3.9% 0.25
57 Mario Hermoso Defender Atleti 9 -9.4 ±5.9 -14.2% -4.7% +0.0% 0.44
58 Jordan Teze Defender PSV 8 -10.4 ±8.5 -10.3% -10.5% -4.0% 0.50
59 Denis Vavro Defender Copenhagen 8 -12.2 ±5.3 -23.6% -0.9% +38.1% 0.88
60 Lucas Hernández Defender Paris 9 -14.1 ±14.3 -23.8% -4.3% -1.6% 0.22
61 Khvicha Kvaratskhelia Forward Napoli 8 -17.0 ±25.7 -18.2% -15.9% +14.2% 2.12
62 Mohamed Elyounoussi Forward Copenhagen 8 -21.9 ±16.2 -25.9% -17.8% -15.7% 2.00
63 Rodrigo De Paul Midfielder Atleti 8 -23.5 ±16.7 -16.0% -31.0% -6.6% 0.75
64 Noussair Mazraoui Defender Bayern München 8 -29.2 ±35.9 -21.5% -37.0% -140.8% 0.62
65 Joshua Kimmich Midfielder Bayern München 12 -30.1 ±22.0 -27.6% -32.7% -12.4% 0.75
66 Kai Havertz Midfielder Arsenal 9 -30.3 ±35.0 -27.6% -33.0% +2.4% 1.22
67 Leon Goretzka Midfielder Bayern München 9 -91.3 ±37.9 -89.8% -92.9% -155.1% 0.89
68 Alex Meret Goalkeeper Napoli 8 saves only - - +79.0% 4.0 saves
69 Andriy Lunin Goalkeeper Real Madrid 8 saves only - - +29.8% 4.8 saves
70 David Raya Goalkeeper Arsenal 8 saves only - - +24.3% 1.5 saves
71 Diogo Costa Goalkeeper Porto 8 saves only - - +79.3% 2.4 saves
72 Gianluigi Donnarumma Goalkeeper Paris 12 saves only - - +85.9% 3.1 saves
73 Gregor Kobel Goalkeeper B. Dortmund 12 saves only - - +76.4% 3.8 saves
74 Ivan Provedel Goalkeeper Lazio 8 saves only - - -1.1% 2.8 saves
75 Jan Oblak Goalkeeper Atleti 10 saves only - - +87.5% 4.0 saves
76 Kamil Grabara Goalkeeper Copenhagen 8 saves only - - +91.1% 3.8 saves
77 Manuel Neuer Goalkeeper Bayern München 9 saves only - - +76.2% 2.4 saves
78 Marc-André ter Stegen Goalkeeper Barcelona 8 saves only - - +87.0% 2.8 saves
79 Walter Benítez Goalkeeper PSV 8 saves only - - +84.8% 2.5 saves
80 Álex Remiro Goalkeeper Real Sociedad 8 saves only - - +80.9% 2.5 saves

Starts = matches started. Skill = how much lower our CRPS is than the baseline's on the same matches, in percent, so positive means the model wins. The smaller number next to the score is one standard error. Goalkeepers take no shots, so they carry no score and are measured on saves on their own pages. Tap any column header to sort.

How the score works, and how to read it

A high score does not mean a better player. It means a player whose output our models can call match by match. The score compares two forecasters on the matches a player started: our model, which publishes a full probability distribution for his shots and shots on target once the team sheet is out, and a baseline that knows only his position and how long he is expected to be on the pitch. We measure both with CRPS, a standard score for probabilistic forecasts, and report how much better the model is, in percent. So the score really answers one question: how much does knowing WHO he is add on top of knowing WHAT he plays.

Read the score with the standard error next to it. The skill is a ratio of two small numbers, and it is much noisier for players who barely shoot: across this holdout the spread of the score is roughly three times wider for players under 0.2 shots a match than for those above 1.2. That is why the shots-per-match column sits on this board. A defender at the top of the table is usually a defender our model correctly expects to shoot almost never, which is a real win, but it is not the same measurement as a striker at the top.

The anytime-scorer skill is published alongside and deliberately kept out of the score. On a base rate of a few percent, a single season is too thin to separate players. Everything here is season level and aggregate: these pages report the accuracy of our own forecasts, not a match-by-match statistics feed.

Club title odds and the full league-phase board live on the Champions League simulations page, and how the models work on the methodology page.