Where the 1610.2 rating comes from
From 373 matches played between 6 August 1990 and 19 October 2026, 364 of them rated, and from them alone. Every line below was written at computation time: nothing is recomputed to show this page.
How to read this
On the right: the change this match produced, then the value before → after. A line's arrival value is the next line's starting value, down to the starting rating given to every newcomer. A ±0.0 is a counted match that did not move the rating, a walkover for instance.
373 matches, from the most recent to the first
beat Buvaysar Gadamauri 2–0
19/10/26 · ATP 250 2026 · Qualifying — First round · detail
+8.61601.6 → 1610.2
beaten by Andrea Guerrieri 1–2
19/10/26 · ATP 250 2026 · Qualifying — Qualifying competition · detail
−15.61617.1 → 1601.6
beaten by Pavel Kotov 1–2
05/10/26 · ATP 1000 2026 · Qualifying — First round · detail
−14.31621.8 → 1607.5
beaten by Arthur Fils 1–2
28/09/26 · ATP 500 2026 · Qualifying — First round · detail
−3.31625.1 → 1621.8
beaten by Frances Tiafoe 2–3
31/08/26 · ATP Grand Slam 2026 · First round · detail
−4.61627.6 → 1623.0
beaten by Stefanos Sakellaridis 0–2
10/08/26 · ATP 1000 2026 · Qualifying — First round · detail
−16.11626.4 → 1610.3
beat Henrique Rocha 2–0
03/08/26 · ATP 1000 2026 · Qualifying — Qualifying competition · detail
+7.71626.4 → 1634.2
beat Kimmer Coppejans 2–0
27/07/26 · ATP 500 2026 · Qualifying — First round · detail
+5.61620.9 → 1626.4
beat Abdullah Shelbayh 2–1
27/07/26 · ATP 500 2026 · Qualifying — Qualifying competition · detail
+9.61611.3 → 1620.9
beaten by Arthur Rinderknech 0–3
01/07/26 · ATP Grand Slam 2026 · Second round · detail
−9.31625.9 → 1616.6
beat Zachary Svajda 2–0
15/06/26 · ATP 500 2026 · Qualifying — Qualifying competition · detail
+12.71603.8 → 1616.5
beat Daniel Mérida 2–0
15/06/26 · ATP 500 2026 · Qualifying — First round · detail
+12.71591.1 → 1603.8
beat Juan Pablo Ficovich 2–0
08/06/26 · ATP 250 2026 · Qualifying — Qualifying competition · detail
+9.71585.1 → 1594.8
beaten by Pablo Carreño Busta 0–2
04/05/26 · ATP 1000 2026 · Qualifying — First round · detail
−9.31581.2 → 1571.9
beat Cristian Garín 2–1
22/04/26 · ATP 1000 2026 · Qualifying — Qualifying competition · detail
+12.81557.8 → 1570.6
beat Andrea Pellegrino 2–0
20/04/26 · ATP 1000 2026 · Qualifying — First round · detail
+10.91546.9 → 1557.8
beaten by Alexander Zverev Jr. 0–2
19/03/26 · ATP 1000 2026 · Second round · detail
−2.01555.7 → 1553.7
beat Jacob Fearnley 1–0
18/03/26 · ATP 1000 2026 · First round · retirement · detail
±0.01555.7 → 1555.7
beaten by Camilo Ugo Carabelli 0–2
04/03/26 · ATP 1000 2026 · First round · detail
−12.31568.0 → 1555.7
beat Matteo Martineau 2–0
02/02/26 · ATP 250 2026 · Qualifying — First round · detail
+7.51560.6 → 1568.0
beat Clément Tabur 2–1
02/02/26 · ATP 250 2026 · Qualifying — Qualifying competition · detail
+12.41548.1 → 1560.6
beaten by Valentin Vacherot 0–3
19/01/26 · ATP Grand Slam 2026 · First round · detail
−6.61511.3 → 1504.7
beaten by Frances Tiafoe 1–3
27/08/25 · ATP Grand Slam 2025 · Second round · detail
−4.21515.5 → 1511.3
beaten by Brandon Holt 1–2
17/03/25 · ATP 1000 2025 · Qualifying — First round · detail
−10.51512.7 → 1502.2
beaten by Brandon Holt 1–2
01/04/24 · ATP 250 2024 · Qualifying — First round · detail
−12.11524.8 → 1512.7
beaten by Christopher O'Connell 0–2
22/03/24 · ATP 1000 2024 · Third round · detail
−6.71531.5 → 1524.8
Only the matches the source publishes appear; what is missing is listed. The source gives the day, not the hour: two matches on the same day are ordered by a reproducible rule, which is not necessarily the real order.