Yannick Hanfmann

Where the 1683.3 rating comes from

From 329 matches played between 7 July 2014 and 9 November 2026, 323 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.

329 matches, from the most recent to the first

beaten by Alex Michelsen 0–2
09/11/26 · ATP 250 2026 · First round · detail
−9.11692.3 → 1683.3
beaten by Benjamin Bonzi 1–2
03/11/26 · ATP 1000 2026 · Qualifying — Qualifying competition · detail
−11.21703.5 → 1692.3
beat Felix Balshaw 2–0
02/11/26 · ATP 1000 2026 · Qualifying — First round · detail
+6.91696.6 → 1703.5
beat Rinky Hijikata 2–1
26/10/26 · ATP 500 2026 · Qualifying — Qualifying competition · detail
+10.81685.9 → 1696.6
beat Marcos Giron 2–1
26/10/26 · ATP 500 2026 · Qualifying — First round · detail
+8.51677.3 → 1685.9
beaten by Jan-Lennard Struff 0–2
26/10/26 · ATP 500 2026 · First round · detail
−10.11687.4 → 1677.3
beaten by Martin Damm Jr. 0–2
19/10/26 · ATP 250 2026 · First round · detail
−15.41702.8 → 1687.4
beaten by Frances Tiafoe 0–2
08/10/26 · ATP 1000 2026 · Second round · detail
−6.11708.9 → 1702.8
beat Kamil Majchrzak 2–1
07/10/26 · ATP 1000 2026 · First round · detail
+11.41697.5 → 1708.9
beaten by Tomáš Macháč 1–2
28/09/26 · ATP 500 2026 · Qualifying — First round · detail
−11.11708.6 → 1697.5
beaten by Alejandro Tabilo 1–3
31/08/26 · ATP Grand Slam 2026 · First round · detail
−12.91721.5 → 1708.6
beaten by Arthur Fils 0–2
15/08/26 · ATP 1000 2026 · Second round · detail
−6.01727.4 → 1721.5
beat Luca Van Assche 2–0
13/08/26 · ATP 1000 2026 · First round · detail
+7.61719.8 → 1727.4
beaten by Nuno Borges 0–2
07/08/26 · ATP 1000 2026 · Third round · detail
−12.81732.6 → 1719.8
beat Flavio Cobolli 2–0
06/08/26 · ATP 1000 2026 · Second round · detail
+14.51718.1 → 1732.6
beat Benjamin Bonzi 2–1
04/08/26 · ATP 1000 2026 · First round · detail
+11.11707.0 → 1718.1
beat Sebastián Báez 2–0
20/07/26 · ATP 250 2026 · Quarterfinals · detail
+11.01696.0 → 1707.0
beaten by Quentin Halys 0–2
20/07/26 · ATP 250 2026 · Semifinals · detail
−12.41708.4 → 1696.0
20/07/26 · ATP 250 2026 · Second round · detail
+7.11701.3 → 1708.4
beat Lukas Neumayer 2–0
20/07/26 · ATP 250 2026 · First round · detail
+4.71696.6 → 1701.3
beaten by Valentin Vacherot 1–2
13/07/26 · ATP 250 2026 · Second round · detail
−10.81707.4 → 1696.6
beat Pedro Martínez 2–0
13/07/26 · ATP 250 2026 · First round · detail
+5.81701.6 → 1707.4
beaten by Karen Khachanov 0–3
01/07/26 · ATP Grand Slam 2026 · Second round · detail
−11.81713.5 → 1701.6
29/06/26 · ATP Grand Slam 2026 · First round · detail
+10.91702.6 → 1713.5
beaten by Luciano Darderi 0–2
22/06/26 · ATP 250 2026 · Second round · detail
−11.61714.2 → 1702.6
22/06/26 · ATP 250 2026 · First round · detail
+8.31705.9 → 1714.2
beat João Fonseca 2–0
15/06/26 · ATP 500 2026 · First round · detail
+15.21690.6 → 1705.9
beaten by Alexander Zverev Jr. 0–2
15/06/26 · ATP 500 2026 · Second round · detail
−3.41694.0 → 1690.6
beaten by Mattia Bellucci 1–2
08/06/26 · ATP 250 2026 · Second round · detail
−16.21710.2 → 1694.0
08/06/26 · ATP 250 2026 · First round · detail
+7.51702.7 → 1710.2
beaten by Hamad Medjedovic 1–3
25/05/26 · ATP Grand Slam 2026 · First round · detail
−11.91714.6 → 1702.7
beat Max Schönhaus 2–1
18/05/26 · ATP 500 2026 · First round · detail
+5.11709.5 → 1714.6
beaten by Luciano Darderi 0–2
18/05/26 · ATP 500 2026 · Second round · detail
−11.41720.9 → 1709.5
beaten by Luciano Darderi 0–2
07/05/26 · ATP 1000 2026 · Second round · detail
−13.91734.8 → 1720.9
beat Hubert Hurkacz 2–1
06/05/26 · ATP 1000 2026 · First round · detail
+14.21720.6 → 1734.8
beaten by Francisco Cerúndolo 0–2
25/04/26 · ATP 1000 2026 · Second round · detail
−8.61729.2 → 1720.6
beat Marcos Giron 2–1
23/04/26 · ATP 1000 2026 · First round · detail
+10.41718.8 → 1729.2
beaten by Alexander Blockx 0–2
13/04/26 · ATP 500 2026 · First round · detail
−17.31736.1 → 1718.8
beaten by Luciano Darderi
30/03/26 · ATP 250 2026 · Quarterfinals · walkover · detail
±0.01736.1 → 1736.1
beat Karim Bennani 2–1
30/03/26 · ATP 250 2026 · Second round · detail
+4.81731.3 → 1736.1
beat Jesper de Jong 2–0
30/03/26 · ATP 250 2026 · First round · detail
+7.11724.1 → 1731.3
beaten by Rafael Jódar 1–2
18/03/26 · ATP 1000 2026 · First round · detail
−16.81741.0 → 1724.1
beat Luca Van Assche 2–1
17/03/26 · ATP 1000 2026 · Qualifying — Qualifying competition · detail
+4.91736.0 → 1741.0
beat Leandro Riedi 2–0
16/03/26 · ATP 1000 2026 · Qualifying — First round · detail
+6.31729.7 → 1736.0
beat Vilius Gaubas 2–1
23/02/26 · ATP 250 2026 · Quarterfinals · detail
+8.61721.1 → 1729.7
beaten by Luciano Darderi 0–2
23/02/26 · ATP 250 2026 · Final · detail
−12.51733.6 → 1721.1
23/02/26 · ATP 250 2026 · Semifinals · detail
+15.31718.3 → 1733.6
beat Dušan Lajović 2–0
23/02/26 · ATP 250 2026 · First round · detail
+8.41709.9 → 1718.3
23/02/26 · ATP 250 2026 · Second round · detail
+7.51702.3 → 1709.9
beaten by Juan Manuel Cerúndolo 1–2
16/02/26 · ATP 500 2026 · Second round · detail
−15.71718.1 → 1702.3

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.