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 |
UK Championship Qualifiers | Nov. 19, 2024, 7:22 p.m. | 2024 | Lyu Haotian | 3 | 6 | Liu Hongyu |
UK Championship Qualifiers | Nov. 19, 2024, 7:22 p.m. | 2024 | Anthony McGill | 5 | 6 | He Guoqiang |
UK Championship Qualifiers | Nov. 19, 2024, 7:22 p.m. | 2024 | Pang Junxu | 2 | 6 | Stan Moody |
UK Championship Qualifiers | Nov. 19, 2024, 7:22 p.m. | 2024 | Xu Si | 6 | 5 | Chris Totten |
UK Championship Qualifiers | Nov. 19, 2024, 7:22 p.m. | 2024 | Robert Milkins | 6 | 3 | Ross Muir |
UK Championship Qualifiers | Nov. 19, 2024, 7:22 p.m. | 2024 | Hossein Vafaei | 6 | 3 | Ma Hailong |
UK Championship Qualifiers | Nov. 20, 2024, 1:01 p.m. | 2024 | Jackson Page | 6 | 2 | Hossein Vafaei |
UK Championship Qualifiers | Nov. 20, 2024, 1:01 p.m. | 2024 | Jimmy Robertson | 0 | 6 | Stuart Bingham |
UK Championship Qualifiers | Nov. 20, 2024, 1:01 p.m. | 2024 | Elliot Slessor | 5 | 6 | Stephen Maguire |
UK Championship Qualifiers | Nov. 20, 2024, 1:01 p.m. | 2024 | Jak Jones | 6 | 3 | Fan Zhengyi |
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 | 1689.94 |
2 | Kyren Wilson | 1592.17 |
3 | Ronnie O'Sullivan | 1573.58 |
4 | Mark Allen | 1572.09 |
5 | Mark Williams | 1562.51 |
6 | John Higgins | 1562.39 |
7 | Mark Selby | 1535.26 |
8 | Neil Robertson | 1533.06 |
9 | Ding Junhui | 1518.92 |
10 | Shaun Murphy | 1513.86 |
11 | Barry Hawkins | 1510.06 |
12 | Xiao Guodong | 1506.95 |
13 | Si Jiahui | 1502.69 |
14 | Chris Wakelin | 1490.47 |
15 | Pang Junxu | 1479.90 |
16 | Ali Carter | 1476.45 |
17 | David Gilbert | 1474.78 |
18 | Hossein Vafaei | 1469.44 |
19 | Jack Lisowski | 1464.69 |
20 | Stuart Bingham | 1464.13 |
21 | Zhang Anda | 1458.72 |
22 | Jak Jones | 1457.08 |
23 | Luca Brecel | 1448.16 |
24 | Gary Wilson | 1445.80 |
25 | Matthew Selt | 1444.53 |
26 | Lyu Haotian | 1427.57 |
27 | Anthony McGill | 1424.89 |
28 | Cao Yupeng | 1420.40 |
29 | Yuan Sijun | 1419.40 |
30 | Jackson Page | 1418.76 |
31 | Elliot Slessor | 1415.96 |
32 | Ben Woollaston | 1415.19 |
33 | Ryan Day | 1414.80 |
34 | Thepchaiya Un-Nooh | 1413.42 |
35 | Wu Yize | 1409.55 |
36 | Stephen Maguire | 1407.19 |
37 | Zhou Yuelong | 1406.81 |
38 | Joe O'Connor | 1404.06 |
39 | Xu Si | 1401.12 |
40 | Jimmy Robertson | 1399.95 |
41 | Graeme Dott | 1399.52 |
42 | Martin O'Donnell | 1394.72 |
43 | Noppon Saengkham | 1394.46 |
44 | Ricky Walden | 1394.17 |
45 | Fan Zhengyi | 1390.94 |
46 | Sam Craigie | 1383.42 |
47 | Scott Donaldson | 1381.25 |
48 | Daniel Wells | 1379.05 |
49 | Marco Fu | 1376.55 |
50 | Oliver Lines | 1372.89 |
51 | Robbie Williams | 1365.55 |
52 | Stan Moody | 1360.77 |
53 | Martin Gould | 1359.24 |
54 | Mark Davis | 1358.57 |
55 | He Guoqiang | 1355.82 |
56 | Michael White | 1350.98 |
57 | Tom Ford | 1348.68 |
58 | Jimmy White | 1346.73 |
59 | Matthew Stevens | 1344.12 |
60 | Sunny Akani | 1343.94 |
61 | Robert Milkins | 1342.40 |
62 | Tian Pengfei | 1337.00 |
63 | Jamie Jones | 1334.65 |
64 | Long Zehuang | 1334.57 |
65 | Liu Hongyu | 1334.32 |
66 | Jordan Brown | 1329.22 |
67 | Michael Holt | 1328.81 |
68 | David Lilley | 1324.48 |
69 | Dominic Dale | 1321.52 |
70 | Lei Peifan | 1320.90 |
71 | Ishpreet Chadha | 1318.29 |
72 | Jamie Clarke | 1317.67 |
73 | Louis Heathcote | 1306.59 |
74 | Anthony Hamilton | 1306.43 |
75 | Aaron Hill | 1305.99 |
76 | Jiang Jun | 1299.26 |
77 | Julien Leclercq | 1294.07 |
78 | Ma Hailong | 1289.74 |
79 | Ashley Carty | 1289.66 |
80 | Ben Mertens | 1287.99 |
81 | Antoni Kowalski | 1287.32 |
82 | Joe Perry | 1286.40 |
83 | Ian Burns | 1282.57 |
84 | Zak Surety | 1281.32 |
85 | Stuart Carrington | 1281.30 |
86 | David Grace | 1279.69 |
87 | Alexander Ursenbacher | 1278.56 |
88 | Gong Chenzhi | 1270.96 |
89 | Xing Zihao | 1270.55 |
90 | Bulcsu Revesz | 1267.51 |
91 | Andrew Higginson | 1261.42 |
92 | Sanderson Lam | 1259.75 |
93 | Alfie Burden | 1255.51 |
94 | Cheung Ka Wai | 1254.81 |
95 | Artemijs Zizins | 1254.75 |
96 | Liam Davies | 1253.17 |
97 | Lim Kok Leong | 1252.45 |
98 | Haris Tahir | 1251.80 |
99 | Ross Muir | 1251.15 |
100 | Duane Jones | 1250.25 |
101 | Amir Sarkhosh | 1236.09 |
102 | Jonas Luz | 1227.61 |
103 | Mitchell Mann | 1220.35 |
104 | Mohammed Shehab | 1217.40 |
105 | Allan Taylor | 1216.17 |
106 | Wang Yuchen | 1213.78 |
107 | Bai Yulu | 1212.97 |
108 | Hammad Miah | 1211.53 |
109 | Chris Totten | 1208.84 |
110 | Rory Thor | 1205.78 |
111 | Kreishh Gurbaxani | 1204.41 |
112 | Liam Pullen | 1201.85 |
113 | Mostafa Dorgham | 1199.03 |
114 | Andrew Pagett | 1191.54 |
115 | Robbie McGuigan | 1184.93 |
116 | Huang Jiahao | 1181.42 |
117 | Dean Young | 1177.67 |
118 | Haydon Pinhey | 1177.01 |
119 | Farakh Ajaib | 1169.64 |
120 | Liam Graham | 1141.25 |
121 | Manasawin Phetmalaikul | 1140.59 |
122 | Baipat Siripaporn | 1117.66 |
123 | Ahmed Elsayed | 1112.05 |
124 | Mink Nutcharut | 1084.36 |
125 | Reanne Evans | 1055.78 |
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.