Expected Points Added is the single most important stat in modern NFL analytics. Here's what it measures, how it works, and why yards alone don't tell the story.
Football has a yardage obsession. A quarterback throws for 350 yards and the broadcast calls it a monster game. A running back grinds out 120 on the ground and analysts stamp it as dominant. But yards are a blunt instrument. They tell you how far the ball moved, not whether moving it actually mattered. If you’re unfamiliar with the abbreviations used across NFL analytics, the stats glossary is a good companion to this guide.
Consider two plays. On 3rd-and-3, a running back gains 5 yards. First down, the drive continues, scoring probability jumps. On 3rd-and-15, a running back gains 5 yards. The offense punts. Same yardage, completely different outcomes. Traditional stats treat those plays identically. EPA does not.
The same problem plagues total offense rankings. A team trailing by 28 in the fourth quarter racks up yards against a prevent defense. Their season yardage total inflates. Their actual ability to score when it matters hasn’t changed. Yards per game rankings are polluted with garbage-time noise, and there’s no way to filter it out without a fundamentally different approach to measuring play value.
EPA stands for Expected Points Added. It answers one question for every play: how much did this play change the offense’s expected points?
Before every snap, the offense has a certain expected point value based on four factors: down, distance to go, field position, and time remaining. A 1st-and-10 from your own 25 is worth about 0.9 expected points. A 1st-and-goal from the 2 is worth about 5.9. These baseline values come from analyzing hundreds of thousands of historical NFL plays to determine, on average, how many points teams scored from each situation.
After the play, the situation changes. New down, new distance, new field position. That new situation has its own expected point value. EPA is the difference:
A play that converts a 3rd-and-3 for a first down might move expected points from 1.2 to 2.8. That play has an EPA of +1.6. A sack on 1st-and-10 that creates 2nd-and-18 might drop expected points from 1.8 to 0.4. EPA of -1.4. A touchdown from the 5-yard line converts roughly 5.9 expected points into 7 actual points, so the EPA is about +1.1. An interception in the red zone might swing expected points from +5.5 to -2.0 for the offense, an EPA of -7.5.
The expected points model is the foundation. It’s built from every NFL play going back decades, mapping each game state to the average number of points scored on that drive from that point forward. The inputs:
The model accounts for the fact that possessions can end in touchdowns (+7), field goals (+3), safeties (-2), punts (0 immediate but costs field position), turnovers (gives opponent favorable field position), or end of half (0). Every situation gets a single number representing the average of all those possible outcomes weighted by their historical probability.
The public expected points models used across the analytics community come from nflfastR, the same play-by-play data source that NoPunt’s prediction pipeline is built on. The models are fit using multinomial logistic regression on millions of plays, producing smooth curves that estimate scoring probability from any field position and down-distance combination.
Raw EPA totals are useful but volume-dependent. A team that runs 75 plays per game will accumulate more total EPA than a team running 55, even if the second team is more efficient. The solution: EPA per play.
EPA/play normalizes for volume and gives you a rate stat. It answers: on any given snap, how many expected points does this team add (or subtract)? League average is 0.00 by definition. A team at +0.10 EPA/play is adding about a point of expected value every 10 plays. Over a full game of 65 offensive plays, that compounds to roughly 6.5 expected points of advantage, which is close to a touchdown.
The best offenses in the NFL typically sit between +0.10 and +0.20 EPA/play. The worst hover around -0.10 to -0.15. That spread looks small, but it translates to a 10-15 point swing per game between the best and worst units. EPA/play is why analytics-driven coverage has largely replaced yardage totals as the primary evaluation tool.
EPA splits into three views that matter for team evaluation:
How many expected points the offense adds per play. Positive means the offense is producing value. Measures passing EPA, rushing EPA, and overall efficiency.
How many expected points the defense allows per play. Lower (more negative) is better. A defense at -0.08 EPA/play is suppressing opposing offenses by nearly a point every 12 plays.
Offensive EPA minus Defensive EPA (allowed). The single best predictor of future wins in the NFL. A team with +0.15 Net EPA/play is elite on both sides.
NoPunt’s power rankings are built on exactly this framework: EPA composites across offense, defense, and special teams, normalized per play and rolled over recent games. You can see each team’s EPA breakdown on their team detail page.
Every traditional stat has a blind spot. EPA doesn’t eliminate all of them, but it addresses the biggest ones:
Passer rating was designed in 1973 and uses a formula with four inputs: completion percentage, yards per attempt, touchdowns per attempt, and interceptions per attempt. It doesn’t know whether a completion happened on 3rd-and-1 or 3rd-and-20. It doesn’t count sacks. It can’t tell you whether a game was competitive or a blowout. A quarterback can post a 120 passer rating in a loss while his 85-rated counterpart wins, and the stat has no mechanism to explain why.
ESPN’s QBR tried to fix this by adding context and weighting plays by leverage. It’s better than passer rating, but the formula is proprietary. You can’t reproduce it, audit it, or extend it. EPA is open-source. Every number is derived from public play-by-play data using public models. Anyone can verify it.
EPA is one of the primary features in NoPunt’s three-model ensemble. Here’s where it surfaces across the platform:
As a concrete example: during the 2025 season, Buffalo had a Net EPA/play of approximately +0.152, meaning they added about 0.15 expected points on every single play compared to league average. Over a game with roughly 65 offensive plays, that translates to about a 10-point built-in advantage. That number, combined with rest advantages, home/road splits, and the Vegas line as a calibration anchor, feeds directly into NoPunt’s win probability for each Buffalo game.
EPA is the best single metric for evaluating NFL teams and plays, but it isn’t perfect. Important caveats:
Despite these limitations, EPA/play remains the strongest single predictor of future NFL wins. It correlates with winning at a higher rate than yards, points, turnover margin, or any traditional box-score stat. See where every team stands on NoPunt’s EPA-based power rankings. If you’re interested in how EPA translates to point spreads and betting odds, those guides walk through the connection between analytics edges and line value.
NoPunt turns EPA into tier-graded picks with every result tracked publicly.