Pigskin NightlyWeek 10
Latest
Bengals DeskBengals earned a road win in Atlanta from the first deep ball to the last punt3 min agoInjuryJalen Travis: Doubtful → Questionable10 min agoInjuryCam Skattebo: Questionable → Out10 min agoNew York GiantsVote: Arvell Reese nominated for Pepsi NFL Rookie of the WeekBaltimore RavensReports: Falcons Signing Kicker Jake Moody Off Ravens' Practice SquadPro Football Rumors49ers To Acquire WR Keenan AllenESPNSources: Vikings have identified Raiders QB Kirk Cousins as prime trade targetPro Football RumorsKirk Cousins Emerges As Vikings Trade TargetJacksonville JaguarsTuesday Insider: "How Great Do We Want To Be?"InjuryJake Moody: Active → Cleared43 min agoPro Football RumorsJets Expected To Trade CB Nahshon WrightFalcons DeskFalcons were outplayed on nearly every snap in a 34-17 loss to the Bengals53 min agoESPNSource: Falcons cutting kicker Nick Folk, signing Jake MoodyBaltimore RavensThe Stats That Defined the First Half of the Ravens' 2026 SeasonPro Football RumorsSaints C Erik McCoy To Miss Time With Biceps InjuryAtlanta FalconsWeek 10 NFL Power Rankings Roundup: Packers on the move, top offenses stand firmRavens DeskRavens were outplayed on every snap in a deserved 33-10 loss to the Jaguars1 h agoLos Angeles RamsRams Power Rankings: Week 10Las Vegas Raiders1976 Unsung Hero: David HummNew York JetsFilm Breakdown | How Did Breece Hall Perform in his Return from Injury?InjuryMarcus Epps: Active → Cleared1 h agoPatriots DeskPatriots lost to Green Bay by 18 and the snaps said it was worse1 h ago
WSH ThuNYG NE SunDET BUF SunNYJ CAR SunNO HOU SunCLE JAX SunTEN KC SunATL MIA SunIND MIN SunGB LAR SunARI SEA SunLV SF SunDAL PIT SunCIN LAC MonBAL
Expected points added per play · 2026 regular season · weeks 1–9 · 2nd down · leading

The EPA map

Span
Season
Reset all

Small sample: the median team has 58 offensive plays in this view, so a few snaps move the rates a lot.

Bottom line49ers have the best balance (+0.358 net per play). Best offense: Titans (+0.338); stingiest defense: Seahawks (-0.232 allowed). 7 of 32 teams are above average on both sides.

How to read this chart
One logo = one team.
Left to right is its offense: EPA per play, the expected points each snap adds. Further right = a better offense.
Bottom to top is its defense,
measured as EPA allowed per play. For a defense lower is better, so the scale is flipped: the higher a logo sits, the less its defense gives up.
The dashed lines
are the league average on each side. Top right = above average on both; bottom left = below average on both.
Tap a logo
to open the team. The table below has the same numbers; switch it to “All columns” for the dropback and rush splits.
Good offense
good defense
Bad offense
good defense
Bad offense
bad defense
Good offense
bad defense
-0.50-0.250.00+0.25+0.30+0.20+0.100.00-0.10-0.2049ers logoTitans logoPackers logoPanthers logoBuccaneers logoSeahawks logoGiants logoRams logoVikings logoCommanders logoRavens logoTexans logoJaguars logoSteelers logoBears logoPatriots logoChiefs logoLions logoBills logoDolphins logoFalcons logoBengals logoCowboys logoChargers logoCardinals logoEagles logoSaints logoBroncos logoColts logoJets logoBrowns logoRaiders logo
Offense EPA per play →↑ Better defense · EPA allowed per play, lower is better

All 32 teams

Default order: net EPA per play (offense minus defense). Tap a column to sort. Overview columns: pick “All columns” above for the splits.
Sample: weeks 1–9 · 2–8 games per team · 1,819 offensive plays, 2,610 defensive · source: nflverse play-by-play
#???
149ers logo49ers7-1+0.358+0.193-0.1658
2Titans logoTitans1-7+0.348+0.338-0.0104
3Packers logoPackers6-3+0.336+0.161-0.1756
4Panthers logoPanthers3-5+0.305+0.183-0.1225
5Buccaneers logoBuccaneers3-6+0.255+0.034-0.2206
6Seahawks logoSeahawks5-4+0.200-0.033-0.2325
7Giants logoGiants5-2-1+0.158+0.052-0.1056
8Rams logoRams5-4+0.147+0.217+0.0708
9Vikings logoVikings6-2+0.138-0.041-0.1797
10Commanders logoCommanders2-5-1+0.107-0.037-0.1446
11Ravens logoRavens4-5+0.101+0.051-0.0507
12Texans logoTexans3-5+0.088+0.171+0.0835
13Jaguars logoJaguars6-2+0.069+0.158+0.0897
14Steelers logoSteelers6-2+0.057-0.113-0.1706
15Bears logoBears7-2+0.047-0.004-0.0517
16Patriots logoPatriots5-4+0.028-0.028-0.0566
17Chiefs logoChiefs6-2+0.027-0.076-0.1037
18Lions logoLions6-2+0.018-0.045-0.0637
19Bills logoBills7-1+0.002+0.046+0.0447
20Dolphins logoDolphins1-7+0.000+0.104+0.1032
21Falcons logoFalcons3-6-0.006+0.039+0.0454
22Bengals logoBengals6-2-0.053-0.251-0.1986
23Cowboys logoCowboys4-5-0.092-0.005+0.0876
24Chargers logoChargers0-8-0.107-0.006+0.1023
25Cardinals logoCardinals3-6-0.109+0.015+0.1245
26Eagles logoEagles2-7-0.125-0.130-0.0056
27Saints logoSaints3-5-0.159-0.124+0.0344
28Broncos logoBroncos7-2-0.246-0.117+0.1296
29Colts logoColts2-7-0.275-0.144+0.1315
30Jets logoJets2-7-0.324-0.098+0.2266
31Browns logoBrowns5-4-0.388-0.126+0.2625
32Raiders logoRaiders4-5-0.681-0.514+0.1676

EPA (expected points added) values each play by how much it changed the expected points of the drive, given down, distance, field position and time. Dropback EPA covers passes, sacks and scrambles; rush EPA covers designed runs only. Success rate counts plays with positive EPA. PROE is pass rate over expected: how often a team throws compared with what an average team would do in the same spot. Regular season only, two-point tries included as in the season totals. Home and away, score and last-4 filters apply from each team's side: a defense's “leading” plays are the ones its team led before the snap. The score before each snap comes from the ESPN play log. Source: nflverse play-by-play.