Pigskin NightlyWeek 10
Latest
InjuryKyler Murray: Questionable → Out13 min agoInjuryDaiyan Henley: Active → Cleared13 min agoRaiders DeskRaiders were outplayed from the first quarter in a deserved loss to the 49ers15 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 → Doubtful31 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 anyway44 min agoKansas City ChiefsChiefs Kick Off 12th Annual Chiefs Kingdom Food Drive Benefiting HarvestersInjuryKirk Cousins: Active → Cleared46 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 · weeks 1–9 · 4th quarter · trailing

The EPA map

Span
Season
Reset all

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

Bottom lineBills have the best balance (+0.932 net per play). Best offense: Bills (+0.394); stingiest defense: Browns (-0.670 allowed). 8 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.250.00+0.25+0.250.00-0.25-0.50Bills logoBrowns logoTexans logoTitans logo49ers logoRaiders logoCowboys logoSteelers logoRams logoBroncos logoBuccaneers logoSeahawks logoJaguars logoGiants logoJets logoBengals logoPanthers logoLions logoPatriots logoChiefs logoSaints logoDolphins logoFalcons logoVikings logoCommanders logoCardinals logoChargers logoColts logoEagles logoPackers logoBears logoRavens 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 · 2,523 offensive plays, 1,599 defensive · source: nflverse play-by-play
#???
1Bills logoBills7-1+0.932+0.394-0.5384
2Browns logoBrowns5-4+0.817+0.147-0.6707
3Texans logoTexans3-5+0.697+0.062-0.6355
4Titans logoTitans1-7+0.484+0.196-0.2888
549ers logo49ers7-1+0.414+0.043-0.3702
6Raiders logoRaiders4-5+0.384+0.270-0.1137
7Cowboys logoCowboys4-5+0.337+0.310-0.0276
8Steelers logoSteelers6-2+0.327-0.106-0.4324
9Rams logoRams5-4+0.319+0.157-0.1625
10Broncos logoBroncos7-2+0.260+0.245-0.0157
11Buccaneers logoBuccaneers3-6+0.250-0.055-0.3066
12Seahawks logoSeahawks5-4+0.217+0.086-0.1315
13Jaguars logoJaguars6-2+0.202+0.149-0.0533
14Giants logoGiants5-2-1+0.193+0.226+0.0333
15Jets logoJets2-7+0.108+0.051-0.0577
16Bengals logoBengals6-2+0.096+0.298+0.2023
17Panthers logoPanthers3-5+0.090+0.100+0.0105
18Lions logoLions6-2+0.085+0.152+0.0673
19Patriots logoPatriots5-4+0.043+0.097+0.0545
20Chiefs logoChiefs6-2+0.038+0.173+0.1353
21Saints logoSaints3-5-0.002-0.018-0.0157
22Dolphins logoDolphins1-7-0.025-0.084-0.0597
23Falcons logoFalcons3-6-0.029-0.273-0.2445
24Vikings logoVikings6-2-0.051-0.031+0.0204
25Commanders logoCommanders2-5-1-0.054+0.022+0.0755
26Cardinals logoCardinals3-6-0.121+0.032+0.1538
27Chargers logoChargers0-8-0.284-0.303-0.0208
28Colts logoColts2-7-0.301-0.203+0.0998
29Eagles logoEagles2-7-0.338-0.151+0.1878
30Packers logoPackers6-3-0.384-0.244+0.1404
31Bears logoBears7-2-0.453-0.356+0.0972
32Ravens logoRavens4-5-0.507-0.236+0.2716

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.