Where the 1428.9 rating comes from
From 51 matches played between 18 June 2012 and 19 October 2026, 50 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.
51 matches, from the most recent to the first
beaten by Andrea Guerrieri 0–2
19/10/26 · ATP 250 2026 · Qualifying — First round · detail
−10.21439.2 → 1428.9
beat Dane Sweeny 2–0
06/10/26 · ATP 1000 2026 · Qualifying — Qualifying competition · detail
+16.21425.8 → 1442.0
beat Nishesh Basavareddy 2–0
05/10/26 · ATP 1000 2026 · Qualifying — First round · detail
+18.81407.0 → 1425.8
beaten by Martin Damm Jr. 0–2
27/07/26 · ATP 500 2026 · Qualifying — First round · detail
−5.61412.6 → 1407.0
beaten by Thijs Boogaard 1–2
09/02/26 · ATP 500 2026 · Qualifying — First round · detail
−11.11423.7 → 1412.6
beaten by Jose (Rubin) Statham 1–1
25/09/23 · ATP 250 2023 · Qualifying — First round · retirement · detail
±0.01423.7 → 1423.7
beat Thiago Agustín Tirante 2–0
24/07/23 · ATP 500 2023 · Qualifying — First round · detail
+14.51396.9 → 1411.4
beaten by Cristian Garín 1–2
24/07/23 · ATP 500 2023 · Qualifying — Qualifying competition · detail
−2.41399.3 → 1396.9
beaten by Alex de Minaur 1–3
03/07/23 · ATP Grand Slam 2023 · First round · detail
−2.11401.4 → 1399.3
beaten by Pavel Kotov 1–2
24/04/23 · ATP 1000 2023 · Qualifying — First round · detail
−5.61407.0 → 1401.4
beaten by Filip Misolic 0–2
20/02/23 · ATP 250 2023 · Qualifying — First round · detail
−7.41414.4 → 1407.0
beaten by Gian Marco Moroni 0–2
31/01/22 · ATP 250 2022 · Qualifying — Qualifying competition · detail
−10.91425.4 → 1414.4
beaten by Arthur Rinderknech 1–2
17/05/21 · ATP 250 2021 · Qualifying — First round · detail
−6.71416.2 → 1409.5
beat Gian Marco Moroni 2–1
12/10/20 · ATP 250 2020 · Qualifying — First round · detail
+14.41415.9 → 1430.3
beaten by Federico Coria 0–2
12/10/20 · ATP 250 2020 · Qualifying — Qualifying competition · detail
−7.41423.3 → 1415.9
beaten by Casper Ruud 0–2
21/10/19 · ATP 500 2019 · Qualifying — First round · detail
−4.71428.0 → 1423.3
beat João Domingues 2–1
25/02/19 · ATP 250 2019 · Qualifying — First round · detail
+14.91420.7 → 1435.6
beaten by Alessandro Giannessi 0–2
25/02/19 · ATP 250 2019 · Qualifying — Qualifying competition · detail
−10.01430.7 → 1420.7
beaten by Facundo Bagnis 0–2
18/02/19 · ATP 500 2019 · Qualifying — First round · detail
−7.71438.4 → 1430.7
beaten by Stefano Travaglia 1–2
16/10/17 · ATP 250 2017 · Qualifying — First round · detail
−8.51446.9 → 1438.4
beaten by Calvin Hemery 0–2
17/07/17 · ATP 250 2017 · Qualifying — First round · detail
−9.01455.9 → 1446.9
beat Chung Hyeon 2–1
20/02/17 · ATP 250 2017 · Qualifying — Qualifying competition · detail
+18.31421.9 → 1440.2
beaten by Yannick Maden 0–2
17/10/16 · ATP 250 2016 · Qualifying — Qualifying competition · detail
−10.11437.8 → 1427.7
beat Pablo Andújar 2–0
17/10/16 · ATP 250 2016 · Qualifying — First round · detail
+18.11419.7 → 1437.8
beaten by Lorenzo Giustino 1–2
04/04/16 · ATP 250 2016 · Qualifying — First round · detail
−7.91427.7 → 1419.7
beaten by Ivan Dodig 0–2
08/02/16 · ATP 500 2016 · Qualifying — First round · detail
−5.81433.5 → 1427.7
beaten by Kenny de Schepper 0–2
01/02/16 · ATP 250 2016 · Qualifying — Qualifying competition · detail
−6.71440.2 → 1433.5
beat Egor Gerasimov 2–0
01/02/16 · ATP 250 2016 · Qualifying — First round · detail
+13.21427.0 → 1440.2
beaten by Pierre-Hugues Herbert 0–2
24/08/15 · ATP 250 2015 · Qualifying — First round · detail
−4.61431.6 → 1427.0
beaten by Nicolas Mahut 0–3
25/05/15 · ATP Grand Slam 2015 · First round · detail
−13.01448.0 → 1435.0
beaten by Lorenzo Giustino 0–2
06/04/15 · ATP 250 2015 · Qualifying — Second round · detail
−22.41470.4 → 1448.0
beat Daniel Brands 2–1
06/04/15 · ATP 250 2015 · Qualifying — First round · detail
+37.51432.8 → 1470.4
beaten by Aldin Šetkić 1–2
02/02/15 · ATP 250 2015 · Qualifying — First round · detail
−20.31463.0 → 1442.7
beat Ruben Bemelmans 2–0
05/01/15 · ATP 250 2015 · Qualifying — First round · detail
+34.91428.1 → 1463.0
beaten by Michael Berrer 0–2
05/01/15 · ATP 250 2015 · Qualifying — Second round · detail
−15.61443.7 → 1428.1
beaten by Konstantin Kravchuk 0–2
17/06/13 · ATP 250 2013 · Qualifying — First round · detail
−21.51477.4 → 1455.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.