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 | April 29, 2025, 9:11 a.m. | 2024 | Zhao Xintong | 13 | 5 | Chris Wakelin |
World Championship | April 29, 2025, 1:28 p.m. | 2024 | Luca Brecel | 8 | 13 | Judd Trump |
World Championship | April 29, 2025, 1:28 p.m. | 2024 | Ronnie O'Sullivan | 13 | 9 | Si Jiahui |
World Championship | May 1, 2025, 12:01 p.m. | 2024 | Zhao Xintong | 17 | 7 | Ronnie O'Sullivan |
World Championship | May 1, 2025, 12:01 p.m. | 2024 | Zhao Xintong | 17 | 7 | Ronnie O'Sullivan |
World Championship | May 1, 2025, 6:11 p.m. | 2024 | Mark Williams | 17 | 14 | Judd Trump |
World Championship | May 1, 2025, 6:11 p.m. | 2024 | Mark Williams | 17 | 14 | Judd Trump |
World Championship | May 1, 2025, 6:11 p.m. | 2024 | Mark Williams | 17 | 14 | Judd Trump |
World Championship | May 4, 2025, 12:01 p.m. | 2024 | Zhao Xintong | 18 | 12 | Mark Williams |
World Championship | May 4, 2025, 12:01 p.m. | 2024 | Zhao Xintong | 18 | 12 | Mark Williams |
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 | 1674.03 |
2 | Kyren Wilson | 1613.21 |
3 | John Higgins | 1590.09 |
4 | Mark Selby | 1550.56 |
5 | Mark Allen | 1548.22 |
6 | Ronnie O'Sullivan | 1532.49 |
7 | Xiao Guodong | 1525.13 |
8 | Neil Robertson | 1521.03 |
9 | Shaun Murphy | 1519.61 |
10 | Barry Hawkins | 1518.46 |
11 | Mark Williams | 1507.96 |
12 | Ding Junhui | 1505.29 |
13 | Luca Brecel | 1502.84 |
14 | Hossein Vafaei | 1497.94 |
15 | Joe O'Connor | 1483.82 |
16 | Ali Carter | 1478.21 |
17 | Si Jiahui | 1465.88 |
18 | Pang Junxu | 1462.02 |
19 | Wu Yize | 1457.38 |
20 | Chris Wakelin | 1451.68 |
21 | Jak Jones | 1446.82 |
22 | Ricky Walden | 1445.32 |
23 | Jack Lisowski | 1443.72 |
24 | David Gilbert | 1435.80 |
25 | Matthew Selt | 1435.48 |
26 | Stephen Maguire | 1432.85 |
27 | Zhang Anda | 1429.39 |
28 | Yuan Sijun | 1428.37 |
29 | Cao Yupeng | 1420.40 |
30 | Elliot Slessor | 1419.55 |
31 | Zhou Yuelong | 1417.12 |
32 | Stuart Bingham | 1412.12 |
33 | Ryan Day | 1410.05 |
34 | Anthony McGill | 1409.93 |
35 | Ben Woollaston | 1406.95 |
36 | Lyu Haotian | 1401.04 |
37 | Thepchaiya Un-Nooh | 1397.98 |
38 | Tom Ford | 1396.70 |
39 | Jackson Page | 1395.79 |
40 | Graeme Dott | 1388.42 |
41 | Noppon Saengkham | 1387.86 |
42 | Martin O'Donnell | 1387.18 |
43 | Xu Si | 1386.21 |
44 | Fan Zhengyi | 1386.15 |
45 | Sam Craigie | 1383.42 |
46 | Lei Peifan | 1383.36 |
47 | Daniel Wells | 1381.04 |
48 | Jimmy Robertson | 1372.37 |
49 | Mark Davis | 1363.76 |
50 | Robbie Williams | 1363.00 |
51 | Gary Wilson | 1361.92 |
52 | Jamie Jones | 1360.12 |
53 | Scott Donaldson | 1359.15 |
54 | Sunny Akani | 1357.99 |
55 | He Guoqiang | 1357.87 |
56 | Michael Holt | 1357.38 |
57 | Robert Milkins | 1355.57 |
58 | Martin Gould | 1353.30 |
59 | Michael White | 1350.98 |
60 | Stan Moody | 1350.14 |
61 | Aaron Hill | 1347.37 |
62 | Zak Surety | 1345.49 |
63 | Oliver Lines | 1341.43 |
64 | Marco Fu | 1341.23 |
65 | Matthew Stevens | 1339.54 |
66 | David Lilley | 1333.90 |
67 | Long Zehuang | 1323.24 |
68 | Anthony Hamilton | 1322.34 |
69 | Liu Hongyu | 1320.44 |
70 | Ishpreet Chadha | 1318.48 |
71 | Jimmy White | 1314.24 |
72 | Jordan Brown | 1310.36 |
73 | Dominic Dale | 1308.28 |
74 | Tian Pengfei | 1304.92 |
75 | Andrew Higginson | 1299.63 |
76 | Alexander Ursenbacher | 1296.93 |
77 | Antoni Kowalski | 1295.04 |
78 | Jiang Jun | 1293.43 |
79 | Louis Heathcote | 1293.16 |
80 | Ma Hailong | 1289.99 |
81 | Jamie Clarke | 1287.46 |
82 | Joe Perry | 1283.88 |
83 | Ben Mertens | 1280.61 |
84 | Ashley Carty | 1276.45 |
85 | Liam Davies | 1276.12 |
86 | Gong Chenzhi | 1276.05 |
87 | Ross Muir | 1275.66 |
88 | Duane Jones | 1274.28 |
89 | Julien Leclercq | 1270.68 |
90 | David Grace | 1267.80 |
91 | Ian Burns | 1267.74 |
92 | Stuart Carrington | 1266.32 |
93 | Sanderson Lam | 1266.25 |
94 | Allan Taylor | 1264.31 |
95 | Xing Zihao | 1262.54 |
96 | Artemijs Zizins | 1257.36 |
97 | Bulcsu Revesz | 1255.45 |
98 | Lim Kok Leong | 1252.45 |
99 | Cheung Ka Wai | 1250.32 |
100 | Wang Yuchen | 1242.72 |
101 | Alfie Burden | 1237.51 |
102 | Hammad Miah | 1233.24 |
103 | Haris Tahir | 1227.38 |
104 | Amir Sarkhosh | 1224.14 |
105 | Liam Graham | 1218.54 |
106 | Mitchell Mann | 1216.89 |
107 | Liam Pullen | 1215.70 |
108 | Mohammed Shehab | 1212.52 |
109 | Rory Thor | 1211.36 |
110 | Huang Jiahao | 1210.95 |
111 | Bai Yulu | 1209.52 |
112 | Kreishh Gurbaxani | 1204.29 |
113 | Haydon Pinhey | 1204.17 |
114 | Jonas Luz | 1199.26 |
115 | Chris Totten | 1194.65 |
116 | Andrew Pagett | 1181.82 |
117 | Dean Young | 1177.26 |
118 | Mostafa Dorgham | 1174.43 |
119 | Robbie McGuigan | 1168.95 |
120 | Farakh Ajaib | 1159.98 |
121 | Manasawin Phetmalaikul | 1144.17 |
122 | Baipat Siripaporn | 1098.62 |
123 | Ahmed Elsayed | 1096.02 |
124 | Reanne Evans | 1068.48 |
125 | Mink Nutcharut | 1062.63 |
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.