How is the multiplayer score calculated?

SparkChess uses an Elo-based scoring system. Elo may be a bit confusing for new chess players but it’s well-understood by ‘veterans’ and used by chess federations worldwide.

The basic concept is that the system awards points based on winning expectancy – which player is more likely to win, based on existing scores. Two players with equal scores are equal in skill and have both the same “chances”  (50%). In contrast, a player with a much lower score is expected to lose. Let’s have this example:

Player A has 2200 Elo points and Player B has 1600. Based on the formula, Player A has a 90% chance of winning, so if he/she wins, there’s no big “achievement” and will be awarded just 1 point. In contrast, Player B has only a 10% winning expectancy, so if he/she win, he or she receives 19 points. In fact, player B would receive 9 points just for a draw!

You can see how this system is fairer. Someone can’t accumulate score by playing only with other lower-ranked players. Also, scores don’t grow indefinitely, they tend to stabilize after a number of matches. Therefore, the best way to increase your score is to play (and win) against someone with similar score.

Here’s the formula we use:

S_{A}{}' = S_{A} + 20\left (R-\frac{1}{1+10^{\frac{S_{B}-S_{A}}{700}}} \right )

where S’A is Player’s A new score, SA is Player’s A old score, SB is Player’s B old score and R is the the game result: 1 for Player A winning, 0.5 for a draw or 0 for Player A losing.

Compared the FIDE’s Elo formula, we use different factors. 20 instead of 15 so players get more points for each win and 700 instead of 400. So players get at least one point even when playing against weaker opponents.

Of course, this system does not eliminate cheating problems so we rely on you to report any abusive players!