Offensive: Passing · CPOE
What CPOE is
Completion percentage over expected: the share of passes a team completed, minus the share it was expected to complete given how hard each throw was (distance, pressure, coverage). Zero means the quarterback hit exactly the throws an average passer would; a positive number means he completed passes that usually fall incomplete. It strips out the easy-checkdown offense that inflates plain completion percentage.
Higher is better. It is a rate, so a team's number does not grow with games played. Source: P + N.
In 2020 the Packers led at 7.35; the league average was 1.08.
League snapshot — 2020
All 32 teams, higher is better.
| Rank | Team | Value | Games |
|---|---|---|---|
| 1 | GB | 7.35 | 16 |
| 2 | SEA | 7.22 | 16 |
| 3 | HOU | 6.42 | 16 |
| 4 | BUF | 5.98 | 16 |
| 5 | MIN | 4.27 | 16 |
| 6 | CLE | 3.75 | 16 |
| 7 | KC | 3.16 | 16 |
| 8 | TB | 3.15 | 16 |
| 9 | CAR | 2.56 | 16 |
| 10 | NO | 2.36 | 16 |
| 11 | MIA | 2.36 | 16 |
| 12 | LV | 2.35 | 16 |
| 13 | ARI | 1.71 | 16 |
| 14 | TEN | 1.66 | 16 |
| 15 | ATL | 1.16 | 16 |
| 16 | CHI | 1.14 | 16 |
| 17 | LAC | 0.75 | 16 |
| 18 | LAR | 0.66 | 16 |
| 19 | IND | 0.19 | 16 |
| 20 | BAL | 0.15 | 16 |
| 21 | JAX | -0.18 | 16 |
| 22 | PIT | -0.91 | 16 |
| 23 | DET | -0.92 | 16 |
| 24 | DAL | -1.22 | 16 |
| 25 | CIN | -1.24 | 16 |
| 26 | SF | -1.26 | 16 |
| 27 | WAS | -1.38 | 16 |
| 28 | NYJ | -1.45 | 16 |
| 29 | NYG | -1.90 | 16 |
| 30 | NE | -2.19 | 16 |
| 31 | PHI | -4.93 | 16 |
| 32 | DEN | -6.08 | 16 |
At a glance — 2020
Where the 32 teams sit on this stat this season.
All teams — 2020
| Rank | Team | Value | Δ vs avg | Percentile |
|---|---|---|---|---|
| 1 | GB | 7.35 | 6.27 | 100% |
| 2 | SEA | 7.22 | 6.14 | 96.8% |
| 3 | HOU | 6.42 | 5.33 | 93.5% |
| 4 | BUF | 5.98 | 4.90 | 90.3% |
| 5 | MIN | 4.27 | 3.18 | 87.1% |
| 6 | CLE | 3.75 | 2.66 | 83.9% |
| 7 | KC | 3.16 | 2.07 | 80.6% |
| 8 | TB | 3.15 | 2.06 | 77.4% |
| 9 | CAR | 2.56 | 1.47 | 74.2% |
| 10 | NO | 2.36 | 1.28 | 71% |
| 11 | MIA | 2.36 | 1.27 | 67.7% |
| 12 | LV | 2.35 | 1.27 | 64.5% |
| 13 | ARI | 1.71 | 0.62 | 61.3% |
| 14 | TEN | 1.66 | 0.57 | 58.1% |
| 15 | ATL | 1.16 | 0.07 | 54.8% |
| 16 | CHI | 1.14 | 0.05 | 51.6% |
| 17 | LAC | 0.75 | -0.33 | 48.4% |
| 18 | LAR | 0.66 | -0.42 | 45.2% |
| 19 | IND | 0.19 | -0.89 | 41.9% |
| 20 | BAL | 0.15 | -0.93 | 38.7% |
| 21 | JAX | -0.18 | -1.27 | 35.5% |
| 22 | PIT | -0.91 | -1.99 | 32.3% |
| 23 | DET | -0.92 | -2.00 | 29% |
| 24 | DAL | -1.22 | -2.31 | 25.8% |
| 25 | CIN | -1.24 | -2.32 | 22.6% |
| 26 | SF | -1.26 | -2.34 | 19.4% |
| 27 | WAS | -1.38 | -2.46 | 16.1% |
| 28 | NYJ | -1.45 | -2.54 | 12.9% |
| 29 | NYG | -1.90 | -2.99 | 9.7% |
| 30 | NE | -2.19 | -3.27 | 6.5% |
| 31 | PHI | -4.93 | -6.02 | 3.2% |
| 32 | DEN | -6.08 | -7.16 | 0% |
Does CPOE matter against the spread?
Run as a one-stat algorithm against the closing line, this stat went 856–722–37 ATS (54.2%) across 2020–2025, #90 of 296 ranked.
Its best season was 2024 (151–112, 57.4%); its worst 2023 (130–128, 50.4%).
For picks, this is a strong signal. One stat is not a recipe — the algorithms combine many.
| Season | Games | ATS record | ATS % |
|---|---|---|---|
| 2020 | 256 | 135–119–2 | 53.1% |
| 2021 | 272 | 141–129–2 | 52.2% |
| 2022 | 271 | 145–119–7 | 54.9% |
| 2023 | 272 | 130–128–14 | 50.4% |
| 2024 | 272 | 151–112–9 | 57.4% |
| 2025 | 272 | 154–115–3 | 57.2% |
CPOE in 2020 vs 2019
Packers lead at 7.35 — they ranked #13 last year. Broncos are last at -6.08 — #23 last year.
The league average is 1.08, up 0.94 from 0.15 last year.
Biggest riser: Browns, #31 → #6. Biggest faller: 49ers, #9 → #26.
Spread between first and last: 13.43; 24 teams are within 3.11 of the average.
Year-over-year — 2020 vs 2019
Biggest movers from last season.
YoY by team — 2020 vs 2019
| Rank | Team | 2020 | 2019 | Δ |
|---|---|---|---|---|
| 1 | BUF | 5.98 | -1.78 | +7.77 |
| 2 | CLE | 3.75 | -3.76 | +7.51 |
| 3 | GB | 7.35 | 1.17 | +6.18 |
| 4 | MIA | 2.36 | -2.74 | +5.10 |
| 5 | CIN | -1.24 | -5.96 | +4.72 |
| 6 | HOU | 6.42 | 1.87 | +4.54 |
| 7 | CAR | 2.56 | -1.95 | +4.51 |
| 8 | IND | 0.19 | -3.70 | +3.90 |
| 9 | ARI | 1.71 | -1.56 | +3.26 |
| 10 | JAX | -0.18 | -3.19 | +3.01 |
| 11 | CHI | 1.14 | -1.55 | +2.69 |
| 12 | TB | 3.15 | 0.60 | +2.55 |
| 13 | DET | -0.92 | -3.46 | +2.54 |
| 14 | LAR | 0.66 | -1.68 | +2.34 |
| 15 | WAS | -1.38 | -3.30 | +1.92 |
| 16 | KC | 3.16 | 1.58 | +1.58 |
| 17 | NYG | -1.90 | -2.15 | +0.25 |
| 18 | NE | -2.19 | -2.17 | −0.01 |
| 19 | MIN | 4.27 | 4.35 | −0.08 |
| 20 | SEA | 7.22 | 7.54 | −0.32 |
| 21 | PIT | -0.91 | -0.29 | −0.61 |
| 22 | NYJ | -1.45 | 0.00 | −1.45 |
| 23 | NO | 2.36 | 3.98 | −1.62 |
| 24 | ATL | 1.16 | 3.01 | −1.85 |
| 25 | TEN | 1.66 | 4.27 | −2.61 |
| 26 | DAL | -1.22 | 1.63 | −2.85 |
| 27 | BAL | 0.15 | 3.64 | −3.49 |
| 28 | LAC | 0.75 | 4.45 | −3.70 |
| 29 | LV | 2.35 | 6.12 | −3.77 |
| 30 | SF | -1.26 | 2.74 | −3.99 |
| 31 | PHI | -4.93 | -0.92 | −4.01 |
| 32 | DEN | -6.08 | -2.06 | −4.02 |
Multi-year context
7-year window (2020–2026)
Multi-year averages
| Rank | Team | Avg | Slope/yr | 2020 | 2021 | 2022 | 2023 | 2024 | 2025 | 2026 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | SEA | 4.66 | −0.30 | 7.22 | 4.24 | 5.64 | 0.97 | 5.28 | 5.74 | 3.52 |
| 2 | CIN | 3.15 | +0.58 | -1.24 | 5.05 | 2.76 | 2.13 | 6.85 | 1.18 | 5.35 |
| 3 | BUF | 3.01 | −0.04 | 5.98 | 1.94 | 0.06 | 4.39 | 0.97 | 3.36 | 4.38 |
| 4 | GB | 2.87 | −0.97 | 7.35 | 5.08 | 1.12 | 1.25 | 2.31 | 5.04 | -2.05 |
| 5 | BAL | 2.86 | +1.33 | 0.15 | 0.39 | -1.69 | 3.56 | 6.08 | 3.80 | 7.73 |
| 6 | NE | 2.60 | +1.58 | -2.19 | 2.97 | 1.06 | -3.45 | 1.63 | 11.57 | 6.61 |
| 7 | SF | 2.58 | +1.14 | -1.26 | 2.34 | -1.64 | 5.42 | 1.33 | 5.93 | 5.98 |
| 8 | KC | 1.86 | −0.64 | 3.16 | 3.54 | 3.17 | 1.45 | 2.23 | -1.35 | 0.80 |
| 9 | MIN | 1.68 | −0.58 | 4.27 | 0.36 | 2.29 | 2.91 | 4.70 | -3.20 | 0.44 |
| 10 | DET | 1.53 | +0.76 | -0.92 | 0.22 | -1.46 | 1.45 | 7.13 | 2.59 | 1.71 |
| 11 | PHI | 1.39 | +0.60 | -4.93 | 0.91 | 1.91 | 4.26 | 6.49 | 4.07 | -3.01 |
| 12 | TB | 1.08 | −0.39 | 3.15 | 1.59 | 0.42 | 0.08 | 3.63 | -2.36 | 1.07 |
| 13 | ARI | 1.01 | −0.18 | 1.71 | 4.60 | -1.33 | -2.55 | 2.45 | 0.99 | 1.21 |
| 14 | JAX | 0.75 | +0.98 | -0.18 | -4.08 | 1.38 | 2.16 | -0.53 | -1.13 | 7.65 |
| 15 | MIA | 0.68 | −0.89 | 2.36 | 0.47 | -0.04 | 5.09 | 3.12 | 1.49 | -7.72 |
| 16 | DAL | 0.61 | +0.29 | -1.22 | 2.56 | -1.08 | 3.47 | -4.38 | 1.85 | 3.04 |
| 17 | NO | 0.54 | +0.25 | 2.36 | -4.05 | 1.23 | 2.93 | -2.67 | 2.19 | 1.81 |
| 18 | WAS | 0.47 | +0.45 | -1.38 | 0.39 | -1.64 | -0.54 | 5.21 | 1.26 | -0.02 |
| 19 | TEN | 0.38 | −0.37 | 1.66 | 2.42 | -1.02 | 1.44 | 0.08 | -4.16 | 2.26 |
| 20 | PIT | -0.02 | +0.11 | -0.91 | -2.44 | 1.36 | 0.31 | 3.68 | 0.51 | -2.64 |
| 21 | LV | -0.15 | −0.22 | 2.35 | 2.60 | -2.18 | -3.93 | -1.37 | -0.79 | 2.28 |
| 22 | HOU | -0.15 | −0.18 | 6.42 | -1.68 | -4.33 | -1.38 | -2.76 | -1.33 | 4.00 |
| 23 | LAC | -0.20 | −0.53 | 0.75 | -0.13 | 1.76 | -1.89 | 2.25 | 0.79 | -4.96 |
| 24 | CAR | -0.48 | +1.11 | 2.56 | -7.01 | -4.73 | -1.48 | 0.01 | 1.74 | 5.52 |
| 25 | DEN | -0.53 | +0.19 | -6.08 | 2.34 | -0.62 | 3.52 | 0.77 | -1.24 | -2.39 |
| 26 | LAR | -0.60 | +0.15 | 0.66 | 0.00 | -2.73 | -3.17 | -0.98 | 1.72 | 0.29 |
| 27 | CHI | -0.83 | +0.37 | 1.14 | -2.96 | -4.18 | 0.14 | -0.08 | -3.29 | 3.41 |
| 28 | NYG | -1.31 | +0.11 | -1.90 | -5.10 | 2.30 | -0.21 | -0.41 | -1.36 | -2.51 |
| 29 | ATL | -1.34 | −0.88 | 1.16 | 0.59 | -0.44 | -2.88 | 0.12 | -3.06 | -4.85 |
| 30 | CLE | -1.76 | −1.09 | 3.75 | -0.73 | 1.24 | -5.58 | -3.90 | -5.51 | -1.57 |
| 31 | IND | -2.20 | −0.17 | 0.19 | -2.97 | -1.65 | -3.28 | -6.00 | 0.58 | -2.28 |
| 32 | NYJ | -3.34 | +0.73 | -1.45 | -7.75 | -4.73 | -5.32 | -1.54 | -5.18 | 2.62 |
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 |
|---|---|---|---|---|---|---|---|
| GB | 7.35 | 5.08 | 1.12 | 1.25 | 2.31 | 5.04 | -2.05 |
| SEA | 7.22 | 4.24 | 5.64 | 0.97 | 5.28 | 5.74 | 3.52 |
| HOU | 6.42 | -1.68 | -4.33 | -1.38 | -2.76 | -1.33 | 4.00 |
| BUF | 5.98 | 1.94 | 0.06 | 4.39 | 0.97 | 3.36 | 4.38 |
| MIN | 4.27 | 0.36 | 2.29 | 2.91 | 4.70 | -3.20 | 0.44 |
| CLE | 3.75 | -0.73 | 1.24 | -5.58 | -3.90 | -5.51 | -1.57 |
| KC | 3.16 | 3.54 | 3.17 | 1.45 | 2.23 | -1.35 | 0.80 |
| TB | 3.15 | 1.59 | 0.42 | 0.08 | 3.63 | -2.36 | 1.07 |
| CAR | 2.56 | -7.01 | -4.73 | -1.48 | 0.01 | 1.74 | 5.52 |
| NO | 2.36 | -4.05 | 1.23 | 2.93 | -2.67 | 2.19 | 1.81 |
| MIA | 2.36 | 0.47 | -0.04 | 5.09 | 3.12 | 1.49 | -7.72 |
| LV | 2.35 | 2.60 | -2.18 | -3.93 | -1.37 | -0.79 | 2.28 |
| ARI | 1.71 | 4.60 | -1.33 | -2.55 | 2.45 | 0.99 | 1.21 |
| TEN | 1.66 | 2.42 | -1.02 | 1.44 | 0.08 | -4.16 | 2.26 |
| ATL | 1.16 | 0.59 | -0.44 | -2.88 | 0.12 | -3.06 | -4.85 |
| CHI | 1.14 | -2.96 | -4.18 | 0.14 | -0.08 | -3.29 | 3.41 |
| LAC | 0.75 | -0.13 | 1.76 | -1.89 | 2.25 | 0.79 | -4.96 |
| LAR | 0.66 | 0.00 | -2.73 | -3.17 | -0.98 | 1.72 | 0.29 |
| IND | 0.19 | -2.97 | -1.65 | -3.28 | -6.00 | 0.58 | -2.28 |
| BAL | 0.15 | 0.39 | -1.69 | 3.56 | 6.08 | 3.80 | 7.73 |
| JAX | -0.18 | -4.08 | 1.38 | 2.16 | -0.53 | -1.13 | 7.65 |
| PIT | -0.91 | -2.44 | 1.36 | 0.31 | 3.68 | 0.51 | -2.64 |
| DET | -0.92 | 0.22 | -1.46 | 1.45 | 7.13 | 2.59 | 1.71 |
| DAL | -1.22 | 2.56 | -1.08 | 3.47 | -4.38 | 1.85 | 3.04 |
| CIN | -1.24 | 5.05 | 2.76 | 2.13 | 6.85 | 1.18 | 5.35 |
| SF | -1.26 | 2.34 | -1.64 | 5.42 | 1.33 | 5.93 | 5.98 |
| WAS | -1.38 | 0.39 | -1.64 | -0.54 | 5.21 | 1.26 | -0.02 |
| NYJ | -1.45 | -7.75 | -4.73 | -5.32 | -1.54 | -5.18 | 2.62 |
| NYG | -1.90 | -5.10 | 2.30 | -0.21 | -0.41 | -1.36 | -2.51 |
| NE | -2.19 | 2.97 | 1.06 | -3.45 | 1.63 | 11.57 | 6.61 |
| PHI | -4.93 | 0.91 | 1.91 | 4.26 | 6.49 | 4.07 | -3.01 |
| DEN | -6.08 | 2.34 | -0.62 | 3.52 | 0.77 | -1.24 | -2.39 |
CPOE since 2018
Leaders since 2018: 2018 Seahawks (7.68), 2019 Seahawks (7.54), 2020 Packers (7.35).
Seahawks have led this stat 2 of 3 seasons.
The best season on record is Seahawks 2018 at 7.68; the worst Cardinals 2018 at -7.57.
The league average has risen from 0.61 in 2018 to 1.08 in 2020.
Distribution
How the 32 teams cluster for 2020.
About this stat
- Stat ID
- off_passing_pass_cpoe
- Side
- offensive
- Family
- Passing
- Data source
- P + N
- Polarity
- higher is better (or neutral)
- Display grain
- rate
- Algorithm eligibility
- Algorithm-eligible: this stat can be picked in the Algorithm Builder.