Pigskin NightlyWeek 10
Latest
InjuryKyler Murray: Questionable → Out10 min agoInjuryDaiyan Henley: Active → Cleared10 min agoRaiders DeskRaiders were outplayed from the first quarter in a deserved loss to the 49ers12 min agoIndianapolis ColtsColts sign WR Nick Westbrook-Ikhine to 53-man roster from practice squad; sign LS Jacob Bobenmoyer to practice squadPro Football RumorsBroncos To Acquire LB Daiyan Henley From ChargersMinnesota VikingsVikings Bring Back Quarterback Kirk Cousins via Trade with RaidersPro Football RumorsColts Will Not Trade Jonathan Taylor Before DeadlineInjuryPuka Nacua: Questionable → Doubtful28 min agoIndianapolis ColtsColts trade WR Keenan Allen to San Francisco 49ers for 2027 sixth-round NFL Draft pickCarolina PanthersPanthers release wide receiver David Moore, among other movesESPNEisen fired up over Kirk Cousins' return to the VikingsSeahawks DeskSeahawks earned 17-3 over Cardinals, then punted on fourth-and-1 anyway41 min agoKansas City ChiefsChiefs Kick Off 12th Annual Chiefs Kingdom Food Drive Benefiting HarvestersInjuryKirk Cousins: Active → Cleared43 min agoESPNMcAfee & Co. react to Bills' trade for Amani HookerESPNJeff Saturday: Kirk Cousins trade a 'great fit' for Vikings and RaidersESPNNFL trade deadline grades: Deals for Keenan Allen, Jordan Davis, Jessie BatesTampa Bay BuccaneersTop Play Breakdown: Tykee Smith's Interception Against the BearsInjuryPuka Nacua: Doubtful → Questionable1 h agoESPNSources: Bills fill major need at safety, trade for Titans' Amani HookerPro Football RumorsRaiders To Trade QB Kirk Cousins Back To VikingsInjuryCam Skattebo: Out → Questionable1 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 · last 4 games per team · 2nd quarter

The EPA map

Span
Season
Reset all

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

Bottom line49ers have the best balance (+0.441 net per play). Best offense: Patriots (+0.297); stingiest defense: Buccaneers (-0.381 allowed). 14 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.50+0.250.00-0.2549ers logoBuccaneers logoBengals logoPatriots logoLions logoPackers logoJaguars logoTexans logoRams logoBills logoCowboys logoSaints logoSeahawks logoChiefs logoCommanders logoBrowns logoDolphins logoBears logoBroncos logoRavens logoSteelers logoVikings logoGiants logoJets logoChargers logoFalcons logoPanthers logoColts logoCardinals logoEagles logoRaiders logoTitans 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 5–9 · 4 games per team · 2,106 offensive plays, 2,116 defensive · source: nflverse play-by-play
#???
149ers logo49ers7-1+0.441+0.234-0.2074
2Buccaneers logoBuccaneers3-6+0.366-0.015-0.3814
3Bengals logoBengals6-2+0.363+0.269-0.0944
4Patriots logoPatriots5-4+0.302+0.297-0.0054
5Lions logoLions6-2+0.297+0.042-0.2564
6Packers logoPackers6-3+0.293+0.079-0.2144
7Jaguars logoJaguars6-2+0.283+0.145-0.1384
8Texans logoTexans3-5+0.281+0.221-0.0604
9Rams logoRams5-4+0.274+0.165-0.1104
10Bills logoBills7-1+0.251+0.033-0.2174
11Cowboys logoCowboys4-5+0.226+0.155-0.0714
12Saints logoSaints3-5+0.188+0.066-0.1234
13Seahawks logoSeahawks5-4+0.133+0.061-0.0714
14Chiefs logoChiefs6-2+0.107+0.031-0.0764
15Commanders logoCommanders2-5-1+0.105-0.015-0.1204
16Browns logoBrowns5-4+0.104-0.036-0.1404
17Dolphins logoDolphins1-7+0.074+0.061-0.0124
18Bears logoBears7-2-0.018-0.074-0.0564
19Broncos logoBroncos7-2-0.049+0.042+0.0914
20Ravens logoRavens4-5-0.058-0.187-0.1304
21Steelers logoSteelers6-2-0.132+0.100+0.2324
22Vikings logoVikings6-2-0.146-0.236-0.0894
23Giants logoGiants5-2-1-0.174-0.237-0.0634
24Jets logoJets2-7-0.183-0.111+0.0734
25Chargers logoChargers0-8-0.213-0.211+0.0024
26Falcons logoFalcons3-6-0.228-0.080+0.1484
27Panthers logoPanthers3-5-0.250-0.068+0.1824
28Colts logoColts2-7-0.315-0.262+0.0534
29Cardinals logoCardinals3-6-0.356-0.164+0.1924
30Eagles logoEagles2-7-0.378-0.239+0.1394
31Raiders logoRaiders4-5-0.619-0.150+0.4694
32Titans logoTitans1-7-0.732-0.548+0.1844

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.