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 | Nov. 2, 2026, 6:04 a.m. | 2026 | Xu Si | 2 | 6 | John Higgins |
| International Championship | Nov. 2, 2026, 6:04 a.m. | 2026 | Neil Robertson | 4 | 6 | Wang Xinbo |
| International Championship | Nov. 2, 2026, 6:04 a.m. | 2026 | Si Jiahui | 6 | 0 | Liu Hongyu |
| International Championship | Nov. 2, 2026, 6:04 a.m. | 2026 | Ding Junhui | 6 | 5 | Zhang Anda |
| International Championship | Nov. 2, 2026, 6:16 a.m. | 2026 | Julien Leclercq | 3 | 6 | Marco Fu |
| International Championship | Nov. 2, 2026, 11:24 a.m. | 2026 | Sam Craigie | 5 | 6 | Zhao Xintong |
| International Championship | Nov. 2, 2026, 11:24 a.m. | 2026 | Aaron Hill | 6 | 2 | Daniel Wells |
| International Championship | Nov. 2, 2026, 11:24 a.m. | 2026 | Chris Wakelin | 3 | 6 | Chang Bingyu |
| International Championship | Nov. 2, 2026, 11:24 a.m. | 2026 | Ryan Day | 1 | 6 | Kyren Wilson |
| International Championship | Nov. 2, 2026, 11:24 a.m. | 2026 | Wu Yize | 5 | 6 | Stephen Maguire |
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 | 1626.33 |
| 2 | Kyren Wilson | 1617.60 |
| 3 | Mark Selby | 1607.52 |
| 4 | Zhao Xintong | 1603.72 |
| 5 | Shaun Murphy | 1558.78 |
| 6 | Wu Yize | 1556.91 |
| 7 | Mark Williams | 1548.45 |
| 8 | John Higgins | 1548.44 |
| 9 | Mark Allen | 1538.52 |
| 10 | Jak Jones | 1520.00 |
| 11 | Barry Hawkins | 1516.12 |
| 12 | Neil Robertson | 1504.81 |
| 13 | Ali Carter | 1496.06 |
| 14 | Zhou Yuelong | 1493.88 |
| 15 | Ronnie O'Sullivan | 1491.19 |
| 16 | Ding Junhui | 1487.38 |
| 17 | Zhang Anda | 1482.15 |
| 18 | Xiao Guodong | 1481.05 |
| 19 | Chang Bingyu | 1477.86 |
| 20 | Luca Brecel | 1456.32 |
| 21 | Stuart Bingham | 1454.51 |
| 22 | Hossein Vafaei | 1449.34 |
| 23 | Stephen Maguire | 1448.45 |
| 24 | Pang Junxu | 1448.33 |
| 25 | Anthony McGill | 1446.29 |
| 26 | David Gilbert | 1445.74 |
| 27 | Si Jiahui | 1444.70 |
| 28 | Elliot Slessor | 1441.81 |
| 29 | Yuan Sijun | 1440.80 |
| 30 | Matthew Selt | 1437.78 |
| 31 | Jack Lisowski | 1432.51 |
| 32 | Sam Craigie | 1430.32 |
| 33 | Chris Wakelin | 1429.52 |
| 34 | Noppon Saengkham | 1429.09 |
| 35 | Fan Zhengyi | 1426.31 |
| 36 | Stan Moody | 1425.15 |
| 37 | Ryan Day | 1414.14 |
| 38 | Joe O'Connor | 1412.92 |
| 39 | Aaron Hill | 1406.69 |
| 40 | Daniel Wells | 1403.26 |
| 41 | Ricky Walden | 1402.43 |
| 42 | Xu Si | 1400.98 |
| 43 | Liam Davies | 1400.01 |
| 44 | Jackson Page | 1398.48 |
| 45 | Tom Ford | 1396.20 |
| 46 | Martin O'Donnell | 1392.30 |
| 47 | Jiang Jun | 1390.62 |
| 48 | Gary Wilson | 1387.81 |
| 49 | Scott Donaldson | 1386.60 |
| 50 | Liam Highfield | 1382.17 |
| 51 | Robbie Williams | 1381.12 |
| 52 | Thepchaiya Un-Nooh | 1372.99 |
| 53 | Marco Fu | 1364.79 |
| 54 | Lei Peifan | 1359.46 |
| 55 | Liu Hongyu | 1358.62 |
| 56 | Ben Woollaston | 1354.22 |
| 57 | Lyu Haotian | 1353.17 |
| 58 | Gao Yang | 1353.01 |
| 59 | Oliver Lines | 1351.70 |
| 60 | Dylan Emery | 1351.64 |
| 61 | He Guoqiang | 1347.79 |
| 62 | Matthew Stevens | 1346.70 |
| 63 | Jimmy Robertson | 1342.89 |
| 64 | Michael Holt | 1341.90 |
| 65 | Louis Heathcote | 1335.61 |
| 66 | Julien Leclercq | 1333.78 |
| 67 | Liam Pullen | 1329.10 |
| 68 | Yao Pengcheng | 1328.77 |
| 69 | Zak Surety | 1327.02 |
| 70 | Wang Xinbo | 1323.19 |
| 71 | Ben Mertens | 1317.40 |
| 72 | Long Zehuang | 1316.43 |
| 73 | Jamie Clarke | 1311.45 |
| 74 | Jordan Brown | 1310.77 |
| 75 | Alfie Burden | 1308.24 |
| 76 | Ishpreet Chadha | 1307.67 |
| 77 | Iulian Boiko | 1307.52 |
| 78 | David Lilley | 1306.62 |
| 79 | Jamie Jones | 1306.10 |
| 80 | David Grace | 1303.34 |
| 81 | Antoni Kowalski | 1299.57 |
| 82 | Steven Hallworth | 1298.73 |
| 83 | Jimmy White | 1297.84 |
| 84 | Ian Burns | 1297.40 |
| 85 | Artemijs Zizins | 1297.10 |
| 86 | Andrew Higginson | 1284.72 |
| 87 | Ashley Carty | 1284.03 |
| 88 | Ashley Hugill | 1281.82 |
| 89 | Ross Muir | 1273.90 |
| 90 | Igor Figueiredo | 1273.57 |
| 91 | Cheung Ka Wai | 1270.32 |
| 92 | Mitchell Mann | 1267.56 |
| 93 | Oliver Sykes | 1257.43 |
| 94 | Lan Yuhao | 1252.87 |
| 95 | Alexander Ursenbacher | 1251.92 |
| 96 | Gong Chenzhi | 1249.30 |
| 97 | Michał Szubarczyk | 1244.40 |
| 98 | Mateusz Baranowski | 1239.11 |
| 99 | Zhao Hanyang | 1236.48 |
| 100 | Stuart Carrington | 1230.32 |
| 101 | Huang Jiahao | 1229.30 |
| 102 | Hammad Miah | 1228.76 |
| 103 | Liu Wenwei | 1227.73 |
| 104 | Michael Larkov | 1225.07 |
| 105 | Luo Zetao | 1224.93 |
| 106 | Craig Steadman | 1222.68 |
| 107 | Deng Haohui | 1221.05 |
| 108 | Florian Nüßle | 1217.68 |
| 109 | Liu Yang | 1215.12 |
| 110 | Thanawat Tirapongpaiboon | 1211.70 |
| 111 | Chatchapong Nasa | 1203.95 |
| 112 | Xu Yichen | 1202.30 |
| 113 | Oliver Brown | 1199.65 |
| 114 | Paul Norris | 1197.31 |
| 115 | Phil O'Kane | 1195.43 |
| 116 | Liam Graham | 1192.70 |
| 117 | Sahil Nayyar | 1179.58 |
| 118 | Leone Crowley | 1179.01 |
| 119 | Connor Benzey | 1177.08 |
| 120 | Mahmoud El Hareedy | 1163.04 |
| 121 | Fergal Quinn | 1132.20 |
| 122 | Anton Kazakov | 1116.15 |
| 123 | Sean O'Sullivan | 1105.26 |
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.