Omaha 1.0.0

Released 3 September 2026

Ten of the eleven figures we publish are now more accurate than a player's own season average. Rush attempts, the weakest of them, has improved by forty-three points across six releases.

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 0.9.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 0.9.0
Receiving touchdownsrare event+20.4%+0.00+0.00 to +0.00
Rushing touchdownsrare event+17.6%+0.00+0.00 to +0.00
Receiving yards+12.9%+4.00+3.37 to +4.64
Rushing yards+10.8%+6.41+5.31 to +7.60
Passing yards+9.0%+1.04−1.10 to +3.39
Pass attempts+7.9%+1.24−1.29 to +4.07
Passing touchdownsrare event+7.7%+0.00+0.00 to +0.00
Completions+5.9%+1.94−0.62 to +4.80
Receptions+1.3%+1.88+1.22 to +2.58
Rush attempts+1.1%+9.09+7.46 to +10.79
Targets−0.9%+6.21+5.32 to +7.15
Average across all figures+8.5%

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

Corrected
Projections made before kickoff, for every player.

We found that the simulation beats a player's season average late in a game and loses to it early, comfortably ahead in the fourth quarter, well behind before the first snap. That is not a bug so much as a fact about what a simulation knows: with a game underway it has the score, the clock and the situation to work from, and before kickoff it has none of those. So we now take the LEVEL of a pre-game projection largely from the player's own average, and the shape of the distribution and the response to the game state from the simulation. The weight on history falls as the game runs and reaches zero by the final whistle.

Rush attempts improved 9.1 points, targets 6.2, rushing yards 6.4, receiving yards 4.0. The weight was fitted on the first half of the season and tested on the second, so the gain is measured on games it was not tuned against.

No change
Touchdowns.

Deliberately untouched. A touchdown happens or it does not, so there is no distribution for a level correction to act on, and a part-season touchdown rate is a noisy thing to lean on. We applied the correction to them at first and all three figures got worse; tested properly, the right weight for them is exactly zero.

Improved
Where the six releases have got to.

Since 0.5.0, every figure we publish has improved. The average across all of them has gone from 5.7% worse than a player's season average to 8.5% better.

Rush attempts −41.5% → +1.1%, targets −27.4% → −0.9%, receptions −21.6% → +1.3%, rushing yards −12.4% → +10.8%, receiving yards −4.5% → +12.9%.

What this version still gets wrong

  • Targets, at −0.9%, is the one figure still slightly worse than a player's own season average. It has improved by 26.5 points and is close, but it has not crossed.
  • The pre-game correction is a documented blind spot, not a modeling advance. It works by conceding that before kickoff a player's own average predicts his workload better than our simulation does, and borrowing it. It uses only what a reader with a spreadsheet has at kickoff, the season so far, and how much game is left, and it fades to nothing as the game progresses. We would rather remove it than keep it, and we will as the pre-game figures improve on their own.
  • Our numbers are therefore at their weakest before kickoff and get stronger as a game unfolds. In the final quarter the simulation is 3 to 20 points better than a season average depending on the figure; before the first snap, without the correction, it was behind on several.
  • Team quality still barely affects running plays. A better rushing offense does not reliably produce better runs in the simulation. The effect is about a third as strong as it is for passing and is not consistently ordered. This is the largest known structural gap and is what we are working on next.
Omaha 1.0.0 · Neutral Zone Labs