Free 45-Chapter Textbook

Master NFL Analytics

The complete guide to football analytics for sports betting, fantasy football, and data science. Learn EPA, win probability, and data-driven decision making.

45 Chapters R & Python Code Free Forever
Worked Example EPA Calculator
2nd & 7 at opponent's 35
+2.34 EP
Illustrative example — open the EPA calculator to compute your own
45 Chapters
96 Stat Explainers
31 Interactive Tools
100+ Code Examples

The 2026 Season

Kickoff is September 9. The season hub, the frozen prediction ledger, and the opening slate — every number derived, graded in public.

2026 Season Hub

Every 2026 page in one place: the schedule analysis, all eight division previews, and a tracker page for each of the 32 teams.

Open the season hub

The Prediction Ledger

A frozen win probability for every 2026 game, published before kickoff and graded after. Week 1 is locked; misses stay on the page.

See the predictions

The Week 1 Slate

Sixteen openers across four days — a Wednesday Super Bowl rematch, Melbourne, and every pairing's head-to-head ledger since 1999.

Read the slate

Popular Analytics Tools

Free interactive calculators for NFL analytics, betting, and fantasy football

EPA Calculator

Calculate Expected Points for any down, distance, and field position situation.

Use Tool

4th Down Decision

Should you go for it, punt, or kick? Analyze the optimal fourth-down decision.

Use Tool

Win Probability

Estimate win probability from the score margin, time remaining, and which side has the ball.

Use Tool

Betting EV Calculator

Find +EV bets by comparing your probability estimates to betting odds.

Use Tool

Kelly Criterion

Calculate optimal bet sizing for long-term bankroll growth.

Use Tool

Odds Converter

Convert between American, Decimal, and Fractional odds instantly.

Use Tool

NFL Analytics Explainers

96 plain-English studies of the advanced numbers — each one the formula, a chart built from the bundled game log, and the caveat that keeps you from over-reading it. Latest September 9, 2026

The library runs from the metrics a broadcast quotes — expected points, DVOA, success rate, CPOE — through the structural effects that move games (home field, rest, weather), to the market studies that test what the betting line already knows (spread accuracy, road favorites, key numbers). The 12 newest are below; the rest are indexed on the explainers page.

Explainer

The Week 10 Problem That Isn't

Two forecasters that share no inputs post their worst week in the same week. The market's closing spread misses by 10.97 points in week 10 against 10.26 overall; this site's Elo picks winners at .5856 there against .6458. Shuffle the week labels 20,000 times and a random calendar's worst week is at least that bad 65% of the time on the market side and 42% on the model's, and the coincidence itself happens 11% of the time. Week 10 has been worse than its own season in 15 of 27 years, five of which supply the entire effect; strip them and it is 0.31 points better. The peak-bye explanation runs backwards — the bye games are the calm third of week 10 — and a simulated 2026 season of pure .6458 coins has a 6-and-8 week in it.

Explainer

The New-Coach Bounce Is Just Regression

Seven teams open 2026 under a new head coach and this site's rating cannot see a single one of them. It does not need to. Teams that changed coaches gained 8.12 points of win percentage against a 2.39-point decline for teams that kept theirs — 5.8 standard errors — but they had gone .3529 the year before against .5441, and holding last season's record fixed turns the bounce into −2.80 points (SE 1.46) and −17.7 points of differential. The model is unbiased on exactly the teams it is blind to: +1.17 percentage points on 1,921 team-games, cluster-robust SE 1.22, and .6465 accuracy against .6456. The market is the only party that pays — about a third of a point of spread, three times as much for a coach who has run a team before, and it does not come back.

Explainer

Two 14-3 Teams, 82 Points Apart

New England and Seattle both went 14–3 and the frozen board has them 81.8 rating points apart — a wider gap than it sees between Seattle and Buffalo. The gap is inherited, not earned: the model gave New England +201.3 points across 2025 against Seattle's +176.6, and the Patriots still trail because they opened last season 137.2 behind after two 4–13 years. The accounting runs 137.2 to 112.4 to 122.7, then 81.8 once August took a third. And when two identical records meet, the rating has been right: across 328 such games since 2010 the higher-rated side won 66.2% with a gap of 80 to 120 and 78.9% above it, against 50.9% under 40. Tonight the model says 67.9% and the vig-free market 64.5%.

Explainer

What One Game Moves: The Board After Wednesday Night

