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 Tool147 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 13, 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.
Every team has played four or five games, and the AFC and NFC standings after week 5 set each record beside its points. Five records run a full win or more ahead of their Pythagorean count, San Francisco, Minnesota, Kansas City, Buffalo and Cleveland (3-2 at -19), and three a full win behind, Houston, the Chargers and Tampa Bay. Since 2002, 75 teams a win ahead after five games won .522 of the rest, close to their Pythagorean .535 and far from their .792 record; point margin carried nearly all the signal.
After Buffalo's Monday win at the Rams closed week 5, the site's 20,000-season simulation gives every team's playoff and division odds. The AFC field is fairly settled; in the NFC seven teams sit between 35% and 55%. Chicago at Atlanta has the most at stake in week 6, 71.2 points of playoff odds; Carolina at Philadelphia the most for division titles. None of the six division games ranks in the top six. Since 2002, about three and a half playoff teams a season came from outside the top seats after week 5.
The ledger's frozen rows went eight right and three wrong in week 5's twelve Sunday games, and the Giants and Washington finished 27-27. The Brier score of .1679 beat the closing market's .1741 and Thursday's DraftKings board, and the two games in which ledger and market picked different winners split one each. For the season the ledger now leads the close .2173 to .2243. Since 2010 the engine has led the close after week 5 in four seasons and kept the lead in two, each time from a bigger lead than this one. Written before Monday night's game.
Run before and after Sunday's twelve games, the site's 20,000-season simulation moves the 32 playoff odds by a combined 208.3 points. Chicago fell furthest, from 65.9% to 37.3% after losing 31-7 at Green Bay; Baltimore at Atlanta had the most at stake, and San Francisco at Seattle the least for the playoffs, though it swung the NFC West title. Per game it was a quiet week 5, 19th of 25 since 2002. Over those seasons week-5 moves held at a slope of 0.79: falls stuck, and rises gave some back. Monday night is drawn from the board, unplayed.
Kansas City and Carolina take the first byes of 2026 in week 5 and then play thirteen straight weeks. Since 2002 a long run of games without a week off has cost nothing measurable: across 5,481 games, each game of difference in the two teams' runs moved results by -.001 against the site's engine and -0.01 points against the closing spread, and early-bye teams matched both in December. The part of the bye that shows up is the first game back, where teams have beaten the engine's numbers by .045, a rest edge the engine cannot see and the market mostly prices.
Seven teams changed head coach for 2026, and four of them are 3-1. Together the seven are 14-14, 1.45 wins ahead of the site's engine and 2.26 ahead of the closing line, and the August board gave four or more 3-1 starts a .047 chance. In the engine's graded window, 2010-2025, the 20 new-coach teams that beat it by a win or more over four games kept beating it, by .072 a game; over every season since 2000 that falls to .030, a lead rather than a finding. Written before this weekend's games.
As week 5 began the board had Seattle 1st, San Francisco 3rd and the Rams 6th, and their average rating, 1639.9, is the highest any division's top three has carried at this point since the 2002 realignment. The site's simulation sends three NFC West teams to the playoffs in 54.4% of seasons. Replayed from week 5 of every season since 2002, the same simulation expected 12.94 three-team divisions and 14 happened, so the count holds up. Sunday's San Francisco at Seattle moves the division title about 30 points either way and the three-team chance by 1.8; Monday's Rams game moves it by 16.2.
Washington and the Jets are 1-3 and favoured on Sunday over 3-1 teams, the Giants and Cleveland. In 34 game-five meetings of a 3-1 and a 1-3 team since 1999 the closing line favoured the 1-3 team twice. Across the 336 games since 1999 in which the favourite had two or more fewer wins, the favourites won .625 against .608 from the line, and this site's engine, which reads only scores, gave them .474. A quarterback change explains part of it; the rest the file cannot see. The ledger's frozen rows side with Washington, barely, and with Cleveland.
The ledger froze Dallas at .6405 on October 6, and Tampa Bay won 24-16, a miss scored at .4102. The market spent the week moving the other way: DraftKings opened within half a point of the ledger, and the closing line in the nflverse file had Dallas at .8082, so every later price scored worse than the frozen number. The game moved both teams 26.92 rating points, Tampa Bay from 26th to 23rd and Dallas from 20th to 24th, and the playoff simulation now gives Tampa Bay 13.6% and Dallas 12.2%.
Week 5 sends three teams three time zones from home, and the ledger prices each trip with the same 48-point home edge it gives a game across town. Since 1999 that has been fair: across 821 three-hour trips the home side's results sat within about one standard error of both the engine and the closing spread, and western teams in 1 p.m. Eastern games did no worse than priced. The one place a long westward trip has paid the visitor is at the three hosts that moved cities, the Rams among them, a pattern found by looking and flagged as such.
Tampa Bay is 0-4 by 20 points, tied for the second-narrowest of 86 0-4 starts since 1999, and the ledger's frozen row makes Dallas a .6405 favourite, about four points. DraftKings opened within half a point of that and now has Dallas by 8.5, a vig-free .7914. In the 121 games since 2010 in which the market was 15 or more points surer of the same favourite than the engine, those favourites won .793. A narrow 0-4 has meant little once the engine's numbers are known: against them, the margin of the four losses tests at 0.6 standard errors.
The frozen ledger and this morning's DraftKings prices pick the same winner in thirteen of week 5's fifteen games, and six are 10 or more points apart. Sixteen seasons of the same comparison, 4,153 games, say which number to trust: in seven of eight kinds of disagreement the results sat nearer the market's, and the market's Brier score was lower in all eight. When the two picked different winners the market's side won 373 to 289, though less than 10 points apart the engine's side led 100-91, a coin flip, which is where Cleveland at the Jets sits.
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.