Muffed.ai 2025 QB Rankings — A Data-First Take on All 32 Starters
Published 2026-05-24 · Muffed.ai
Last week a couple of well-known NFL analysts ran a fun, deliberately argumentative QB ranking on a podcast. It got attention because it was honest about being subjective: when you let smart fans rank quarterbacks by feel, you get fights about Lamar vs. Mahomes vs. Allen and zero agreement about Caleb Williams.
We thought it was a good prompt to do something different: rank every 2025 starting QB the way a model would, with a published theory you can argue with — not an aesthetic.
This is the result. Every number below is computed from the nflverse 2025 play-by-play file, the NFL's Next Gen Stats feed, and NFL participation data, then dropped into our verified-stats JSON and looked up before it's written down. There are no estimates and no “I think he's better than this” adjustments.
If you disagree with a ranking, the right way to disagree is to disagree with the weights or the theory, not the math.
The theory in one paragraph
A quarterback's job is to convert dropbacks into expected points. Yards, touchdowns, completion percentage, leadership, and all the rest are downstream of that. So we anchor on EPA (expected points added) and add four adjustments: rushing value (mobile QBs add EP with their legs that don't show up in passing stats), accuracy independent of volume (CPOE captures throw quality controlling for difficulty), down-to-down reliability (success rate, so a boom-bust thrower doesn't win on two 80-yard bombs), and a small clutch and pressure-to-sack-rate term. The composite is a z-score blend of those six inputs, weighted by how much we trust each one to mean anything. One important methodology choice: we don't punish QBs for sack rate directly — we punish them for converting pressure into sacks. Some sacks are pure O-line failure, and a QB ranking shouldn't be an overall passing-game ranking. More on this below.
The full ranking (and what jumps out)
Before we get into per-QB blurbs, here's the table. Score is the composite z-score (higher is better, league average is 0). EPA/G is QB-only Total EPA per game (with pressure-related sacks counted at half EPA — see methodology). EPA/db is QB-only EPA per dropback. CPOE is the NGS canonical value. P2S is pressure-to-sack rate (lower is better — the QB-skill portion of taking sacks).
| # | QB | Team | GP | Score | EPA/G | EPA/db | CPOE | SR | P2S |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Drake Maye | NE | 17 | +2.07 | +12.88 | +0.376 | +9.14 | 55.2% | 25.0% |
| 2 | Jordan Love | GB | 15 | +1.35 | +9.92 | +0.299 | +3.82 | 50.5% | 15.2% |
| 3 | Brock Purdy | SF | 9 | +1.35 | +9.60 | +0.236 | +5.07 | 53.2% | 12.2% |
| 4 | Matthew Stafford | LA | 17 | +1.07 | +8.72 | +0.260 | +1.48 | 52.7% | 15.4% |
| 5 | Dak Prescott | DAL | 17 | +0.86 | +7.65 | +0.208 | +4.45 | 48.6% | 15.4% |
| 6 | Josh Allen | BUF | 16 | +0.76 | +8.74 | +0.216 | +1.55 | 48.4% | 26.9% |
| 7 | Daniel Jones | IND | 13 | +0.73 | +7.48 | +0.201 | +3.38 | 50.3% | 18.3% |
| 8 | Jared Goff | DET | 17 | +0.67 | +7.98 | +0.236 | +1.58 | 48.6% | 20.4% |
| 9 | Sam Darnold | SEA | 17 | +0.63 | +5.43 | +0.191 | +4.31 | 52.5% | 18.6% |
| 10 | Patrick Mahomes | KC | 14 | +0.60 | +8.56 | +0.202 | -2.90 | 49.9% | 19.7% |
| 11 | Joe Burrow | CIN | 8 | +0.23 | +5.46 | +0.129 | +2.06 | 48.2% | 19.3% |
| 12 | C.J. Stroud | HOU | 14 | +0.21 | +5.64 | +0.152 | +0.77 | 46.1% | 17.0% |
| 13 | Justin Herbert | LAC | 16 | +0.15 | +4.71 | +0.123 | +3.31 | 46.7% | 24.2% |
| 14 | Jalen Hurts | PHI | 16 | +0.12 | +4.69 | +0.131 | +3.09 | 44.3% | 20.5% |
| 15 | Bo Nix | DEN | 17 | +0.11 | +5.42 | +0.142 | -2.07 | 45.1% | 12.3% |
| 16 | Trevor Lawrence | JAX | 17 | -0.02 | +5.53 | +0.129 | -2.73 | 47.0% | 22.8% |
| 17 | Lamar Jackson | BAL | 13 | -0.05 | +4.87 | +0.150 | -2.23 | 46.5% | 29.0% |
| 18 | Jacoby Brissett | ARI | 13 | -0.13 | +3.41 | +0.077 | +3.37 | 45.3% | 23.8% |
| 19 | Marcus Mariota | WAS | 10 | -0.17 | +2.00 | +0.085 | +3.29 | 48.1% | 22.2% |
| 20 | Baker Mayfield | TB | 17 | -0.18 | +4.02 | +0.108 | -1.61 | 44.9% | 20.2% |
| 21 | Caleb Williams | CHI | 17 | -0.20 | +4.38 | +0.140 | -6.88 | 44.7% | 12.2% |
| 22 | Jaxson Dart | NYG | 14 | -0.32 | +4.20 | +0.111 | -2.03 | 44.5% | 28.2% |
| 23 | Michael Penix Jr. | ATL | 9 | -0.39 | +2.60 | +0.082 | -3.20 | 46.2% | 17.8% |
| 24 | Tyler Shough | NO | 11 | -0.40 | +2.56 | +0.075 | +0.65 | 44.7% | 31.6% |
| 25 | Tua Tagovailoa | MIA | 14 | -0.53 | +1.72 | +0.071 | -0.32 | 44.4% | 25.2% |
| 26 | Aaron Rodgers | PIT | 16 | -0.53 | +2.53 | +0.079 | -1.37 | 43.0% | 25.7% |
| 27 | Bryce Young | CAR | 16 | -0.61 | +0.96 | +0.041 | -0.29 | 43.8% | 16.3% |
| 28 | Justin Fields | NYJ | 9 | -0.87 | +1.23 | +0.033 | -1.66 | 42.9% | 29.3% |
| 29 | Geno Smith | LV | 15 | -1.14 | -1.49 | -0.032 | +0.77 | 42.4% | 31.8% |
| 30 | J.J. McCarthy | MIN | 10 | -1.57 | -1.74 | -0.066 | -5.16 | 41.7% | 27.6% |
| 31 | Cameron Ward | TEN | 17 | -1.64 | -2.42 | -0.069 | -3.05 | 37.9% | 28.2% |
| 32 | Shedeur Sanders | CLE | 8 | -2.16 | -4.97 | -0.157 | -3.63 | 36.8% | 20.0% |
Three things to flag before the per-QB blurbs.
The first is that Drake Maye is not a close #1. His +2.07 composite is more than half a standard deviation clear of #2. He led the league in CPOE (+9.14, more than four points clear of Purdy) and in QB-only Total EPA per game (+12.88), and he did it on a full 17-game sample at 22 years old. The Patriots took him third overall in the 2024 draft. That worked out.
The second is that Patrick Mahomes is tenth in our model and that is not a glitch. His CPOE this season was -2.90, the lowest of his career — his previous floor was -2.40 in 2021, and only his 2018 rookie year (+1.51) was meaningfully positive. His total production held up (+8.56 EPA/G, top 10) because he's still Patrick Mahomes and he still ran for 429 yards and 5 TDs on 56 carries. But the per-throw process numbers are way off where they used to be, and a model that takes accuracy seriously is going to punish him for that. He also missed the last three games to an ACL tear, which the per-game rate adjustment handles cleanly — the model is reading the 14 games we have, not assuming anything about the games we don't.
The third is that Lamar Jackson is seventeenth and we are not joking. He played 13 games, took 36 sacks, threw at -2.23 CPOE (well below league average), and posted a +0.150 QB-only EPA per dropback that is barely top-half of the league. When he was pressured, he converted to sack at 29.0% — the fourth-highest rate among the 32 starters (Geno Smith 31.8%, Tyler Shough 31.6%, Justin Fields 29.3%). He still rushed for 359 yards and was very good late-and-close (+0.204 EPA/db in Q3/Q4 within one score). But 2024 MVP Lamar and 2025 Lamar are not the same QB on the field this year, and a data-first ranking has to say that out loud.
Per-QB notes (1-32)
Tier 1 — The 2025 MVPs
(composite > +1.0)- Drake MayeNE+2.07
A 22-year-old quarterback in his second NFL season led the league in CPOE at +9.14, produced +12.88 QB-only Total EPA per game, and led the league in success rate at 55.2%. He took 47 sacks (a 7.8% raw sack rate) but his pressure-to-sack rate of 25.0% is league-average — the volume is a Patriots O-line problem, not him. The Patriots earned a playoff spot. This is the cleanest #1 we could draw up.
- Jordan LoveGB+1.35
Quiet excellence. 15 games, +9.92 QB-only Total EPA per game, +0.299 EPA per dropback (second only to Maye), +3.82 CPOE, the league's #2 late-close EPA per dropback at +0.377, and a strong 15.2% pressure-to-sack rate. Green Bay went to the playoffs as a wild card. Love had a top-2 QB season and almost no one is talking about him.
- Brock PurdySF+1.35
Only 9 starts but elite efficiency: +0.236 EPA/dropback, +5.07 CPOE (2nd in the league), 12.2% pressure-to-sack rate (tied for best in the league with Caleb Williams), and a +0.393 late-close EPA per dropback that's the best in the league among the 32. Sample-size caveat: 316 dropbacks is on the lighter side. The rate stats are robust.
- Matthew StaffordLA+1.07
Threw 46 touchdowns (most in the league) with only 8 interceptions. His CPOE of +1.48 isn't elite, but his +0.260 QB-only EPA/dropback and 52.7% success rate are. The Rams' offense is a deep-throw machine — his average intended air yards of 9.10 is tied for fourth in the league with Drake Maye (behind Mariota, McCarthy, and Jackson) and his +1.02 air yards to sticks is second-largest (behind only Mariota's +1.20). He played all 17 games at age 38. Worth it.
Tier 2 — Clear top-10 QBs
(composite +0.5 to +1.0)- Dak PrescottDAL+0.86
30 TDs, 10 INTs, +4.45 CPOE on 656 dropbacks (second only to Bo Nix's 674). Quietly had a top-5 QB season even though Dallas finished 7-9-1 and missed the playoffs — the Cowboys' defense and special teams were what dragged the season down, not Dak. He didn't have peak Dak's deep-ball variance — his intended air yards (8.28) are more conservative than Stafford's — but he was efficient where it mattered.
- Josh AllenBUF+0.76
14 rushing TDs, 599 rushing yards on 94 carries. His rushing alone added +48 EPA. The passing efficiency was good not great this year (+1.55 CPOE). His pressure-to-sack rate of 26.9% is mid-pack — he holds the ball some, but the volume of value he adds with his legs compensates.
- Daniel JonesIND+0.73
Career reset in Indianapolis. 13 games, +7.48 QB-only Total EPA per game, +3.38 CPOE (6th), 100+ passer rating, and 38 carries for 168 yards and 5 rushing TDs. His late-close EPA was the worst part of his profile (-0.035 on 100 plays). Still a clear top-10 QB by 2025 production.
- Jared GoffDET+0.67
34 TDs, 8 INTs, played all 17, and put up +0.236 QB-only EPA per dropback. The only concerning number is late-close at -0.175, which is a small sample but a real pattern this year — Detroit went 9-8 and missed the playoffs after losing tight games down the stretch. Note: GB (9-7-1) took the last NFC wild card on win percentage tiebreaker (.559 vs .529), so DET is out.
- Sam DarnoldSEA+0.63
Did not regress from his 2024 breakout the way many predicted. +0.191 QB-only EPA per dropback, +4.31 CPOE (4th in the league) on 477 attempts. Threw 25 TDs to 14 picks, played all 17 games, and Seattle won the NFC West. His +0.207 late-close EPA per dropback is also very good. The Vikings probably regret letting him go.
- Patrick MahomesKC+0.60
The CPOE collapse to -2.90 is real and matters; his total production stayed top-10 because he still adds value with his legs (56 carries, 429 yards, 5 TDs) and because his floor is so much higher than most. KC's offense as a whole was 13th-best by team pass EPA per attempt — not what we're used to. Note: he missed the final three regular season games with an ACL tear, hence 14 games played.
Tier 3 — Solid starters
(composite -0.10 to +0.50)- Joe BurrowCIN+0.23
Only 8 games before injury. His +2.06 CPOE and 17:5 TD-to-INT ratio say he was on track for a normal Joe Burrow season; his +0.129 QB-only EPA per dropback is below where his ceiling sits on these accuracy numbers, and Cincinnati's offense ranked 24th in team pass EPA per attempt overall (Flacco started most of the rest). Hard to read Burrow's small-sample line with any confidence. He's ranked where the production was; the talent says higher.
- C.J. StroudHOU+0.21
14 games, +0.152 QB-only EPA per dropback, +0.77 CPOE, and a more involved running game than in years past (38 carries, 214 yards). The Texans' offense was 15th in team pass EPA per attempt — squarely middle of the pack. Reasonable bounce-back season after a noisy 2024.
- Justin HerbertLAC+0.15
Pressured 36.3% of the time — the second-highest rate in the league behind only Shedeur Sanders. When pressured, he gets sacked 24.2% of the time, which is league-average — so the 54 sacks he took were overwhelmingly because the LAC O-line lets him get pressured constantly, not because he was holding the ball. He had +3.31 CPOE (8th) and 510 rushing yards (more than Lamar) on 74 carries. With a competent O-line his composite is a clean top-10. The pressure-adjusted rank of 13th already builds in partial credit — without it, he'd be in the high teens.
- Jalen HurtsPHI+0.12
Threw fewer TDs (25) and ran for more (8 rushing TDs, 94 carries, 436 yards) than the narrative around him suggests. His +3.09 CPOE is genuinely good. But his +0.131 QB-only EPA/dropback is middling and his 44.3% success rate is below average — he's a high-leverage QB whose value is concentrated in red-zone runs and a few explosive throws. The Eagles' offense was 14th in team pass EPA per attempt this season, so it's not a 2024 juggernaut anymore. This is roughly what we'd expect Jalen Hurts to be in a healthy year.
- Bo NixDEN+0.11
Denver's offense ranked 9th in team pass EPA per attempt, helped by Nix's 12.3% pressure-to-sack rate (3rd-best in the league, behind only Purdy and Caleb Williams at ~12.2%) — when he's pressured, he gets out of trouble. CPOE was -2.07 (28th in the NGS sample), which is the main thing keeping him out of the top 10. Most dropbacks in the league at 674.
- Trevor LawrenceJAX-0.02
29 passing TDs, 9 rushing TDs (tied with Jaxson Dart, behind only Josh Allen's 14). CPOE of -2.73 says the underlying accuracy isn't there yet. QB-only EPA per dropback of +0.129 is replacement-plus, not star. He played all 17 games. Coen's offense let him cook on designed runs.
Tier 4 — Below-average starters
(composite -0.70 to -0.02)- Lamar JacksonBAL-0.05
Baltimore went 8-9 and missed the playoffs; Lamar started 13 of those games. The model is not “wrong” about Lamar — his per-game and per-dropback numbers really were below average this year, dragged primarily by a 29.0% pressure-to-sack rate (4th-worst) and his -2.23 CPOE. The pressure adjustment helped him a meaningful amount (he was #20 before we credited part of his sack volume to the OL); it didn't elevate him into the top 10. His ceiling and his floor are still higher than this in his career. 2025 just wasn't the year.
- Jacoby BrissettARI-0.13
This is the v1.1 model's biggest gainer. +3.37 CPOE (7th in the league) on 552 dropbacks behind a chaotic Cardinals OL that pressured him 32.8% of the time (7th-highest pressure rate). When pressured, he converted to sack at a league-average 23.8%. He completes throws above expectation; the throws just don't generate enough value because Arizona's offense around him was stuck. Murray missed half the year.
- Marcus MariotaWAS-0.17
Stepped in for Jayden Daniels (188 attempts to Mariota's 227) and was perfectly fine in a difficult spot. His +3.29 CPOE on 227 attempts is real and his late-close EPA was decent. The composite is dragged by a small +0.085 EPA per dropback. Career backup who didn't sink the season.
- Baker MayfieldTB-0.18
26 TDs and 11 INTs, but his per-dropback efficiency dropped to +0.108 and CPOE to -1.61 from his 2024 highs. His rushing line is interesting: 42 of his 47 carries were scrambles, and his total rush EPA of +41.3 (3rd among QBs) is doing a lot of the lifting. He plays all 17 games. He's exactly what he is.
- Caleb WilliamsCHI-0.20
Here's where the rankings get controversial. Williams threw for 27 TDs and only 7 INTs and posted +0.140 QB-only EPA per dropback — those are real numbers. But his CPOE of -6.88 is the worst of any QB in our sample with at least 200 attempts. His pressure-to-sack rate of 12.2% is tied with Purdy for best in the league — meaning when he's pressured he almost never gets sacked. That's good pocket movement, but it's also why his sack rate was deceptively low. The Bears' offense was 10th in team pass EPA per attempt, and Williams' time to throw of 3.20s was the second-highest in the league behind only Shedeur Sanders — he is holding the ball forever, hunting big plays. It's working some of the time. It is not a sustainable shape for a top-10 QB.
- Jaxson DartNYG-0.32
Rookie. 9 rushing TDs on 41 designed carries (3rd-most in the league, tied with Justin Fields and behind Hurts and Allen), and a +41.4 total rush EPA that essentially ties Mayfield for 2nd among QBs. But -2.03 CPOE, 28.2% pressure-to-sack rate (5th-worst), and a brutal -0.140 late-close EPA per dropback. The Giants' offensive scheme was clearly tilted around his legs because the throwing wasn't there yet. He'll be more in the conversation next year.
- Michael Penix Jr.ATL-0.39
Took over from Kirk Cousins (Penix 290 attempts to Cousins' 269) and was learning on the job. 9 TDs, 3 INTs, -3.20 CPOE. The intended air yards (8.82) and aggressiveness (13.8%) say he was being asked to push the ball downfield, which is part of why CPOE is rough. Reasonable rookie growth profile.
- Tyler ShoughNO-0.40
Rookie, threw 10 TDs to 6 INTs in 11 games. +0.075 QB-only EPA per dropback and a 31.6% pressure-to-sack rate that's near the bottom. Saints are rebuilding. Shough is fine as a development arc.
- Tua TagovailoaMIA-0.53
20 TDs to 15 INTs is a brutal ratio. -0.32 CPOE — actually below the NFL average for the first time as a starter. 14 games. Miami's offense collapsed around him and our previous Muffed Short corrected a hot take that his CPOE was positive — it was not. This is what it looks like when the YAC machine breaks down.
- Aaron RodgersPIT-0.53
24 TDs, 7 INTs, but +0.079 QB-only EPA per dropback and a 43.0% success rate that's bottom-10. His 5.95 average intended air yards is the shortest among the 32 starters — he is not pushing the ball downfield at all, and his -3.08 air yards to sticks is the most “below-the-marker” in the sample. He was pressured only 21.0% of the time (the lowest in the league — Pittsburgh's O-line protected him well), and he still couldn't generate value. End-of-career season.
- Bryce YoungCAR-0.61
Year three is supposed to be the leap year. Young's +0.041 QB-only EPA per dropback and 43.8% success rate suggest the leap is still pending. -0.29 CPOE is right at league average; the rest of his profile is below. His 16.3% pressure-to-sack rate is actually good — pocket movement isn't the problem. He's just not generating enough yards per attempt.
Tier 5 — The worst starting QB seasons
(composite < -0.80)- Justin FieldsNYJ-0.87
Started 9 games before being benched. 7 TDs, only 1 INT (good!), but +0.033 QB-only EPA per dropback, 29.3% pressure-to-sack rate (3rd-worst), and a brutal -0.229 late-close EPA per dropback. His designed runs were the only thing keeping him from being deeper in this list — 41 designed runs for 387 yards and 4 TDs. The Jets cycled through three QBs (Fields, Cook, Taylor).
- Geno SmithLV-1.14
This is the steepest year-over-year decline in the league. 19 TDs to 17 INTs. -0.032 QB-only EPA per dropback. The Raiders pressured him on 33.2% of dropbacks (6th-highest); when pressured, he converted to sack at 31.8% — the worst rate in the league among 200+ dropback QBs. So even with the OL bailout, this is a Geno problem too. CPOE was still positive (+0.77) — he was throwing accurately into hopeless situations. This is what playing on a 2025 Raiders team does to a QB profile.
- J.J. McCarthyMIN-1.57
Rookie (after the lost 2024 to injury). -0.066 QB-only EPA per dropback, -5.16 CPOE (35th in the NGS sample), 27.6% pressure-to-sack rate. Threw 11 TDs to 12 INTs. The Vikings' offense was 29th in team pass EPA per attempt. McCarthy was given the keys; the keys didn't fit.
- Cameron WardTEN-1.64
Hard rookie year for the #1 overall pick. -2.42 QB-only Total EPA per game across all 17 starts means Tennessee played him through the pain. 15 TDs, 7 INTs, -3.05 CPOE, 37.9% success rate (2nd-worst). He took 55 sacks. The good news: he played every game and the tape is there to coach off of for year 2.
- Shedeur SandersCLE-2.16
The worst per-dropback efficiency of any 200+ dropback QB in 2025: -0.157 QB-only EPA per dropback, 36.8% success rate, -3.63 CPOE, 7 TDs to 10 INTs in 8 games. He was pressured on 45.5% of his dropbacks — the highest rate in the league by 9 percentage points — and his -0.476 late-close EPA per dropback is in a class of its own (the next worst is McCarthy at -0.265). His 3.23s time to throw was the slowest in the league. Cleveland gave him a real opportunity and the production was the worst in the sample.
Five takes the model is willing to defend
Take 1: Drake Maye is the best QB in football in 2025. Not “had the best season among the established stars.” The best, full stop. Top in CPOE by four points, top in QB-only Total EPA per game, top in success rate, 17 games, age 22. There is no other interpretation of these numbers.
Take 2: The MVP-conversation Lamar Jackson does not exist in 2025. Even after we adjust for partial OL credit, Lamar's pressure-to-sack rate of 29.0% (4th-worst) and his -2.23 CPOE put him 17th. Last year's Lamar was an MVP. This year's was below average.
Take 3: Caleb Williams is having a bad season disguised as a fine one. 27 TDs and 7 INTs is the wrapper. -6.88 CPOE — worst in the league for QBs with 200+ attempts — is what's under it. The Bears' top-10 pass-EPA offense and his +0.291 late-close numbers cover the accuracy hole this year. They will not next year if the underlying throw quality doesn't improve.
Take 4: Jordan Love had the second-best QB season of 2025 and almost no one noticed. Second-best EPA per dropback in the league (behind only Maye), second-best late-close EPA per dropback, played 15 games, took 21 sacks all season. The Packers made the playoffs. Nobody is talking about him because they're talking about Hurts and Mahomes.
Take 5: Justin Herbert is being failed by his team in a way few QBs ever have been. 8th in CPOE, second-most QB rushing yards in the league, pressured on the second-highest rate of any QB. With even an average O-line he'd be in the top 10. We adjusted partially for that and he still only lands at 13.
How much would strength of schedule change this?
A fair pushback on the ranking above is: “you didn't adjust for who each QB actually got to throw against.” So we ran it.
For each starter, we computed the weighted average of opponent defensive EPA-per-dropback-allowed, weighted by how many dropbacks they took against each defense. Then we subtracted that “expected EPA per dropback from schedule” from each QB's actual EPA per dropback.
A few things worth knowing:
- Drake Maye had the 5th-easiest schedule in the league. New England's opponents allowed an average of +0.084 EPA per dropback — well above the +0.043 league mean. His SOS-adjusted EPA per dropback drops materially, but he still has the largest SOS-adjusted edge in the league. He's still #1.
- Cameron Ward had the hardest schedule (opponents allowed -0.015 EPA per dropback, the only meaningfully sub-zero number in the sample). He still finishes 30th composite even after the adjustment.
- Patrick Mahomes had the 3rd-hardest schedule. Folding SOS into the composite moves him from #10 to #6 — a four-spot jump. The “down year” looks materially better after accounting for who he was throwing against.
Top 4 and bottom 5 don't change with SOS adjustment. Other notable middle-of-the-ranking moves: Mariota +3 (19 → 16), Lamar +2 (17 → 15), Bo Nix -3 (15 → 18), Lawrence -3 (16 → 19), Shough -3 (24 → 27).
We chose to keep the headline ranking unadjusted for schedule in this version, because a one-pass SOS calculation is itself biased (a defense's rating is influenced by the offenses it faced) and a more rigorous SRS-style iteration is the v2 fix. The SOS-adjusted EPA per dropback for every QB is persisted in verified_stats_2025.json (key: qb_schedule_difficulty_2025) so anyone can pull it and reweight.
What this ranking is not measuring
Strength of schedule (computed but not folded into the headline composite). Quality of WR room or scheme. Quality of head coach and play-caller. Adjustments for garbage time or leverage. Postseason performance. Pre-snap reads vs. post-snap. Improvisation outside structure. Anything you'd watch on tape.
It's measuring what each QB did, per dropback, on a per-game basis, in 2025, accuracy-controlled, rate-controlled, and pressure-aware. That's a meaningful thing to measure. It's not the same thing as “who's the best QB” in the abstract.
If you wanted a “who'd you start your team with for 2026” ranking, you'd probably push Burrow up, push Mahomes up, push Maye even higher, push Williams down, push Stafford down. That's a different exercise. This one is meant to be honest about 2025 production with no fingers on the scale for narrative.
The methodology, briefly
Universe: the 32 QBs who took the most dropbacks for each team in the 2025 regular season per nflverse PBP, where a dropback is a pass attempt (sacks included) plus a scramble, kneels excluded.
Composite formula (v1.1): z-score blend across the 32-QB universe of these six inputs:
z-scores are computed using the 32-starter sample (not all QBs in the league). Composite > 0 means above the starter average, < 0 means below.
Why the pressure adjustment matters: in v1.0 of this model, raw sack rate was 5% of the composite, and sack plays also hurt EPA per dropback directly. That meant Justin Herbert (pressured 36.3% of the time, 2nd-highest in the league) was being double-penalized for an O-line that's out of his control. The v1.1 fix swaps raw sack rate for pressure-to-sack rate (when he was pressured, how often did he fail to escape or throw it away?) and counts pressure-related sack EPA at half its raw value. This is a defensible split: pressure is mostly OL/scheme, but converting pressure into a sack vs. an escape or throwaway is partly QB skill. Bo Nix's 12.3% pressure-to-sack rate is still rewarded; Geno Smith's 31.8% is still punished. The change moved Herbert from #15 to #13, Lamar from #20 to #17, Brissett from #23 to #18, and pulled Caleb Williams from #18 to #21 (his low raw sack rate was hiding the accuracy hole).
Data sources:
- nflverse
play_by_play_2025.csv.gz(through end of regular season) - nflverse
ngs_passing.csv.gz(NFL Next Gen Stats) - nflverse
pbp_participation_2025.csv(per-play was_pressure flag) - nflverse
stats_player_week_2025.csv
Every number in this document was looked up in verified_stats_2025.json (regenerated by verify_stats.py) before it was written. If you find a wrong number, that's a bug in our stat library, not a creative decision — report it and we'll fix it in the source.
What we'd build into v2 if we did this again:
- Iterative strength-of-schedule (SRS-style), instead of the one-pass version
- A “stable vs. noisy” decomposition (CPOE and pressure-to-sack are more stable; EPA and success rate are less)
- Time-window splits (first 8 games vs. last 9) to catch in-season trajectories
- A proper pressure model that distinguishes “instant” pressure (OL gave up immediately) from “extended” pressure (the QB held the ball)
The goal here was to publish a defensible v1.1 with the rule that every claim ties to a number you can look up. The weights are arguable. The numbers are not.
Listen
We do this every week. For every team. For every top fantasy player.
Muffed is the AI-narrated NFL podcast network — same-depth coverage of every team, every week. Pre-season, we've seeded every team page with a 2025 season-in-review episode. Once the 2026 season kicks off, weekly recaps drop every Tuesday.