The 2026 board has not moved since August 12 and the first game to touch it kicks on Wednesday. The size of that touch is set less by the scoreboard than by which side wins: a field goal for Seattle is worth 8.4 rating points, the same field goal for New England 17.8, and the exchange rate between the branches is fixed at 2.111 — the prior odds on the model's own pick. Every margin is priced here both ways. New England needs to win by 24 to pass Seattle at the top; the whole night spans 77.3 rating points; the largest week-2 price swing available anywhere in the range is 5.0 points of probability, and no pick flips. Against the 7,276 moves this engine has ever made — median 17.05, largest 50.32 — a three-point Seattle win is a 13th-percentile night and a three-point New England win is a 53rd.

Explainer

The Shortest Lines of the Year: How Week 1 Is Priced

Openers are supposed to be the market's soft spot. Across 6,967 regular-season games since 1999 they are instead its shortest numbers: 4.52 points against 5.40 for every other week and 6.63 in week 18, with the average number growing 0.084 points a week (SE 0.011). It is not matchmaking — by last season's records week-1 pairings are no more even than any other week's — it is caution, priced at 22.2 points per unit of measured mismatch against 25.1 later. The caution costs information rather than accuracy: the opening number misses by 10.06 points against 10.28 later, but explains 9.9% of the margin against 19.0%. And it is not exploitable: the calibration slope is 0.919 ± 0.132, favorites went 196–218–10, and the 2026 board's 3.97-point average is exactly the discount the last twenty-six opening weekends took.

Explainer

The Offseason Haircut: What Each Team Gave Back Before Week 1

The frozen 2026 board is last season's ratings with a third of every deviation deleted, and that deletion is the largest change the model made all offseason — it signed nobody and watched nothing. Seattle handed back 84.8 rating points, the biggest move on the board, worth 1.21 expected wins; Tennessee, Las Vegas and the Jets were given 77.7, 77.0 and 71.7 for free. Seventeen teams paid, fifteen were paid, and the board's spread fell from 487 points to 325. One week-1 pick flips on it, three openers get louder rather than quieter, and 829 team-season pairs say the file itself keeps .634 of a January rating against the engine's .667 — with the worst teams, notably, bouncing back harder than a flat third expects.

Explainer

What a 60% Pick Is Worth: The 2026 Openers at Fair Prices

Fitted on 7,261 games rather than assumed, a point of spread multiplies the home side's odds by 1.153, which makes a 60% pick worth 3.03 points and about −148. Converting all sixteen frozen openers that way puts the model a mean of 2.19 points from the June lines in the schedule file, with five games more than three points apart and eight picks carrying positive expected value — the largest, Miami at Las Vegas, at +43.5% and a full-Kelly 30% of a bankroll. Then the audit that spoils it: the identical procedure over 4,174 games since 2010 loses 54.7 units, about the cost of the margin, and in the bucket where the model claims 16.7 points of edge its pick wins 49.1%. An encompassing regression puts the market's coefficient at 1.040 and the model's at 0.033.

Explainer

Nine Games on One Shelf: The 2026 Openers, Sorted by Conviction

Sort the sixteen frozen probabilities by how sure the model is and the 2026 board has a shape none of the sixteen earlier opening boards had: four games at 70% or better, two in the sixties, one coin flip, and nine stacked between 55% and 60% on a shelf 4.5 points wide. Prior boards averaged 3.7 shelf games and never held more than seven. The shelf is structural — two equal teams, one at home, price at 56.9% by arithmetic — and it is where Monday's grade will be decided: the nine games expect 5.13 correct, and in past openers that band has gone 35 of 58, .603 against a stated .574. The model has kept its stated number in five of six conviction bands in week 1, against two of six across all weeks.

Explainer

The First Four Games, Priced: Whose September Is Hardest in 2026

Price every team's weeks 1–4 with the frozen ratings instead of last year's records and the opening month is lopsided: New England faces an effective opponent of 1617.1 with one home game and expects 1.86 wins of four, 13.0 points below its own season pace; Baltimore faces 1416.8 and expects 2.71; the Giants are the most front-loaded team on the board. The ratings expect 2.41 teams at 4-0 and 2.44 at 0-4, and sixteen seasons produced 2.38 and 2.50. Then the part that matters in October, from 512 team-seasons: each September win above the priced expectation carries +5.4 points of win rate into the remaining games, while the difficulty of the opening schedule, given the record and the August rating, is worth .02 wins.

Explainer

The Six Games That Count Double: Division Record and the Playoff Race

