Pigskin NightlyWeek 10
Latest
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 · at home · 1st down · within one score

The EPA map

Span
Season
Reset all

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

Bottom line49ers have the best balance (+0.375 net per play). Best offense: Steelers (+0.239); stingiest defense: Jets (-0.229 allowed). 11 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.30-0.20-0.100.00+0.10+0.20+0.30+0.20+0.100.00-0.10-0.2049ers logoSteelers logoJets logoRams logoLions logoRavens logoBrowns logoChiefs logoCommanders logoJaguars logoBills logoBengals logoSeahawks logoBears logoBuccaneers logoEagles logoTexans logoVikings logoSaints logoPackers logoGiants logoRaiders logoCowboys logoChargers logoPatriots logoBroncos logoCardinals logoPanthers logoFalcons logoTitans logoDolphins logoColts 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 · 3–6 games per team · 2,565 offensive plays, 2,484 defensive · source: nflverse play-by-play
#???
149ers logo49ers7-1+0.375+0.226-0.1495
2Steelers logoSteelers6-2+0.273+0.239-0.0344
3Jets logoJets2-7+0.227-0.002-0.2294
4Rams logoRams5-4+0.223+0.081-0.1425
5Lions logoLions6-2+0.223+0.122-0.1024
6Ravens logoRavens4-5+0.180+0.159-0.0214
7Browns logoBrowns5-4+0.139+0.100-0.0393
8Chiefs logoChiefs6-2+0.125+0.144+0.0194
9Commanders logoCommanders2-5-1+0.117+0.030-0.0865
10Jaguars logoJaguars6-2+0.107-0.001-0.1085
11Bills logoBills7-1+0.094+0.015-0.0794
12Bengals logoBengals6-2+0.061+0.123+0.0623
13Seahawks logoSeahawks5-4+0.050-0.074-0.1246
14Bears logoBears7-2+0.001-0.093-0.0945
15Buccaneers logoBuccaneers3-6-0.023-0.174-0.1515
16Eagles logoEagles2-7-0.048-0.114-0.0675
17Texans logoTexans3-5-0.053+0.117+0.1704
18Vikings logoVikings6-2-0.053-0.193-0.1394
19Saints logoSaints3-5-0.060-0.025+0.0355
20Packers logoPackers6-3-0.075+0.025+0.1004
21Giants logoGiants5-2-1-0.118-0.111+0.0074
22Raiders logoRaiders4-5-0.121+0.059+0.1814
23Cowboys logoCowboys4-5-0.130+0.002+0.1324
24Chargers logoChargers0-8-0.152-0.216-0.0644
25Patriots logoPatriots5-4-0.160+0.005+0.1654
26Broncos logoBroncos7-2-0.191-0.019+0.1724
27Cardinals logoCardinals3-6-0.238+0.023+0.2603
28Panthers logoPanthers3-5-0.245+0.026+0.2714
29Falcons logoFalcons3-6-0.255-0.085+0.1705
30Titans logoTitans1-7-0.315-0.186+0.1284
31Dolphins logoDolphins1-7-0.357-0.197+0.1604
32Colts logoColts2-7-0.522-0.282+0.2404

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.