Pigskin NightlyWeek 10
Latest
InjuryTravis Glover: Out → Questionable4 min agoInjuryZaire Franklin: Out → Doubtful4 min agoInjuryReed Blankenship: Out → Questionable4 min agoInjuryAkeem Davis-Gaither: Out → Questionable4 min agoInjuryA.J. Haulcy: Out → Questionable4 min agoInjuryMansoor Delane: Out → Questionable4 min agoInjuryCaleb Banks: Out → Active4 min agoInjuryKyler Murray: Out → Questionable4 min agoCarolina PanthersAround the NFC South: Another topsy-turvy week after Week 9Tennessee TitansTuesday Mailbag: Jim Wyatt Answers Questions From Titans FansSan Francisco 49ersMorning Report: Purdy, McCaffrey Reach Milestones, 49ers React to Week 9 🗞️Commanders DeskCommanders lost to the Rams 20-13 and the snaps say the margin should have been wider36 min agoChiefs DeskChiefs beat the Jets 35-12 and the snaps say the margin was no accident46 min agoCardinals DeskCardinals lost at Seattle on the snaps as well as the scoreboard47 min agoBroncos DeskBroncos beat Panthers 26-21 in a game the snaps gave to Carolina56 min agoBears DeskBears earned the win over Tampa Bay on a day the offense lost ground56 min agoDallas CowboysMailbag: Should a trade be made before deadline?New York GiantsVote: Arvell Reese nominated for Pepsi NFL Rookie of the WeekTampa Bay Buccaneers2026 Bucs NFL Power Rankings Week 10Jacksonville JaguarsNFL Power Rankings, Week 10: Staying Strong at No. 1Cleveland BrownsEnter for a chance to win tickets to Browns vs. Falcons by Take a Minute, Make a Plan, Never Drive ImpairedBaltimore RavensLate for Work: Two Reasons to Be Optimistic About Ravens' Playoff Hopes
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 · trailing

The EPA map

Span
Season
Reset all

Bottom lineBills have the best balance (+0.652 net per play). Best offense: Bills (+0.301); stingiest defense: Bills (-0.351 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.20+0.100.00-0.10-0.20-0.30Bills logoChiefs logo49ers logoJaguars logoRams logoTexans logoBengals logoBuccaneers logoSeahawks logoCowboys logoBroncos logoBrowns logoSaints logoGiants logoJets logoSteelers logoLions logoRaiders logoTitans logoPanthers logoVikings logoPatriots logoCommanders logoPackers logoFalcons logoDolphins logoEagles logoCardinals logoChargers logoBears logoRavens 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–9 games per team · 7,933 offensive plays, 5,482 defensive · source: nflverse play-by-play
#???
1Bills logoBills7-1+0.652+0.301-0.3515
2Chiefs logoChiefs6-2+0.338+0.213-0.1255
349ers logo49ers7-1+0.312-0.011-0.3234
4Jaguars logoJaguars6-2+0.267+0.186-0.0813
5Rams logoRams5-4+0.198+0.111-0.0877
6Texans logoTexans3-5+0.161+0.079-0.0827
7Bengals logoBengals6-2+0.158+0.228+0.0716
8Buccaneers logoBuccaneers3-6+0.157-0.074-0.2317
9Seahawks logoSeahawks5-4+0.156-0.017-0.1737
10Cowboys logoCowboys4-5+0.107+0.169+0.0637
11Broncos logoBroncos7-2+0.067+0.103+0.0368
12Browns logoBrowns5-4+0.062-0.008-0.0709
13Saints logoSaints3-5+0.057-0.010-0.0678
14Giants logoGiants5-2-1+0.035-0.032-0.0676
15Jets logoJets2-7+0.032+0.064+0.0328
16Steelers logoSteelers6-2+0.031-0.114-0.1456
17Lions logoLions6-2+0.021+0.198+0.1776
18Raiders logoRaiders4-5-0.021+0.092+0.1138
19Titans logoTitans1-7-0.034-0.069-0.0358
20Panthers logoPanthers3-5-0.050+0.006+0.0566
21Vikings logoVikings6-2-0.066-0.093-0.0275
22Patriots logoPatriots5-4-0.089+0.101+0.1907
23Commanders logoCommanders2-5-1-0.093-0.019+0.0736
24Packers logoPackers6-3-0.133-0.097+0.0365
25Falcons logoFalcons3-6-0.138-0.245-0.1078
26Dolphins logoDolphins1-7-0.150-0.119+0.0317
27Eagles logoEagles2-7-0.161-0.099+0.0629
28Cardinals logoCardinals3-6-0.170-0.009+0.1618
29Chargers logoChargers0-8-0.224-0.185+0.0388
30Bears logoBears7-2-0.229-0.118+0.1113
31Ravens logoRavens4-5-0.235-0.198+0.0377
32Colts logoColts2-7-0.280-0.184+0.0969

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.