The raw data behind the story "The Complete History of the NFL" https://projects.fivethirtyeight.com/complete-history-of-the-nfl/ And our "2017 NFL Predictions" https://projects.fivethirtyeight.com/2017-nfl-predictions/

nfl_elo

Format

Because of R package size restrictions, only a preview of the first 10 rows of this dataset is included; to obtain the entire dataset (1920 to 2018 games) see Examples below. A data frame with 10 rows representing games and 14 variables:

date

Date

season

Season year, 1920-2018

neutral

TRUE if the game was played on neutral territory, FALSE if not

playoff

No description provided

team1

The name of one participating team

team2

The name of the other participating team

elo1_pre

Team 1's Elo rating before the game

elo2_pre

Team 2's Elo rating before the game

elo_prob1

Team 1's probability of winning based on Elo rating

elo_prob2

Team 2's probability of winning based on Elo rating

elo1_post

Team 1's Elo rating after the game

elo2_post

Team 2's Elo rating after the game

score1

Points scored by Team 1

score2

Points scored by Team 2

Source

See https://projects.fivethirtyeight.com/nfl-api/nfl_elo.csv # To obtain the entire dataset, run the following code: library(dplyr) library(tidyr) library(readr) library(janitor) nfl_elo <- read_csv("https://projects.fivethirtyeight.com/nfl-api/nfl_elo.csv") clean_names() mutate( team1 = as.factor(team1), team2 = as.factor(team2), neutral = ifelse(neutral == 1, TRUE, FALSE))