Why don't you use the Elo rating system with fixed K = 20 and the following modifications:

The first 20 games are used to establish rating on the site. During the first 20 games, player's rating is calculated as an average of the ratings of all his or her opponents, +400 in case of a win, -400 in case of a loss, equal in case of a draw. +/-200 points are used when playing against a player with provisional rating.
Rating is provisional during the first 20 games, after which it becomes established.
Rating is considered to be equal to 1200 for all players during their first 5 games.

Timeouts are counted as wins only if there were at least 3 moves made in the game (the loss is always counted for the timed out players).

Originally posted by Yonatan Why don't you use the Elo rating system with fixed K = 20 and the following modifications:

The first 20 games are used to establish rating on the site. During the first 20 games, player's rating is calculated as an average of the ratings of all his or her opponents, +400 in case of a win, -400 in case of a loss, equal in case of a draw. +/-200 points ar ...[text shortened]... e were at least 3 moves made in the game (the loss is always counted for the timed out players).

RHP's rating system is based on the ELO system. The main point of the ELO rating system is that a player 200 points above his opponent should score 75% in games between them.

The K scaling factor is used to give smaller change at the top end of the rating scale. It slows the spread of ratings somewhat.