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 · 2026
4 upsets where the model expected 13.0 · 42–10 in 52 matches · model called it right 92.3% of the time
The wild card · 2026
15 upsets where the model expected only 10.2 · 13–14 in 27 matches · model called it right 44.4% of the time

Script vs chaos — the two ends of 2026

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 · 76 players with ≥20 matches (1688 matches, source: as-published daily record)

# Player Verdict Upsets Expected Extra Model hit Confidence W–L M
1 Alexander Zverev Straight sets 4 13.0 -9.0 ±6.0 92.3% 75.1% 42–10 52
2 Carlos Alcaraz Straight sets 2 6.2 -4.2 ±4.1 92.0% 75.2% 22–3 25
3 Alejandro Tabilo Straight sets 9 14.2 -5.2 ±5.6 74.3% 59.4% 18–17 35
4 Jannik Sinner Straight sets 3 6.5 -3.5 ±4.5 93.6% 86.1% 44–3 47
5 Damir Dzumhur Straight sets 7 10.9 -3.9 ±5.0 75.0% 61.2% 11–17 28
6 Stefanos Tsitsipas On serve 8 12.0 -4.0 ±5.3 75.0% 62.4% 17–15 32
7 Casper Ruud On serve 9 13.2 -4.2 ±5.6 75.0% 63.4% 23–13 36
8 Rafael Jodar On serve 10 13.5 -3.5 ±5.6 73.0% 63.6% 26–11 37
9 Andrey Rublev On serve 10 13.4 -3.4 ±5.7 73.7% 64.7% 25–13 38
10 Nuno Borges On serve 11 14.2 -3.2 ±5.7 70.3% 61.8% 19–18 37
11 Valentin Vacherot On serve 7 9.4 -2.4 ±4.6 70.8% 60.8% 14–10 24
12 Felix Auger-Aliassime On serve 11 14.0 -3.0 ±5.9 73.8% 66.6% 29–13 42
13 Taylor Fritz On serve 8 10.5 -2.5 ±5.1 75.0% 67.1% 22–10 32
14 Tomas Martin Etcheverry On serve 12 14.8 -2.8 ±5.8 68.4% 61.0% 21–17 38
15 Vit Kopriva On serve 10 12.6 -2.6 ±5.4 69.7% 61.7% 17–16 33
16 Marcos Giron On serve 8 10.1 -2.1 ±4.8 69.2% 61.0% 11–15 26
17 Tommy Paul On serve 12 14.6 -2.6 ±6.0 72.7% 66.9% 31–13 44
18 Luciano Darderi On serve 13 15.4 -2.4 ±6.0 67.5% 61.4% 25–15 40
19 Frances Tiafoe On serve 14 16.3 -2.3 ±6.2 68.2% 63.0% 31–13 44
20 Alex Michelsen On serve 10 11.5 -1.5 ±5.2 68.8% 64.1% 18–14 32
21 Arthur Fils On serve 10 11.4 -1.4 ±5.2 67.7% 63.1% 23–8 31
22 Ugo Humbert On serve 15 16.7 -1.7 ±6.2 65.1% 61.2% 25–18 43
23 Hamad Medjedovic On serve 7 8.2 -1.2 ±4.3 66.7% 61.0% 11–10 21
24 Giovanni Mpetshi Perricard On serve 8 9.2 -1.2 ±4.6 65.2% 60.0% 8–15 23
25 Tomas Machac On serve 8 9.1 -1.1 ±4.5 66.7% 62.2% 14–10 24
26 Lorenzo Musetti On serve 6 7.0 -1.0 ±4.1 70.0% 65.2% 13–7 20
27 Ignacio Buse On serve 10 11.1 -1.1 ±5.1 65.5% 61.8% 16–13 29
28 Yannick Hanfmann On serve 10 11.1 -1.1 ±5.1 67.7% 64.3% 17–14 31
29 Adrian Mannarino On serve 9 10.0 -1.0 ±4.9 70.0% 66.8% 11–19 30
30 Francisco Cerundolo On serve 12 13.0 -1.0 ±5.7 70.0% 67.4% 27–13 40
31 Mariano Navone On serve 12 12.8 -0.8 ±5.4 63.6% 61.2% 17–16 33
32 Alejandro Davidovich Fokina On serve 13 13.7 -0.7 ±5.7 65.8% 63.9% 23–15 38
33 Arthur Rinderknech On serve 9 9.5 -0.5 ±4.8 65.4% 63.4% 11–15 26
34 Alexei Popyrin On serve 8 8.4 -0.4 ±4.5 68.0% 66.4% 8–17 25
35 Quentin Halys On serve 11 11.3 -0.3 ±5.1 62.1% 61.0% 15–14 29
36 Dino Prizmic On serve 8 8.2 -0.2 ±4.3 61.9% 60.8% 11–10 21
37 Daniil Medvedev On serve 11 11.2 -0.2 ±5.5 73.8% 73.3% 30–12 42
38 Zizou Bergs On serve 10 10.2 -0.2 ±4.9 63.0% 62.3% 13–14 27
39 Marton Fucsovics On serve 8 8.0 +0.0 ±4.4 65.2% 65.4% 9–14 23
40 Jaume Munar On serve 8 8.0 +0.0 ±4.4 65.2% 65.4% 11–12 23
41 Camilo Ugo Carabelli On serve 13 12.8 +0.2 ±5.3 58.1% 58.6% 14–17 31
42 Terence Atmane On serve 11 10.8 +0.2 ±5.0 60.7% 61.4% 11–17 28
43 Fabian Marozsan On serve 13 12.7 +0.3 ±5.4 60.6% 61.6% 16–17 33
44 Aleksandar Kovacevic On serve 12 11.6 +0.4 ±5.1 57.1% 58.4% 11–17 28
45 Ben Shelton On serve 12 11.5 +0.5 ±5.4 67.6% 68.9% 25–12 37
46 Rinky Hijikata On serve 9 8.6 +0.4 ±4.4 59.1% 61.0% 10–12 22
47 Thiago Agustin Tirante On serve 11 10.5 +0.5 ±5.0 62.1% 63.9% 18–11 29
48 Alexander Bublik On serve 14 13.2 +0.8 ±5.6 62.2% 64.2% 22–15 37
49 Raphael Collignon On serve 10 9.1 +0.9 ±4.6 58.3% 62.1% 13–11 24
50 Jakub Mensik On serve 12 10.9 +1.1 ±5.2 63.6% 67.0% 23–10 33
51 Sebastian Baez On serve 14 12.7 +1.3 ±5.4 57.6% 61.4% 17–16 33
52 Miomir Kecmanovic On serve 13 11.7 +1.3 ±5.2 58.1% 62.3% 12–19 31
53 Jenson Brooksby On serve 9 7.8 +1.2 ±4.4 62.5% 67.3% 8–16 24
54 Joao Fonseca On serve 12 10.5 +1.5 ±4.9 57.1% 62.4% 16–12 28
55 Roman Andres Burruchaga On serve 9 7.7 +1.3 ±4.3 57.1% 63.4% 11–10 21
56 Botic van de Zandschulp On serve 13 11.4 +1.6 ±5.2 56.7% 62.0% 15–15 30
57 Brandon Nakashima On serve 13 11.2 +1.8 ±5.2 60.6% 65.9% 19–14 33
58 Jiri Lehecka On serve 13 11.1 +1.9 ±5.3 62.9% 68.3% 22–13 35
59 Karen Khachanov On serve 13 11.0 +2.0 ±5.1 58.1% 64.7% 16–15 31
60 Denis Shapovalov On serve 11 9.0 +2.0 ±4.5 52.2% 60.9% 9–14 23
61 Cameron Norrie On serve 13 10.8 +2.2 ±4.9 53.6% 61.6% 13–15 28
62 Daniel Altmaier On serve 15 12.6 +2.4 ±5.3 53.1% 60.7% 12–20 32
63 Gabriel Diallo On serve 10 8.0 +2.0 ±4.4 56.5% 65.2% 8–15 23
64 Mattia Bellucci On serve 10 7.8 +2.2 ±4.3 52.4% 62.9% 8–13 21
65 Matteo Berrettini On serve 11 8.6 +2.4 ±4.6 56.0% 65.6% 14–11 25
66 Alex de Minaur On serve 15 12.1 +2.9 ±5.5 60.5% 68.0% 25–13 38
67 Marin Cilic On serve 12 9.5 +2.5 ±4.7 53.8% 63.5% 13–13 26
68 Kamil Majchrzak On serve 12 9.5 +2.5 ±4.6 50.0% 60.6% 13–11 24
69 Ethan Quinn On serve 13 10.3 +2.7 ±4.8 50.0% 60.5% 11–15 26
70 Tallon Griekspoor On serve 11 8.3 +2.7 ±4.4 50.0% 62.3% 9–13 22
71 Corentin Moutet On serve 11 7.9 +3.1 ±4.4 52.2% 65.7% 7–16 23
72 Learner Tien On serve 16 12.1 +3.9 ±5.3 51.5% 63.5% 21–12 33
73 Hubert Hurkacz Wild card 12 8.5 +3.5 ±4.4 45.5% 61.3% 9–13 22
74 Flavio Cobolli Wild card 20 15.2 +4.8 ±6.0 51.2% 62.8% 26–15 41
75 Jan-Lennard Struff Wild card 11 7.4 +3.6 ±4.2 54.2% 69.2% 11–13 24
76 Juan Manuel Cerundolo Wild card 15 10.2 +4.8 ±4.8 44.4% 62.3% 13–14 27

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.