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 2022-23 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 Brandon Mechele Defender Club Brugge 8 +76.0 ±2.5 +79.2% +72.8% +65.7% 0.00
2 Florentino Midfielder Benfica 10 +50.1 ±11.9 +20.8% +79.4% +52.7% 0.60
3 Stanislav Lobotka Midfielder Napoli 10 +49.9 ±6.5 +37.6% +62.3% +53.6% 0.30
4 Minjae Kim Defender Napoli 8 +40.3 ±6.4 +11.9% +68.7% +27.0% 0.00
5 Evan N'Dicka Defender Frankfurt 8 +35.0 ±10.7 -4.1% +74.2% +4.4% 0.38
6 Pepê Forward Porto 8 +30.9 ±5.4 +38.2% +23.6% +50.5% 0.62
7 Karim Benzema Forward Real Madrid 9 +30.0 ±12.4 +26.5% +33.5% -17.0% 3.67
8 Sandro Tonali Midfielder Milan 12 +27.5 ±20.9 +15.4% +39.6% +76.3% 0.75
9 Mateo Kovačić Midfielder Chelsea 8 +27.4 ±18.9 +30.9% +24.0% -4.5% 0.38
10 Rade Krunić Midfielder Milan 9 +25.1 ±11.8 +20.7% +29.4% +6.7% 0.44
11 Eduardo Camavinga Midfielder Real Madrid 8 +24.2 ±15.8 +29.6% +18.7% +56.9% 0.50
12 Djibril Sow Midfielder Frankfurt 8 +21.0 ±14.1 +13.5% +28.5% +50.6% 0.38
13 Erling Haaland Forward Man City 10 +20.9 ±11.6 +18.8% +23.1% +26.9% 3.40
14 Rodrygo Forward Real Madrid 10 +16.0 ±14.0 +19.1% +13.0% +18.6% 2.30
15 Federico Dimarco Defender Inter 10 +15.9 ±9.0 +26.9% +4.9% +40.7% 1.30
16 Denzel Dumfries Defender Inter 10 +15.3 ±7.7 +16.5% +14.1% +0.3% 1.00
17 Khvicha Kvaratskhelia Forward Napoli 8 +14.5 ±11.3 +17.4% +11.5% -2.9% 4.38
18 João Mário Forward Benfica 10 +14.2 ±14.8 +27.5% +1.0% -6.9% 1.30
19 Reece James Defender Chelsea 8 +14.0 ±20.1 +27.4% +0.5% +5.6% 1.00
20 Luka Modrić Midfielder Real Madrid 9 +13.4 ±8.2 +19.3% +7.5% +7.5% 0.78
21 Rafael Leão Forward Milan 11 +12.8 ±18.6 +2.1% +23.4% +13.5% 1.73
22 Fikayo Tomori Defender Milan 10 +12.7 ±11.8 +6.8% +18.6% -9.8% 0.20
23 Ismaël Bennacer Midfielder Milan 9 +12.5 ±14.7 +18.2% +6.9% -5.2% 0.67
24 Vinícius Júnior Forward Real Madrid 11 +12.2 ±6.3 +15.7% +8.8% +8.8% 3.36
25 Piotr Zieliński Midfielder Napoli 8 +11.9 ±9.5 +9.2% +14.6% +8.3% 2.00
26 Theo Hernández Defender Milan 11 +11.3 ±5.3 +21.1% +1.5% +23.4% 0.91
27 Alejandro Grimaldo Defender Benfica 10 +11.2 ±4.6 +11.7% +10.7% +2.4% 1.40
28 Hans Vanaken Midfielder Club Brugge 8 +7.7 ±14.0 +8.1% +7.2% -42.0% 0.50
29 Dominik Szoboszlai Midfielder Leipzig 8 +6.7 ±14.5 +28.8% -15.3% -4.3% 1.88
30 Federico Valverde Midfielder Real Madrid 11 +6.7 ±6.8 +13.0% +0.3% +8.7% 2.18
31 Hakan Çalhanoğlu Midfielder Inter 9 +6.6 ±16.4 +14.2% -0.9% -2.7% 1.44
32 Lautaro Martínez Forward Inter 12 +5.3 ±7.5 +13.0% -2.5% +0.7% 2.25
33 Gonçalo Ramos Forward Benfica 10 +4.7 ±10.7 +6.8% +2.5% +12.3% 2.50
34 Pierre Kalulu Defender Milan 8 +4.6 ±10.1 +9.0% +0.1% +66.6% 0.25
35 Kevin De Bruyne Midfielder Man City 9 +4.5 ±19.9 +2.4% +6.6% +4.0% 1.78
36 İlkay Gündoğan Midfielder Man City 12 +4.5 ±8.0 +4.3% +4.7% -0.4% 1.58
37 Brahim Díaz Forward Milan 8 +4.1 ±17.7 +6.0% +2.1% +7.6% 1.38
38 Matteo Darmian Defender Inter 9 +3.8 ±11.2 -15.7% +23.4% -112.2% 0.22
39 Rúben Dias Defender Man City 11 +3.7 ±5.5 +8.0% -0.6% -3.5% 1.09
40 Alessandro Bastoni Defender Inter 12 +3.6 ±17.3 +7.5% -0.4% +73.6% 0.33
41 Bernardo Silva Midfielder Man City 9 +3.4 ±8.4 +8.6% -1.9% -1.5% 0.89
42 Edin Džeko Forward Inter 11 +2.8 ±15.9 +0.7% +4.8% +8.5% 1.91
43 Enzo Fernández Midfielder Benfica 9 +2.3 ±6.0 +3.5% +1.1% +34.3% 2.11
44 Olivier Giroud Forward Milan 12 +2.3 ±5.8 +3.3% +1.3% +10.8% 2.17
45 John Stones Defender Man City 8 +0.8 ±5.0 +0.2% +1.5% +5.3% 0.38
46 Manuel Akanji Defender Man City 9 +0.6 ±3.0 +2.4% -1.2% -3.7% 0.78
47 Willi Orbán Defender Leipzig 8 +0.2 ±10.7 +3.5% -3.1% -17.6% 0.50
48 Daichi Kamada Midfielder Frankfurt 8 +0.1 ±6.7 -10.1% +10.4% +17.7% 1.62
49 Henrikh Mkhitaryan Midfielder Inter 11 -0.6 ±11.9 -0.9% -0.4% +4.2% 1.27
50 Heung-Min Son Midfielder Tottenham 8 -2.1 ±27.6 +5.0% -9.2% -28.0% 2.00
51 Francesco Acerbi Defender Inter 9 -2.5 ±8.0 +7.0% -12.1% +82.1% 0.78
52 Giovanni Di Lorenzo Defender Napoli 10 -2.6 ±6.6 -2.6% -2.6% -3.3% 1.30
53 Joshua Kimmich Midfielder Bayern München 9 -2.7 ±6.3 -2.1% -3.3% -10.2% 2.33
54 Marquinhos Defender Paris 8 -5.7 ±6.0 -2.1% -9.3% -210.9% 0.25
55 Jack Grealish Midfielder Man City 12 -6.3 ±17.1 -1.9% -10.7% -22.6% 1.33
56 Frank Anguissa Midfielder Napoli 8 -6.4 ±12.3 -9.1% -3.7% -10.6% 1.12
57 David Alaba Defender Real Madrid 9 -6.8 ±8.2 -10.1% -3.5% -12.4% 0.56
58 Rafa Silva Forward Benfica 10 -8.1 ±8.3 -9.8% -6.4% +19.1% 2.90
59 Rodri Midfielder Man City 11 -8.4 ±11.4 -12.9% -3.9% -8.4% 1.45
60 António Silva Defender Benfica 9 -9.3 ±7.9 -11.5% -7.0% -1.7% 0.44
61 Nicolás Otamendi Defender Benfica 9 -11.1 ±12.1 -3.3% -18.9% -34.1% 0.56
62 Toni Kroos Midfielder Real Madrid 10 -12.1 ±10.9 -10.4% -13.7% +15.0% 1.00
63 Éder Militão Defender Real Madrid 9 -12.1 ±17.9 -3.2% -20.9% -5.5% 0.44
64 Raheem Sterling Midfielder Chelsea 8 -13.2 ±27.5 -23.6% -2.8% +30.2% 1.00
65 Nicolò Barella Midfielder Inter 12 -13.9 ±8.8 -12.2% -15.7% -4.4% 1.67
66 Virgil van Dijk Defender Liverpool 8 -18.1 ±8.1 -17.1% -19.0% -10.6% 0.00
67 Dayot Upamecano Defender Bayern München 9 -31.3 ±20.7 -26.1% -36.6% +60.7% 0.00
68 Dani Carvajal Defender Real Madrid 10 -32.3 ±21.5 +6.9% -71.5% +65.5% 0.20
69 Harry Kane Forward Tottenham 8 -43.8 ±40.3 -3.4% -84.2% -60.0% 2.75
70 Alex Meret Goalkeeper Napoli 10 saves only - - +74.8% 2.3 saves
71 Alisson Becker Goalkeeper Liverpool 8 saves only - - +85.3% 2.1 saves
72 André Onana Goalkeeper Inter 12 saves only - - +86.7% 3.1 saves
73 Diogo Costa Goalkeeper Porto 8 saves only - - +79.7% 3.9 saves
74 Ederson Goalkeeper Man City 11 saves only - - +83.2% 2.4 saves
75 Gianluigi Donnarumma Goalkeeper Paris 8 saves only - - +85.8% 3.2 saves
76 Kepa Arrizabalaga Goalkeeper Chelsea 9 saves only - - +65.4% 2.9 saves
77 Kevin Trapp Goalkeeper Frankfurt 8 saves only - - +79.7% 3.6 saves
78 Odysseas Vlachodimos Goalkeeper Benfica 10 saves only - - +82.9% 1.9 saves
79 Simon Mignolet Goalkeeper Club Brugge 8 saves only - - +93.8% 4.4 saves
80 Thibaut Courtois Goalkeeper Real Madrid 10 saves only - - +80.8% 4.2 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.