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 |
| Championship League Stage One Group 12 | July 4, 2026, 6:56 p.m. | 2026 | Ali Carter | 2 | 2 | Jamie Jones |
| Shanghai Masters | July 29, 2026, 5:51 a.m. | 2026 | Shaun Murphy | 6 | 5 | Zhou Yuelong |
| Shanghai Masters | July 29, 2026, 5:51 a.m. | 2026 | John Higgins | 6 | 5 | Jack Lisowski |
| Shanghai Masters | July 29, 2026, 11:37 a.m. | 2026 | Wu Yize | 6 | 2 | Si Jiahui |
| Shanghai Masters | July 29, 2026, 11:37 a.m. | 2026 | Zhao Xintong | 6 | 2 | Ding Junhui |
| Shanghai Masters | July 30, 2026, 5:52 a.m. | 2026 | Zhao Xintong | 6 | 0 | Neil Robertson |
| Shanghai Masters | July 30, 2026, 5:52 a.m. | 2026 | Kyren Wilson | 6 | 5 | Mark Williams |
| Shanghai Masters | July 30, 2026, 11:31 a.m. | 2026 | Shaun Murphy | 5 | 6 | Wu Yize |
| Shanghai Masters | July 30, 2026, 11:31 a.m. | 2026 | Judd Trump | 6 | 0 | John Higgins |
| Shanghai Masters | July 31, 2026, 6:45 a.m. | 2026 | Judd Trump | 10 | 6 | Wu Yize |
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 | 1650.81 |
| 2 | Zhao Xintong | 1638.14 |
| 3 | Mark Selby | 1592.78 |
| 4 | Wu Yize | 1587.43 |
| 5 | Kyren Wilson | 1581.65 |
| 6 | Shaun Murphy | 1561.48 |
| 7 | John Higgins | 1561.36 |
| 8 | Mark Allen | 1550.71 |
| 9 | Barry Hawkins | 1535.14 |
| 10 | Mark Williams | 1530.33 |
| 11 | Neil Robertson | 1516.93 |
| 12 | Xiao Guodong | 1515.76 |
| 13 | Ronnie O'Sullivan | 1502.38 |
| 14 | Ali Carter | 1493.93 |
| 15 | Ding Junhui | 1490.81 |
| 16 | Zhou Yuelong | 1490.59 |
| 17 | Zhang Anda | 1478.91 |
| 18 | Hossein Vafaei | 1467.34 |
| 19 | Jak Jones | 1459.80 |
| 20 | Elliot Slessor | 1458.82 |
| 21 | Luca Brecel | 1456.03 |
| 22 | Stuart Bingham | 1454.72 |
| 23 | Pang Junxu | 1447.21 |
| 24 | Si Jiahui | 1446.86 |
| 25 | Chang Bingyu | 1446.09 |
| 26 | Jack Lisowski | 1445.88 |
| 27 | Matthew Selt | 1438.52 |
| 28 | David Gilbert | 1437.12 |
| 29 | Yuan Sijun | 1431.84 |
| 30 | Stephen Maguire | 1431.81 |
| 31 | Chris Wakelin | 1430.19 |
| 32 | Anthony McGill | 1429.28 |
| 33 | Jackson Page | 1427.22 |
| 34 | Stan Moody | 1427.03 |
| 35 | Gary Wilson | 1421.85 |
| 36 | Tom Ford | 1420.69 |
| 37 | Joe O'Connor | 1414.79 |
| 38 | Noppon Saengkham | 1411.86 |
| 39 | Jiang Jun | 1408.49 |
| 40 | Ryan Day | 1402.02 |
| 41 | Ricky Walden | 1398.04 |
| 42 | Sam Craigie | 1397.31 |
| 43 | Fan Zhengyi | 1389.53 |
| 44 | Aaron Hill | 1386.44 |
| 45 | Lei Peifan | 1382.82 |
| 46 | Xu Si | 1379.55 |
| 47 | Thepchaiya Un-Nooh | 1378.31 |
| 48 | Martin O'Donnell | 1374.76 |
| 49 | Daniel Wells | 1374.63 |
| 50 | Robbie Williams | 1372.26 |
| 51 | He Guoqiang | 1367.74 |
| 52 | Liu Hongyu | 1363.65 |
| 53 | Jimmy Robertson | 1362.76 |
| 54 | Zak Surety | 1358.22 |
| 55 | Liam Highfield | 1357.19 |
| 56 | Matthew Stevens | 1355.83 |
| 57 | Ben Woollaston | 1354.57 |
| 58 | Marco Fu | 1353.58 |
| 59 | Scott Donaldson | 1350.67 |
| 60 | Michael Holt | 1350.40 |
| 61 | Lyu Haotian | 1350.27 |
| 62 | Dylan Emery | 1342.89 |
| 63 | Ben Mertens | 1339.91 |
| 64 | Julien Leclercq | 1335.85 |
| 65 | Louis Heathcote | 1334.56 |
| 66 | Oliver Lines | 1332.29 |
| 67 | Long Zehuang | 1323.82 |
| 68 | Jamie Jones | 1321.74 |
| 69 | Gao Yang | 1317.89 |
| 70 | Liam Pullen | 1316.95 |
| 71 | Alfie Burden | 1316.41 |
| 72 | Ishpreet Chadha | 1314.99 |
| 73 | Steven Hallworth | 1313.95 |
| 74 | Yao Pengcheng | 1311.99 |
| 75 | David Lilley | 1310.38 |
| 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 | Lan Yuhao | 1265.38 |
| 90 | Ross Muir | 1263.85 |
| 91 | Mitchell Mann | 1263.20 |
| 92 | Wang Xinbo | 1262.01 |
| 93 | Alexander Ursenbacher | 1261.06 |
| 94 | Oliver Sykes | 1248.53 |
| 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 | 1236.97 |
| 101 | Craig Steadman | 1236.26 |
| 102 | Florian Nüßle | 1235.85 |
| 103 | Michael Larkov | 1235.19 |
| 104 | Luo Zetao | 1233.46 |
| 105 | Liu Yang | 1228.26 |
| 106 | Liu Wenwei | 1224.73 |
| 107 | Zhao Hanyang | 1220.11 |
| 108 | Huang Jiahao | 1217.98 |
| 109 | Phil O'Kane | 1216.56 |
| 110 | Xu Yichen | 1216.45 |
| 111 | Paul Norris | 1213.77 |
| 112 | Oliver Brown | 1205.63 |
| 113 | Mateusz Baranowski | 1202.98 |
| 114 | Liam Graham | 1200.93 |
| 115 | Sahil Nayyar | 1194.84 |
| 116 | Thanawat Tirapongpaiboon | 1188.02 |
| 117 | Connor Benzey | 1185.87 |
| 118 | Chatchapong Nasa | 1184.95 |
| 119 | Mahmoud El Hareedy | 1182.52 |
| 120 | Leone Crowley | 1179.97 |
| 121 | Fergal Quinn | 1142.46 |
| 122 | Sean O'Sullivan | 1117.73 |
| 123 | Anton Kazakov | 1115.67 |
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.