SportsDataTutorials

Free course · Intermediate · 9 parts · ~105 min

NFL Analytics with nflverse

EPA built by hand, quarterback efficiency, play-calling tendencies, receiver value, the fourth-down decision, spreads as probabilities and coaching tenure.

Modern football analytics is EPA — expected points added — and this course refuses to treat it as a given: the first tutorial builds the metric from play-by-play data so you know exactly what it rewards and hides. The rest of the course spends it: quarterback comparisons, run/pass tendencies by down and distance, receiver efficiency, and the fourth-down go-for-it decision that made analytics famous. The last four builds step back from the play-by-play to game-level tables: a point spread turned into a win probability, a survival curve for how long a head coach lasts when the longest tenures have not ended, that same spread read once more as a forecast of the entire margin distribution, and a strength rating built from who beat whom.

nflverse data is genuinely free and genuinely complete — every play, every season. This is the fastest route on the site from zero to an argument-settling chart.

What you'll be able to do

  • Explain EPA by having computed it from raw plays
  • Compare quarterbacks on efficiency rather than counting stats
  • Expose a team's play-calling tendencies by down and distance
  • Reproduce the fourth-down decision analysis
  • Convert a point spread into a calibrated win probability and score it out of sample
  • Estimate a survival curve from censored durations and compare two with a log-rank test
  • Fit conditional quantiles by hand and test whether a predictor moves a distribution's width or only its centre
  • Rate teams from who they beat with a hand-written Bradley-Terry fit and test it out of sample
Download the course bundle - every script + dataset, one ZIP

The bundle contains each part's finished script, the shared helpers, and the sample data they read, with a README listing the run order - the whole course works offline.

The syllabus

Pace: Part 1 is mandatory first; parts 2-5 spend what it built, and parts 6-9 need only game-level tables. Nine sittings.

  1. EPA Explained by Building It: Analyze Play-by-Play DataAdvanced · ~9 minBuild EPA before you trust it - yards lie, points don't.
  2. Build a QB Efficiency Comparison ChartIntermediate · ~9 minSpend EPA on the position everyone argues about.
  3. Team Tendencies: Run/Pass Rate by Down and DistanceIntermediate · ~9 minDown-and-distance tendencies: teams are more predictable than they think.
  4. Receiver Efficiency: Targets, Catches, and Yards After CatchIntermediate · ~9 minSeparating usage from efficiency in the receiving game.
  5. Fourth-Down Decisions: Which Teams Go For It?Advanced · ~9 minThe famous one: when the math says go for it.
  6. Point Spread to Win Probability: Calibrate the Line on 7,261 NFL GamesIntermediate · ~16 minThe market's number, decoded: a spread is a win probability once you know one sd.
  7. Survival Curves: How Long NFL Head Coaches Really LastIntermediate · ~14 minDurations the data has not finished: how long a coach lasts, with the survivors counted.
  8. Quantile Regression: The Whole Margin, Not Just the AverageAdvanced · ~19 minThe same spread, read as a whole distribution - where least squares has nothing to say.
  9. Bradley-Terry Ratings: Strength From Who You BeatIntermediate · ~11 minStrength from who you beat, then the honest test: does the schedule adjustment help on unseen games?

Check yourself

Five questions, graded on the page, nothing recorded anywhere - pick an answer and the explanation appears.

1. EPA measures…

2. Why is a 3-yard gain worth more on 3rd-and-2 than on 3rd-and-8?

3. Analytics often favors going for it on fourth-and-short because…

4. Yards after catch (YAC) helps separate…

5. nflverse data is…

Where next: Statistics for Sports Data · Hockey & Cross-League Projects.