🐻⬇️🏀

Methodology: The Mathematics of Elo Ratings

2026-01-03 • By Antigravity AI

The Mathematics of Elo Ratings

Abstract

The Elo rating system, while conceptually simple, can be rigorously understood as a time-varying descent method maximizing the likelihood of a logistic response model. We present the formal derivation of our implementation, specifically tailored for the stochasticity of college athletics.


1. The Logistic Model

We assume the probability of Team A beating Team B is a function of the rating difference $\Delta_{AB} = R_A - R_B$. In our implementation, we use the logistic curve (Sigmoid):

$$ P(A > B) = \sigma(\Delta_{AB}) = \frac{1}{1 + 10^{-\Delta_{AB}/400}} $$

Why Logistic?

Historically, Elo used the normal distribution ($\Phi$), but the logistic distribution has heavier tails, which better models the "upset potential" in sports. The scaling factor $400$ is a legacy constant from chess that ensures a 200-point gap roughly implies a 75% win probability.

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

Where $HCA$ is the Home Court Advantage parameter (tuned to $150$).


2. The Update Rule (Gradient Descent)

After Game $g$, we observe result $S_A \in {0, 1}$. We seek to update $R_A$ to maximize the likelihood of this observation.

The Log-Likelihood for a single game is: $$ \mathcal{L} = S_A \log(E_A) + (1-S_A) \log(1-E_A) $$

The gradient with respect to the rating $R_A$ is proportional to the prediction error $(S_A - E_A)$. This yields the classic Elo update rule, which is effectively Stochastic Gradient Descent (SGD) with learning rate $K$:

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

Adaptive K-Factor (Margin of Victory)

A standard fixed $K$ ignores information contained in the magnitude of the win. We apply a multiplier based on the Margin of Victory ($MOV$):

$$ K_{mult} = \log(|MOV| + 1) \cdot \frac{2.2}{(R_{diff} \cdot 0.001 + 2.2)} $$

This "autocorrelation adjustment" dampens updates when favorites win efficiently, but boosts updates when underdogs win or teams blow out opponents unexpectedly.


3. Stationarity and Inflation

Elo is a zero-sum system. Points exchanged are conserved: $$ \Delta R_A + \Delta R_B = K(S_A - E_A) + K(S_B - E_B) = K(1 - 1) = 0 $$

However, new teams entering the pool or teams leaving can cause deflation/inflation. We apply a mean-reversion step at the end of each season:

$$ R_{new} = (1 - \tau) R_{old} + \tau R_{mean} $$ With $\tau = 0.25$, drawing all teams back towards the league average ($1500$) to account for roster turnover.


4. Hyperparameter Tuning

We perform grid search to optimize $K$ and $HCA$ on out-of-sample Log Loss.

$$ \text{LogLoss} = -\frac{1}{N} \sum_{i=1}^N \left[ y_i \log(\hat{y}_i) + (1-y_i) \log(1-\hat{y}_i) \right] $$

Current Optimal Parameters (2025-26): * $K = 35$ (Base) * $HCA = 150$ (Home Court)