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
China Open Aug. 14, 2026, 6 a.m. 2026 Zhou Yuelong 6 5 David Gilbert
China Open Aug. 14, 2026, 6 a.m. 2026 Noppon Saengkham 6 4 Shaun Murphy
China Open Aug. 14, 2026, 11:26 a.m. 2026 Neil Robertson 1 6 Mark Selby
China Open Aug. 14, 2026, 11:44 a.m. 2026 Stuart Bingham 6 3 Zhang Anda
China Open Aug. 15, 2026, 5:59 a.m. 2026 Noppon Saengkham 6 5 Zhou Yuelong
China Open Aug. 15, 2026, 11:29 a.m. 2026 Mark Selby 6 2 Stuart Bingham
China Open Aug. 16, 2026, 6:04 a.m. 2026 Mark Selby 10 6 Noppon Saengkham

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 1644.96
2 Mark Selby 1619.52
3 Zhao Xintong 1618.87
4 Kyren Wilson 1580.50
5 Wu Yize 1579.54
6 Shaun Murphy 1562.60
7 John Higgins 1551.63
8 Mark Allen 1550.71
9 Barry Hawkins 1524.21
10 Neil Robertson 1523.06
11 Mark Williams 1521.97
12 Xiao Guodong 1514.98
13 Zhou Yuelong 1501.43
14 Ronnie O'Sullivan 1499.00
15 Ali Carter 1493.93
16 Zhang Anda 1487.84
17 Ding Junhui 1482.16
18 Stuart Bingham 1475.29
19 Hossein Vafaei 1463.05
20 Jak Jones 1459.80
21 Elliot Slessor 1458.82
22 Luca Brecel 1456.03
23 David Gilbert 1449.73
24 Noppon Saengkham 1448.27
25 Si Jiahui 1447.52
26 Jack Lisowski 1445.88
27 Pang Junxu 1442.68
28 Chang Bingyu 1440.10
29 Matthew Selt 1433.57
30 Yuan Sijun 1431.84
31 Stephen Maguire 1431.81
32 Chris Wakelin 1431.10
33 Anthony McGill 1427.47
34 Stan Moody 1427.03
35 Gary Wilson 1421.85
36 Jackson Page 1421.32
37 Joe O'Connor 1414.79
38 Tom Ford 1413.39
39 Jiang Jun 1406.19
40 Ryan Day 1402.02
41 Ricky Walden 1398.04
42 Sam Craigie 1397.31
43 Fan Zhengyi 1389.53
44 Lei Peifan 1382.82
45 Aaron Hill 1382.80
46 Xu Si 1379.55
47 Thepchaiya Un-Nooh 1378.31
48 Martin O'Donnell 1374.76
49 Daniel Wells 1374.63
50 Robbie Williams 1372.26
51 Liu Hongyu 1369.66
52 He Guoqiang 1367.74
53 Jimmy Robertson 1362.76
54 Zak Surety 1358.22
55 Liam Highfield 1357.19
56 Matthew Stevens 1355.83
57 Ben Woollaston 1354.57
58 Marco Fu 1353.58
59 Scott Donaldson 1350.67
60 Michael Holt 1350.40
61 Lyu Haotian 1350.27
62 Ben Mertens 1345.69
63 Dylan Emery 1342.89
64 Julien Leclercq 1335.85
65 Louis Heathcote 1334.56
66 Oliver Lines 1332.29
67 Long Zehuang 1323.82
68 Gao Yang 1323.68
69 Jamie Jones 1321.74
70 Liam Pullen 1316.95
71 Alfie Burden 1316.41
72 Ishpreet Chadha 1314.99
73 Steven Hallworth 1313.95
74 David Lilley 1310.38
75 Liam Davies 1309.55
76 Yao Pengcheng 1309.44
77 Antoni Kowalski 1304.67
78 Jamie Clarke 1303.62
79 Jordan Brown 1302.49
80 Andrew Higginson 1299.82
81 Artemijs Zizins 1297.70
82 Jimmy White 1294.18
83 David Grace 1289.95
84 Iulian Boiko 1285.96
85 Ian Burns 1283.98
86 Ashley Hugill 1282.78
87 Ashley Carty 1280.69
88 Igor Figueiredo 1273.57
89 Lan Yuhao 1265.38
90 Ross Muir 1263.85
91 Mitchell Mann 1263.20
92 Wang Xinbo 1262.01
93 Alexander Ursenbacher 1261.06
94 Oliver Sykes 1248.53
95 Cheung Ka Wai 1244.22
96 Deng Haohui 1243.59
97 Michał Szubarczyk 1243.19
98 Gong Chenzhi 1241.95
99 Hammad Miah 1241.60
100 Stuart Carrington 1236.97
101 Craig Steadman 1236.26
102 Florian Nüßle 1235.85
103 Michael Larkov 1235.19
104 Luo Zetao 1233.46
105 Liu Yang 1228.26
106 Liu Wenwei 1224.73
107 Zhao Hanyang 1220.11
108 Huang Jiahao 1217.98
109 Phil O'Kane 1216.56
110 Xu Yichen 1216.45
111 Paul Norris 1213.77
112 Oliver Brown 1205.63
113 Mateusz Baranowski 1202.98
114 Liam Graham 1200.93
115 Sahil Nayyar 1194.84
116 Thanawat Tirapongpaiboon 1188.02
117 Connor Benzey 1185.87
118 Chatchapong Nasa 1184.95
119 Mahmoud El Hareedy 1182.52
120 Leone Crowley 1179.97
121 Fergal Quinn 1142.46
122 Sean O'Sullivan 1117.73
123 Anton Kazakov 1115.67

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.