Where the 1645.6 rating comes from
From 127 matches played between 8 February 2021 and 7 November 2026, 123 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.
127 matches, from the most recent to the first
beaten by Denis Shapovalov 0–3
02/09/26 · ATP Grand Slam 2026 · Second round · detail
−8.11584.2 → 1576.1
beaten by Aleksandar Kovacevic 0–2
24/08/26 · ATP 250 2026 · Second round · detail
−13.21579.4 → 1566.2
beat Dušan Lajović 2–1
12/08/26 · ATP 1000 2026 · Qualifying — Qualifying competition · detail
+13.11573.9 → 1587.0
beat Gustavo Heide 2–0
10/08/26 · ATP 1000 2026 · Qualifying — First round · detail
+9.91564.0 → 1573.9
beaten by Marton Fucsovics 0–2
29/06/26 · ATP Grand Slam 2026 · First round · retirement · detail
±0.01496.2 → 1496.2
beaten by Brandon Nakashima 2–3
27/05/26 · ATP Grand Slam 2026 · Second round · detail
−5.91502.0 → 1496.2
beaten by Max Schönhaus 0–2
18/05/26 · ATP 500 2026 · Qualifying — First round · detail
−12.91499.0 → 1486.0
beaten by Hugo Dellien 0–2
04/05/26 · ATP 1000 2026 · Qualifying — First round · detail
−9.71508.7 → 1499.0
beaten by Diego Dedura-Palomero 0–2
20/04/26 · ATP 1000 2026 · Qualifying — First round · detail
−12.31521.0 → 1508.7
beaten by Camilo Ugo Carabelli 1–2
30/03/26 · ATP 250 2026 · Quarterfinals · detail
−9.01496.7 → 1487.7
beaten by Yannick Hanfmann 1–2
17/03/26 · ATP 1000 2026 · Qualifying — Qualifying competition · detail
−4.91501.6 → 1496.7
beat Benjamin Willwerth 2–0
16/03/26 · ATP 1000 2026 · Qualifying — First round · detail
+11.71490.0 → 1501.6
beaten by Alexis Galarneau 0–2
02/03/26 · ATP 1000 2026 · Qualifying — First round · detail
−12.31502.2 → 1490.0
beaten by Alejandro Tabilo 1–2
05/01/26 · ATP 250 2026 · Qualifying — First round · detail
−6.01508.3 → 1502.2
beat Moez Echargui 2–1
03/11/25 · ATP 250 2025 · Qualifying — Qualifying competition · detail
+11.61496.7 → 1508.3
beat Billy Harris 2–1
03/11/25 · ATP 250 2025 · Qualifying — First round · detail
+13.91482.7 → 1496.7
beaten by Francisco Comesaña 0–2
27/10/25 · ATP 1000 2025 · Qualifying — First round · detail
−8.61507.0 → 1498.4
beat Marco Cecchinato 2–0
21/07/25 · ATP 250 2025 · Qualifying — First round · detail
+14.71492.3 → 1507.0
beaten by Giulio Zeppieri 0–2
21/07/25 · ATP 250 2025 · Qualifying — Qualifying competition · detail
−10.71503.1 → 1492.3
beaten by Pablo Llamas Ruiz 0–2
14/07/25 · ATP 250 2025 · Qualifying — First round · detail
−9.21512.3 → 1503.1
beaten by Daniel Altmaier 0–2
21/04/25 · ATP 1000 2025 · Qualifying — First round · detail
−8.51520.8 → 1512.3
beat Matteo Martineau 2–0
10/02/25 · ATP 250 2025 · Qualifying — First round · detail
+9.51511.3 → 1520.8
beaten by Clément Chidekh 1–2
10/02/25 · ATP 250 2025 · Qualifying — Qualifying competition · detail
−14.51525.8 → 1511.3
beaten by Lorenzo Sonego
10/02/25 · ATP 250 2025 · Second round · walkover · detail
±0.01525.8 → 1525.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.