ATP players ranked by Elo System

U

uchickenvn

(UPDATED)

Hi Everybody,

It's too cold outside & no tennis to watch until the end of the year so I did a small fun project to calculate all ATP players based on Elo Ranking System. Players' points are calculated based on all match results of Grand Slams back from 2010 and Master 1000s in 2013:

Initial point: 10,000
K factor:
24 x 4 (Grand Slams)
24 x 3 (Barclay Finals)
24 X 2 (Master 1000s)
24 x 1 (500)
24 x 0.5 (250)

After many late night, here's what I got:

(*this ranking include the latest Qatar, Brisbane & Auckland 2014 results)

1 Novak Djokovic 10,924 136 / 17
2 Rafael Nadal 10,918 123 / 11
3 Andy Murray 10,696 93 / 19
4 Stanislas Wawrinka 10,577 58 / 25
5 Roger Federer 10,539 95 / 23
6 Tomas Berdych 10,453 71 / 28
7 Juan Martin Del Potro 10,432 54 / 22
8 David Ferrer 10,429 81 / 28
9 Jo-Wilfried Tsonga 10,416 64 / 21
10 Tommy Robredo 10,344 21 / 15
11 Mikhail Youzhny 10,341 43 / 25
12 Richard Gasquet 10,339 54 / 28
13 Robin Soderling 10,320 23 / 7
14 Milos Raonic 10,302 37 / 20
15 Mardy Fish 10,290 24 / 13
16 Tommy Haas 10,290 29 / 20
17 Andy Roddick 10,275 25 / 11
18 Lleyton Hewitt 10,266 26 / 17
19 Philipp Kohlschreiber 10,254 36 / 26
20 Marin Cilic 10,250 39 / 20


Djokovic and Nadal are only 7 points different at the top and a distance away from number 3, Murray. Ferrer moved up to number 7.


Full Rankings and match results can be found here:

Tennis Ladder

ATP / WTA Tennis Tournaments

Please let me know what you guys think. :whistle:

Thanks,
 

JesuslookslikeBorg

Grand Slam Champion
Joined
Apr 14, 2013
Messages
6,323
Reactions
1,074
Points
113
the 'ELO' system ? :)

...MR BLUE SKYYY, MR BLUUUUUUUE SKYYYYYYYY, MR BLUUUUE SKYYYYYYYYYY-AAAYYYEE.

*ding ding ding ding*. :grin:
 
U

uchickenvn

JesuslookslikeBorg. said:
the 'ELO' system ? :)

...MR BLUE SKYYY, MR BLUUUUUUUE SKYYYYYYYY, MR BLUUUUE SKYYYYYYYYYY-AAAYYYEE.

*ding ding ding ding*. :grin:

:) For those who are not familiar with the Elo rating system:

http://en.wikipedia.org/wiki/Elo_rating_system

In short, it's considered the most accurate system to rate players ability based on their match results. It's doesn't base solely on the number of wins or looses but the opponents' strength too. If you beat a stronger player, you get more points and vice versa.
;)
 

GameSetAndMath

The GOAT
Joined
Jul 9, 2013
Messages
21,141
Reactions
3,398
Points
113
Sounds interesting. Can you explain the basics of how you applied it to
calculate tennis rankings so that more people can understand what you are
doing.

I for one definitely believe there must be some incentive given for
lower ranked players producing upsets.
 

GameSetAndMath

The GOAT
Joined
Jul 9, 2013
Messages
21,141
Reactions
3,398
Points
113
Does the sum of the points of all players remain always the same (initial points * number
of players) as points only get transferred between players based on wins and losses.
 

GameSetAndMath

The GOAT
Joined
Jul 9, 2013
Messages
21,141
Reactions
3,398
Points
113
1. Cannot initialize everybody to 10000. May be should initialize to
last years end of year ATP points for initialization.

2. Need to use much large K-factor than 10.

Don't you see that currently in your ranking almost everybody is having
over 10,000 points and the differences appear to be minor between them
whereas the actual quality of players is very substantial
 

Moxie

Multiple Major Winner
Joined
Apr 14, 2013
Messages
43,700
Reactions
14,875
Points
113
I'm no stat-genius like some on here, but I don't see why the choice of matches to compare would be Slams, Barclays and Davis Cup final. Why not better Slams and MS1000s? Barclays eliminates nearly all of the field, and Davis Cup is already odd, because it's team competition, and not that reflective of one-to-one competition, as a player in the final may not have played every round, (though in this case, I think they mostly did, if memory serves.)

