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 |
| World Championship Qualifiers | April 6, 2026, 8:57 a.m. | 2025 | Huang Jiahao | 5 | 10 | Leone Crowley |
| World Championship Qualifiers | April 6, 2026, 8:57 a.m. | 2025 | Gao Yang | 10 | 9 | Jimmy White |
| World Championship Qualifiers | April 6, 2026, 8:57 a.m. | 2025 | Michał Szubarczyk | 10 | 7 | Ng On Yee |
| World Championship Qualifiers | April 6, 2026, 8:57 a.m. | 2025 | Jonas Luz | 2 | 10 | Peter Lines |
| World Championship Qualifiers | April 6, 2026, 1:31 p.m. | 2025 | Mateusz Baranowski | 10 | 5 | Florian Nüßle |
| World Championship Qualifiers | April 6, 2026, 1:31 p.m. | 2025 | Haris Tahir | 6 | 10 | Connor Benzey |
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 | 1646.77 |
| 2 | Zhao Xintong | 1630.05 |
| 3 | Mark Selby | 1596.48 |
| 4 | Kyren Wilson | 1578.81 |
| 5 | John Higgins | 1550.29 |
| 6 | Wu Yize | 1549.22 |
| 7 | Shaun Murphy | 1541.71 |
| 8 | Mark Williams | 1541.47 |
| 9 | Mark Allen | 1536.12 |
| 10 | Barry Hawkins | 1530.47 |
| 11 | Neil Robertson | 1517.49 |
| 12 | Xiao Guodong | 1515.42 |
| 13 | Ronnie O'Sullivan | 1504.29 |
| 14 | Zhou Yuelong | 1501.23 |
| 15 | Ding Junhui | 1494.37 |
| 16 | Elliot Slessor | 1482.97 |
| 17 | Ali Carter | 1482.95 |
| 18 | Jack Lisowski | 1474.47 |
| 19 | Luca Brecel | 1471.92 |
| 20 | Zhang Anda | 1464.82 |
| 21 | Si Jiahui | 1459.83 |
| 22 | Stuart Bingham | 1457.56 |
| 23 | Jak Jones | 1452.61 |
| 24 | Stephen Maguire | 1447.44 |
| 25 | Yuan Sijun | 1437.87 |
| 26 | Matthew Selt | 1435.03 |
| 27 | Joe O'Connor | 1434.48 |
| 28 | Chris Wakelin | 1430.40 |
| 29 | Anthony McGill | 1425.33 |
| 30 | Chang Bingyu | 1423.15 |
| 31 | Pang Junxu | 1422.14 |
| 32 | Cao Yupeng | 1420.40 |
| 33 | Stan Moody | 1420.28 |
| 34 | Hossein Vafaei | 1419.91 |
| 35 | Ricky Walden | 1416.53 |
| 36 | Tom Ford | 1416.33 |
| 37 | David Gilbert | 1413.20 |
| 38 | Sam Craigie | 1413.01 |
| 39 | Gary Wilson | 1409.51 |
| 40 | Jackson Page | 1405.80 |
| 41 | Noppon Saengkham | 1400.43 |
| 42 | Thepchaiya Un-Nooh | 1399.28 |
| 43 | Ryan Day | 1398.92 |
| 44 | Martin O'Donnell | 1389.36 |
| 45 | Daniel Wells | 1386.06 |
| 46 | Xu Si | 1384.80 |
| 47 | Robbie Williams | 1383.65 |
| 48 | Jimmy Robertson | 1381.17 |
| 49 | Scott Donaldson | 1380.46 |
| 50 | Lei Peifan | 1379.53 |
| 51 | Zak Surety | 1378.34 |
| 52 | Aaron Hill | 1377.74 |
| 53 | Jiang Jun | 1373.36 |
| 54 | Ben Woollaston | 1371.48 |
| 55 | Lyu Haotian | 1369.82 |
| 56 | Marco Fu | 1365.73 |
| 57 | Graeme Dott | 1363.80 |
| 58 | Fan Zhengyi | 1359.04 |
| 59 | Matthew Stevens | 1356.08 |
| 60 | Ken Doherty | 1352.54 |
| 61 | Louis Heathcote | 1349.18 |
| 62 | Oliver Lines | 1344.54 |
| 63 | He Guoqiang | 1343.31 |
| 64 | Julien Leclercq | 1342.68 |
| 65 | Michael Holt | 1341.29 |
| 66 | Liam Highfield | 1336.13 |
| 67 | Long Zehuang | 1335.27 |
| 68 | David Lilley | 1327.33 |
| 69 | Liu Hongyu | 1324.87 |
| 70 | Sunny Akani | 1324.39 |
| 71 | Ishpreet Chadha | 1322.47 |
| 72 | Ben Mertens | 1321.95 |
| 73 | Dylan Emery | 1316.28 |
| 74 | David Grace | 1315.94 |
| 75 | Robert Milkins | 1315.92 |
| 76 | Jamie Jones | 1312.09 |
| 77 | Liam Davies | 1308.02 |
| 78 | Mark Davis | 1304.52 |
| 79 | Jimmy White | 1302.50 |
| 80 | Artemijs Zizins | 1301.78 |
| 81 | Liam Pullen | 1300.06 |
| 82 | Gao Yang | 1297.48 |
| 83 | Antoni Kowalski | 1294.69 |
| 84 | Iulian Boiko | 1292.77 |
| 85 | Ian Burns | 1292.76 |
| 86 | Steven Hallworth | 1287.55 |
| 87 | Jordan Brown | 1286.08 |
| 88 | Allan Taylor | 1286.07 |
| 89 | Alexander Ursenbacher | 1277.88 |
| 90 | Bulcsu Revesz | 1268.78 |
| 91 | Lan Yuhao | 1268.34 |
| 92 | Ross Muir | 1268.07 |
| 93 | Yao Pengcheng | 1259.74 |
| 94 | Duane Jones | 1258.92 |
| 95 | Cheung Ka Wai | 1258.83 |
| 96 | Sanderson Lam | 1257.12 |
| 97 | Michał Szubarczyk | 1254.32 |
| 98 | Lim Kok Leong | 1252.45 |
| 99 | Mitchell Mann | 1247.59 |
| 100 | Wang Yuchen | 1245.82 |
| 101 | Amir Sarkhosh | 1245.07 |
| 102 | Gong Chenzhi | 1240.91 |
| 103 | Liu Wenwei | 1235.75 |
| 104 | Mateusz Baranowski | 1223.93 |
| 105 | Zhao Hanyang | 1221.71 |
| 106 | Liam Graham | 1221.35 |
| 107 | Mohammed Shehab | 1219.13 |
| 108 | Xu Yichen | 1217.31 |
| 109 | Robbie McGuigan | 1216.54 |
| 110 | Huang Jiahao | 1211.53 |
| 111 | Farakh Ajaib | 1208.17 |
| 112 | Florian Nüßle | 1205.48 |
| 113 | Haris Tahir | 1205.30 |
| 114 | Connor Benzey | 1203.83 |
| 115 | Chatchapong Nasa | 1201.11 |
| 116 | Bai Yulu | 1195.57 |
| 117 | Sahil Nayyar | 1192.61 |
| 118 | Leone Crowley | 1190.45 |
| 119 | Oliver Brown | 1181.12 |
| 120 | Haydon Pinhey | 1167.17 |
| 121 | Fergal Quinn | 1154.14 |
| 122 | Chris Totten | 1137.57 |
| 123 | Jonas Luz | 1133.22 |
| 124 | Ng On Yee | 1129.25 |
| 125 | Kreishh Gurbaxani | 1124.32 |
| 126 | Hatem Yassin | 1120.08 |
| 127 | Reanne Evans | 1077.15 |
| 128 | Mink Nutcharut | 1031.89 |
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.