Omaha 2.3.0

Released 1 October 2026

The simulation now knows the difference between a throw to the first receiver a quarterback looks at and a checkdown to his running back. Receptions and targets, the two weakest figures on this page, improve the most.

2,176,000
games simulated
272
real games scored
5,440
situations measured

How to read these numbers

Every figure below compares the simulation against a player’s own season average so far, scaled to how much of the game is left, roughly what a reader could work out without us. Zero means we add nothing over that. Positive means we beat it; negative means we are worse than it.

Measured across the 2024 season, weeks 1–18, rebuilding the model each week using only what was known at the time. 400 simulations per situation.

The change column is simply this version’s accuracy minus 2.2.0’s, each measured across everything that version covers, so the two columns you can see always account for it. We also measure the change on shared situations alone, which is a more sensitive test; where the two disagree we publish this one.

Accuracy by stat

Statvs. season averageChange from 2.2.0
Receiving touchdownsrare event+20.0%−0.15
Rushing touchdownsrare event+16.7%+0.00−0.13 to +0.40
Receiving yards+14.4%+0.31+0.20 to +0.41
Pass attempts+13.0%−0.00−0.10 to +0.10
Passing yards+11.1%+0.06−0.04 to +0.15
Rushing yards+10.9%+0.00−0.02 to +0.07
Completions+9.8%+0.07−0.07 to +0.20
Passing touchdownsrare event+7.0%+0.08+0.04 to +0.60
Receptions+3.3%+0.66+0.44 to +0.93
Targets+3.2%+0.51+0.32 to +0.74
Rush attempts+0.7%+0.05−0.05 to +0.11
Average across all figures+10.0%

The average is an unweighted mean across the figures above. It is a summary of how we are doing, not a single score for the model: yards and counts are not measured in the same units, so combining them any more cleverly than this would just let passing yards decide the answer.

Each change carries the range the measurement can actually support. A change whose range crosses zero is shown in neutral rather than as a gain: we cannot tell it apart from no change, and we are not claiming it as one.

What changed

Improved
Any pass where the first receiver is covered.

A quarterback reads his receivers in order. If the first one is open the ball goes there; if nobody is, he works down and often ends up dumping it off to his running back behind the line. Those are completely different plays for everyone involved, and the simulation treated them as one: it handed out a target at a player's average rate on every pass, with no notion that some passes are checkdowns.

In real games, running backs take 4% of throws to the first receiver and 62% of checkdowns. The ball also travels much shorter and gains less: 8.3 yards on a first read against 5.6 on a checkdown.

Improved
Defenses that send extra rushers.

Sending a fifth or sixth rusher leaves fewer defenders in coverage, so the first receiver is more likely to be open and the ball leaves quickly. That is the opposite of what it sounds like: more pressure produces fewer checkdowns, not more. How often a defense does this is a settled part of its scheme rather than a matter of personnel, so it carries from season to season and the simulation can rely on it.

Against four rushers, 16% of throws are checkdowns. Against six, 6%. A defense's rate of sending extra rushers holds up from one season to the next at a correlation of 0.55, and teams range from 17% of passes to 34%.

Improved
Receptions, targets and receiving yards.

These three were the obvious place for this to land, because all three depend on which player the ball goes to rather than on how the play turns out. Receptions and targets were the two weakest figures on this page.

Receptions improve from +2.6% to +3.3% and targets from +2.7% to +3.2%, both holding up on a game-by-game resampling. Receiving yards improve from +14.1% to +14.4%. Measured against a control change that does nothing, these are 33, 13 and 6 times larger than what the control moved. The average across the page goes from +9.9% to +10.0%.

No change
Every rushing figure, and pass attempts.

The change applies only to passes, so rushing yards, rushing touchdowns and pass attempts are identical to the last decimal place. Nothing about how often a team runs or throws moved.

Rushing yards +10.9%, rushing touchdowns +16.7%, pass attempts +13.0%, all unchanged.

What this version still gets wrong

  • Receiving touchdowns read 0.2 points lower on one of the two measures we score them by and 0.7 points HIGHER on the other. Touchdowns are mostly zero, so the second measure is the one built for them and the one we trust; we are showing you both rather than picking the flattering one. The interval beside that figure is withheld because it was computed on a different set of plays than the change itself and the two disagreed.
  • Tight ends now get slightly too many targets. The simulation sends the checkdowns to running backs correctly and receivers correctly, and the small amount left over lands on tight ends: their share of targets is now about 2.8 points above what really happens, against 1.1 before.
  • We do not model who wins an individual matchup between a blocker and a rusher, or between a receiver and the defender covering him. We tested whether our per-player quality ratings could stand in for that and they could not: the rate of checkdowns is flat across the whole range of them. What works is counting how many defenders rush, which is a decision rather than a contest.
  • Receptions remain the second-weakest figure here even after this. The remaining gap is the level rather than the shape: the engine still projects about 8% fewer catches than actually happen, and that is a separate problem this release does not address.
Omaha 2.3.0 · Neutral Zone Labs