Pigskin NightlyWeek 10
Latest
InjuryCam Skattebo: Active → Out20 min agoInjuryJ.J. McCarthy: Active → Questionable20 min agoDenver BroncosBroncos agree to terms on trade with Chargers for LB Daiyan HenleyLos Angeles ChargersLos Angeles Chargers Trade Daiyan Henley to Denver BroncosDallas CowboysBig Picture: 10 Storylines for Cowboys & 49ersArizona CardinalsCardinals Sign Quarterback Reinforcements Including Josh JohnsonArizona CardinalsCardinals Place Gardner Minshew, Michael Wilson On IRGiants DeskJameis Winston's minus-0.05 EPA per play meets a Commanders defense ranked 20th29 min agoCarolina PanthersAsk The Old Guy: Deadline day finds the Panthers in first placeSeattle SeahawksSeahawks Sign DT Cole Brevard To Practice SquadInjuryCam Skattebo: Questionable → Active38 min agoInjuryJordan Whittington: Questionable → Injured Reserve38 min agoInjuryJ.J. McCarthy: Questionable → Active38 min agoInjuryMalik Willis: Questionable → Injured Reserve38 min agoBaltimore RavensRavens Release Blocking Tight End Among Several Roster MovesESPN2026 NFL trade deadline winners, losers: From Kirk Cousins to the BengalsESPNWhat the Kirk Cousins trade means for the Vikings and the RaidersESPNNFL trade deadline grades: Deals for Kirk Cousins, Daiyan Henley, Amani HookerAtlanta FalconsThe Falcons trade C Ryan Neuzil for G Andrew Vorhees plus undisclosed draft choiceInjuryMalik Willis: Injured Reserve → Questionable53 min agoGreen Bay PackersPackers vs. Vikings | How to watch, stream & listen | Week 10Minnesota VikingsVikings Terminate Contract of Odell Beckham, Jr. During Roster Moves
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 · 1st down · tied

The EPA map

Span
Season
Reset all

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

Bottom lineRavens have the best balance (+0.553 net per play). Best offense: Ravens (+0.410); stingiest defense: Rams (-0.253 allowed). 5 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.20-0.100.00+0.10+0.20+0.30+0.40+0.30+0.20+0.100.00-0.10-0.20Ravens logoCommanders logoPanthers logoJets logo49ers logoRams logoJaguars logoBrowns logoChargers logoChiefs logoVikings logoBills logoLions logoCardinals logoSeahawks logoCowboys logoRaiders logoTexans logoBuccaneers logoBears logoColts logoEagles logoSteelers logoGiants logoPackers logoTitans logoBengals logoPatriots logoFalcons logoDolphins logoBroncos logoSaints 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 · 5–9 games per team · 1,431 offensive plays · source: nflverse play-by-play
#???
1Ravens logoRavens4-5+0.553+0.410-0.1436
2Commanders logoCommanders2-5-1+0.382+0.177-0.2056
3Panthers logoPanthers3-5+0.233+0.136-0.0986
4Jets logoJets2-7+0.215+0.183-0.0328
549ers logo49ers7-1+0.129-0.022-0.1518
6Rams logoRams5-4+0.122-0.131-0.2539
7Jaguars logoJaguars6-2+0.122+0.068-0.0548
8Browns logoBrowns5-4+0.122+0.178+0.0569
9Chargers logoChargers0-8+0.116-0.110-0.2266
10Chiefs logoChiefs6-2+0.106+0.151+0.0467
11Vikings logoVikings6-2+0.063-0.011-0.0758
12Bills logoBills7-1+0.050-0.190-0.2418
13Lions logoLions6-2+0.047+0.129+0.0817
14Cardinals logoCardinals3-6+0.044+0.079+0.0348
15Seahawks logoSeahawks5-4+0.044-0.004-0.0499
16Cowboys logoCowboys4-5+0.037+0.091+0.0548
17Raiders logoRaiders4-5+0.014+0.058+0.0447
18Texans logoTexans3-5-0.023+0.070+0.0928
19Buccaneers logoBuccaneers3-6-0.027-0.102-0.0757
20Bears logoBears7-2-0.071+0.019+0.0899
21Colts logoColts2-7-0.080-0.184-0.1049
22Eagles logoEagles2-7-0.092-0.203-0.1105
23Steelers logoSteelers6-2-0.093+0.006+0.0998
24Giants logoGiants5-2-1-0.118+0.037+0.1557
25Packers logoPackers6-3-0.146-0.122+0.0248
26Titans logoTitans1-7-0.176-0.125+0.0507
27Bengals logoBengals6-2-0.180+0.081+0.2625
28Patriots logoPatriots5-4-0.203-0.066+0.1368
29Falcons logoFalcons3-6-0.230-0.049+0.1817
30Dolphins logoDolphins1-7-0.234-0.137+0.0977
31Broncos logoBroncos7-2-0.268-0.215+0.0529
32Saints logoSaints3-5-0.319-0.147+0.1725

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.