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 |
| Northern Ireland Open | Oct. 22, 2026, 12:04 p.m. | 2026 | Matthew Selt | 2 | 4 | Sam Craigie |
| Northern Ireland Open | Oct. 22, 2026, 12:04 p.m. | 2026 | Kyren Wilson | 4 | 3 | Pang Junxu |
| Northern Ireland Open | Oct. 22, 2026, 2:27 p.m. | 2026 | Elliot Slessor | 4 | 1 | Ricky Walden |
| Northern Ireland Open | Oct. 22, 2026, 2:27 p.m. | 2026 | Anthony McGill | 4 | 1 | Mateusz Baranowski |
| Northern Ireland Open | Oct. 22, 2026, 5:57 p.m. | 2026 | Mark Williams | 4 | 0 | Martin O'Donnell |
| Northern Ireland Open | Oct. 22, 2026, 5:57 p.m. | 2026 | David Gilbert | 4 | 2 | Cheung Ka Wai |
| Northern Ireland Open | Oct. 22, 2026, 7:33 p.m. | 2026 | Jak Jones | 4 | 2 | Daniel Wells |
| Northern Ireland Open | Oct. 22, 2026, 8:41 p.m. | 2026 | Jordan Brown | 2 | 4 | Scott Donaldson |
| Northern Ireland Open | Oct. 23, 2026, 11:58 a.m. | 2026 | Sam Craigie | 6 | 2 | Elliot Slessor |
| Northern Ireland Open | Oct. 23, 2026, 11:58 a.m. | 2026 | Anthony McGill | 1 | 6 | Kyren Wilson |
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 | 1636.89 |
| 2 | Mark Selby | 1616.51 |
| 3 | Kyren Wilson | 1600.54 |
| 4 | Zhao Xintong | 1594.82 |
| 5 | Wu Yize | 1561.15 |
| 6 | Shaun Murphy | 1558.78 |
| 7 | Mark Williams | 1543.52 |
| 8 | John Higgins | 1539.89 |
| 9 | Mark Allen | 1538.52 |
| 10 | Jak Jones | 1525.30 |
| 11 | Barry Hawkins | 1516.12 |
| 12 | Neil Robertson | 1511.19 |
| 13 | Zhou Yuelong | 1503.91 |
| 14 | Ali Carter | 1496.06 |
| 15 | Ronnie O'Sullivan | 1491.19 |
| 16 | Zhang Anda | 1487.06 |
| 17 | Xiao Guodong | 1481.05 |
| 18 | Ding Junhui | 1472.20 |
| 19 | Chang Bingyu | 1467.34 |
| 20 | Stuart Bingham | 1464.43 |
| 21 | Luca Brecel | 1456.32 |
| 22 | David Gilbert | 1451.30 |
| 23 | Pang Junxu | 1449.64 |
| 24 | Anthony McGill | 1446.29 |
| 25 | Elliot Slessor | 1441.81 |
| 26 | Matthew Selt | 1437.78 |
| 27 | Hossein Vafaei | 1434.67 |
| 28 | Si Jiahui | 1433.87 |
| 29 | Stan Moody | 1432.78 |
| 30 | Jack Lisowski | 1432.51 |
| 31 | Stephen Maguire | 1431.35 |
| 32 | Chris Wakelin | 1431.06 |
| 33 | Sam Craigie | 1430.98 |
| 34 | Yuan Sijun | 1429.31 |
| 35 | Noppon Saengkham | 1429.09 |
| 36 | Joe O'Connor | 1420.22 |
| 37 | Ryan Day | 1411.28 |
| 38 | Ricky Walden | 1410.32 |
| 39 | Daniel Wells | 1406.32 |
| 40 | Jackson Page | 1401.01 |
| 41 | Fan Zhengyi | 1400.64 |
| 42 | Xu Si | 1398.21 |
| 43 | Aaron Hill | 1396.41 |
| 44 | Tom Ford | 1396.20 |
| 45 | Jiang Jun | 1395.71 |
| 46 | Gary Wilson | 1395.25 |
| 47 | Martin O'Donnell | 1392.30 |
| 48 | Scott Donaldson | 1391.34 |
| 49 | Liam Highfield | 1385.39 |
| 50 | Robbie Williams | 1385.09 |
| 51 | Liam Davies | 1382.09 |
| 52 | Thepchaiya Un-Nooh | 1377.14 |
| 53 | Lei Peifan | 1365.98 |
| 54 | Dylan Emery | 1359.65 |
| 55 | Gao Yang | 1358.08 |
| 56 | Liu Hongyu | 1357.36 |
| 57 | Lyu Haotian | 1357.05 |
| 58 | Ben Woollaston | 1355.03 |
| 59 | He Guoqiang | 1347.79 |
| 60 | Marco Fu | 1347.72 |
| 61 | Matthew Stevens | 1346.70 |
| 62 | Jimmy Robertson | 1342.89 |
| 63 | Louis Heathcote | 1342.80 |
| 64 | Michael Holt | 1341.90 |
| 65 | Yao Pengcheng | 1335.86 |
| 66 | Oliver Lines | 1335.79 |
| 67 | Julien Leclercq | 1334.35 |
| 68 | Liam Pullen | 1329.10 |
| 69 | Zak Surety | 1327.02 |
| 70 | Long Zehuang | 1321.64 |
| 71 | Ben Mertens | 1317.40 |
| 72 | Jamie Clarke | 1311.45 |
| 73 | Ishpreet Chadha | 1310.82 |
| 74 | Jordan Brown | 1310.77 |
| 75 | David Lilley | 1309.01 |
| 76 | David Grace | 1308.24 |
| 77 | Alfie Burden | 1308.24 |
| 78 | Iulian Boiko | 1307.52 |
| 79 | Jamie Jones | 1306.10 |
| 80 | Jimmy White | 1299.93 |
| 81 | Wang Xinbo | 1299.84 |
| 82 | Ian Burns | 1299.72 |
| 83 | Antoni Kowalski | 1299.57 |
| 84 | Steven Hallworth | 1297.73 |
| 85 | Artemijs Zizins | 1297.10 |
| 86 | Ashley Carty | 1290.59 |
| 87 | Andrew Higginson | 1284.72 |
| 88 | Ashley Hugill | 1281.82 |
| 89 | Ross Muir | 1277.67 |
| 90 | Igor Figueiredo | 1273.57 |
| 91 | Mitchell Mann | 1271.75 |
| 92 | Cheung Ka Wai | 1270.32 |
| 93 | Oliver Sykes | 1257.43 |
| 94 | Lan Yuhao | 1252.87 |
| 95 | Alexander Ursenbacher | 1251.92 |
| 96 | Gong Chenzhi | 1249.30 |
| 97 | Michał Szubarczyk | 1241.33 |
| 98 | Mateusz Baranowski | 1239.11 |
| 99 | Zhao Hanyang | 1236.48 |
| 100 | Stuart Carrington | 1233.91 |
| 101 | Huang Jiahao | 1232.11 |
| 102 | Hammad Miah | 1230.70 |
| 103 | Michael Larkov | 1225.07 |
| 104 | Luo Zetao | 1224.93 |
| 105 | Craig Steadman | 1222.68 |
| 106 | Liu Wenwei | 1221.10 |
| 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 | 1181.96 |
| 118 | Leone Crowley | 1179.01 |
| 119 | Connor Benzey | 1177.08 |
| 120 | Mahmoud El Hareedy | 1163.04 |
| 121 | Fergal Quinn | 1132.20 |
| 122 | Anton Kazakov | 1118.67 |
| 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.