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
87 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

87 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 5, 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 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.

Explainer

Kansas City Is 17th: What 2025 Did to the Chiefs' Rating

The board opens 2026 with Kansas City at 1508.2 — 3.2 points above what the engine hands a team it has never seen — after nine straight seasons ranked no worse than seventh. The 2025 collapse cost 193.9 rating points, second-steepest of the 47 falls from 1700 or better. Then the uncomfortable part: the Chiefs outscored their opponents by 34 and went 6–11, the second-largest Pythagorean shortfall in 861 team-seasons, built on a 1–9 record in one-score games this site has already published as noise. Denver is the same season pointed the other way, 11–2 in close games and rated fourth. They meet Monday, and the ledger picks the visitor while the market picks the host.

Explainer

Opening Night 2026: The Rematch, Priced

The season opens Wednesday, September 9 at Lumen Field — only the second Wednesday opener in the file's twenty-eight seasons — with the Super Bowl LX rematch. The series says Seattle: five of eight all-time, four straight, six of eight one-score, and an average margin of 4.7 points before February's 29–13. The frozen board says Seattle too: #1 at 1674.6 hosting #6 at 1592.8, a 129.8-point effective gap, 67.9%. What the number cannot see is the grudge — and the companion study on Super Bowl sequels suggests the grudge has rarely been enough.

Explainer

The Super Bowl Rematch Effect: Six Sequels Since 1999

Twenty-seven Super Bowls sit in the games file and only six produced a rematch the following regular season — none before 2013, all six since. The champion won five, by an average of 6.7, and home field wasn't the reason: the home team won just three of six. The lone avenger is the 2023 Eagles. The one prior banner-night sequel — Carolina at Denver, 2016 — went to the champion by a point, which makes Wednesday in Seattle the second of its kind. Six games is six games; the page says so out loud.

Explainer

The Miss Budget: This Model Expects to Be Wrong 99 Times in 2026

Sum each game's chance of fooling the model and the frozen 2026 ratings expect 99 wrong picks across the 272-game season — published before kickoff, exact distribution attached: 90% of seasons land between 86 and 112 misses, which is 68.4% accuracy down to 58.8%. The 42 heaviest favorites still owe nine misses, the purest coin flip on the board is Green Bay at Tampa Bay in week 4 (50.07%, a 47.5-point rating edge cancelled by home field), and sixteen backtest seasons all kept the budget inside two sigma — 2020 hit it to the decimal, 91 actual against 91.0 expected. Around 99 misses is the model working.

Explainer

The Series Nobody Tracks: AFC vs NFC Across 1,616 Games

Since the 2002 realignment the two conferences have met 1,616 times in the regular season, and the AFC leads 823–787–6 — a .511 edge banked entirely by 2010, when nine seasons at .5625 sat three standard errors from a coin flip. Since 2011 the AFC is 500–536–4, the 17-game era is dead even at 196–203–1, and home teams do no better hosting the other conference (56.6%) than their own (55.9%). In 2026 the slate is 80 games, four division pairings, and all sixteen seventeenth-games hosted by the NFC.

Explainer

The Season That Can't Break Even: Five Years of the 17-Game Schedule

Five seasons of 17 games rewired the league's record geometry: 65 teams finished exactly .500 in the last nineteen 16-game years, and exactly one — Washington's tie-assisted 8-8-1 in 2022 — has managed it in 160 tries since. The 8-8 crowd became twin peaks at 8-9 and 9-8, the most common season moved from seven wins to nine, 10-6 became unpostable, and half the league now holds a ninth home date whose value the schedule's own design — alternating it by conference — makes impossible to measure cleanly. The cancelled 2022 Buffalo–Cincinnati game gets its own paragraph.

Explainer

The Coach Ledger: Detroit, Dallas and New England in 2026

Three franchises made the same bet on three different amounts of evidence, and the schedule file's per-game coach fields let us grade each man on the games he actually coached. Dan Campbell inherited 14-33-1 and is 48-36-1 with a fresh 9-8 dent — and a 21-21-1 record in one-score games against 14-8 in blowouts. Mike Vrabel owns the fastest turnaround in the file — 4-13 to 14-3 and a Super Bowl trip, a +298 swing — and the 13-21 Tennessee ending that preceded it; his 2026 opens at Seattle, the team that beat him in February. Brian Schottenheimer's 17 games improved Dallas by 78 points of differential while losing half a win. The board prices them #6, #9 and #22, and this page says what would count as evidence for each.

Explainer

Week 1 Predictions, By the Numbers: All 16 Games, Priced

The ledger froze its ratings on August 12 and priced every opener before anyone kicked anything: 9.32 expected home wins, 9.91 expected favorite wins, and the miss budget's first installment of 6.09 wrong picks, due by Monday night. The exact distribution makes 6 upsets the single most likely week (20.5%) and all-chalk a 1-in-2,400 event; four favorites are on the road, the biggest number is Jacksonville's 75.3% over Cleveland, the smallest is the Giants' 51.0% coin flip with Dallas, and in five games — every one priced inside three market points — the model and the schedule file's market snapshot pick different winners. Graded in public, never edited afterward.

Explainer

The 48-Point Home Edge, Switched Off: Pricing 2026's Eight International Games

Eight 2026 games are played abroad with a home team on the label and none on the field, and the ledger waives its +48 Elo edge on every one: a haircut of 6.6 to 6.9 percentage points per game, 0.543 expected wins redistributed, and four designated hosts — Washington, Jacksonville, Atlanta and Detroit — who stop being favorites. History backs the waiver: designated home teams are 30-35-1 in neutral-site regular-season games since 2003, a .462 rate against .563 for real home teams. The ninth international game, Philadelphia at Jacksonville in London, is coded a home game instead, and this page says so out loud.

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.