Free 43-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.

43 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
43 Chapters
135 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

135 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 October 7, 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

Week 5: Chicago Favoured at Lambeau, a First Since 2006

For the first time since 2006, both the closing line and this site's engine have Chicago favoured at Green Bay: DraftKings by 3, the ledger's frozen row at .5424. Green Bay had been favoured in 19 straight meetings there. Across 980 division games since 1999 in which the visitor was favoured at a rival's home, the length of the run that ended has not made the price wrong: after runs of one to nine meetings the visitor won .684 against .639 from the line, and the 23 games after runs of ten or more went 11-12, 1.68 standard errors from their price, too few to act on.

Explainer

Remaining Strength of Schedule After Week 4, Measured

Thirteen games are left for every team. Priced on the ratings the ledger uses, Chicago has the hardest remaining schedule and Cincinnati the easiest, 70.4 rating points apart and worth 1.19 wins to an average team. Tables built from opponents' records rank it differently, and sixteen seasons say which to trust: at this point of the season from 2010 to 2025, the ratings' forecast of a team's remaining opponents correlated .29 with how they went on to play, last season's records .18 and this season's records .17. The schedule then cost teams about exactly what the ratings said.

Explainer

Is London a Jacksonville Home Game? The Price Says Yes

The ledger's frozen .6603 for Jacksonville against Philadelphia on Sunday includes the engine's 48-point home edge, because the schedule file codes this London game Home and next week's Neutral. The betting market has answered the question in every season since 2013. Net of both teams' season baselines, the closing line charged 2.32 points for Jacksonville's twelve London home games, against 1.87 for an ordinary home game and 0.31 for other neutral-site hosts. Whether the market is right, the results cannot say: Jacksonville went 6-6 there, 3.13 points better than the engine's neutral expectation with a standard error of 5.28.

Explainer

Houston at Tennessee: Two 0-4 Teams, 217.7 Points Apart

Both teams are 0-4, with point differentials of -25 and -28, yet the board puts them 217.7 rating points apart, almost all of it carried from August, and the ledger makes Houston a .7265 favourite on the road; DraftKings says .7409. No meeting of two winless teams since 1999 has had a wider gap. Barring a tie, one of them leaves Sunday at 0-5, and none of the 81 teams that started 0-4 since 1999 made the playoffs. With the other three 0-4 teams all underdogs, the ledger expects 2.87 teams at 0-5 after week 5 and gives four, the most in any season since 1999, a .2401 chance.

Explainer

Five Teams at 0-4: The September Forecast, Graded

On September 6 the frozen August board priced every team's first four games and expected 2.41 teams at 4-0 and 2.44 at 0-4 by October 5. The season produced three and five. Simulating the 64 games together, five or more was a 4.8% outcome, and five ties the most in 27 seasons. It came from the wrong teams: the three likeliest 0-4 teams all won, and Houston, priced at 1.1%, did not. Graded on all 32 records the board still beat the everyone-goes-2-2 rule by .04 to .05 a team, about twice its usual margin. The miss was in the tails.

Explainer

0-4 and Still 14th: Is the Board Too Slow?

Houston is 0-4 and the board still ranks it 14th, which looks like a model too slow to believe a record. Across 512 team-seasons it is not: grouped by record, the board's forecasts after four games matched the rest of the season, 0-4 teams included (.352 forecast, .354 played), and a faster K for the opening month would have improved the later games by .00004 of Brier at best. What the board over-trusts is the rating it carried from August, which history weights at .705. Houston's 14th is mostly August: discounted, its last 13 games project to 6.50 wins, not 7.06.

Explainer

Eleven of Sixteen: Week 3, Graded Against the Market

The ledger went eleven of sixteen in week 3 with a Brier score of .2259. The closing market's favourites went nine of sixteen and scored .2541, and both games in which the two picked different winners went the ledger's way. Only 15 of 277 weeks since 2010 were better for the model against the close, and the season now reads .2293 to the market's .2327. History says what that lead is worth: the model was ahead after three weeks in seven of sixteen seasons and finished ahead in two.

Explainer

Boom or Bust Is Not a Trait: Atlanta at New Orleans

Atlanta's first three games missed the closing spread by 0.5, 28.5 and 25.5 points, the most erratic start of 2026 and among the top 2% since 1999. It changes nothing about Monday night. Across 861 team-seasons a team's scatter around the line in its first three games correlates .013 with the rest of its season, odd games do not predict even ones (-.003), and a seeded simulation shows a real difference of 1.5 points between teams would have been caught 99% of the time. The ledger's frozen .5403 for New Orleans stands, a quarter point from DraftKings' .5427.

Explainer

Atlanta 35, Green Bay 14: The Swing Back, Graded

The ledger had Green Bay at .7139 and Atlanta won by 21. The game moved both teams 41.16 rating points, second in 2026 only to Carolina's 34-3 win at Atlanta four days earlier, so the season's two biggest swings are both Atlanta's and nearly cancel. Re-priced three ways, Atlanta's playoff odds went from 8.0% to 13.5% on the result alone and to 22.8% once the ratings moved. The market spent the week moving toward Atlanta and beat the ledger on the game.

Explainer

Denver's Home Field, Measured: Above Average, Not Exceptional

The Rams and Denver are rated four tenths of a point apart, so Sunday night's pick is almost all home field. Since 1999 Denver's home edge is 2.91 points, eighth of 32 and 0.77 standard errors above the league average; the engine's fitted edge for Denver is 83.9 Elo points with a 95% interval of 35 to 136; and in division games the market charged a 0.42-point altitude premium the results did not earn. DraftKings has the Rams favoured by 2.5, a disagreement about the teams, not the altitude.

Explainer

What 0-3 Means, and How Many 2026 Is About to Have

Since 1999, 129 teams have started 0-3 and two made the playoffs, both of them Houston. For a team already 0-2, winning game three moved the playoff rate from 1.6% to 24.0%, and holding the rating fixed barely changes that. The ledger's week-3 prices expect 5.27 teams at 0-3 by Monday, against a 2002-2025 average of 4.67.

Explainer

Lost, Then Won: Does the Order of a 1-1 Start Matter?

2026 splits exactly 8-8-8-8 after two weeks, and half of that is arithmetic. Across 401 1-1 starts since 1999, teams that won first and teams that lost first finished the season within 0.0012 of each other. Game three leans slightly toward the team that won last, against both the engine and the closing spread, at 1.45 to 1.66 standard errors: not enough to act on.

10-Part Curriculum

43 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.