The numbers behind the game
How it works
Eight factors help explain how a game was won. Read them together with the plays, the score, and the size of each advantage.
01 / Reading the dashboard
What does winning 5/8 mean?
A team wins a factor when its value is better than its opponent’s in the selected view. Fewer turnovers and penalty yards are better; higher values win the other factors, with field position measured from the offense’s own goal line.
Tied factors count for neither team. An unavailable comparison stays undecided. The two teams’ counts therefore do not always add up to eight. For example, 5 factors for one team, 2 for the other, and 1 tie accounts for all eight.
Each factor contributes one to the count, regardless of its margin. A narrow edge in yards per play counts the same as a large edge. The count does not weight importance, and the factors overlap.
02 / The historical check
How often did those teams win?
In the 2025 regular season, teams winning five full-game factors had an 86.3% winning percentage. At six factors, it was 97.2%.
We checked all 272 games. After excluding games with source discrepancies or unavailable comparisons, 256 games remained for Full game and 244 for Competitive. Playoffs are excluded.
Scroll the table sideways to compare both views →
| Factors won | Full game · 256 games | Competitive · 244 games | ||||
|---|---|---|---|---|---|---|
| W–L–T | Teams* | Win % | W–L–T | Teams* | Win % | |
| 0/8 | 0–30–0 | 30 | 0.0% | 0–23–0 | 23 | 0.0% |
| 1/8 | 2–64–0 | 66 | 3.0% | 2–61–0 | 63 | 3.2% |
| 2/8 | 17–55–1 | 73 | 24.0% | 15–57–1 | 73 | 21.2% |
| 3/8 | 35–57–0 | 92 | 38.0% | 33–55–0 | 88 | 37.5% |
| 4/8 | 56–38–0 | 94 | 59.6% | 66–37–0 | 103 | 64.1% |
| 5/8 | 63–10–0 | 73 | 86.3% | 59–9–0 | 68 | 86.8% |
| 6/8 | 52–1–1 | 54 | 97.2% | 45–1–1 | 47 | 96.8% |
| 7/8 | 26–0–0 | 26 | 100.0% | 20–0–0 | 20 | 100.0% |
| 8/8 | 4–0–0 | 4 | 100.0% | 3–0–0 | 3 | 100.0% |
*Team appearances, not distinct franchises. Each game contributes two observations. W–L–T means wins, losses and ties. Winning percentage = (wins + ½ × ties) ÷ team appearances.
How we checked the 2025 sample
We calculated the factors from ESPN game summaries using the same metric and comparison rules as the dashboard. All 272 game IDs and final score pairs matched the nflverse schedule. Ties were determined from the returned metric values, including the displayed whole-yard field position.
Full game excluded 15 games where parsed yardage, turnovers or offensive-play counts did not reconcile with the box score, plus one game with an unavailable factor comparison. Competitive excluded 28 games in total: 15 with source discrepancies, 5 with unavailable comparisons (including one already excluded for a discrepancy), and 9 with less than 95% play-level win-probability coverage. Competitive also required a structured penalty feed.
A rate, trip or field-position comparison needs a nonempty eligible sample for both teams. The larger sample thresholds used to draw bars do not change the factor count. Unavailable factors were never treated as losses in this table.
As a sensitivity check, including all 272 games gave a full-game win rate of 85.3% at 5/8 and 97.5% at 6/8, close to the checked sample. This is a fixed analysis prepared October 4, 2026, not a live-updating forecast.
03 / The definitions
The eight factors
The framework builds on efficiency, explosiveness, finishing drives, field position and turnovers, with penalties and non-offensive scoring providing additional context.
Turnovers
Fewer is better
Giveaways from interceptions, lost fumbles and muffed kicks. An onside kick recovered by the kicking team also counts against the receiving team, an addition to ESPN’s official turnover total. Turnover on downs is excluded.
Success rate
Higher is better
The share of eligible offensive plays that gain at least 40% of the yards needed on first down, 60% on second down, and 100% on third or fourth down. This measures how consistently an offense gains enough yards.
Adjusted yards per play
Higher is better
Adjusted offensive yards divided by eligible offensive plays in the selected view. Kneels and spikes are excluded; aborted snaps are included. This can differ from official box-score yards per play.
Explosive-play rate
Higher is better
The share of eligible offensive plays gaining at least 10 yards on a run or 20 yards on a pass dropback. Scrambles and sacks count as pass dropbacks throughout the offensive metrics.
Points per trip
Higher is better
Average points from drives that reach the opponent’s 40-yard line, including trips that score zero. A touchdown that crosses the 40 on the scoring play also qualifies. This covers a wider area than the red zone.
Starting field position
Closer to the opponent’s goal is better
The average starting spot of offensive drives. Own 35 is better than Own 22; Opp 32 is better still. On the opponent’s half, Opp 20 is better than Opp 32.
Penalty yards
Fewer is better
Yards assessed against each team. Full game uses ESPN’s box score; Competitive uses accepted play-level penalties in that scope. If accepted penalty yards or team attribution are unresolved, the comparison stays undecided.
Non-offensive points
Higher is better
Points credited to defensive and special-teams scores, such as interception and fumble returns, kick and punt returns, blocked-kick returns, and safeties. Ordinary offensive field goals are not included.
Offensive rates use eligible plays under the app’s parsing rules, rather than every line in the play feed. Kneels, spikes, special-teams plays, penalty-only plays and nullified plays are excluded; credited action on some penalty plays can still count.
04 / Choose the lens
Competitive or Full game?
Full game uses the whole game’s available data. The offensive-play exclusions described above still apply.
Competitive keeps the game through the latest play where both teams’ win probabilities are below 97.5% at the start or end of the play. Everything before that point stays included. Only the trailing stretch after the last competitive state is removed.
If a comeback brings the game back into range, earlier plays return to the sample. Plays with incomplete win-probability data are conservatively retained. If the feed is unavailable, the app falls back to full-game data and identifies that limitation.
What do the bars mean?
The shaded value identifies the factor leader. The bar compares the size of the gap with a historical large-gap reference for that factor and view, capped at a full bar. It does not measure how much that factor caused the win.
The references are rounded 90th percentiles of nonzero gaps from 224 completed 2025 games in weeks 1–15, with checks against 2026 weeks 1–3 and usable 2024 data. That calibration sample is separate from the full-season outcome study above.
Bars require at least 20 eligible offensive plays per team for rate factors, two trips per team for points per trip, or five drive starts per team for field position. Ties and unresolved comparisons have no bar. Live bars use completed-game references, so their scale is provisional.
05 / Sources & limits
Follow the numbers back to the plays
ESPN supplies game scores, box scores, play-by-play and win probabilities. The app calculates the derived factors from that feed. Expand a factor on a game page to inspect its supporting plays and drives.
Live data can arrive late or be corrected. A source-gap notice means the available plays do not reproduce official totals; play-derived factors may be incomplete even when the final score is correct. Missing values remain unavailable rather than becoming zero.
WP and EPA
WP is a team’s win probability. A change from 40% to 50% is a rise of 10 percentage points (pp), not 10%.
EPA estimates expected points added by a play for the team named on its card. It uses the nflfastR expected-points model and a separate 2025 field-goal baseline. A live estimate may wait for the next play’s state; unsupported or incomplete inputs stay unavailable.
The 2025 outcome study used the nflverse game schedule to cross-check game coverage and final scores. Final-stat associations do not establish that any single factor caused a result.