I think you need only look at your results to see that something is wrong with the samples. Tommy Robredo at #7, Dodig at #11 and Del Potro at #12? That really doesn't square with what we know to be the case of their abilities, and overall results. In that case, the ATP ranking DO tell a more accurate story. I appreciate trying to look at things differently, but I don't see how this particular choice of samples and results sheds new light.
 

GameSetAndMath

The GOAT
Joined
Jul 9, 2013
Messages
21,141
Reactions
3,398
Points
113
ATP would not touch this system with a 10 yard pole.

Even if they want to incentivize creation of upsets, it would be done by means
of adding bonus points to standard atp ranking points.
 

Moxie

Multiple Major Winner
Joined
Apr 14, 2013
Messages
43,700
Reactions
14,875
Points
113
GameSetAndMath said:
ATP would not touch this system with a 10 yard pole.

Even if they want to incentivize creation of upsets, it would be done by means
of adding bonus points to standard atp ranking points.

I don't know if it's to incentivize upsets, as much to reward them beyond standard point value, but is that what it's going for? Because I'm not clear.
 
U

uchickenvn

GameSetAndMath said:
Sounds interesting. Can you explain the basics of how you applied it to
calculate tennis rankings so that more people can understand what you are
doing.

I for one definitely believe there must be some incentive given for
lower ranked players producing upsets.

Agree with GameSetAndMatch

Example of Elo rating:

When signing up for OTW, you are given a certain points according to the skill level claimed. Your points will increase when you win a match and decrease when you loose.

How many points increase or decrease in each match depends on the adjustment factor "K" and the difference between your points and your opponent's. It doesn't depend on the margin of win or loose

If you beat a stronger player, you get more points and, vice versa, if you beat a weaker player, you get less points
Adjustment factor "K" is the maximum point a player wins or looses in a match. K depends on the match importance and how many matches the player has been playing. For examples:
K of a tournament match is greater than that of a practice match.
At the beginning, K of a player is 220. It will be reduced to 122 after this player played 10 or more matches

Ex: We have 4 players A, B, C, D in our ladder

A has 500 points
B has 500 points
C has 900 points
D has 100 points
Suppose K factors for all of those players are the same: 220

if A beats B: A gains 110 (K/2) points and B looses 110 points
if A beats C: A gains ~ 200 points and C looses 200 points
if A beats D: A only gains ~ 22 points and C looses 22 points

more on:

http://www.opentennisworld.com/help
 
U

uchickenvn

GameSetAndMath said:
Does the sum of the points of all players remain always the same (initial points * number
of players) as points only get transferred between players based on wins and losses.

Yes, it's correct!
 
U

uchickenvn

GameSetAndMath said:
1. Cannot initialize everybody to 10000. May be should initialize to
last years end of year ATP points for initialization.

2. Need to use much large K-factor than 10.

Don't you see that currently in your ranking almost everybody is having
over 10,000 points and the differences appear to be minor between them
whereas the actual quality of players is very substantial

1. Agree. But I have a reason for it. The website is not only to rank professional players but any tennis players can sign up, report their match results and the system will calculate their points and rank them too. Those recreational players can have points up to several thousands so I have to set professional players points at 10,000 to put all of them on top (of the Open Tennis World) :)

Anyway, Elo rating system only cares about the points difference between two players.

2. K-factor is 128 for Grand Slams, 96 for Barclays and 32 for David Cup

3. Agree that I should not put David Cup in there :) but it takes time to delete and there are only 4 single matches so it doesn't make much of impact. I will include ATP 1000 & 500 soon.

Thanks,
 

Moxie

Multiple Major Winner
Joined
Apr 14, 2013
Messages
43,700
Reactions
14,875
Points
113
Looking forward to the next. That could be interesting, with 1000s and 500s.
 

GameSetAndMath

The GOAT
Joined
Jul 9, 2013
Messages
21,141
Reactions
3,398
Points
113
Hey,

You are not giving different importance levels to matches in different rounds.
You are treating a 1st round match of a grand slam to be same as that of the
finals. I think that is how you are doing the calculations can you confirm that.

If so, it is seriously flawed.

You need to use different k-factors for different levels of the same tournament.

I would suggest that you leave aside Davis Vup and WTF for the present and
work with all other tournament results.

The k-factor should depend both on the importance of the tournament and
on the importance of the round within the tournament.

I would suggest using a k-factor of t*2^r, where

