NET: Yds per play offense (Off − Def)
What Yds per play offense (Off − Def) is
Yards per play minus yards per play allowed. Efficiency on both sides of the ball, and it survives tempo differences — one of the better quick reads of a team.
Higher is better. It is shown per game, so a team's number does not depend on games played. Source: P + N.
In 2021 the Bills led at 0.07; the league average was 0.00.
League snapshot — 2021
All 32 teams, higher is better.
| Rank | Team | Value | Games |
|---|---|---|---|
| 1 | BUF | 0.07 | 17 |
| 2 | SF | 0.06 | 17 |
| 3 | TB | 0.06 | 17 |
| 4 | LAR | 0.05 | 17 |
| 5 | NE | 0.04 | 17 |
| 6 | LV | 0.03 | 17 |
| 7 | DAL | 0.03 | 17 |
| 8 | CLE | 0.03 | 17 |
| 9 | GB | 0.03 | 17 |
| 10 | PHI | 0.03 | 17 |
| 11 | SEA | 0.02 | 17 |
| 12 | CIN | 0.02 | 17 |
| 13 | LAC | 0.02 | 17 |
| 14 | ARI | 0.01 | 17 |
| 15 | IND | 0.01 | 17 |
| 16 | KC | 0.01 | 17 |
| 17 | MIN | 0.00 | 17 |
| 18 | DEN | 0.00 | 17 |
| 19 | NO | -0.01 | 17 |
| 20 | TEN | -0.01 | 17 |
| 21 | ATL | -0.02 | 17 |
| 22 | CAR | -0.03 | 17 |
| 23 | CHI | -0.03 | 17 |
| 24 | BAL | -0.03 | 17 |
| 25 | MIA | -0.03 | 17 |
| 26 | JAX | -0.04 | 17 |
| 27 | WAS | -0.04 | 17 |
| 28 | NYG | -0.04 | 17 |
| 29 | PIT | -0.04 | 17 |
| 30 | DET | -0.05 | 17 |
| 31 | NYJ | -0.06 | 17 |
| 32 | HOU | -0.08 | 17 |
At a glance — 2021
Where the 32 teams sit on this stat this season.
All teams — 2021
| Rank | Team | Value | Δ vs avg | Percentile |
|---|---|---|---|---|
| 1 | BUF | 0.07 | 0.07 | 100% |
| 2 | SF | 0.06 | 0.06 | 96.8% |
| 3 | TB | 0.06 | 0.06 | 93.5% |
| 4 | LAR | 0.05 | 0.05 | 90.3% |
| 5 | NE | 0.04 | 0.04 | 87.1% |
| 6 | LV | 0.03 | 0.03 | 83.9% |
| 7 | DAL | 0.03 | 0.03 | 80.6% |
| 8 | CLE | 0.03 | 0.03 | 77.4% |
| 9 | GB | 0.03 | 0.03 | 74.2% |
| 10 | PHI | 0.03 | 0.03 | 71% |
| 11 | SEA | 0.02 | 0.02 | 67.7% |
| 12 | CIN | 0.02 | 0.02 | 64.5% |
| 13 | LAC | 0.02 | 0.02 | 61.3% |
| 14 | ARI | 0.01 | 0.01 | 58.1% |
| 15 | IND | 0.01 | 0.01 | 54.8% |
| 16 | KC | 0.01 | 0.01 | 51.6% |
| 17 | MIN | 0.00 | 0.00 | 48.4% |
| 18 | DEN | 0.00 | 0.00 | 45.2% |
| 19 | NO | -0.01 | -0.01 | 41.9% |
| 20 | TEN | -0.01 | -0.01 | 38.7% |
| 21 | ATL | -0.02 | -0.02 | 35.5% |
| 22 | CAR | -0.03 | -0.03 | 32.3% |
| 23 | CHI | -0.03 | -0.03 | 29% |
| 24 | BAL | -0.03 | -0.03 | 25.8% |
| 25 | MIA | -0.03 | -0.03 | 22.6% |
| 26 | JAX | -0.04 | -0.04 | 19.4% |
| 27 | WAS | -0.04 | -0.04 | 16.1% |
| 28 | NYG | -0.04 | -0.04 | 12.9% |
| 29 | PIT | -0.04 | -0.04 | 9.7% |
| 30 | DET | -0.05 | -0.05 | 6.5% |
| 31 | NYJ | -0.06 | -0.06 | 3.2% |
| 32 | HOU | -0.08 | -0.08 | 0% |
Does Yds per play offense (Off − Def) matter against the spread?
Run as a one-stat algorithm against the closing line, this stat went 889–689–37 ATS (56.3%) across 2020–2025, #32 of 296 ranked.
Its best season was 2025 (163–106, 60.6%); its worst 2021 (148–122, 54.8%).
For picks, this is a strong signal. One stat is not a recipe — the algorithms combine many.
| Season | Games | ATS record | ATS % |
|---|---|---|---|
| 2020 | 256 | 145–109–2 | 57.1% |
| 2021 | 272 | 148–122–2 | 54.8% |
| 2022 | 271 | 145–119–7 | 54.9% |
| 2023 | 272 | 142–116–14 | 55.0% |
| 2024 | 272 | 146–117–9 | 55.5% |
| 2025 | 272 | 163–106–3 | 60.6% |
Yds per play offense (Off − Def) in 2021 vs 2020
Bills lead at 0.07 — they ranked #5 last year. Texans are last at -0.08 — #15 last year.
The league average is 0.00, down 0.00 from 0.00 last year.
Biggest riser: Bengals, #32 → #12. Biggest faller: Ravens, #6 → #24.
Spread between first and last: 0.15; 22 teams are within 0.04 of the average.
Year-over-year — 2021 vs 2020
Biggest movers from last season.
YoY by team — 2021 vs 2020
| Rank | Team | 2021 | 2020 | Δ |
|---|---|---|---|---|
| 1 | CIN | 0.02 | -0.08 | +0.10 |
| 2 | PHI | 0.03 | -0.04 | +0.07 |
| 3 | NE | 0.04 | -0.03 | +0.07 |
| 4 | DAL | 0.03 | -0.03 | +0.06 |
| 5 | JAX | -0.04 | -0.08 | +0.04 |
| 6 | LV | 0.03 | 0.00 | +0.03 |
| 7 | DEN | 0.00 | -0.03 | +0.03 |
| 8 | SF | 0.06 | 0.03 | +0.03 |
| 9 | LAC | 0.02 | -0.01 | +0.02 |
| 10 | ATL | -0.02 | -0.05 | +0.02 |
| 11 | BUF | 0.07 | 0.05 | +0.02 |
| 12 | NYJ | -0.06 | -0.07 | +0.01 |
| 13 | CLE | 0.03 | 0.02 | +0.01 |
| 14 | MIN | 0.00 | 0.00 | +0.00 |
| 15 | MIA | -0.03 | -0.04 | +0.00 |
| 16 | SEA | 0.02 | 0.02 | −0.00 |
| 17 | DET | -0.05 | -0.04 | −0.01 |
| 18 | TB | 0.06 | 0.07 | −0.01 |
| 19 | CHI | -0.03 | -0.02 | −0.01 |
| 20 | ARI | 0.01 | 0.02 | −0.01 |
| 21 | NYG | -0.04 | -0.02 | −0.02 |
| 22 | LAR | 0.05 | 0.06 | −0.02 |
| 23 | CAR | -0.03 | 0.00 | −0.03 |
| 24 | TEN | -0.01 | 0.02 | −0.03 |
| 25 | GB | 0.03 | 0.06 | −0.03 |
| 26 | IND | 0.01 | 0.04 | −0.03 |
| 27 | WAS | -0.04 | 0.00 | −0.03 |
| 28 | KC | 0.01 | 0.04 | −0.04 |
| 29 | PIT | -0.04 | 0.02 | −0.06 |
| 30 | NO | -0.01 | 0.05 | −0.06 |
| 31 | BAL | -0.03 | 0.05 | −0.08 |
| 32 | HOU | -0.08 | 0.01 | −0.08 |
Multi-year context
7-year window (2020–2026)
Multi-year averages
| Rank | Team | Avg | Slope/yr | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | SF | 0.10 | +0.03 | 0.03 | 0.06 | 0.06 | 0.11 | 0.06 | 0.00 | 0.38 |
| 2 | KC | 0.08 | +0.03 | 0.04 | 0.01 | 0.08 | 0.05 | -0.01 | 0.00 | 0.39 |
| 3 | BUF | 0.08 | +0.02 | 0.05 | 0.07 | 0.07 | 0.04 | 0.03 | 0.04 | 0.24 |
| 4 | BAL | 0.07 | +0.03 | 0.05 | -0.03 | 0.02 | 0.08 | 0.10 | 0.02 | 0.25 |
| 5 | SEA | 0.06 | +0.03 | 0.02 | 0.02 | 0.01 | 0.00 | 0.01 | 0.08 | 0.28 |
| 6 | LAR | 0.06 | +0.02 | 0.06 | 0.05 | -0.04 | 0.01 | -0.01 | 0.07 | 0.26 |
| 7 | GB | 0.05 | +0.02 | 0.06 | 0.03 | -0.02 | 0.01 | 0.06 | 0.04 | 0.19 |
| 8 | NE | 0.03 | +0.02 | -0.03 | 0.04 | 0.02 | -0.01 | -0.04 | 0.07 | 0.15 |
| 9 | ATL | 0.02 | +0.03 | -0.05 | -0.02 | -0.02 | 0.01 | 0.02 | 0.01 | 0.16 |
| 10 | MIN | 0.01 | +0.01 | 0.00 | 0.00 | -0.02 | 0.02 | 0.02 | 0.01 | 0.02 |
| 11 | TB | 0.01 | −0.02 | 0.07 | 0.06 | 0.00 | -0.02 | 0.04 | -0.04 | -0.06 |
| 12 | DET | 0.01 | +0.02 | -0.04 | -0.05 | -0.02 | 0.03 | 0.03 | 0.04 | 0.05 |
| 13 | HOU | 0.00 | +0.02 | 0.01 | -0.08 | -0.06 | 0.01 | 0.00 | 0.02 | 0.09 |
| 14 | PHI | -0.01 | −0.01 | -0.04 | 0.03 | 0.07 | 0.00 | 0.06 | 0.02 | -0.17 |
| 15 | JAX | -0.01 | +0.01 | -0.08 | -0.04 | 0.01 | -0.02 | -0.04 | 0.02 | 0.04 |
| 16 | MIA | -0.01 | −0.01 | -0.04 | -0.03 | 0.05 | 0.08 | -0.01 | -0.02 | -0.11 |
| 17 | CAR | -0.01 | +0.01 | 0.00 | -0.03 | -0.01 | -0.06 | -0.05 | -0.03 | 0.08 |
| 18 | LAC | -0.02 | −0.01 | -0.01 | 0.02 | -0.03 | -0.03 | 0.01 | 0.01 | -0.08 |
| 19 | DEN | -0.02 | −0.01 | -0.03 | 0.00 | 0.00 | -0.05 | 0.02 | 0.05 | -0.13 |
| 20 | PIT | -0.02 | −0.00 | 0.02 | -0.04 | -0.03 | -0.02 | -0.02 | -0.01 | -0.03 |
| 21 | CLE | -0.02 | −0.02 | 0.02 | 0.03 | -0.01 | 0.01 | -0.07 | -0.03 | -0.10 |
| 22 | NYJ | -0.02 | +0.01 | -0.07 | -0.06 | 0.01 | -0.02 | 0.01 | -0.08 | 0.04 |
| 23 | NO | -0.02 | −0.03 | 0.05 | -0.01 | 0.04 | -0.01 | -0.03 | 0.00 | -0.20 |
| 24 | CIN | -0.02 | −0.00 | -0.08 | 0.02 | 0.01 | -0.05 | 0.02 | -0.05 | -0.03 |
| 25 | DAL | -0.02 | −0.02 | -0.03 | 0.03 | 0.02 | 0.04 | -0.05 | -0.01 | -0.16 |
| 26 | WAS | -0.03 | −0.01 | 0.00 | -0.04 | -0.02 | -0.06 | 0.02 | -0.03 | -0.08 |
| 27 | LV | -0.04 | −0.02 | 0.00 | 0.03 | -0.01 | -0.02 | -0.04 | -0.04 | -0.18 |
| 28 | TEN | -0.04 | −0.03 | 0.02 | -0.01 | -0.02 | -0.01 | -0.02 | -0.09 | -0.17 |
| 29 | IND | -0.05 | −0.04 | 0.04 | 0.01 | -0.03 | 0.00 | 0.00 | 0.02 | -0.35 |
| 30 | CHI | -0.05 | −0.01 | -0.02 | -0.03 | -0.05 | -0.02 | -0.08 | -0.02 | -0.16 |
| 31 | ARI | -0.05 | −0.04 | 0.02 | 0.01 | -0.05 | -0.04 | 0.02 | -0.04 | -0.32 |
| 32 | NYG | -0.06 | −0.02 | -0.02 | -0.04 | -0.03 | -0.07 | -0.06 | -0.04 | -0.18 |
Multi-year heatmap
32 teams across 7 seasons. Cells colored by quintile within each season; click a column header to jump to that year.
| Team | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 |
|---|---|---|---|---|---|---|---|
| BUF | 0.05 | 0.07 | 0.07 | 0.04 | 0.03 | 0.04 | 0.24 |
| SF | 0.03 | 0.06 | 0.06 | 0.11 | 0.06 | 0.00 | 0.38 |
| TB | 0.07 | 0.06 | 0.00 | -0.02 | 0.04 | -0.04 | -0.06 |
| LAR | 0.06 | 0.05 | -0.04 | 0.01 | -0.01 | 0.07 | 0.26 |
| NE | -0.03 | 0.04 | 0.02 | -0.01 | -0.04 | 0.07 | 0.15 |
| LV | 0.00 | 0.03 | -0.01 | -0.02 | -0.04 | -0.04 | -0.18 |
| DAL | -0.03 | 0.03 | 0.02 | 0.04 | -0.05 | -0.01 | -0.16 |
| CLE | 0.02 | 0.03 | -0.01 | 0.01 | -0.07 | -0.03 | -0.10 |
| GB | 0.06 | 0.03 | -0.02 | 0.01 | 0.06 | 0.04 | 0.19 |
| PHI | -0.04 | 0.03 | 0.07 | 0.00 | 0.06 | 0.02 | -0.17 |
| SEA | 0.02 | 0.02 | 0.01 | 0.00 | 0.01 | 0.08 | 0.28 |
| CIN | -0.08 | 0.02 | 0.01 | -0.05 | 0.02 | -0.05 | -0.03 |
| LAC | -0.01 | 0.02 | -0.03 | -0.03 | 0.01 | 0.01 | -0.08 |
| ARI | 0.02 | 0.01 | -0.05 | -0.04 | 0.02 | -0.04 | -0.32 |
| IND | 0.04 | 0.01 | -0.03 | 0.00 | 0.00 | 0.02 | -0.35 |
| KC | 0.04 | 0.01 | 0.08 | 0.05 | -0.01 | 0.00 | 0.39 |
| MIN | 0.00 | 0.00 | -0.02 | 0.02 | 0.02 | 0.01 | 0.02 |
| DEN | -0.03 | 0.00 | 0.00 | -0.05 | 0.02 | 0.05 | -0.13 |
| NO | 0.05 | -0.01 | 0.04 | -0.01 | -0.03 | 0.00 | -0.20 |
| TEN | 0.02 | -0.01 | -0.02 | -0.01 | -0.02 | -0.09 | -0.17 |
| ATL | -0.05 | -0.02 | -0.02 | 0.01 | 0.02 | 0.01 | 0.16 |
| CAR | 0.00 | -0.03 | -0.01 | -0.06 | -0.05 | -0.03 | 0.08 |
| CHI | -0.02 | -0.03 | -0.05 | -0.02 | -0.08 | -0.02 | -0.16 |
| BAL | 0.05 | -0.03 | 0.02 | 0.08 | 0.10 | 0.02 | 0.25 |
| MIA | -0.04 | -0.03 | 0.05 | 0.08 | -0.01 | -0.02 | -0.11 |
| JAX | -0.08 | -0.04 | 0.01 | -0.02 | -0.04 | 0.02 | 0.04 |
| WAS | 0.00 | -0.04 | -0.02 | -0.06 | 0.02 | -0.03 | -0.08 |
| NYG | -0.02 | -0.04 | -0.03 | -0.07 | -0.06 | -0.04 | -0.18 |
| PIT | 0.02 | -0.04 | -0.03 | -0.02 | -0.02 | -0.01 | -0.03 |
| DET | -0.04 | -0.05 | -0.02 | 0.03 | 0.03 | 0.04 | 0.05 |
| NYJ | -0.07 | -0.06 | 0.01 | -0.02 | 0.01 | -0.08 | 0.04 |
| HOU | 0.01 | -0.08 | -0.06 | 0.01 | 0.00 | 0.02 | 0.09 |
Yds per play offense (Off − Def) since 2018
Leaders since 2018: 2018 Chiefs (0.07), 2019 49ers (0.09), 2020 Buccaneers (0.07), 2021 Bills (0.07).
The best season on record is 49ers 2019 at 0.09; the worst Bengals 2019 at -0.08.
The league average has risen from 0.00 in 2018 to 0.00 in 2021.
Distribution
How the 32 teams cluster for 2021.
About this stat
- Stat ID
- net_yds_per_play_offense
- Side
- net
- Family
- NET (Off − Def)
- Data source
- P + N
- Polarity
- higher is better (or neutral)
- Display grain
- count
- Algorithm eligibility
- Algorithm-eligible: this stat can be picked in the Algorithm Builder.