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 |
Wuhan Open | Oct. 9, 2024, 11:21 a.m. | 2024 | Barry Hawkins | 2 | 5 | Xiao Guodong |
Wuhan Open | Oct. 9, 2024, 11:21 a.m. | 2024 | Si Jiahui | 5 | 2 | Duane Jones |
Wuhan Open | Oct. 9, 2024, 11:21 a.m. | 2024 | Mark Joyce | 4 | 5 | Zhang Anda |
Wuhan Open | Oct. 9, 2024, 11:21 a.m. | 2024 | Chris Wakelin | 5 | 3 | Ding Junhui |
Wuhan Open | Oct. 10, 2024, 5:56 a.m. | 2024 | Shaun Murphy | 1 | 5 | Xiao Guodong |
Wuhan Open | Oct. 10, 2024, 5:56 a.m. | 2024 | Jack Lisowski | 1 | 5 | Long Zehuang |
Wuhan Open | Oct. 10, 2024, 11:14 a.m. | 2024 | Zhang Anda | 3 | 5 | Si Jiahui |
Wuhan Open | Oct. 10, 2024, 11:14 a.m. | 2024 | Judd Trump | 5 | 4 | Chris Wakelin |
Wuhan Open | Oct. 11, 2024, 6:02 a.m. | 2024 | Long Zehuang | 4 | 6 | Xiao Guodong |
Wuhan Open | Oct. 11, 2024, 11:26 a.m. | 2024 | Judd Trump | 2 | 6 | Si Jiahui |
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 | 1702.59 |
2 | Mark Allen | 1590.27 |
3 | Ronnie O'Sullivan | 1589.02 |
4 | John Higgins | 1564.07 |
5 | Kyren Wilson | 1558.69 |
6 | Mark Selby | 1550.39 |
7 | Mark Williams | 1538.49 |
8 | Si Jiahui | 1525.28 |
9 | Shaun Murphy | 1519.46 |
10 | Neil Robertson | 1518.06 |
11 | Ali Carter | 1498.88 |
12 | David Gilbert | 1492.46 |
13 | Barry Hawkins | 1491.51 |
14 | Hossein Vafaei | 1485.53 |
15 | Ding Junhui | 1482.70 |
16 | Chris Wakelin | 1470.30 |
17 | Jack Lisowski | 1469.37 |
18 | Zhang Anda | 1466.64 |
19 | Xiao Guodong | 1465.24 |
20 | Pang Junxu | 1460.25 |
21 | Stuart Bingham | 1456.98 |
22 | Luca Brecel | 1454.90 |
23 | Gary Wilson | 1453.57 |
24 | Jak Jones | 1449.80 |
25 | Thepchaiya Un-Nooh | 1440.73 |
26 | Yuan Sijun | 1438.66 |
27 | Anthony McGill | 1437.41 |
28 | Lyu Haotian | 1435.83 |
29 | Matthew Selt | 1430.78 |
30 | Ben Woollaston | 1425.35 |
31 | Ryan Day | 1423.75 |
32 | Cao Yupeng | 1420.40 |
33 | Elliot Slessor | 1416.61 |
34 | Joe O'Connor | 1415.12 |
35 | Wu Yize | 1411.91 |
36 | Martin O'Donnell | 1411.76 |
37 | Graeme Dott | 1409.80 |
38 | Jimmy Robertson | 1402.24 |
39 | Stephen Maguire | 1401.15 |
40 | Ricky Walden | 1399.60 |
41 | Zhou Yuelong | 1398.35 |
42 | Fan Zhengyi | 1397.17 |
43 | Scott Donaldson | 1394.05 |
44 | Noppon Saengkham | 1388.85 |
45 | Sam Craigie | 1383.42 |
46 | Marco Fu | 1379.04 |
47 | Daniel Wells | 1377.32 |
48 | Jackson Page | 1373.85 |
49 | Robbie Williams | 1371.09 |
50 | Tom Ford | 1362.21 |
51 | Mark Davis | 1360.45 |
52 | Xu Si | 1360.43 |
53 | Martin Gould | 1359.24 |
54 | Michael White | 1350.98 |
55 | Jimmy White | 1350.04 |
56 | Sunny Akani | 1349.15 |
57 | Oliver Lines | 1346.45 |
58 | Tian Pengfei | 1345.84 |
59 | Dominic Dale | 1344.83 |
60 | He Guoqiang | 1343.21 |
61 | Matthew Stevens | 1342.25 |
62 | Jordan Brown | 1342.20 |
63 | Jamie Jones | 1336.84 |
64 | Robert Milkins | 1336.18 |
65 | Long Zehuang | 1334.79 |
66 | Jamie Clarke | 1334.10 |
67 | Liu Hongyu | 1329.42 |
68 | Stan Moody | 1323.47 |
69 | Anthony Hamilton | 1323.45 |
70 | Ishpreet Chadha | 1323.03 |
71 | Michael Holt | 1317.76 |
72 | Aaron Hill | 1314.91 |
73 | David Lilley | 1301.74 |
74 | Ben Mertens | 1300.49 |
75 | Joe Perry | 1297.75 |
76 | Jiang Jun | 1293.23 |
77 | Ashley Carty | 1290.84 |
78 | Gong Chenzhi | 1284.07 |
79 | Zak Surety | 1283.83 |
80 | Stuart Carrington | 1283.50 |
81 | Louis Heathcote | 1282.35 |
82 | David Grace | 1279.89 |
83 | Bulcsu Revesz | 1279.43 |
84 | Andrew Higginson | 1271.66 |
85 | Lei Peifan | 1270.05 |
86 | Alexander Ursenbacher | 1265.44 |
87 | Liam Davies | 1264.31 |
88 | Ian Burns | 1261.76 |
89 | Antoni Kowalski | 1260.95 |
90 | Julien Leclercq | 1259.02 |
91 | Duane Jones | 1258.74 |
92 | Alfie Burden | 1257.58 |
93 | Ross Muir | 1255.42 |
94 | Ma Hailong | 1253.60 |
95 | Xing Zihao | 1253.53 |
96 | Lim Kok Leong | 1252.45 |
97 | Cheung Ka Wai | 1252.23 |
98 | Artemijs Zizins | 1252.10 |
99 | Sanderson Lam | 1249.28 |
100 | Haris Tahir | 1248.73 |
101 | Jonas Luz | 1242.23 |
102 | Amir Sarkhosh | 1238.71 |
103 | Mitchell Mann | 1229.78 |
104 | Hammad Miah | 1224.10 |
105 | Allan Taylor | 1222.02 |
106 | Mohammed Shehab | 1216.32 |
107 | Liam Pullen | 1208.50 |
108 | Kreishh Gurbaxani | 1208.19 |
109 | Rory Thor | 1199.18 |
110 | Chris Totten | 1198.98 |
111 | Andrew Pagett | 1196.05 |
112 | Mostafa Dorgham | 1193.77 |
113 | Haydon Pinhey | 1191.69 |
114 | Bai Yulu | 1191.20 |
115 | Robbie McGuigan | 1185.75 |
116 | Huang Jiahao | 1183.41 |
117 | Dean Young | 1166.22 |
118 | Wang Yuchen | 1165.82 |
119 | Farakh Ajaib | 1157.35 |
120 | Liam Graham | 1145.00 |
121 | Manasawin Phetmalaikul | 1141.22 |
122 | Baipat Siripaporn | 1129.42 |
123 | Ahmed Elsayed | 1120.30 |
124 | Mink Nutcharut | 1094.73 |
125 | Reanne Evans | 1059.62 |
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.