The complete guide to football analytics for sports betting, fantasy football, and data science. Learn EPA, win probability, and data-driven decision making.
Kickoff is September 9. The season hub, the frozen prediction ledger, and the opening slate — every number derived, graded in public.
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 hubA frozen win probability for every 2026 game, published before kickoff and graded after. Week 1 is locked; misses stay on the page.
See the predictionsSixteen openers across four days — a Wednesday Super Bowl rematch, Melbourne, and every pairing's head-to-head ledger since 1999.
Read the slateFree interactive calculators for NFL analytics, betting, and fantasy football
Calculate Expected Points for any down, distance, and field position situation.
Use ToolShould you go for it, punt, or kick? Analyze the optimal fourth-down decision.
Use ToolEstimate win probability from the score margin, time remaining, and which side has the ball.
Use ToolFind +EV bets by comparing your probability estimates to betting odds.
Use Tool135 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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
From foundational concepts to advanced machine learning techniques, this textbook covers everything you need to master NFL analytics.
Browse All ChaptersData infrastructure, nflverse, wrangling, and visualization basics.
5 ChaptersPassing, rushing, EPA analysis, success rate, and efficiency metrics.
7 ChaptersCoverage analysis, pass rush, run defense, and scheme evaluation.
6 ChaptersFourth down decisions, two-point conversions, and win probability.
4 ChaptersMachine learning, Bayesian methods, tracking data, and simulation.
5 ChaptersSpecial teams, personnel, college football, and future trends.
18 ChaptersIn-depth analytics profiles for all 32 NFL teams
100+ code examples in R and Python covering data loading, EPA analysis, visualization, betting models, and machine learning.
# 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)
Data-driven betting strategies
Learn how to use analytics to find +EV bets, manage your bankroll, and make smarter betting decisions.
Data sources, tools & community
Curated collection of the best NFL analytics resources, data sources, APIs, and learning materials.
Start with Chapter 1 and work your way through the full curriculum.