This is an NFL prediction repository that is originally based on FiveThirtyEight's NFL Forecasting model and repositories. This repository has been stripped of its historical evaluations and focuses solely on future prediction.
eval.py
is the only runnable script, and does the following:
- Reads in the CSV of historical games. Each row includes a
elo_prob1
field, which is the probability thatteam1
will win the game according to the Elo model. - Fills in a
my_prob1
field for every game using code inforecast.py
. By default, these are filled in using the exact same Elo model. - Prints the resulting Elo values for each team given the games and outcomes in the supplied CSV files.
- Lists forecasts for upcoming games, including win probabilities, spread, and decimal odds.
- Creates or updates
nfl-elo-game-updated.csv
file for the new Elo values and probabilities so that thenfl-elo-game.csv
file can be updated for the next week of games after confirming results.
Simply run python eval.py
.
Sample output: