Here, I am going to make an alternative world ranking system for snooker. Currently, the world snooker rankings are based on a two-year rolling sum of prize money won by players in ranking tournaments. However, this may be a bit distorted for example because:
To create this ranking system I am going to use match, event and player data sourced from the excellent snooker.org via their API. I have obtained historical data back to the beginning of the 2013 season and have implemented a script to add the latest matches once per day from the Snooker.org API. As an example of the match data the table below has the last ten matches included in the ranking system.
| Event | Datetime | Season | Player1 Name | Player1 Score | Player2 Score | Player2 Name |
| China Open Qualifiers | June 13, 2026, 6:30 p.m. | 2026 | Chang Bingyu | 6 | 4 | Matthew Stevens |
| China Open Qualifiers | June 13, 2026, 6:30 p.m. | 2026 | Jack Lisowski | 6 | 4 | Xu Yichen |
| China Open Qualifiers | June 14, 2026, 9:16 a.m. | 2026 | Matthew Selt | 6 | 5 | Ali Carter |
| China Open Qualifiers | June 14, 2026, 9:16 a.m. | 2026 | Anthony McGill | 6 | 2 | Joe O'Connor |
| China Open Qualifiers | June 14, 2026, 9:16 a.m. | 2026 | Yuan Sijun | 3 | 6 | Jackson Page |
| China Open Qualifiers | June 14, 2026, 9:16 a.m. | 2026 | Elliot Slessor | 1 | 6 | Noppon Saengkham |
| China Open Qualifiers | June 14, 2026, 9:16 a.m. | 2026 | Daniel Wells | 4 | 6 | Zhang Anda |
| China Open Qualifiers | June 14, 2026, 9:16 a.m. | 2026 | Tom Ford | 6 | 5 | Liam Highfield |
| China Open Qualifiers | June 14, 2026, 9:16 a.m. | 2026 | Hossein Vafaei | 6 | 1 | David Lilley |
| China Open Qualifiers | June 14, 2026, 9:16 a.m. | 2026 | Stuart Bingham | 6 | 0 | Luca Brecel |
Using the full database of snooker matches I can calculate an alternative player rating system. This rating system works by initialising all players ratings at a chosen level before their first match and then adjusting the ratings after each match based on each of the players ratings before the match and the outcome of the match. The current ratings are given in the table below:
| Ranking | Player | Rating |
| 1 | Judd Trump | 1638.41 |
| 2 | Zhao Xintong | 1628.19 |
| 3 | Mark Selby | 1592.78 |
| 4 | Wu Yize | 1581.93 |
| 5 | Kyren Wilson | 1574.97 |
| 6 | Shaun Murphy | 1562.49 |
| 7 | John Higgins | 1562.16 |
| 8 | Mark Allen | 1550.71 |
| 9 | Mark Williams | 1537.01 |
| 10 | Barry Hawkins | 1535.14 |
| 11 | Neil Robertson | 1522.12 |
| 12 | Xiao Guodong | 1515.76 |
| 13 | Zhou Yuelong | 1503.92 |
| 14 | Ronnie O'Sullivan | 1502.38 |
| 15 | Ding Junhui | 1495.58 |
| 16 | Ali Carter | 1483.03 |
| 17 | Zhang Anda | 1477.78 |
| 18 | Jack Lisowski | 1470.22 |
| 19 | Elliot Slessor | 1467.92 |
| 20 | Luca Brecel | 1467.01 |
| 21 | Stuart Bingham | 1463.92 |
| 22 | Hossein Vafaei | 1455.06 |
| 23 | Jak Jones | 1452.44 |
| 24 | Si Jiahui | 1451.68 |
| 25 | Matthew Selt | 1441.19 |
| 26 | Anthony McGill | 1438.73 |
| 27 | Pang Junxu | 1434.36 |
| 28 | Chris Wakelin | 1430.19 |
| 29 | Stephen Maguire | 1428.76 |
| 30 | Chang Bingyu | 1427.11 |
| 31 | Yuan Sijun | 1425.83 |
| 32 | Joe O'Connor | 1423.80 |
| 33 | Gary Wilson | 1423.22 |
| 34 | David Gilbert | 1423.05 |
| 35 | Stan Moody | 1420.68 |
| 36 | Tom Ford | 1419.82 |
| 37 | Jackson Page | 1416.52 |
| 38 | Noppon Saengkham | 1414.64 |
| 39 | Ricky Walden | 1409.27 |
| 40 | Sam Craigie | 1398.14 |
| 41 | Jiang Jun | 1394.58 |
| 42 | Xu Si | 1390.43 |
| 43 | Fan Zhengyi | 1388.53 |
| 44 | Ryan Day | 1387.91 |
| 45 | Martin O'Donnell | 1384.03 |
| 46 | Aaron Hill | 1380.82 |
| 47 | Thepchaiya Un-Nooh | 1379.93 |
| 48 | Daniel Wells | 1379.83 |
| 49 | Lei Peifan | 1379.25 |
| 50 | Jimmy Robertson | 1379.12 |
| 51 | Robbie Williams | 1371.39 |
| 52 | Zak Surety | 1367.99 |
| 53 | Liam Highfield | 1367.41 |
| 54 | Marco Fu | 1365.96 |
| 55 | Matthew Stevens | 1365.31 |
| 56 | He Guoqiang | 1363.40 |
| 57 | Lyu Haotian | 1360.43 |
| 58 | Scott Donaldson | 1360.30 |
| 59 | Ben Woollaston | 1355.26 |
| 60 | Michael Holt | 1348.95 |
| 61 | Julien Leclercq | 1343.70 |
| 62 | Louis Heathcote | 1341.11 |
| 63 | Oliver Lines | 1340.79 |
| 64 | Liu Hongyu | 1338.08 |
| 65 | Ben Mertens | 1333.35 |
| 66 | Long Zehuang | 1331.82 |
| 67 | David Lilley | 1328.24 |
| 68 | Liam Pullen | 1325.17 |
| 69 | Dylan Emery | 1322.08 |
| 70 | Jamie Jones | 1321.36 |
| 71 | Ishpreet Chadha | 1319.87 |
| 72 | Antoni Kowalski | 1313.85 |
| 73 | Jamie Clarke | 1313.09 |
| 74 | Gao Yang | 1313.05 |
| 75 | Alfie Burden | 1303.25 |
| 76 | Iulian Boiko | 1300.89 |
| 77 | Jimmy White | 1299.53 |
| 78 | David Grace | 1299.33 |
| 79 | Andrew Higginson | 1297.56 |
| 80 | Ian Burns | 1292.11 |
| 81 | Liam Davies | 1292.06 |
| 82 | Ashley Hugill | 1289.33 |
| 83 | Jordan Brown | 1287.44 |
| 84 | Artemijs Zizins | 1285.85 |
| 85 | Steven Hallworth | 1285.39 |
| 86 | Ross Muir | 1280.27 |
| 87 | Yao Pengcheng | 1277.44 |
| 88 | Igor Figueiredo | 1273.57 |
| 89 | Lan Yuhao | 1272.33 |
| 90 | Alexander Ursenbacher | 1269.78 |
| 91 | Ashley Carty | 1263.08 |
| 92 | Mitchell Mann | 1259.98 |
| 93 | Wang Xinbo | 1252.35 |
| 94 | Oliver Sykes | 1251.47 |
| 95 | Deng Haohui | 1251.08 |
| 96 | Michał Szubarczyk | 1250.49 |
| 97 | Stuart Carrington | 1249.17 |
| 98 | Cheung Ka Wai | 1244.22 |
| 99 | Craig Steadman | 1242.94 |
| 100 | Liu Yang | 1236.75 |
| 101 | Paul Norris | 1235.86 |
| 102 | Gong Chenzhi | 1235.83 |
| 103 | Michael Larkov | 1234.84 |
| 104 | Hammad Miah | 1231.43 |
| 105 | Xu Yichen | 1224.97 |
| 106 | Liu Wenwei | 1219.85 |
| 107 | Luo Zetao | 1218.54 |
| 108 | Zhao Hanyang | 1216.73 |
| 109 | Phil O'Kane | 1214.29 |
| 110 | Huang Jiahao | 1212.64 |
| 111 | Mateusz Baranowski | 1212.61 |
| 112 | Florian Nüßle | 1210.21 |
| 113 | Liam Graham | 1207.47 |
| 114 | Chatchapong Nasa | 1201.12 |
| 115 | Sahil Nayyar | 1192.13 |
| 116 | Connor Benzey | 1191.03 |
| 117 | Leone Crowley | 1190.69 |
| 118 | Oliver Brown | 1181.93 |
| 119 | Thanawat Tirapongpaiboon | 1181.67 |
| 120 | Mahmoud El Hareedy | 1177.08 |
| 121 | Fergal Quinn | 1151.35 |
| 122 | Sean O'Sullivan | 1111.20 |
| 123 | Anton Kazakov | 1095.57 |
At the moment the rating system is quite simple and not optimised but I intend to do some work to calibrate the rating system to maximise some chosen evaluation metric when time allows.