I've implemented ELO ratings of ATP players.
For more details see: http://en.wikipedia.org/wiki/Elo_rating_system
Each match result counts as the percentage of sets taken. For example 3-1 win result is treated as 0.75 and not 1 for the purpose of the rankings. It turns out, that the rankings predicts better the winner of future matches that way.
The K-factor used is calculated from the data, and is chosen as the value that gives the best predictability for the rankings. The values are 47.07 for hard, 50.50 for clay and 53.84 for Grass. For Grand Slams the K-factor is doubled.
Future are not counted, and only players with at least 15 career matches and 1 in the last year are displayed.
The next 3 post will have the rankings, and hopefully I will be able to keep them up to date once a month or so...
For all time peak ratings (each win is treated regularly there) see:
Peak Ratings - Hard
Peak Ratings - Clay
Peak Ratings - Grass
Peak Ratings - Carpet