Season script report

Most Predictable ATP Players

Every match, our model publishes a win probability — and prices its own uncertainty. This board compares each player's actual results with that script: straight-sets players land where the model expected, wild cards keep tearing the script up. A season-level read with sample sizes and confidence intervals, never a career label.

The metronome · 2024
5 upsets where the model expected 12.7 · 27–12 in 39 matches · model called it right 87.2% of the time
The wild card · 2024
21 upsets where the model expected only 12.9 · 15–22 in 37 matches · model called it right 43.2% of the time

Script vs chaos — the two ends of 2024

Bars show extra upsets: how many more (or fewer) times the model's favorite fell in this player's matches than the model itself expected. Verdicts in the table are assigned only when the difference is statistically meaningful for that sample. Everyone else stays "On serve". How to read this →

Full board · 100 players with ≥20 matches (2638 matches, source: out-of-sample backtest)

# Player Verdict Upsets Expected Extra Model hit Confidence W–L M
1 Matteo Berrettini Straight sets 5 12.7 -7.7 ±5.6 87.2% 67.5% 27–12 39
2 Jannik Sinner Straight sets 4 11.8 -7.8 ±5.9 94.4% 83.3% 65–6 71
3 Sebastian Baez Straight sets 12 20.3 -8.3 ±6.8 77.4% 61.8% 28–25 53
4 Daniel Elahi Galan Straight sets 4 9.3 -5.3 ±4.6 82.6% 59.5% 7–16 23
5 Miomir Kecmanovic Straight sets 14 20.6 -6.6 ±6.8 73.6% 61.2% 24–29 53
6 Sebastian Korda Straight sets 10 15.9 -5.9 ±6.2 78.7% 66.2% 29–18 47
7 Daniil Medvedev Straight sets 10 15.2 -5.2 ±6.4 83.1% 74.2% 43–16 59
8 Hubert Hurkacz On serve 12 16.2 -4.2 ±6.4 76.0% 67.5% 34–16 50
9 Ben Shelton On serve 20 24.5 -4.5 ±7.5 68.8% 61.7% 40–24 64
10 Thiago Seyboth Wild On serve 12 15.5 -3.5 ±6.0 71.4% 63.1% 20–22 42
11 Marton Fucsovics On serve 7 9.7 -2.7 ±4.8 75.0% 65.3% 12–16 28
12 Alex de Minaur On serve 14 17.8 -3.8 ±6.8 76.3% 69.8% 44–15 59
13 Zizou Bergs On serve 8 10.6 -2.6 ±5.0 72.4% 63.3% 13–16 29
14 Alexander Zverev On serve 14 17.5 -3.5 ±7.0 81.3% 76.7% 58–17 75
15 Arthur Rinderknech On serve 13 15.8 -2.8 ±5.9 66.7% 59.5% 19–20 39
16 Matteo Arnaldi On serve 16 19.0 -3.0 ±6.6 68.0% 62.0% 26–24 50
17 Sumit Nagal On serve 5 6.9 -1.9 ±4.1 75.0% 65.7% 5–15 20
18 Christopher Eubanks On serve 9 11.2 -2.2 ±5.0 67.9% 59.9% 10–18 28
19 Roman Safiullin On serve 12 14.4 -2.4 ±5.8 70.0% 63.9% 16–24 40
20 Fabio Fognini On serve 7 8.9 -1.9 ±4.6 73.1% 65.8% 12–14 26
21 Nuno Borges On serve 15 17.6 -2.6 ±6.4 68.1% 62.6% 24–23 47
22 Laslo Djere On serve 8 9.9 -1.9 ±4.7 69.2% 61.9% 10–16 26
23 Botic van de Zandschulp On serve 11 13.1 -2.1 ±5.5 69.4% 63.6% 14–22 36
24 Luca Van Assche On serve 7 8.7 -1.7 ±4.5 69.6% 62.3% 7–16 23
25 Alexander Shevchenko On serve 15 17.3 -2.3 ±6.2 66.7% 61.6% 20–25 45
26 Christopher O'Connell On serve 13 15.1 -2.1 ±5.8 66.7% 61.3% 17–22 39
27 Taylor Fritz On serve 15 17.4 -2.4 ±6.7 75.8% 72.0% 44–18 62
28 Flavio Cobolli On serve 21 23.4 -2.4 ±7.3 65.0% 61.0% 34–26 60
29 Lorenzo Sonego On serve 15 16.9 -1.9 ±6.3 67.4% 63.3% 20–26 46
30 Aleksandar Vukic On serve 16 17.8 -1.8 ±6.4 66.0% 62.2% 22–25 47
31 Federico Coria On serve 7 8.1 -1.1 ±4.4 69.6% 65.0% 8–15 23
32 Jack Draper On serve 19 20.5 -1.5 ±7.0 66.7% 64.1% 38–19 57
33 Holger Rune On serve 19 20.4 -1.4 ±7.3 72.1% 70.1% 45–23 68
34 Jan-Lennard Struff On serve 14 15.1 -1.1 ±6.1 69.6% 67.1% 27–19 46
35 Karen Khachanov On serve 17 18.2 -1.2 ±6.7 69.6% 67.5% 35–21 56
36 James Duckworth On serve 8 8.8 -0.8 ±4.5 66.7% 63.3% 9–15 24
37 Zhizhen Zhang On serve 15 16.1 -1.1 ±6.2 66.7% 64.3% 21–24 45
38 Tomas Martin Etcheverry On serve 20 21.1 -1.1 ±6.9 63.6% 61.6% 28–27 55
39 Pavel Kotov On serve 15 15.9 -0.9 ±5.9 62.5% 60.3% 18–22 40
40 Tallon Griekspoor On serve 17 17.9 -0.9 ±6.5 66.7% 65.0% 28–23 51
41 Marcos Giron On serve 17 17.8 -0.8 ±6.6 67.3% 65.7% 27–25 52
42 Jordan Thompson On serve 20 20.8 -0.8 ±7.0 65.5% 64.1% 35–23 58
43 Borna Coric On serve 11 11.4 -0.4 ±5.1 62.1% 60.8% 11–18 29
44 Arthur Cazaux On serve 9 9.3 -0.3 ±4.5 60.9% 59.6% 10–13 23
45 Alejandro Davidovich Fokina On serve 13 13.3 -0.3 ±5.5 62.9% 61.9% 14–21 35
46 Jaume Munar On serve 14 14.3 -0.3 ±5.7 61.1% 60.4% 13–23 36
47 Facundo Diaz Acosta On serve 13 13.2 -0.2 ±5.4 60.6% 60.1% 16–17 33
48 Cameron Norrie On serve 13 13.1 -0.1 ±5.6 64.9% 64.7% 20–17 37
49 Adrian Mannarino On serve 13 13.1 -0.1 ±5.7 68.3% 68.1% 13–28 41
50 Yoshihito Nishioka On serve 12 12.0 -0.0 ±5.3 63.6% 63.5% 16–17 33
51 Grigor Dimitrov On serve 16 16.0 -0.0 ±6.5 72.9% 72.9% 42–17 59
52 Pedro Martinez On serve 14 14.0 +0.0 ±5.7 64.1% 64.1% 18–21 39
53 Giovanni Mpetshi Perricard On serve 12 12.0 +0.0 ±5.1 57.1% 57.3% 16–12 28
54 Gael Monfils On serve 15 14.8 +0.2 ±6.0 66.7% 67.0% 25–20 45
55 Alexander Bublik On serve 20 19.7 +0.3 ±6.6 57.4% 58.0% 24–23 47
56 Stan Wawrinka On serve 9 8.8 +0.2 ±4.6 64.0% 64.9% 9–16 25
57 Jiri Lehecka On serve 15 14.6 +0.4 ±5.9 64.3% 65.2% 28–14 42
58 Roberto Bautista Agut On serve 16 15.6 +0.4 ±6.1 61.9% 62.9% 22–20 42
59 Felix Auger-Aliassime On serve 17 16.5 +0.5 ±6.3 63.0% 64.1% 24–22 46
60 Tommy Paul On serve 19 18.1 +0.9 ±6.8 68.3% 69.8% 42–18 60
61 Juncheng Shang On serve 17 16.2 +0.8 ±6.1 60.5% 62.3% 25–18 43
62 Alejandro Tabilo On serve 20 19.1 +0.9 ±6.7 61.5% 63.2% 30–22 52
63 Yannick Hanfmann On serve 15 14.2 +0.8 ±5.8 61.5% 63.6% 18–21 39
64 Corentin Moutet On serve 11 10.3 +0.7 ±4.9 60.7% 63.3% 12–16 28
65 Hugo Gaston On serve 11 10.3 +0.7 ±4.8 59.3% 62.0% 12–15 27
66 Luciano Darderi On serve 20 18.9 +1.1 ±6.6 59.2% 61.4% 24–25 49
67 Emil Ruusuvuori On serve 11 10.2 +0.8 ±4.8 57.7% 61.0% 14–12 26
68 Novak Djokovic On serve 6 5.2 +0.8 ±4.0 83.3% 85.5% 28–8 36
69 Daniel Evans On serve 10 9.0 +1.0 ±4.6 60.0% 64.0% 6–19 25
70 Dominik Koepfer On serve 12 10.7 +1.3 ±5.0 61.3% 65.5% 13–18 31
71 David Goffin On serve 13 11.6 +1.4 ±5.2 59.4% 63.7% 17–15 32
72 Lorenzo Musetti On serve 22 20.1 +1.9 ±7.0 62.7% 65.9% 34–25 59
73 Taro Daniel On serve 13 11.6 +1.4 ±5.2 60.6% 64.9% 10–23 33
74 Alex Michelsen On serve 25 22.8 +2.2 ±7.2 58.3% 62.0% 31–29 60
75 Denis Shapovalov On serve 20 18.1 +1.9 ±6.3 53.5% 58.0% 23–20 43
76 Stefanos Tsitsipas On serve 19 16.9 +2.1 ±6.7 67.8% 71.4% 39–20 59
77 Max Purcell On serve 15 13.0 +2.0 ±5.5 55.9% 61.7% 14–20 34
78 Aleksandar Kovacevic On serve 14 12.0 +2.0 ±5.3 56.2% 62.4% 10–22 32
79 Roberto Carballes Baena On serve 20 17.4 +2.6 ±6.4 60.8% 65.8% 25–26 51
80 Casper Ruud On serve 22 19.0 +3.0 ±7.0 63.9% 68.8% 41–20 61
81 Fabian Marozsan On serve 20 17.2 +2.8 ±6.4 59.2% 65.0% 23–26 49
82 Brandon Nakashima On serve 21 17.7 +3.3 ±6.4 55.3% 62.4% 24–23 47
83 Thanasi Kokkinakis On serve 12 9.4 +2.6 ±4.6 52.0% 62.2% 11–14 25
84 Francisco Cerundolo On serve 24 20.2 +3.8 ±6.9 57.1% 64.0% 28–28 56
85 Sebastian Ofner On serve 18 14.7 +3.3 ±5.8 52.6% 61.2% 15–23 38
86 Daniel Altmaier On serve 16 12.8 +3.2 ±5.5 52.9% 62.3% 12–22 34
87 Ugo Humbert On serve 23 19.0 +4.0 ±6.8 58.2% 65.4% 33–22 55
88 Alexei Popyrin On serve 20 16.3 +3.7 ±6.2 54.5% 62.9% 24–20 44
89 Jakub Mensik On serve 18 14.5 +3.5 ±5.7 51.4% 60.8% 22–15 37
90 Thiago Monteiro On serve 10 7.5 +2.5 ±4.2 50.0% 62.7% 10–10 20
91 Rinky Hijikata On serve 18 14.5 +3.5 ±5.7 50.0% 59.7% 15–21 36
92 Frances Tiafoe On serve 25 20.6 +4.4 ±7.0 56.1% 63.8% 32–25 57
93 Dusan Lajovic On serve 15 11.8 +3.2 ±5.2 54.5% 64.4% 17–16 33
94 Tomas Machac On serve 21 16.8 +4.2 ±6.3 57.1% 65.6% 30–19 49
95 Arthur Fils On serve 25 20.2 +4.8 ±7.0 57.6% 65.7% 36–23 59
96 Mariano Navone On serve 19 14.6 +4.4 ±5.9 52.5% 63.6% 17–23 40
97 Alexandre Muller Wild card 17 12.7 +4.3 ±5.5 54.1% 65.6% 17–20 37
98 Andrey Rublev Wild card 22 15.6 +6.4 ±6.6 65.6% 75.6% 42–22 64
99 Carlos Alcaraz Wild card 12 7.4 +4.6 ±4.7 77.4% 86.0% 43–10 53
100 Nicolas Jarry Wild card 21 12.9 +8.1 ±5.5 43.2% 65.0% 15–22 37

How this is measured, and what it does not claim

An upset is a match where our model's favorite loses. The model does not expect zero upsets: a 55/45 call is priced to go wrong 45 times out of 100. Adding those probabilities across a player's schedule gives their expected upsets, tailored to the exact opponents they faced. The board compares that number with the upsets that actually happened: fewer than expected earns Straight sets, more than expected earns Wild card, and anything within the statistical noise for that sample stays On serve, which with 60-plus matches is where most players genuinely belong.

Two independent model vintages agree on who broke script within a season, but a wild-card season does not predict a wild-card next season. That is why this is a season report, not a career trait, and why sample sizes and 95% intervals are always shown. The full reasoning, including the proper-scoring-rule version of this metric (the Brier delta) that backs the verdicts, is in the explainer.

Recent seasons use our as-published daily record (the same reconciled predictions behind the performance page); earlier seasons use a strict out-of-sample backtest of the current model. One source per season, never mixed. Probabilities and calibration are public on the model transparency page.