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 |
| International Championship Qualifiers | Sept. 18, 2026, 1:35 p.m. | 2026 | Michael Holt | 3 | 6 | Marco Fu |
| International Championship Qualifiers | Sept. 18, 2026, 1:35 p.m. | 2026 | Martin O'Donnell | 4 | 6 | Julien Leclercq |
| International Championship Qualifiers | Sept. 18, 2026, 1:35 p.m. | 2026 | Xiao Guodong | 4 | 6 | Dylan Emery |
| International Championship Qualifiers | Sept. 18, 2026, 6:30 p.m. | 2026 | Noppon Saengkham | 3 | 6 | Sam Craigie |
| International Championship Qualifiers | Sept. 18, 2026, 6:30 p.m. | 2026 | Daniel Wells | 6 | 2 | Oliver Brown |
| International Championship Qualifiers | Sept. 18, 2026, 6:30 p.m. | 2026 | Aaron Hill | 6 | 3 | Antoni Kowalski |
| International Championship Qualifiers | Sept. 18, 2026, 6:30 p.m. | 2026 | Matthew Selt | 2 | 6 | Ross Muir |
| International Championship Qualifiers | Sept. 18, 2026, 6:30 p.m. | 2026 | Long Zehuang | 6 | 2 | Phil O'Kane |
| International Championship Qualifiers | Sept. 18, 2026, 6:30 p.m. | 2026 | John Higgins | 6 | 2 | Craig Steadman |
| International Championship Qualifiers | Sept. 18, 2026, 6:30 p.m. | 2026 | Jack Lisowski | 5 | 6 | Ashley Carty |
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 | 1648.04 |
| 2 | Mark Selby | 1627.32 |
| 3 | Zhao Xintong | 1619.32 |
| 4 | Kyren Wilson | 1576.46 |
| 5 | Shaun Murphy | 1559.69 |
| 6 | Wu Yize | 1558.20 |
| 7 | John Higgins | 1555.98 |
| 8 | Mark Allen | 1550.71 |
| 9 | Mark Williams | 1538.09 |
| 10 | Barry Hawkins | 1521.48 |
| 11 | Ali Carter | 1519.55 |
| 12 | Zhou Yuelong | 1514.90 |
| 13 | Ronnie O'Sullivan | 1513.31 |
| 14 | Neil Robertson | 1512.15 |
| 15 | Jak Jones | 1506.48 |
| 16 | Xiao Guodong | 1501.46 |
| 17 | Zhang Anda | 1489.39 |
| 18 | Ding Junhui | 1481.64 |
| 19 | Chang Bingyu | 1474.36 |
| 20 | Stuart Bingham | 1471.23 |
| 21 | Luca Brecel | 1456.29 |
| 22 | Pang Junxu | 1452.60 |
| 23 | Hossein Vafaei | 1447.43 |
| 24 | David Gilbert | 1442.06 |
| 25 | Elliot Slessor | 1438.07 |
| 26 | Jack Lisowski | 1436.42 |
| 27 | Anthony McGill | 1436.31 |
| 28 | Si Jiahui | 1435.47 |
| 29 | Noppon Saengkham | 1434.59 |
| 30 | Stephen Maguire | 1434.01 |
| 31 | Chris Wakelin | 1431.35 |
| 32 | Matthew Selt | 1429.59 |
| 33 | Stan Moody | 1425.47 |
| 34 | Yuan Sijun | 1423.27 |
| 35 | Joe O'Connor | 1419.23 |
| 36 | Sam Craigie | 1407.16 |
| 37 | Ryan Day | 1405.94 |
| 38 | Gary Wilson | 1403.91 |
| 39 | Liam Highfield | 1403.68 |
| 40 | Tom Ford | 1401.50 |
| 41 | Ricky Walden | 1401.14 |
| 42 | Jackson Page | 1401.01 |
| 43 | Aaron Hill | 1399.08 |
| 44 | Jiang Jun | 1391.30 |
| 45 | Xu Si | 1389.16 |
| 46 | Daniel Wells | 1388.52 |
| 47 | Robbie Williams | 1385.60 |
| 48 | Fan Zhengyi | 1384.26 |
| 49 | Lei Peifan | 1376.24 |
| 50 | Thepchaiya Un-Nooh | 1372.44 |
| 51 | Martin O'Donnell | 1370.15 |
| 52 | Liam Davies | 1360.99 |
| 53 | Marco Fu | 1357.69 |
| 54 | He Guoqiang | 1355.54 |
| 55 | Liu Hongyu | 1355.35 |
| 56 | Scott Donaldson | 1354.92 |
| 57 | Ben Woollaston | 1349.47 |
| 58 | Lyu Haotian | 1349.01 |
| 59 | Matthew Stevens | 1347.81 |
| 60 | Dylan Emery | 1346.67 |
| 61 | Louis Heathcote | 1346.30 |
| 62 | Julien Leclercq | 1341.23 |
| 63 | Gao Yang | 1338.52 |
| 64 | Michael Holt | 1336.83 |
| 65 | Ben Mertens | 1335.68 |
| 66 | Oliver Lines | 1334.54 |
| 67 | Jimmy Robertson | 1328.58 |
| 68 | Long Zehuang | 1328.10 |
| 69 | Liam Pullen | 1326.42 |
| 70 | Yao Pengcheng | 1326.03 |
| 71 | Zak Surety | 1325.73 |
| 72 | Alfie Burden | 1321.07 |
| 73 | Ishpreet Chadha | 1317.56 |
| 74 | Jamie Jones | 1309.84 |
| 75 | David Grace | 1303.20 |
| 76 | Jimmy White | 1301.32 |
| 77 | David Lilley | 1300.07 |
| 78 | Artemijs Zizins | 1298.09 |
| 79 | Wang Xinbo | 1297.32 |
| 80 | Steven Hallworth | 1296.69 |
| 81 | Jamie Clarke | 1295.75 |
| 82 | Antoni Kowalski | 1295.25 |
| 83 | Iulian Boiko | 1294.35 |
| 84 | Ashley Carty | 1290.64 |
| 85 | Jordan Brown | 1289.78 |
| 86 | Andrew Higginson | 1288.78 |
| 87 | Ashley Hugill | 1288.07 |
| 88 | Ross Muir | 1286.55 |
| 89 | Ian Burns | 1285.11 |
| 90 | Igor Figueiredo | 1273.57 |
| 91 | Mitchell Mann | 1270.88 |
| 92 | Oliver Sykes | 1262.83 |
| 93 | Cheung Ka Wai | 1258.56 |
| 94 | Lan Yuhao | 1252.83 |
| 95 | Alexander Ursenbacher | 1250.49 |
| 96 | Gong Chenzhi | 1246.60 |
| 97 | Huang Jiahao | 1242.46 |
| 98 | Stuart Carrington | 1240.76 |
| 99 | Michał Szubarczyk | 1237.64 |
| 100 | Michael Larkov | 1237.08 |
| 101 | Hammad Miah | 1236.31 |
| 102 | Luo Zetao | 1231.01 |
| 103 | Deng Haohui | 1228.86 |
| 104 | Craig Steadman | 1228.70 |
| 105 | Liu Yang | 1224.69 |
| 106 | Zhao Hanyang | 1221.98 |
| 107 | Thanawat Tirapongpaiboon | 1218.35 |
| 108 | Liu Wenwei | 1217.97 |
| 109 | Florian Nüßle | 1214.78 |
| 110 | Xu Yichen | 1213.26 |
| 111 | Paul Norris | 1204.65 |
| 112 | Mateusz Baranowski | 1203.93 |
| 113 | Phil O'Kane | 1202.55 |
| 114 | Oliver Brown | 1195.12 |
| 115 | Liam Graham | 1188.78 |
| 116 | Sahil Nayyar | 1188.21 |
| 117 | Leone Crowley | 1184.07 |
| 118 | Chatchapong Nasa | 1183.84 |
| 119 | Connor Benzey | 1174.71 |
| 120 | Mahmoud El Hareedy | 1171.90 |
| 121 | Fergal Quinn | 1138.38 |
| 122 | Anton Kazakov | 1111.41 |
| 123 | Sean O'Sullivan | 1108.96 |
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.