Elo Ratings, Explained

After reading this you can compute the expected score between any two Elo ratings, predict the exact points each player gains or loses from a win, draw or loss, and read a rating gap as a win probability without a lookup table.

What Elo measures and one quick example

An Elo rating is a single number that summarizes how strong a player is relative to everyone else in the same pool. The absolute value means nothing on its own. Only the gap between two ratings matters, and that gap maps directly to a predicted result.

Take the tool defaults: Player A rated 1600, Player B rated 1500. The 100-point gap predicts A scores about 0.64 in a single game, where 1 is a win, 0.5 a draw and 0 a loss. If A wins as expected, A gains only a few points. If A loses, A drops a lot. The system pushes ratings toward whatever value makes each player's results look unsurprising.

Arpad Elo built this for chess, but the same arithmetic now ranks football teams, seeds video-game matchmaking and drives many online ladders. The formula does not change between sports. Only the K-factor and the starting pool change.

When to use it, and when not

Elo works when you have many head-to-head results between members of a closed pool, and when the thing you are measuring is roughly one-dimensional strength. Chess fits perfectly. Ladder-style esports fit well. It also gives a decent single-number ranking for league sport.

It is a weak fit for one-off matchups across pools that never play each other, because the ratings never get calibrated against a common opponent. It also ignores everything Elo does not encode: home advantage, surface, injuries, margin of victory. Plain Elo treats a 1-0 win and a 7-0 win identically.

Elo ratings from two different systems are not comparable. A 1600 chess rating and a 1600 rating on a game ladder describe different populations. Never subtract one from the other and expect the win-probability formula to hold.

The formula and why it looks the way it does

The expected score for Player A against Player B is:

E_A = \frac{1}{1 + 10^{(R_B - R_A)/400}}

Here E_A is A's expected score (between 0 and 1), R_A and R_B are the two ratings, and the constants 10 and 400 set the scale. The choice of 400 is what makes a 400-point gap correspond to 10-to-1 odds: plug in R_B - R_A = -400 and the denominator becomes 1 + 10^{-1} = 1.1, giving E_A \approx 0.909.

The two expected scores always sum to 1, because B's expected score is E_B = 1 - E_A. When the ratings are equal, the exponent is 10^0 = 1, the denominator is 2, and both players expect 0.5. That is the whole logic: a bigger positive gap for A pushes the exponent negative, shrinks the denominator toward 1, and drives A's expected score toward 1.

After the game, the rating update is:

R_A' = R_A + K \cdot (S_A - E_A)

where S_A is the actual score (1, 0.5 or 0), E_A is the expected score you just computed, and K is the K-factor. The term S_A - E_A is the surprise. Do exactly as well as expected and it is zero, so your rating does not move. Beat expectation and it is positive. The K-factor is just how many points one full unit of surprise is worth.

A worked example with the demo data

A (1600) beats B (1500) at K = 32

  1. Rating gap from A's view: R_B - R_A = 1500 - 1600 = -100.
  2. Exponent: -100 / 400 = -0.25.
  3. Power term: 10^{-0.25} \approx 0.5623.
  4. Expected score: E_A = 1 / (1 + 0.5623) = 1 / 1.5623 \approx 0.640.
  5. A wins, so S_A = 1. Change: 32 \times (1 - 0.640) = 32 \times 0.360 \approx +11.5.
  6. A rises to about 1611.5, B falls by the same amount to about 1488.5.

Now flip the result. If A had lost, S_A = 0 and the change is 32 \times (0 - 0.640) = -20.5. The favorite risks 20.5 points to gain only 11.5. That asymmetry is the self-correction: an overrated player keeps losing more than they gain until their rating settles.

A draw gives 32 \times (0.5 - 0.640) = -4.5 for A. The favorite loses ground on a draw, which is correct, since a draw is below what a 64% expected score predicts.

The expected score curve is an S-shape: at a 0-point gap it reads 0.50, at +100 it reads 0.64, at +200 it reads 0.76, and at +400 it reads 0.91. Beyond about +600 the curve flattens near 0.97 and extra rating barely raises the win probability.

Reading the gap as a probability

Once you trust the formula you can read any gap by eye. The table below is worth memorizing, because it lets you sanity-check a rating system in seconds.

Expected score for the higher-rated player at common gaps
Rating gapExpected scoreRough odds
00.5001 to 1
500.5711.33 to 1
1000.6401.78 to 1
2000.7603.17 to 1
4000.90910 to 1
The curve is steepest near a zero gap and flattens past 400 points. The marker sits at the +100 gap used in the demo, reading about 0.64.

Notice the shape. Near a zero gap, 100 points of difference moves the expectation from 0.50 to 0.64, a 14-point swing. From 400 to 500 points the swing is much smaller, roughly 0.909 to 0.933. Extra rating buys less and less predicted advantage.

Choosing a K-factor

K controls how fast ratings react. A high K tracks recent form quickly but bounces around; a low K is stable but slow to catch a genuinely improving player.

K = 40
FIDE uses this for new players with fewer than 30 rated games. Ratings converge fast toward true strength.
K = 20
FIDE default for established players under 2400. A single upset moves you at most 20 points.
K = 10
FIDE uses this above 2400. Elite ratings should be stable, so surprises barely register.

Concrete effect: at the demo gap of 100 points, A's win is worth +11.5 at K=32, but only +7.2 at K=20 and +3.6 at K=10. Same game, same surprise, one-third the movement.

Common mistakes

The errors below account for most confused Elo results.

  • Forgetting the system is zero-sum per game. With one K-factor, whatever A gains, B loses exactly. If your ratings drift upward over time, you introduced points somewhere, often through new-player bonuses.
  • Comparing ratings across pools. A rating only means something against opponents in the same rated population.
  • Expecting the rating to predict a scoreline. Elo predicts a probability, not a margin. A 0.76 expected score means the favorite wins about three of four such games, not that they win by a set amount.
  • Using one K for everyone forever. A single K makes new and veteran players react at the same speed, which slows down calibration of newcomers.

To sanity-check any Elo system, feed it two equal ratings. The expected score must be exactly 0.500 and a win at K=32 must move each player by 16.0. If it does not, the scale constants have been altered.

Related tools

Elo gives you a single-game probability. Several other calculators here take that number further. Once you have a per-game win chance, the Playoff Series Probability Calculator turns it into the odds of winning a best-of-5 or best-of-7. To simulate a whole league table forward, use the League Season Simulator.

If you would rather build a probability from the sport's own mechanics instead of a rating, the Soccer Score Simulator (Poisson) works from expected goals, the Tennis Match Probability Calculator builds up from serve-point win rate, and the Penalty Shootout Probability Calculator handles conversion rates in a shootout.

Frequently asked questions

Why is 400 in the formula?

It sets the scale so that a 400-point gap equals 10-to-1 odds, or a 0.909 expected score. Any other number would just rescale the ratings without changing their meaning.

Do both players always change by the same amount?

Yes, when both use the same K-factor. In the demo, A gains 11.5 and B loses 11.5. The system conserves points unless the two players have different K values.

What starting rating should a new player get?

Common defaults are 1000, 1200 or 1500 depending on the pool. The exact number does not matter much because a high K-factor pulls the rating toward true strength within a few dozen games.

Can Elo handle draws?

Yes. A draw scores 0.5. The favorite still loses points on a draw because 0.5 is below their expected score, and the underdog gains. In the demo a draw costs A about 4.5 points.

How many games until a rating is trustworthy?

There is no exact answer, but ratings usually settle within about 20 to 30 games against varied opponents. Fewer games leave a wide error band, which is why new-player K-factors are set high.