http://en.wikipedia.org/wiki/Elo_rating_system
http://warcraft3.ingame.de/cup/?action=DisplayFAQ&lang=2
FAQ:
"The inCup-Rankings (Overall- and Season-Rankings) are calculated on the ELO rating system. The ELO rating system is a method for calculating the skill levels of players and was originally invented as a chess rating system.
The ELO-number (short ELO) of a player is changed after every game, depending on the ELOs of the two players. The winning player will gain ELO-Points and the losing player will lose ELO-Points. A good player (with a high ELO) will only gain a few ELO points if he wins over a player with low ELO. But he will lose a lot of ELO-Points if he loses this game. If 2 Players with the same ELO will play each other, the winner will gain 25 ELO-Points and the loser will lose 25 ELO-Points. So there will always be a shift of ELO-Points from one player to another for every played game.
The ELO Calculation:
E = 1/(1+10^(-(R-Rother)/C2))
R: own ELO
Rother: ELO of your opponent
C2: Constant (currently 400)
Your ELO after the game is then:
Rnew = R + C1 * ( W - E )
C1: Constant (currently 50)
W: percentage of win (currently only 100% for win, 0% for loss)"