Support

Frequently Asked Questions

What is Elo?

The Elo rating system was originally invented by Arpad Elo to calculate the relative skill levels of chess players. It's a method of comparing players' strengths in head-to-head competition based on wins and losses.

Its principles were later adapted for sports analytics, with Baseball Prospectus using it for their PECOTA player projection system. Nate Silver's FiveThirtyEight then popularized Elo for predicting game outcomes in the NBA and other professional sports.

Standard Elo Formulas

The system calculates an expected score (E) for each team based on their current ratings (R). It then updates their rating (R') based on the actual score (S) versus the expectation.

EA=11+10(RB−RA)/400E_A = \frac{1}{1 + 10^{(R_B - R_A) / 400}}EB=11+10(RA−RB)/400E_B = \frac{1}{1 + 10^{(R_A - R_B) / 400}}RA′=RA+K⋅(SA−EA)R'_A = R_A + K \cdot (S_A - E_A)RB′=RB+K⋅(SB−EB)R'_B = R_B + K \cdot (S_B - E_B)

Where S is the actual score (1 for a win, 0.5 for a draw, 0 for a loss), and K is a constant that determines rating volatility.

Custom Margin of Victory Modifier

To account for not just winning, but the margin of victory (MOV), we use a modified multiplier for the K-factor. The constants are based on 538's formula (presented below) have been updated for NCAA Men's Basketball to improve predictive accuracy.

MOV Multiplier=(∣MOVwinner∣+3)0.87.5+0.006⋅(Rwinner−Rloser)\text{MOV Multiplier} = \frac{(|\text{MOV}_{winner}| + 3)^{0.8}}{7.5 + 0.006 \cdot (R_{winner} - R_{loser})}

How often are spreads updated?

The models are run daily after all games for the day have been completed. The updates should be published around 9am ET (UTC-5/UTC-4).

What is the ML estimate?

That is our first round machine learning model to be published. Its a conservative model, so expect some big changes as new models roll out.

What sports do you cover?

Currently, we are in beta for NCAA Men's Basketball. We are actively developing models for NFL, NBA, and Premier League Soccer.