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 |
Scottish Open Qualifiers | Oct. 28, 2024, 1:02 p.m. | 2024 | Stuart Carrington | 4 | 1 | Mink Nutcharut |
Scottish Open Qualifiers | Oct. 28, 2024, 1:36 p.m. | 2024 | Alfie Burden | 2 | 4 | Julien Leclercq |
Scottish Open Qualifiers | Oct. 28, 2024, 1:44 p.m. | 2024 | Jiang Jun | 4 | 0 | Chris Totten |
Scottish Open Qualifiers | Oct. 28, 2024, 1:53 p.m. | 2024 | Artemijs Zizins | 2 | 4 | Huang Jiahao |
Scottish Open Qualifiers | Oct. 28, 2024, 4:03 p.m. | 2024 | Ishpreet Chadha | 4 | 3 | Ahmed Elsayed |
Scottish Open Qualifiers | Oct. 28, 2024, 4:03 p.m. | 2024 | Allan Taylor | 4 | 0 | Anton Kazakov |
Scottish Open Qualifiers | Oct. 28, 2024, 4:03 p.m. | 2024 | Ben Mertens | 4 | 0 | Robbie McGuigan |
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 | 1706.63 |
2 | Kyren Wilson | 1592.51 |
3 | Ronnie O'Sullivan | 1589.02 |
4 | Mark Allen | 1581.23 |
5 | John Higgins | 1559.18 |
6 | Mark Williams | 1542.14 |
7 | Mark Selby | 1538.03 |
8 | Shaun Murphy | 1529.96 |
9 | Neil Robertson | 1521.11 |
10 | Si Jiahui | 1505.58 |
11 | Barry Hawkins | 1501.43 |
12 | Ali Carter | 1486.82 |
13 | Pang Junxu | 1483.98 |
14 | Ding Junhui | 1482.70 |
15 | David Gilbert | 1480.72 |
16 | Hossein Vafaei | 1475.25 |
17 | Xiao Guodong | 1464.99 |
18 | Chris Wakelin | 1462.52 |
19 | Stuart Bingham | 1462.44 |
20 | Zhang Anda | 1457.96 |
21 | Jack Lisowski | 1456.59 |
22 | Luca Brecel | 1452.73 |
23 | Gary Wilson | 1444.11 |
24 | Jak Jones | 1443.65 |
25 | Anthony McGill | 1439.07 |
26 | Elliot Slessor | 1436.79 |
27 | Matthew Selt | 1435.71 |
28 | Thepchaiya Un-Nooh | 1432.12 |
29 | Yuan Sijun | 1431.62 |
30 | Lyu Haotian | 1428.22 |
31 | Ben Woollaston | 1425.35 |
32 | Cao Yupeng | 1420.40 |
33 | Martin O'Donnell | 1420.18 |
34 | Ryan Day | 1414.15 |
35 | Joe O'Connor | 1407.66 |
36 | Graeme Dott | 1404.57 |
37 | Wu Yize | 1403.30 |
38 | Jimmy Robertson | 1401.35 |
39 | Zhou Yuelong | 1399.65 |
40 | Stephen Maguire | 1394.43 |
41 | Fan Zhengyi | 1393.02 |
42 | Noppon Saengkham | 1392.91 |
43 | Ricky Walden | 1391.07 |
44 | Scott Donaldson | 1387.89 |
45 | Sam Craigie | 1383.42 |
46 | Marco Fu | 1379.04 |
47 | Daniel Wells | 1377.32 |
48 | Oliver Lines | 1375.56 |
49 | Jackson Page | 1373.85 |
50 | Robbie Williams | 1371.09 |
51 | Mark Davis | 1364.38 |
52 | Xu Si | 1360.43 |
53 | Martin Gould | 1359.24 |
54 | Tom Ford | 1357.14 |
55 | Tian Pengfei | 1355.21 |
56 | Jimmy White | 1354.11 |
57 | Michael White | 1350.98 |
58 | Sunny Akani | 1349.15 |
59 | Stan Moody | 1339.82 |
60 | Dominic Dale | 1338.47 |
61 | He Guoqiang | 1338.04 |
62 | Matthew Stevens | 1337.79 |
63 | Jamie Jones | 1336.84 |
64 | Robert Milkins | 1336.59 |
65 | Jordan Brown | 1334.57 |
66 | Jamie Clarke | 1330.56 |
67 | Liu Hongyu | 1329.34 |
68 | Long Zehuang | 1329.17 |
69 | Ishpreet Chadha | 1325.09 |
70 | Anthony Hamilton | 1323.45 |
71 | Michael Holt | 1317.76 |
72 | Aaron Hill | 1314.91 |
73 | Louis Heathcote | 1313.28 |
74 | Ben Mertens | 1305.60 |
75 | David Lilley | 1301.74 |
76 | Joe Perry | 1297.75 |
77 | Jiang Jun | 1295.60 |
78 | Lei Peifan | 1291.92 |
79 | Ashley Carty | 1290.84 |
80 | Zak Surety | 1290.26 |
81 | Stuart Carrington | 1287.28 |
82 | Andrew Higginson | 1279.10 |
83 | David Grace | 1277.39 |
84 | Gong Chenzhi | 1276.07 |
85 | Bulcsu Revesz | 1275.68 |
86 | Ma Hailong | 1274.56 |
87 | Antoni Kowalski | 1268.95 |
88 | Julien Leclercq | 1266.49 |
89 | Ian Burns | 1261.76 |
90 | Alexander Ursenbacher | 1261.59 |
91 | Duane Jones | 1258.74 |
92 | Ross Muir | 1255.42 |
93 | Liam Davies | 1254.96 |
94 | Xing Zihao | 1253.53 |
95 | Lim Kok Leong | 1252.45 |
96 | Cheung Ka Wai | 1252.23 |
97 | Alfie Burden | 1250.11 |
98 | Sanderson Lam | 1249.28 |
99 | Haris Tahir | 1248.73 |
100 | Artemijs Zizins | 1243.13 |
101 | Jonas Luz | 1242.23 |
102 | Amir Sarkhosh | 1238.71 |
103 | Allan Taylor | 1227.58 |
104 | Hammad Miah | 1224.10 |
105 | Mitchell Mann | 1221.53 |
106 | Mohammed Shehab | 1216.32 |
107 | Liam Pullen | 1208.50 |
108 | Kreishh Gurbaxani | 1208.19 |
109 | Andrew Pagett | 1205.14 |
110 | Rory Thor | 1203.21 |
111 | Mostafa Dorgham | 1193.77 |
112 | Chris Totten | 1193.40 |
113 | Huang Jiahao | 1192.37 |
114 | Bai Yulu | 1191.20 |
115 | Haydon Pinhey | 1186.19 |
116 | Wang Yuchen | 1186.13 |
117 | Robbie McGuigan | 1180.65 |
118 | Dean Young | 1175.05 |
119 | Farakh Ajaib | 1157.35 |
120 | Liam Graham | 1145.00 |
121 | Manasawin Phetmalaikul | 1141.22 |
122 | Baipat Siripaporn | 1129.42 |
123 | Ahmed Elsayed | 1116.71 |
124 | Mink Nutcharut | 1090.94 |
125 | Reanne Evans | 1056.97 |
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.