The Complete History of the NFL

The Complete History of the NFL

Organisation: FiveThirtyEight (United States)

Publication Date: 04/09/2016

Size of team/newsroom:large


This project uses Elo ratings -- a system originally devised for chess -- to plot the history of every NFL team on a single graphic, going to back to 1920. When you select a team in the interactive, you can see how its rating has risen and fallen on a game-by-game basis, and on zoom you can explore the the actual results of each individual game. This graphic was aimed at casual NFL fans. The details of the Elo ratings aren’t so important to the visual results, and it’s easy to pick out the narrative of a team’s ups and downs (we gave some callouts below the interactive to get people started). This graphic is a companion piece to the our NFL predictions interactive, which gives Elo-based probabilities for the most recent NFL season. Taken together, the two projects anchor FiveThirtyEight’s NFL coverage by providing a short and long-view of team quality using our in-house Elo model.

What makes this project innovative? What was its impact?

The advantage of Elo ratings is that the inputs are simple enough to apply to very early NFL games -- more advanced systems can only calculate back a few decades at most. This means that you can actually look at every era of the NFL on the same statistical footing: It is the only stat that would let you quantitatively claim that the 1942 Chicago Bears were more dominant (for their time) than the famous 1985 team. This project is the only graphic anywhere that shows the league on this sort of time scale. The design of the interactive is clean while allowing for a lot of data density. There are over 30,000 ratings/games built into the graphic, but the team-by-team selection and the max and min Elo ranges makes it easy and fast to explore.

Technologies used for this project:

This project was built using d3, and also includes data processing steps in R and Node.js. New Elo ratings were calculated live during the season (at the completion of each game) using a Python-based backend hooked up to ESPN’s API.
Follow this project

Comments (0)

You have to be connected to contribute

You have to be connected to follow

Leave this project and no longer be informed about this project

By joining this project, you will be informed by email when an update or a new contribution is posted on the website.

Thank you for your active participation !

The GEN Community Team