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
8 upsets where the model expected 17.1 · 57-14 in 71 matches · model called it right 88.7% of the time
The wild card · 2026
16 upsets where the model expected only 9.1 · 16-7 in 23 matches · model called it right 30.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 · 101 players with ≥20 matches (2379 matches, source: as-published daily record)

# Player Verdict Upsets Expected Extra Model hit Confidence W-L M
1 Alexander Zverev Straight sets 8 17.1 -9.1 ±6.9 88.7% 76.0% 57-14 71
2 Vit Kopriva Straight sets 10 15.1 -5.1 ±5.9 75.0% 62.1% 19-21 40
3 Stefanos Tsitsipas Straight sets 13 18.7 -5.7 ±6.6 74.0% 62.7% 28-22 50
4 Jesper de Jong Straight sets 4 7.4 -3.4 ±4.1 80.0% 63.0% 6-14 20
5 Damir Dzumhur Straight sets 7 11.1 -4.1 ±5.0 75.9% 61.8% 11-18 29
6 Carlos Alcaraz Straight sets 4 7.7 -3.7 ±4.7 89.2% 79.1% 32-5 37
7 Jannik Sinner Straight sets 3 6.5 -3.5 ±4.5 93.6% 86.1% 44-3 47
8 Nuno Borges On serve 15 19.2 -4.2 ±6.6 70.0% 61.6% 26-24 50
9 Arthur Fils On serve 13 16.9 -3.9 ±6.4 72.9% 64.8% 35-13 48
10 Taylor Fritz On serve 12 15.5 -3.5 ±6.2 74.5% 67.0% 32-15 47
11 Martin Damm On serve 7 9.4 -2.4 ±4.7 72.0% 62.4% 11-14 25
12 Lorenzo Musetti On serve 8 10.5 -2.5 ±5.1 75.8% 68.2% 21-12 33
13 Zizou Bergs On serve 12 14.7 -2.7 ±5.9 70.0% 63.1% 20-20 40
14 Andrey Rublev On serve 15 18.0 -3.0 ±6.6 71.7% 66.1% 33-20 53
15 Camilo Ugo Carabelli On serve 13 15.3 -2.3 ±5.8 64.9% 58.7% 15-22 37
16 Casper Ruud On serve 14 16.4 -2.4 ±6.2 68.2% 62.8% 27-17 44
17 Luciano Darderi On serve 20 22.7 -2.7 ±7.2 65.5% 60.8% 35-23 58
18 Rafael Jodar On serve 18 20.6 -2.6 ±6.9 68.4% 63.9% 41-16 57
19 Alejandro Davidovich Fokina On serve 16 18.1 -2.1 ±6.5 67.3% 63.1% 33-16 49
20 Yannick Hanfmann On serve 14 15.9 -1.9 ±6.1 67.4% 63.1% 23-20 43
21 Lorenzo Sonego On serve 9 10.5 -1.5 ±5.0 69.0% 63.9% 12-17 29
22 Felix Auger-Aliassime On serve 15 16.8 -1.8 ±6.5 70.6% 67.1% 34-17 51
23 Jaume Munar On serve 10 11.3 -1.3 ±5.2 68.8% 64.7% 17-15 32
24 Sho Shimabukuro On serve 7 8.1 -1.1 ±4.3 65.0% 59.7% 5-15 20
25 Tommy Paul On serve 18 19.7 -1.7 ±7.0 70.0% 67.2% 41-19 60
26 Arthur Fery On serve 8 9.1 -1.1 ±4.7 68.0% 63.4% 15-10 25
27 Marcos Giron On serve 11 12.3 -1.3 ±5.3 65.6% 61.7% 11-21 32
28 Francisco Cerundolo On serve 16 17.6 -1.6 ±6.6 69.8% 66.8% 34-19 53
29 Alejandro Tabilo On serve 18 19.6 -1.6 ±6.7 64.0% 60.8% 25-25 50
30 James Duckworth On serve 9 10.1 -1.1 ±4.9 70.0% 66.2% 12-18 30
31 Tomas Martin Etcheverry On serve 19 20.3 -1.3 ±6.7 62.7% 60.2% 26-25 51
32 Arthur Rinderknech On serve 12 12.7 -0.7 ±5.5 64.7% 62.6% 15-19 34
33 Alexei Popyrin On serve 10 10.6 -0.6 ±5.0 66.7% 64.6% 11-19 30
34 Valentin Royer On serve 9 9.5 -0.5 ±4.7 65.4% 63.4% 5-21 26
35 Frances Tiafoe On serve 22 22.8 -0.8 ±7.3 65.1% 63.9% 44-19 63
36 Ben Shelton On serve 18 18.7 -0.7 ±6.8 67.9% 66.7% 40-16 56
37 Jiri Lehecka On serve 16 16.5 -0.5 ±6.4 68.6% 67.6% 32-19 51
38 Giovanni Mpetshi Perricard On serve 10 10.4 -0.4 ±4.9 61.5% 60.1% 8-18 26
39 Alex Michelsen On serve 17 17.5 -0.5 ±6.4 64.6% 63.6% 28-20 48
40 Joao Fonseca On serve 12 12.3 -0.3 ±5.3 62.5% 61.5% 19-13 32
41 Marco Trungelliti On serve 7 7.3 -0.3 ±4.2 66.7% 65.4% 9-12 21
42 Marton Fucsovics On serve 9 9.1 -0.1 ±4.7 65.4% 64.9% 9-17 26
43 Dino Prizmic On serve 9 9.1 -0.1 ±4.6 62.5% 62.0% 12-12 24
44 Alex de Minaur On serve 18 18.2 -0.2 ±6.7 68.4% 68.1% 38-19 57
45 Daniil Medvedev On serve 17 17.1 -0.1 ±6.8 73.0% 72.8% 45-18 63
46 Alexander Bublik On serve 17 16.9 +0.1 ±6.4 64.6% 64.7% 29-19 48
47 Francisco Comesana On serve 9 8.8 +0.2 ±4.4 59.1% 59.9% 7-15 22
48 Mariano Navone On serve 19 18.6 +0.4 ±6.5 59.6% 60.4% 24-23 47
49 Ugo Humbert On serve 20 19.6 +0.4 ±6.7 60.8% 61.6% 27-24 51
50 Grigor Dimitrov On serve 8 7.7 +0.3 ±4.2 61.9% 63.3% 8-13 21
51 Valentin Vacherot On serve 15 14.5 +0.5 ±5.7 59.5% 60.7% 20-17 37
52 Novak Djokovic On serve 9 8.6 +0.4 ±4.6 66.7% 68.2% 19-8 27
53 Aleksandar Kovacevic On serve 17 16.2 +0.8 ±6.0 57.5% 59.5% 15-25 40
54 Denis Shapovalov On serve 17 16.2 +0.8 ±6.0 58.5% 60.6% 21-20 41
55 Mattia Bellucci On serve 12 11.2 +0.8 ±5.1 60.0% 62.7% 11-19 30
56 Jenson Brooksby On serve 14 13.1 +0.9 ±5.6 63.2% 65.6% 15-23 38
57 Alexander Blockx On serve 13 12.1 +0.9 ±5.3 59.4% 62.2% 19-13 32
58 Adrian Mannarino On serve 16 14.8 +1.2 ±6.0 63.6% 66.3% 18-26 44
59 Raphael Collignon On serve 12 11.0 +1.0 ±5.0 58.6% 62.1% 14-15 29
60 Hamad Medjedovic On serve 11 10.0 +1.0 ±4.8 57.7% 61.5% 11-15 26
61 Matteo Berrettini On serve 14 12.9 +1.1 ±5.5 60.0% 63.3% 18-17 35
62 Rinky Hijikata On serve 15 13.7 +1.3 ±5.6 57.1% 60.8% 15-20 35
63 Ignacio Buse On serve 18 16.6 +1.4 ±6.2 57.1% 60.4% 23-19 42
64 Roman Andres Burruchaga On serve 11 9.8 +1.2 ±4.8 57.7% 62.5% 12-14 26
65 Miomir Kecmanovic On serve 18 16.3 +1.7 ±6.1 57.1% 61.2% 16-26 42
66 Marin Cilic On serve 13 11.4 +1.6 ±5.2 58.1% 63.1% 14-17 31
67 Sebastian Baez On serve 20 18.0 +2.0 ±6.4 57.4% 61.6% 22-25 47
68 Jakub Mensik On serve 18 16.1 +1.9 ±6.4 64.0% 67.9% 34-16 50
69 Daniel Altmaier On serve 19 17.0 +2.0 ±6.2 55.8% 60.6% 17-26 43
70 Hubert Hurkacz On serve 18 16.0 +2.0 ±6.1 57.1% 62.0% 23-19 42
71 Tomas Machac On serve 13 11.2 +1.8 ±5.1 56.7% 62.8% 15-15 30
72 Terence Atmane On serve 17 14.9 +2.1 ±5.8 56.4% 61.9% 17-22 39
73 Benjamin Bonzi On serve 9 7.3 +1.7 ±4.1 55.0% 63.6% 11-9 20
74 Brandon Nakashima On serve 22 18.9 +3.1 ±6.7 59.3% 64.9% 34-20 54
75 Thiago Agustin Tirante On serve 18 15.3 +2.7 ±6.0 58.1% 64.5% 26-17 43
76 Quentin Halys On serve 20 17.1 +2.9 ±6.2 54.5% 61.1% 24-20 44
77 Fabian Marozsan On serve 20 17.1 +2.9 ±6.3 55.6% 62.1% 22-23 45
78 Luca Van Assche On serve 9 7.1 +1.9 ±4.1 57.1% 66.2% 11-10 21
79 Pablo Carreno Busta On serve 12 9.7 +2.3 ±4.9 58.6% 66.6% 12-17 29
80 Jan-Lennard Struff On serve 14 11.5 +2.5 ±5.2 60.0% 67.2% 16-19 35
81 Adolfo Daniel Vallejo On serve 14 11.5 +2.5 ±5.1 53.3% 61.8% 15-15 30
82 Juan Manuel Cerundolo On serve 19 15.8 +3.2 ±6.0 54.8% 62.3% 20-22 42
83 Cameron Norrie On serve 19 15.7 +3.3 ±6.0 54.8% 62.7% 20-22 42
84 Gabriel Diallo On serve 12 9.4 +2.6 ±4.7 53.8% 64.0% 9-17 26
85 Ethan Quinn On serve 13 10.3 +2.7 ±4.8 50.0% 60.5% 11-15 26
86 Learner Tien On serve 22 17.9 +4.1 ±6.4 54.2% 62.8% 30-18 48
87 Titouan Droguet On serve 11 8.3 +2.7 ±4.3 45.0% 58.6% 10-10 20
88 Zachary Svajda On serve 13 9.8 +3.2 ±4.8 50.0% 62.4% 11-15 26
89 Karen Khachanov On serve 21 16.5 +4.5 ±6.3 55.3% 65.0% 26-21 47
90 Alex Molcan On serve 11 7.9 +3.1 ±4.4 50.0% 64.3% 13-9 22
91 Adam Walton Wild card 14 10.2 +3.8 ±4.9 48.1% 62.3% 9-18 27
92 Jaime Faria Wild card 15 11.0 +4.0 ±5.0 48.3% 62.0% 15-14 29
93 Botic van de Zandschulp Wild card 24 18.6 +5.4 ±6.6 52.9% 63.5% 28-23 51
94 Daniel Merida Wild card 16 11.8 +4.2 ±5.2 46.7% 60.6% 19-11 30
95 Corentin Moutet Wild card 14 9.7 +4.3 ±4.8 50.0% 65.3% 9-19 28
96 Kamil Majchrzak Wild card 18 13.1 +4.9 ±5.5 47.1% 61.5% 16-18 34
97 Tallon Griekspoor Wild card 17 11.9 +5.1 ±5.3 46.9% 62.8% 13-19 32
98 Flavio Cobolli Wild card 27 19.2 +7.8 ±6.7 48.1% 63.0% 32-20 52
99 Martin Landaluce Wild card 16 10.0 +6.0 ±4.8 40.7% 62.8% 12-15 27
100 Matteo Arnaldi Wild card 17 10.4 +6.6 ±4.9 39.3% 62.9% 11-17 28
101 Arthur Gea Wild card 16 9.1 +6.9 ±4.6 30.4% 60.4% 16-7 23

Serve projections: who we read best, and worst

Before every match we project how many aces each player will serve. The bar is how much closer that projection lands than the naive forecast anyone can build without a model, which is the average of the player's own last 5 matches. Positive means we add something on that player. Ranking by raw error would just rank the tour by serve volume, so the comparison is always against each player's own baseline.

We read it our projection beats the player's own last-5 average, and the whole 95% interval agrees Level the gap is inside the noise for this sample, where most players belong Baseline wins the last-5 average reads this player better than we do

Full board below, 110 players with at least 12 matches in 2025 where both our projection and the last-5 baseline could be scored (source: out-of-sample backtest). A verdict is printed only when the 95% interval of the per-match comparison stays on one side of zero. Everyone else is level with the baseline for this sample, which is where most players belong. The serve record does not cover 2026, so this board shows 2025, the most recent season whose serve projections we can score.

# Player Verdict Edge Our miss Baseline miss Actual avg Projected avg M

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 expected 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.

The serve board answers a different question with a different metric, and the two never mix. Upsets are about who wins, and are scored against the model's own expectation. Aces and double faults are counts, and are scored against the forecast anyone could make without a model, the average of that player's last five matches. A player can be perfectly on script and still be the one whose serve we read worst.

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.