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
Xi'an Grand Prix Qualifiers July 26, 2024, 9 a.m. 2024 Chris Wakelin 5 4 Rory Thor
Xi'an Grand Prix Qualifiers July 26, 2024, 9 a.m. 2024 Elliot Slessor 5 0 Manasawin Phetmalaikul
Xi'an Grand Prix Qualifiers July 26, 2024, 1:35 p.m. 2024 Pang Junxu 5 2 Michael Holt
Xi'an Grand Prix Qualifiers July 26, 2024, 1:35 p.m. 2024 Jak Jones 5 4 Robbie McGuigan
Xi'an Grand Prix Qualifiers July 26, 2024, 1:35 p.m. 2024 Joe O'Connor 5 3 Duane Jones
Xi'an Grand Prix Qualifiers July 26, 2024, 1:35 p.m. 2024 Tom Ford 5 3 Stan Moody
Xi'an Grand Prix Qualifiers July 26, 2024, 1:45 p.m. 2024 Sanderson Lam 2 5 Zak Surety
Xi'an Grand Prix Qualifiers July 26, 2024, 5:55 p.m. 2024 Barry Hawkins 5 1 Kreishh Gurbaxani
Xi'an Grand Prix Qualifiers July 26, 2024, 5:55 p.m. 2024 Mark Williams 5 0 Liam Graham

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 1685.96
2 Ronnie O'Sullivan 1596.97
3 Mark Allen 1577.06
4 John Higgins 1561.02
5 Mark Williams 1544.37
6 Kyren Wilson 1539.26
7 Ali Carter 1534.04
8 Mark Selby 1514.48
9 Ding Junhui 1507.80
10 Hossein Vafaei 1506.98
11 Shaun Murphy 1502.87
12 Neil Robertson 1488.27
13 Barry Hawkins 1486.92
14 Luca Brecel 1484.54
15 Si Jiahui 1475.90
16 Gary Wilson 1471.43
17 Jack Lisowski 1467.60
18 Stuart Bingham 1465.89
19 Jak Jones 1462.23
20 David Gilbert 1459.54
21 Zhang Anda 1453.35
22 Anthony McGill 1446.28
23 Pang Junxu 1445.03
24 Joe O'Connor 1444.15
25 Ryan Day 1436.85
26 Zhou Yuelong 1436.38
27 Matthew Selt 1429.12
28 Lyu Haotian 1427.77
29 Thepchaiya Un-Nooh 1427.69
30 Yuan Sijun 1421.67
31 Stephen Maguire 1420.66
32 Cao Yupeng 1420.40
33 Chris Wakelin 1417.22
34 Tom Ford 1416.13
35 Daniel Wells 1415.41
36 Robbie Williams 1410.08
37 Scott Donaldson 1410.07
38 Ricky Walden 1407.74
39 Martin O'Donnell 1406.23
40 Xiao Guodong 1405.10
41 Graeme Dott 1404.77
42 Noppon Saengkham 1399.43
43 Ben Woollaston 1391.63
44 Fan Zhengyi 1386.45
45 Jackson Page 1386.31
46 Robert Milkins 1384.70
47 Elliot Slessor 1384.06
48 Sam Craigie 1383.42
49 Marco Fu 1374.01
50 Jamie Jones 1371.84
51 Jordan Brown 1365.35
52 Sunny Akani 1359.47
53 Mark Davis 1359.37
54 Martin Gould 1359.24
55 Jimmy White 1358.72
56 Matthew Stevens 1358.58
57 Jimmy Robertson 1356.76
58 Tian Pengfei 1355.55
59 Dominic Dale 1352.32
60 Michael White 1350.98
61 David Lilley 1345.96
62 Wu Yize 1345.39
63 Jamie Clarke 1341.81
64 He Guoqiang 1339.85
65 Xu Si 1337.60
66 Joe Perry 1328.48
67 Anthony Hamilton 1325.85
68 Oliver Lines 1321.14
69 Aaron Hill 1320.61
70 Michael Holt 1318.94
71 Long Zehuang 1303.32
72 Liu Hongyu 1302.43
73 Ashley Carty 1294.28
74 Stuart Carrington 1292.99
75 Ian Burns 1290.48
76 Ben Mertens 1287.58
77 Julien Leclercq 1287.16
78 Alexander Ursenbacher 1282.21
79 Andrew Higginson 1278.29
80 David Grace 1275.17
81 Louis Heathcote 1273.99
82 Liam Davies 1268.49
83 Zak Surety 1267.00
84 Cheung Ka Wai 1265.65
85 Ishpreet Chadha 1264.69
86 Xing Zihao 1263.05
87 Artemijs Zizins 1259.88
88 Ma Hailong 1257.51
89 Mitchell Mann 1255.71
90 Alfie Burden 1253.58
91 Antoni Kowalski 1253.51
92 Sanderson Lam 1252.39
93 Lim Kok Leong 1250.00
94 Haris Tahir 1250.00
95 Jonas Luz 1250.00
96 Jiang Jun 1248.55
97 Stan Moody 1243.83
98 Ross Muir 1239.86
99 Mohammed Shehab 1236.31
100 Gong Chenzhi 1233.70
101 Hammad Miah 1233.10
102 Bulcsu Revesz 1230.13
103 Amir Sarkhosh 1229.76
104 Liam Pullen 1229.55
105 Kreishh Gurbaxani 1228.82
106 Bai Yulu 1224.89
107 Allan Taylor 1219.03
108 Huang Jiahao 1215.95
109 Lei Peifan 1205.79
110 Duane Jones 1201.71
111 Mostafa Dorgham 1201.05
112 Robbie McGuigan 1195.73
113 Chris Totten 1185.68
114 Haydon Pinhey 1172.41
115 Manasawin Phetmalaikul 1168.02
116 Farakh Ajaib 1166.95
117 Andrew Pagett 1160.99
118 Wang Yuchen 1158.84
119 Dean Young 1156.81
120 Baipat Siripaporn 1155.35
121 Liam Graham 1148.63
122 Ahmed Elsayed 1148.54
123 Rory Thor 1127.51
124 Mink Nutcharut 1096.49
125 Reanne Evans 1079.56

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.