An alternative rating system for snooker players

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.