a. r is round number. for 1st round matches r =1, second round matches r = 2
and so on.

b. use t = 16 for Grandslams, t =8 for ATP 1000's, t = 4 for ATP 500's and
t = 2 for ATP 250's.

This way the point swing for the grandslam title match will be 16*2^7 = 2048.
whereas for the title match of a typical 250 tournament will be 2*2^5 = 64.
 
U

uchickenvn

GameSetAndMath said:
Hey,

You are not giving different importance levels to matches in different rounds.
You are treating a 1st round match of a grand slam to be same as that of the
finals. I think that is how you are doing the calculations can you confirm that.

If so, it is seriously flawed.

You need to use different k-factors for different levels of the same tournament.

I would suggest that you leave aside Davis Vup and WTF for the present and
work with all other tournament results.

The k-factor should depend both on the importance of the tournament and
on the importance of the round within the tournament.

I would suggest using a k-factor of t*2^r, where

a. r is round number. for 1st round matches r =1, second round matches r = 2
and so on.

b. use t = 16 for Grandslams, t =8 for ATP 1000's, t = 4 for ATP 500's and
t = 2 for ATP 250's.

This way the point swing for the grandslam title match will be 16*2^7 = 2048.
whereas for the title match of a typical 250 tournament will be 2*2^5 = 64.

You are correct. I thought about giving different K factor to different rounds too but it's not necessary. The reason is early round includes weaker players with less points so a win against a weaker player is rewarded less point by Elo formula, anyway.

Ex: Look at Djokovic at US Open:
http://www.opentennisworld.com/users/novak-djokovic

He defeated Ricardas Berankis who is almost 1000 points less and Djokovic's winning prediction is 93% so he got only 10 more points:
http://www.opentennisworld.com/users/head_to_head?user1_id=135&user2_id=256&user_type=User :)

He won over Wawrinka in the semi and was rewarded 39 points
http://www.opentennisworld.com/users/head_to_head?user1_id=135&user2_id=183&user_type=User :D

He suffered a defeat to Nadal in the final and lost 76 points
http://www.opentennisworld.com/users/head_to_head?user1_id=135&user2_id=167&user_type=User :cry
 

GameSetAndMath

The GOAT
Joined
Jul 9, 2013
Messages
21,141
Reactions
3,398
Points
113
uchickenvn said:
GameSetAndMath said:
Hey,

You are not giving different importance levels to matches in different rounds.
You are treating a 1st round match of a grand slam to be same as that of the
finals. I think that is how you are doing the calculations can you confirm that.

If so, it is seriously flawed.

You need to use different k-factors for different levels of the same tournament.

I would suggest that you leave aside Davis Vup and WTF for the present and
work with all other tournament results.

The k-factor should depend both on the importance of the tournament and
on the importance of the round within the tournament.

I would suggest using a k-factor of t*2^r, where

a. r is round number. for 1st round matches r =1, second round matches r = 2
and so on.

b. use t = 16 for Grandslams, t =8 for ATP 1000's, t = 4 for ATP 500's and
t = 2 for ATP 250's.

This way the point swing for the grandslam title match will be 16*2^7 = 2048.
whereas for the title match of a typical 250 tournament will be 2*2^5 = 64.

You are correct. I thought about giving different K factor to different rounds too but it's not necessary. The reason is early round includes weaker players with less points so a win against a weaker player is rewarded less point by Elo formula, anyway.

Ex: Look at Djokovic at US Open:
http://www.opentennisworld.com/users/novak-djokovic

He defeated Ricardas Berankis who is almost 1000 points less and Djokovic's winning prediction is 93% so he got only 10 more points:
http://www.opentennisworld.com/users/head_to_head?user1_id=135&user2_id=256&user_type=User :)

He won over Wawrinka in the semi and was rewarded 39 points
http://www.opentennisworld.com/users/head_to_head?user1_id=135&user2_id=183&user_type=User :D

He suffered a defeat to Nadal in the final and lost 76 points
http://www.opentennisworld.com/users/head_to_head?user1_id=135&user2_id=167&user_type=User :cry

No, I disagree. It is against the spirit of the Elo system. According to
the system, the k-factor should depend on the importance of the match.
Saying 1st round has same importance as the final round is outrageous.
 
U

uchickenvn

GameSetAndMath said:
uchickenvn said:
GameSetAndMath said:
Hey,

You are not giving different importance levels to matches in different rounds.
You are treating a 1st round match of a grand slam to be same as that of the
finals. I think that is how you are doing the calculations can you confirm that.

