# Table tennis ranking algorithm

I'm trying to create a formula for ranking an in-office ping pong system. Currently I've created a percentage and ordered the ranking by that, but it seems unfair as someone could play a single match, win, and then remain at the top.

Caveats,

• An undefeated player should be rewarded with a positive weight pushing them up the rankings.
• A player with a high number of played matches should be weighted up also (to encourage participation)
• Total number of points accumulated should be a factor

Hopefully a wiser brain than mine could suggest a way for me to create a robust ranking algorithm which will reward participation and point scoring, whilst respecting players who win a greater number of matches.

Appreciate the help!

-
Have you looked into the Elo rating system? en.wikipedia.org/wiki/Elo_rating_system – user7530 Jan 7 '13 at 16:39
Thanks, this looks interesting. – David Yell Jan 7 '13 at 16:51
Here is an example of an ELO based system, discussed at some length. Although its focus on promotion and demotion between leagues is less relevant – gnometorule Jan 7 '13 at 17:23
, it gives you also a simple formula to resolve results from matches: lorehound.com/news/… – gnometorule Jan 7 '13 at 17:24
– cardinal Jan 15 '13 at 1:34

The Elo rating system is a good start, but it is a zero-sum system. In other words if the winner gains $x$ points the loser will similarly lose $x$ points. Since you want to encourage participation, I suggest altering the system slightly to include a 'drift', so that the loser doesn't lose as many points as the winner gains, thus injecting more points into the system. This should encourage more participation. Play around with how much drift you want to introduce into the system. The more drift you have, the less a player's score reflects his skill and the more it reflects how many matches he's played.