Latest posts

NFL Draft Value Chart

NFL Draft
nflreadr

Constructing surplus value from scratch.

Linguistic Analysis of NFL Prospect Reports

NFL Draft
Natural Language Processing

Analyzing the language of NFL.com draft prospect reports (2014-2023).

Exploring Quarterback Volatility with Gini Coefficients

Volatility
nflfastR
GAM

Analyzing how volatile individual QB seasons are with gini coefficients and a volatility over expected (VOLoe) GAM model.

Evauluating defenses by how well they play the offense's WR 1

Figures
nflfastR
Defense

Cornerback performance is hard to measure, but we can try.

Estimating Team Ability From EPA

nflfastR
stan

We build a series of models to estimate team ability from EPA data

Computer Vision with NFL Player Tracking Data using torch for R

Torch
Machine learning
Computer vision

Coverage classification Using CNNs.

NFL win probability from scratch using xgboost in R

xgboost
nflfastR

xgboost and R

nflfastR EP, WP, CP xYAC, and xPass models

Figures
nflfastR
Decision Trees
xgboost
Model Calibration

A description of the nflfastR Expected Points (EP), Win Probability (WP), Completion Probability (CP) Expected Yards after Catch (xYAC), and Expected Pass (xPass) models.

Gunslingers and Game Managers

Quarterback Analysis
nflfastR
Stupid Internet Arguments

Quantifying Quarterbacks' performance along the "game manager" and "gunslinger" dimensions.

Modeling NFL game outcomes using Python and scikit-learn

python
scikit-learn
Game Prediction

Use Python and scikit-learn to model NFL game outcomes and build a pre-game win probability model.

Exploring Stability and Predictive Power of Penalties in the NFL

nflfastR
EPA
Penalty EPA
Prediction

Use nflfastR to calculate penalty EPA and understand the randomness of penalties to improve prediction accuracy of game outcomes

Analyzing Home Field Advantage in the NFL

nflfastR
Articles
Home Field Advantage

Multi-season analysis of league and team-specific home-field advantage in the NFL.

Exploring Rolling Averages of EPA

nflfastR
EPA
Adjusting EPA
Rolling EPA
Prediction

Use nflfastR to develop lagged rolling averages of EPA to best predict a game's outcome

Still elite: What the numbers tell us about Aaron Rodgers

The more you look into the numbers, the better it looks for Aaron Rodgers

Receiving by Position

Figures
nflfastR
Positional breakdown
Receiving

Breaking down the receiving game by position using nflfastR data.

Creating an Expected Field Goal Metric

field goal
nflfastR
placekicker

Using nflfastR play-by-play data to measure kicker performance.

Estimating Run/Pass Tendencies with tidyModels and nflfastR

tidyModels
nflfastR
stan

This article shows how to use tidyModels to predict QB dropbacks and uses a multilevel model to show which teams are run/pass heavy after accounting for game script

RERUN

Exonerating punters for long returns

Defense and rest time re-visited

nflfastR
Articles

Does incorporating actual rest time help us predict how a defense will do?

Calculating Expected Fantasy Points for Receivers

Fantasy Football
nflfastR
nflfastR xYAC Model

Use the nflfastR xYAC & CP models to calculate how many fantasy points an average receiver would expect to earn on each target.

Adding ESPN and 538 Game Predictions to nflfastR Data

Scraping
Game Predicitions
nflfastR

Here, we'll look at how to scrape ESPN's and 538's pregame predictions and merge them into nflfastR data

Faceted and Animated Heatmaps

Figures
Animation
nflfastR

Combining lessons from multiple posts to create faceted or animated heatmaps.

Player Density and Completion Surface Estimates

nflfastR
python

Methods for modeling density estimates and expected completion percentages across the football field for individual players.

Fast Data Loading

Efficiency

Loading your nfl data at 10x speed!

Individual Expected Completion using Logistic Generalized Additive Mixed Models

Logistic Generalized Additive Mixed Models
Mixed Effects
Completion Probability Intercept

Case study how to leverage Generalized Additive Mixed Models (GAMM) to estimate the individual probability of completion per Quarterback as a random effect.

Open Source (Fantasy) Football: Visualizing TRAP Backs

Figures
nflfastR
Fantasy Football

Using nflfastR data to visualize where on the field running backs get their carries and how that translates to the Trivial Rush Attempt Percentage (TRAP) model.

Expected Turnovers for Quarterbacks

Figures
nflfastR
turnovers
quarterbacks

Building expected interceptions and expected fumbles models to find QBs likely to increase or decrease their interceptions and/or turnovers per dropback from 2019 to 2020.

Getting into sports analytics

Getting started

Collection of short answers to common questions.

Visualizing EPSN's Total QBR Using Interactive Plots

Scraping
espnscrapeR
Interactive plots
Total QBR
Figures

How to get ESPN data and create interactive plots using the plotly ggplot2 library.

Exploring Wins with nflfastR

Tidymodels
Figures
nflfastR

Looking at what metrics are important for predicting wins. Creating expected season win totals and comparing to reality.

Ranking QBs Using Era Adjusted Elo

Elo
python

Use 538's QB Elo value, a highly predictive measurement of QB impact, to compare QB careers across era

Game Excitement and Win Probability in the NFL

nflfastR
python

Game excitement calculation and a win probability figure.

NFL Pass Location Visualization

nflfastR
python

Methods for visualizing NFL passing location data.

Rodgers Efficiency Decline

Figures
nflfastR
CPOE / EPA functions
Packers

A look into Rodgers Efficiency Decline. Also some functions for plotting EPA/CPOE moving averages.

Visualizing the Run/Pass Efficiency Gap

Figures
nflfastR

Using nflfastR data to show how much more efficient passing is than rushing at the team level

Adjusting EPA for Strength of Opponent

Opponent adjusted EPA
Figures
nflfastR

This article shows how to adjust a team's EPA per play for the strength of their opponent. The benefits of adjusted EPA will be demonstrated as well!

Python contributing example

nflfastR
python

Showing how to contribute using Python code

Matching players without ID keys

Figures
Roster
nflfastR

Rebuilding player graphs when ID keys go missing or are corrupted.

Neural Nets using R

Keras
Tensorflow
nflfastR

Using Keras in R to build neural networks.

The accumulation of QB hits vs passing efficiency

Figures
nflfastR

Do quarterbacks who get hit see their performance decline throughout the game?

Wins Above Expectation

Figures
nflfastR

This article looks at the percentage of snaps with win probability over an arbitralily chosen critical value and compares it with the true win percentage.

PFR's Bad Throw Percentage for Quarterbacks

Scraping
PFR
Figures
nflfastR

This article shows how to scrape football data from Pro Football Reference and how to plot the bad throw percentage data for quarterbacks.

More articles »

Latest posts

Corrections

If you see mistakes or want to suggest changes, please create an issue on the source repository.

Reuse

Text and figures are licensed under Creative Commons Attribution CC BY-NC 4.0. Source code is available at https://github.com/nflverse/open-source-football, unless otherwise noted. The figures that have been reused from other sources don't fall under this license and can be recognized by a note in their caption: "Figure from ...".