Five of the sixteen openers are division games, and the broadcast line is that each counts double. Across 768 team-seasons since the 2002 realignment the file says it is worth about 1.30, not 2. Sorted raw, the gradient is brutal — 0 of 40 teams that went 0–6 in their own division reached January, 28 of 29 that swept did, the exception being Oakland at 8–8 in 2010 — but most of that is a restatement that good teams win games. Hold the win total fixed inside the 7-to-10-win bubble and a winning division record is still worth +15.0 points of playoff probability; fit the two columns separately and a division win carries 1.30 times the weight of a non-division win, a gap of 0.574 with SE 0.168. The 2026 board prices its five division openers at 59.9% confidence against 62.0% for the full slate.

Explainer

The Model Gets Louder, Not Smarter: 16 Seasons by Week

The ratings were frozen on August 12, so September should be the model's worst month. Sixteen seasons of grading say otherwise. Sorted by week instead of by year, 4,175 regular-season games give .6299 in weeks 1–4 against .6584 in weeks 14–18 — a 2.86-point gain with SE 2.09, which does not clear two — while stated confidence climbs 3.97 points over the same span. Week 1 has gone .6468, above the model's own season-long .6458 and better than nine of the other seventeen weeks. And the grading frame, published before kickoff: the 2026 openers expect 9.91 correct, and 7-of-16 through 13-of-16 covers 93.6% of the distribution.

Explainer

The Road Favorite Discount That Isn't There

The frozen board favors the visitor in four week-1 games, which every September gets read as a warning. It isn't one. Across 6,871 regular-season games at true home sites since 1999, home favorites won 67.66% and road favorites 64.70% — but home favorites were laying 5.85 points to the travelers' 4.49. Match on the exact closing number and the gap flips to −1.33 points in the traveler's favor (SE 1.20, z = −1.10). Against the spread it is the host who comes up short, 48.23% to 49.77%. In week 1 the road favorite is 96–48. The count is ordinary too — four market road favorites against a 27-year average of 5.44. What is unusual in 2026 is the composition: each board names four and they agree on two, and the two the model adds are the week's two biggest arguments with the market.

10-Part Curriculum

45 Comprehensive Chapters

From foundational concepts to advanced machine learning techniques, this textbook covers everything you need to master NFL analytics.

Browse All Chapters
Part I: Foundations

Data infrastructure, nflverse, wrangling, and visualization basics.

5 Chapters
Part II: Offensive

Passing, rushing, EPA analysis, success rate, and efficiency metrics.

7 Chapters
Part III: Defensive

Coverage analysis, pass rush, run defense, and scheme evaluation.

6 Chapters
Part V: Game Theory

Fourth down decisions, two-point conversions, and win probability.

4 Chapters
Part VII: Advanced

Machine learning, Bayesian methods, tracking data, and simulation.

5 Chapters
+ 5 More Parts

Special teams, personnel, college football, and future trends.

18 Chapters

Team Analytics

In-depth analytics profiles for all 32 NFL teams

R & Python

Ready-to-Use Code Examples

100+ code examples in R and Python covering data loading, EPA analysis, visualization, betting models, and machine learning.

  • Copy-paste ready
  • Downloadable scripts
  • Detailed explanations
  • nflfastR & nflverse
Browse Code Library
R
# Load NFL play-by-play data with nflfastR
library(nflfastR)
library(tidyverse)

# Get 2024 season data
pbp_2024 <- load_pbp(2024)

# Calculate team EPA per play
team_epa <- pbp_2024 %>%
  filter(!is.na(epa)) %>%
  group_by(posteam) %>%
  summarize(
    plays = n(),
    total_epa = sum(epa),
    epa_per_play = mean(epa),
    success_rate = mean(success)
  ) %>%
  arrange(desc(epa_per_play))

# View top offenses
head(team_epa, 10)

Sports Betting Analytics

Data-driven betting strategies

Learn how to use analytics to find +EV bets, manage your bankroll, and make smarter betting decisions.

  • Spread & totals strategies
  • Player prop analysis
  • Kelly Criterion bankroll management
  • Line movement analysis
Explore Betting

Resources Hub

Data sources, tools & community

Curated collection of the best NFL analytics resources, data sources, APIs, and learning materials.

18 Data Sources
14 APIs
12 Guides
11 Communities
Browse Resources

Ready to Master NFL Analytics?

Start with Chapter 1 and work your way through the full curriculum.