If so, it is seriously flawed.

You need to use different k-factors for different levels of the same tournament.

I would suggest that you leave aside Davis Vup and WTF for the present and
work with all other tournament results.

The k-factor should depend both on the importance of the tournament and
on the importance of the round within the tournament.

I would suggest using a k-factor of t*2^r, where

a. r is round number. for 1st round matches r =1, second round matches r = 2
and so on.

b. use t = 16 for Grandslams, t =8 for ATP 1000's, t = 4 for ATP 500's and
t = 2 for ATP 250's.

This way the point swing for the grandslam title match will be 16*2^7 = 2048.
whereas for the title match of a typical 250 tournament will be 2*2^5 = 64.

You are correct. I thought about giving different K factor to different rounds too but it's not necessary. The reason is early round includes weaker players with less points so a win against a weaker player is rewarded less point by Elo formula, anyway.

Ex: Look at Djokovic at US Open:
http://www.opentennisworld.com/users/novak-djokovic

He defeated Ricardas Berankis who is almost 1000 points less and Djokovic's winning prediction is 93% so he got only 10 more points:
http://www.opentennisworld.com/users/head_to_head?user1_id=135&user2_id=256&user_type=User :)

He won over Wawrinka in the semi and was rewarded 39 points
http://www.opentennisworld.com/users/head_to_head?user1_id=135&user2_id=183&user_type=User :D

He suffered a defeat to Nadal in the final and lost 76 points
http://www.opentennisworld.com/users/head_to_head?user1_id=135&user2_id=167&user_type=User :cry

No, I disagree. It is against the spirit of the Elo system. According to
the system, the k-factor should depend on the importance of the match.
Saying 1st round has same importance as the final round is outrageous.

That makes sense. I'll consider it. However, all rounds are playoffs so their importance levels are much closer than a power function. ;)
 
U

uchickenvn

Moxie629 said:
I'm no stat-genius like some on here, but I don't see why the choice of matches to compare would be Slams, Barclays and Davis Cup final. Why not better Slams and MS1000s? Barclays eliminates nearly all of the field, and Davis Cup is already odd, because it's team competition, and not that reflective of one-to-one competition, as a player in the final may not have played every round, (though in this case, I think they mostly did, if memory serves.)

I think you need only look at your results to see that something is wrong with the samples. Tommy Robredo at #7, Dodig at #11 and Del Potro at #12? That really doesn't square with what we know to be the case of their abilities, and overall results. In that case, the ATP ranking DO tell a more accurate story. I appreciate trying to look at things differently, but I don't see how this particular choice of samples and results sheds new light.

You are right. The reason is this ranking is based on match results from 4 Grand Slams & Barclay only. Robredo has higher points than Potro because he advanced to quarter final at US Open while Potro lost in second round and suffered two defeats in Barclay.

Once I add more ATP 1000s and 500s then it will look better.
 
U

uchickenvn

After many late night, here's what I got after input all 2013 Master 1000s results:

1 Novak Djokovic 10,919 59 / 9
2 Rafael Nadal 10,760 53 / 5
3 Stanislas Wawrinka 10,513 30 / 13
4 Roger Federer 10,497 29 / 12
5 Andy Murray 10,431 32 / 7
6 Juan Martin Del Potro 10,373 25 / 13
7 Tomas Berdych 10,361 34 / 16
8 David Ferrer 10,304 32 / 15
9 Tommy Robredo 10,290 14 / 8
10 Gael Monfils 10,278 8 / 5
11 Jo-Wilfried Tsonga 10,272 23 / 10
12 Milos Raonic 10,260 23 / 12
13 John Isner 10,257 14 / 11
14 Richard Gasquet 10,257 27 / 16
15 Philipp Kohlschreiber 10,225 15 / 12
16 Kei Nishikori 10,216 21 / 12
17 Florian Mayer 10,213 11 / 11
18 Marcel Granollers 10,204 11 / 13
19 Tommy Haas 10,193 22 / 11
20 Feliciano Lopez 10,177 11 / 11

Please let me know what you guys think. :)
 

GameSetAndMath

The GOAT
Joined
Jul 9, 2013
Messages
21,141
Reactions
3,398
Points
113
How is that Federer is #4 in Elo system. If anything his Elo ranking should be
less than his ATP ranking. This is because he lost lots of matches to no-name players.
May be you are basing it only on Grandslam and Masters results.