Pigskin NightlyWeek 10
Latest
InjuryGarett Bolles: Active → Cleared3 min agoInjuryJosh Downs: Active → Cleared3 min agoInjuryKyler Murray: Questionable → Out18 min agoInjuryDaiyan Henley: Active → Cleared18 min agoRaiders DeskRaiders were outplayed from the first quarter in a deserved loss to the 49ers19 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 → Doubtful36 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 anyway49 min agoKansas City ChiefsChiefs Kick Off 12th Annual Chiefs Kingdom Food Drive Benefiting HarvestersInjuryKirk Cousins: Active → Cleared51 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 Hooker
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 · on the road · two+ scores

The EPA map

Span
Season
Reset all

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

Bottom lineSeahawks have the best balance (+0.770 net per play). Best offense: Lions (+0.312); stingiest defense: Seahawks (-0.502 allowed). 9 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.250.00-0.25-0.50Seahawks logo49ers logoTexans logoBuccaneers logoCowboys logoCardinals logoRams logoPanthers logoFalcons logoLions logoCommanders logoTitans logoSteelers logoBengals logoRavens logoChargers logoJets logoPackers logoBrowns logoPatriots logoDolphins logoSaints logoChiefs logoRaiders logoBears logoGiants logoJaguars logoVikings logoEagles logoBroncos logoColts logoBills 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 · 1–5 games per team · 2,625 offensive plays, 2,451 defensive · source: nflverse play-by-play
#???
1Seahawks logoSeahawks5-4+0.770+0.268-0.5023
249ers logo49ers7-1+0.360+0.149-0.2112
3Texans logoTexans3-5+0.313+0.275-0.0384
4Buccaneers logoBuccaneers3-6+0.278+0.093-0.1864
5Cowboys logoCowboys4-5+0.273+0.131-0.1425
6Cardinals logoCardinals3-6+0.265+0.169-0.0964
7Rams logoRams5-4+0.252+0.085-0.1673
8Panthers logoPanthers3-5+0.243+0.122-0.1214
9Falcons logoFalcons3-6+0.229+0.250+0.0214
10Lions logoLions6-2+0.159+0.312+0.1534
11Commanders logoCommanders2-5-1+0.107+0.267+0.1603
12Titans logoTitans1-7+0.106-0.011-0.1164
13Steelers logoSteelers6-2+0.094-0.164-0.2583
14Bengals logoBengals6-2+0.006-0.068-0.0744
15Ravens logoRavens4-5+0.005-0.032-0.0374
16Chargers logoChargers0-8-0.019-0.005+0.0144
17Jets logoJets2-7-0.025-0.052-0.0275
18Packers logoPackers6-3-0.044+0.041+0.0854
19Browns logoBrowns5-4-0.053+0.025+0.0784
20Patriots logoPatriots5-4-0.083+0.133+0.2164
21Dolphins logoDolphins1-7-0.117-0.130-0.0144
22Saints logoSaints3-5-0.128-0.170-0.0423
23Chiefs logoChiefs6-2-0.134-0.078+0.0563
24Raiders logoRaiders4-5-0.147-0.065+0.0825
25Bears logoBears7-2-0.194-0.166+0.0274
26Giants logoGiants5-2-1-0.210-0.070+0.1402
27Jaguars logoJaguars6-2-0.220-0.271-0.0512
28Vikings logoVikings6-2-0.302-0.335-0.0331
29Eagles logoEagles2-7-0.352-0.220+0.1322
30Broncos logoBroncos7-2-0.352-0.223+0.1294
31Colts logoColts2-7-0.471-0.471+0.0013
32Bills logoBills7-1-0.793-0.653+0.1391

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.