Training Sports Statistics Elo Ratings & Bradley–Terry
2 / 5

Elo Ratings & Bradley–Terry

30 min Sports Statistics

Elo Ratings & Bradley–Terry Models

The Elo system, invented by physicist Arpad Elo for chess, represents each competitor by a single rating $R$. The expected score between players $A$ and $B$ is $E_A = 1/(1 + 10^{(R_B - R_A)/400})$, a logistic function of the rating difference. A 400-point gap implies $\sim 10\times$ odds in favor of the higher rating; 200 points $\sim 3.2\times$ odds; 100 points $\sim 1.78\times$.

After each game, ratings update by $R'_A = R_A + K(S_A - E_A)$, where $S_A \in \{0, 0.5, 1\}$ is the actual result and $K$ is the K-factor controlling responsiveness. Larger $K$ means faster adaptation but noisier ratings. FIDE uses $K=40$ for new players, $K=10$ for masters. FIFA uses K variable by tournament importance; 538's NFL Elo uses $K \approx 20$ with margin-of-victory adjustment.

Elo is a special case of the Bradley–Terry model: $P(A \text{ beats } B) = \pi_A/(\pi_A + \pi_B)$, where $\pi$ is a positive strength parameter. Taking $R = 400 \log_{10} \pi$ recovers Elo. Bradley–Terry generalizes to multiple competitors, ties, and home-field advantage.

Elo Update

$$E_A = \frac{1}{1 + 10^{(R_B - R_A)/400}}, \qquad R'_A = R_A + K(S_A - E_A)$$

Zero-sum: $R'_A + R'_B = R_A + R_B$. A draw transfers points from higher to lower rating.

Bradley–Terry with Home Advantage

$P(H \text{ beats } A) = \pi_H h /(\pi_H h + \pi_A)$, where $h > 1$ is a multiplicative home bonus. In Elo units this is an additive shift — typical NFL home advantage is $\approx 55$ Elo points; NBA $\approx 100$; MLB $\approx 24$.

Example 1 — Expected score

Player A is rated 1800, B is rated 2000. Compute A's expected score.

$E_A = 1/(1 + 10^{200/400}) = 1/(1+10^{0.5}) = 1/(1+3.162) = 1/4.162 = 0.240$.

A expected to score 24% — either a 24% win-or-draw probability or average fractional points.

Example 2 — Rating update

A (1800) beats B (2000) with $K = 32$. Compute new ratings.

$E_A = 0.240$, $S_A = 1$. $\Delta = 32(1 - 0.240) = 24.3$. New: $R'_A = 1824.3$, $R'_B = 1975.7$.

Example 3 — Home advantage

Two NFL teams rated 1500 and 1520 play at Team A's home (home advantage 55 Elo). Compute Team A's win probability.

Effective rating gap: A home = 1555 vs B = 1520. Diff = +35 for A. $E_A = 1/(1+10^{-35/400}) = 1/(1+0.820) = 0.550$.

Interactive Demo: Elo Rating Calculator
E_A =0.240
ΔA if A wins =+24.3
ΔA if A loses =-7.7
A's fair odds =3.17:1 against

Practice Problems

1. At a 400-point gap, what is the expected score of the higher-rated player?
2. Update 1500 vs 1500 after a draw with K=20.
3. Why do governing bodies cap K by rating class?
4. Derive Elo from Bradley–Terry.
5. NFL team Elo 1600 vs 1480 at neutral site. Win prob?
6. A player gains 50 Elo against stronger opposition — by roughly how much has their underlying strength improved (multiplicative)?
Show Answer Key

1. $1/(1+10^{-1}) = 0.909$ (≈91%).

2. No change — both had $E=0.5$, $S=0.5$, so $\Delta = 0$.

3. To stabilize established ratings; low K reduces noise once a rating is considered mature.

4. Let $\pi_A = 10^{R_A/400}$. Then $P(A) = \pi_A/(\pi_A + \pi_B) = 1/(1 + 10^{(R_B-R_A)/400})$.

5. $1/(1+10^{-120/400}) = 1/(1+0.501) = 0.666$.

6. $\pi$ ratio $= 10^{50/400} = 10^{0.125} \approx 1.33$ — 33% stronger by BT.