Pull Your First NFL Data with nfl_data_py
Load a full season of NFL play-by-play, the nflverse way - including the real pandas-version gotcha that breaks nfl_data_py and the one-line fix around it.

12 tutorials
nflverse opens up every NFL play. Compute EPA, compare quarterbacks, and learn the modern football-analytics toolkit.
Start with the nflverse pull tutorial — one function call gets you real NFL play data — then EPA-explained-by-building-it, the metric the whole modern-football track speaks. The quarterback-comparison, tendencies-by-down, receiver-efficiency and fourth-down tutorials all assume both. nflverse data is genuinely free and genuinely complete; this track is the fastest route from zero to real analysis on this site.
No tutorials match that filter.
Load a full season of NFL play-by-play, the nflverse way - including the real pandas-version gotcha that breaks nfl_data_py and the one-line fix around it.

Aggregate play-by-play to the quarterback level and build a labeled scatter of EPA per dropback against completion percentage to compare passers fairly.

Pivot a season of play-by-play to map a team's run-pass tendencies across every down and distance - exactly the scouting grid coordinators build before a game.

Aggregate play-by-play to the receiver level to compare pass-catchers on targets, catch rate, YAC, and EPA — separating volume from true efficiency.

Turn an NFL point spread into a win probability three ways on 7,261 games with a closing line: raw bins, the 13.2-point normal model, and logistic regression.

Kaplan-Meier and log-rank by hand on 170 NFL head-coach hires: a four-season median, a shorter-leash headline that is censoring, and one split that holds.

Kendall's tau and Spearman's rho by hand on 26 NFL season pairs: order persists at a median tau-b of 0.205, and vanishes inside the playoff field.

Fit Bradley-Terry ratings by hand with the MM algorithm: schedule-adjusted strength for every NFL team, and an honest out-of-sample test against win %.

Expected Points Added is less mysterious than it sounds. Work with nflverse EPA directly, summarize it by down and play type, and learn what it really measures.

Filter play-by-play to fourth downs, classify each call (go, punt, kick), and rank teams by how often they go for it — the signal of analytics-era coaching.

Fit five quantile lines to 7,276 NFL margins with no scipy: the spread shifts the whole distribution, and the 80% band stays 34 points wide.

Regression discontinuity by hand on 13,904 NFL team-games: a close win buys nothing next week, and the balance check shows close games are not coin flips.
