SignalTuned SignalTuned

Rankings tuned to the signal, not the noise.

Need help?Sign in
QB2026-05-20

The 91% rushing-QB stat is cooked. The 77% one isn't.

What the consensus says

One claim keeps recurring across 2026 preview content. PFF, FantasyLife, RotoBaller, Dynasty Football Factory, and FantasyPros all cite it: since 2014, 34 quarterbacks have hit 100+ rushing attempts in a season, and 31 of them (91%) finished top-12 in fantasy points per game. It's the load-bearing argument writers use to justify drafting Malik Willis or Jaxson Dart over a higher-floor pocket passer. So I tested it.

The claim, in plain English

The honest version of the claim is forward-looking. If a QB hits 100 rush attempts in season Y, what does Y+1 actually look like? Here's the predicate:

def predicate(row):
    return float(row.get("carries") or 0) >= 100.0

Every QB-season 2015-2024 with at least 150 pass attempts (real starters), paired with the same QB's Y+1, asking whether 100+ rush attempts in Y predicted higher Y+1 PPG.

How I beat on it

Standard Y-to-Y+1 cohort design, scored under half-PPR. Stratified by Y0 pass attempts per game so the comparison controls for starter volume. Full framework at docs/RESEARCH_SESSION97_AUTONOMOUS_2026-05-13.md. Paired set: 282 QB-season pairs across 10 seasons; 26 cleared the 100-rush-attempt cohort line.

What the data actually said

First swing: compared the two groups straight up. In-cohort Y+1 ppg averaged 19.95, out-of-cohort 15.62. A +4.33 ppg gap, which at QB is gigantic. The kind of number that should make you suspicious immediately.

Because aggregates lie. The 100-rush-attempt QBs in our set tend to be guys who were already starting, and starters score more than backups. The real question is what happens inside a pass-attempts band, where everyone is starting:

Y0 pass-att/g Cohort Y+1 ppg Out-cohort Y+1 ppg n_in / n_out Delta
35+ 23.55 16.56 3 / 94 +6.99
30 to 35 20.36 16.01 9 / 113 +4.35
25 to 30 19.15 14.90 11 / 39 +4.26
20 to 25 18.64 15.83 2 / 8 +2.81
under 20 27.71 16.72 1 / 2 +10.99

Every band is positive. Every single one. The 25-30 band is the only one with clean sample size on both sides, and it's still +4.26 ppg. So this isn't a "starters are good" effect dressed up as a rushing-QB effect. Rushing QBs really do produce more Y+1 ppg than passing QBs at the same passing volume.

Then I ran the 91%-rule variant. Of our 26 cohort seasons, how many finished Y+1 as a top-12 QB by ppg (minimum 6 games)? 77 percent. Out-of-cohort, 39 percent. The effect is real and large, but the cited 91 number doesn't survive a strict Y0-to-Y+1 follow-up requirement. Some of those 31-of-34 QBs in the original claim didn't have a paired Y+1 season at all (retirements, injuries, getting benched), and including only the survivors inflates the rate. The takesmiths quoted the survivors. We counted everybody. Still, 77 percent is enormous. A 2-in-3 floor on top-12 ppg is the most important fantasy signal at the most important position in SuperFlex.

Here's the mechanism that makes this more than a surface correlation. A QB who ran 100 times last year is telling you two things simultaneously: first, his legs are fast enough that his coaching staff is scripting designed runs, and second, he's a real starter with volume. Those two facts together compound in Y+1. The rushing yards inflate his raw scoring floor, and the position's age curve hasn't dented his mobility yet. Pull the legs away later in his career and you get the second-order risk: no pocket efficiency underneath means the floor collapses fast. But at the 100-attempt stage, that is future-Ryan's problem. Right now the signal is clean and the direction is unanimous across every pass-volume band.

What the engine already figured out

SignalTuned sees rushing QBs, but not the way the analysts are framing it. The engine has a dual_threat QB archetype that triggers at 31.25 rush yards per game (about 500 yards in a 16-game season), and it adjusts the post-peak decline slope to be steeper for those QBs (mobility fades faster than arm talent). What the engine does NOT have is a forward-projection bonus for "this guy ran 100 times in Y0, expect more in Y+1." Rushing QBs get credit through their raw rushing yards inflating weighted_ppg, but there's no explicit Y0-to-Y+1 rushing-persistence term in the ranking math.

That's the "adds information" verdict in our framework. The engine isn't wrong about rushing QBs. It's that there's a discrete forward-projection signal here (the year-over-year persistence inside pass-volume bands) that isn't currently a ranking input.

What to do about it

If you're in SuperFlex and a QB hit 100 rush attempts last year, lean into his Y+1 outlook. Jalen Hurts, Lamar Jackson, Jayden Daniels, Anthony Richardson, Bo Nix, and Caleb Williams all cleared the line in 2025. Expect roughly 4 ppg of Y+1 lift over a similar-volume pocket passer, and a 77% shot at top-12 ppg.

Engine-side, this verdict triggers an experimental_features.rushing_qb_persistence block at weight=0, which means the warm-loop A/B harness samples it without affecting live rankings. If the lift holds up in walk-forward validation, weight goes positive next calibration cycle. Diff in docs/agent_proposals/. No live ranking changes today.

Receipts


Back to all posts