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 |
| Wuhan Open Qualifiers | June 18, 2026, 8:58 a.m. | 2026 | Zhang Anda | 4 | 5 | Steven Hallworth |
| Wuhan Open Qualifiers | June 18, 2026, 8:58 a.m. | 2026 | Lei Peifan | 3 | 5 | Jackson Page |
| Wuhan Open Qualifiers | June 18, 2026, 3:05 p.m. | 2026 | Stephen Maguire | 5 | 2 | Stan Moody |
| Wuhan Open Qualifiers | June 18, 2026, 3:05 p.m. | 2026 | Zhou Yuelong | 2 | 5 | He Guoqiang |
| Wuhan Open Qualifiers | June 18, 2026, 3:05 p.m. | 2026 | Pang Junxu | 5 | 3 | Oliver Sykes |
| Wuhan Open Qualifiers | June 18, 2026, 3:05 p.m. | 2026 | Joe O'Connor | 2 | 5 | Chang Bingyu |
| Wuhan Open Qualifiers | June 18, 2026, 3:05 p.m. | 2026 | Ali Carter | 5 | 3 | Tom Ford |
| Wuhan Open Qualifiers | June 18, 2026, 3:05 p.m. | 2026 | Thepchaiya Un-Nooh | 3 | 5 | Dylan Emery |
| Wuhan Open Qualifiers | June 18, 2026, 3:05 p.m. | 2026 | Yuan Sijun | 5 | 1 | Louis Heathcote |
| Wuhan Open Qualifiers | June 18, 2026, 3:05 p.m. | 2026 | Hossein Vafaei | 5 | 1 | Ben Woollaston |
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 | Ronnie O'Sullivan | 1502.38 |
| 14 | Zhou Yuelong | 1496.69 |
| 15 | Ding Junhui | 1495.58 |
| 16 | Ali Carter | 1489.33 |
| 17 | Zhang Anda | 1466.80 |
| 18 | Hossein Vafaei | 1460.56 |
| 19 | Jak Jones | 1459.80 |
| 20 | Elliot Slessor | 1458.82 |
| 21 | Luca Brecel | 1456.03 |
| 22 | Stuart Bingham | 1454.72 |
| 23 | Si Jiahui | 1451.68 |
| 24 | Jack Lisowski | 1451.06 |
| 25 | Chang Bingyu | 1446.09 |
| 26 | Pang Junxu | 1444.95 |
| 27 | Matthew Selt | 1438.52 |
| 28 | David Gilbert | 1437.12 |
| 29 | Stephen Maguire | 1436.15 |
| 30 | Yuan Sijun | 1431.84 |
| 31 | Chris Wakelin | 1430.19 |
| 32 | Anthony McGill | 1429.28 |
| 33 | Jackson Page | 1427.22 |
| 34 | Gary Wilson | 1421.85 |
| 35 | Tom Ford | 1420.69 |
| 36 | Joe O'Connor | 1416.63 |
| 37 | Stan Moody | 1416.36 |
| 38 | Noppon Saengkham | 1411.86 |
| 39 | Jiang Jun | 1407.11 |
| 40 | Ryan Day | 1402.02 |
| 41 | Ricky Walden | 1398.04 |
| 42 | Sam Craigie | 1397.31 |
| 43 | Daniel Wells | 1392.94 |
| 44 | Aaron Hill | 1386.44 |
| 45 | Fan Zhengyi | 1384.58 |
| 46 | Robbie Williams | 1375.99 |
| 47 | Xu Si | 1374.89 |
| 48 | Martin O'Donnell | 1374.76 |
| 49 | Lei Peifan | 1372.64 |
| 50 | Thepchaiya Un-Nooh | 1371.46 |
| 51 | He Guoqiang | 1367.74 |
| 52 | Jimmy Robertson | 1362.76 |
| 53 | Zak Surety | 1358.22 |
| 54 | Liam Highfield | 1357.19 |
| 55 | Matthew Stevens | 1355.83 |
| 56 | Ben Woollaston | 1354.57 |
| 57 | Marco Fu | 1353.58 |
| 58 | Michael Holt | 1353.40 |
| 59 | Scott Donaldson | 1350.67 |
| 60 | Lyu Haotian | 1350.27 |
| 61 | Louis Heathcote | 1349.85 |
| 62 | Liu Hongyu | 1349.73 |
| 63 | Dylan Emery | 1342.89 |
| 64 | Ben Mertens | 1339.91 |
| 65 | Julien Leclercq | 1337.37 |
| 66 | Oliver Lines | 1332.29 |
| 67 | Long Zehuang | 1323.82 |
| 68 | David Lilley | 1319.90 |
| 69 | Gao Yang | 1317.89 |
| 70 | Liam Pullen | 1316.95 |
| 71 | Alfie Burden | 1316.41 |
| 72 | Steven Hallworth | 1313.95 |
| 73 | Yao Pengcheng | 1311.99 |
| 74 | Jamie Jones | 1311.70 |
| 75 | Ishpreet Chadha | 1309.71 |
| 76 | Liam Davies | 1309.55 |
| 77 | Antoni Kowalski | 1304.67 |
| 78 | Jamie Clarke | 1303.62 |
| 79 | Jordan Brown | 1302.49 |
| 80 | Andrew Higginson | 1299.82 |
| 81 | Artemijs Zizins | 1297.70 |
| 82 | Jimmy White | 1294.18 |
| 83 | David Grace | 1289.95 |
| 84 | Iulian Boiko | 1285.96 |
| 85 | Ian Burns | 1283.98 |
| 86 | Ashley Hugill | 1282.78 |
| 87 | Ashley Carty | 1280.69 |
| 88 | Igor Figueiredo | 1273.57 |
| 89 | Ross Muir | 1272.15 |
| 90 | Wang Xinbo | 1268.51 |
| 91 | Lan Yuhao | 1265.38 |
| 92 | Oliver Sykes | 1265.28 |
| 93 | Mitchell Mann | 1263.20 |
| 94 | Alexander Ursenbacher | 1261.06 |
| 95 | Cheung Ka Wai | 1244.22 |
| 96 | Deng Haohui | 1243.59 |
| 97 | Michał Szubarczyk | 1243.19 |
| 98 | Gong Chenzhi | 1241.95 |
| 99 | Hammad Miah | 1241.60 |
| 100 | Stuart Carrington | 1240.97 |
| 101 | Craig Steadman | 1236.39 |
| 102 | Michael Larkov | 1235.19 |
| 103 | Florian Nüßle | 1230.83 |
| 104 | Paul Norris | 1230.57 |
| 105 | Liu Yang | 1228.26 |
| 106 | Liu Wenwei | 1224.73 |
| 107 | Luo Zetao | 1223.94 |
| 108 | Zhao Hanyang | 1220.11 |
| 109 | Huang Jiahao | 1217.98 |
| 110 | Phil O'Kane | 1216.56 |
| 111 | Xu Yichen | 1216.45 |
| 112 | Mateusz Baranowski | 1202.98 |
| 113 | Liam Graham | 1200.93 |
| 114 | Oliver Brown | 1200.92 |
| 115 | Sahil Nayyar | 1194.84 |
| 116 | Leone Crowley | 1194.72 |
| 117 | Chatchapong Nasa | 1193.90 |
| 118 | Connor Benzey | 1185.87 |
| 119 | Mahmoud El Hareedy | 1182.52 |
| 120 | Thanawat Tirapongpaiboon | 1176.37 |
| 121 | Fergal Quinn | 1144.73 |
| 122 | Sean O'Sullivan | 1117.73 |
| 123 | Anton Kazakov | 1105.39 |
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.