Michael Mmoh

Where the 1664.5 rating comes from

From 139 matches played between 9 February 2015 and 19 October 2026, 128 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.

139 matches, from the most recent to the first

beaten by Kyrian Jacquet 0–1
19/10/26 · ATP 250 2026 · Qualifying — Qualifying competition · retirement · detail
±0.01664.5 → 1664.5
beat Jan Kumstát 2–1
19/10/26 · ATP 250 2026 · Qualifying — First round · detail
+6.91657.6 → 1664.5
beaten by Aleksandar Kovacevic 0–2
15/06/26 · ATP 500 2026 · Qualifying — First round · detail
−16.31673.9 → 1657.6
beaten by Rinky Hijikata 1–2
16/02/26 · ATP 250 2026 · Qualifying — First round · detail
−15.21689.1 → 1673.9
beat Patrick Kypson 2–1
05/01/26 · ATP 250 2026 · Qualifying — Qualifying competition · detail
+5.21683.9 → 1689.1
beat Cristian Garín 2–1
05/01/26 · ATP 250 2026 · Qualifying — First round · detail
+9.01674.9 → 1683.9
beaten by Marcos Giron 0–2
05/01/26 · ATP 250 2026 · Quarterfinals · retirement · detail
±0.01674.9 → 1674.9
beat Karen Khachanov 2–0
05/01/26 · ATP 250 2026 · Second round · detail
+16.31658.6 → 1674.9
beat Alejandro Tabilo 2–0
05/01/26 · ATP 250 2026 · First round · detail
+14.31644.3 → 1658.6
beaten by Adam Walton 0–2
31/03/25 · ATP 250 2025 · First round · detail
−14.91659.2 → 1644.3
beaten by Francisco Comesaña 0–2
17/03/25 · ATP 1000 2025 · Qualifying — First round · detail
−16.21675.3 → 1659.2
beaten by Adam Walton 1–2
04/03/25 · ATP 1000 2025 · Qualifying — Qualifying competition · detail
−17.01692.4 → 1675.3
beat Billy Harris 2–0
03/03/25 · ATP 1000 2025 · Qualifying — First round · detail
+8.61683.7 → 1692.4
beat Radu Albot 2–1
10/02/25 · ATP 250 2025 · Qualifying — First round · detail
+8.01675.7 → 1683.7
beat Dmitry Popko 2–0
10/02/25 · ATP 250 2025 · Qualifying — Qualifying competition · detail
+5.91669.8 → 1675.7
10/02/25 · ATP 250 2025 · First round · detail
+10.41659.4 → 1669.8
beaten by Alex Michelsen 1–1
10/02/25 · ATP 250 2025 · Second round · retirement · detail
±0.01659.4 → 1659.4
beat Tristan Boyer 2–0
03/02/25 · ATP 500 2025 · Qualifying — First round · detail
+6.21653.2 → 1659.4
beat Georgi Georgiev 2–0
03/02/25 · ATP 500 2025 · Qualifying — Qualifying competition · detail
+7.21646.0 → 1653.2
03/02/25 · ATP 500 2025 · First round · detail
+13.71632.3 → 1646.0
beaten by Casper Ruud 0–2
03/02/25 · ATP 500 2025 · Second round · detail
−6.91639.1 → 1632.3
beaten by Tomas Martin Etcheverry 1–1
01/04/24 · ATP 250 2024 · Quarterfinals · retirement · detail
±0.01639.1 → 1639.1
beat Max Purcell 2–0
01/04/24 · ATP 250 2024 · Second round · detail
+9.91629.2 → 1639.1
01/04/24 · ATP 250 2024 · First round · detail
+9.91619.3 → 1629.2
beaten by Brandon Nakashima 1–2
18/03/24 · ATP 1000 2024 · Qualifying — First round · detail
−11.71631.0 → 1619.3
beaten by Facundo Bagnis 1–2
04/03/24 · ATP 1000 2024 · Qualifying — First round · detail
−12.51643.5 → 1631.0
26/02/24 · ATP 500 2024 · Qualifying — Qualifying competition · detail
+15.71627.8 → 1643.5
26/02/24 · ATP 500 2024 · Qualifying — First round · retirement · detail
±0.01627.8 → 1627.8
beaten by Holger Rune 0–2
26/02/24 · ATP 500 2024 · First round · detail
−4.91632.7 → 1627.8
beat Emilio Nava 2–0
05/02/24 · ATP 250 2024 · First round · detail
+8.31624.4 → 1632.7
beaten by Ben Shelton 0–2
05/02/24 · ATP 250 2024 · Second round · detail
−8.21632.5 → 1624.4
beaten by Holger Rune 0–2
29/01/24 · ATP 250 2024 · Quarterfinals · detail
−4.91637.4 → 1632.5
beat Benjamin Bonzi 2–0
29/01/24 · ATP 250 2024 · First round · detail
+11.11626.3 → 1637.4
29/01/24 · ATP 250 2024 · Second round · detail
+11.31614.9 → 1626.3
beaten by Thiago Seyboth Wild 1–2
23/10/23 · ATP 500 2023 · Qualifying — First round · detail
−16.01630.9 → 1614.9
beaten by Jack Draper 1–3
30/08/23 · ATP Grand Slam 2023 · Third round · detail
−6.61637.5 → 1630.9
beat John Isner 3–2
29/08/23 · ATP Grand Slam 2023 · Second round · detail
+14.71622.8 → 1637.5
beat Karen Khachanov 3–0
28/08/23 · ATP Grand Slam 2023 · First round · detail
+20.01602.9 → 1622.8
beat Marcos Giron 2–0
21/08/23 · ATP 250 2023 · Second round · detail
+15.31587.5 → 1602.9
beat Darian King 2–1
21/08/23 · ATP 250 2023 · First round · detail
+9.21578.3 → 1587.5
beaten by Borna Ćorić 1–2
21/08/23 · ATP 250 2023 · Third round · detail
−6.71585.0 → 1578.3
beaten by J. J. Wolf 0–2
31/07/23 · ATP 500 2023 · Third round · detail
−8.31593.4 → 1585.0
beat Hubert Hurkacz 2–1
31/07/23 · ATP 500 2023 · Second round · detail
+19.71573.7 → 1593.4
beat Bradley Klahn 2–0
31/07/23 · ATP 500 2023 · First round · detail
+8.51565.2 → 1573.7
beat Tennys Sandgren 2–1
24/07/23 · ATP 250 2023 · Qualifying — First round · detail
+12.71552.5 → 1565.2
beaten by Lloyd Harris 1–2
24/07/23 · ATP 250 2023 · Qualifying — Qualifying competition · detail
−7.91560.4 → 1552.5
beaten by Maximilian Marterer 0–3
04/07/23 · ATP Grand Slam 2023 · Second round · detail
−11.91572.3 → 1560.4
03/07/23 · ATP Grand Slam 2023 · First round · detail
+20.21552.1 → 1572.3
beaten by Taylor Harry Fritz 0–3
29/05/23 · ATP Grand Slam 2023 · First round · detail
−3.01555.1 → 1552.1
beaten by Tommy Paul 0–1
27/02/23 · ATP 500 2023 · Second round · retirement · detail
±0.01555.1 → 1555.1

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.