Omaha 0.8.0

Released 3 September 2026

The simulation now knows who dressed. Every figure we publish improved, and the ones about how often a specific player touches the ball improved a great deal.

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.7.0’s, each measured across everything that version covers, so the two columns you can see always account for it. This release also changed which situations can be measured at all, so a like-for-like comparison on shared situations would describe only part of what changed.

Accuracy by stat

Statvs. season averageChange from 0.7.0
Receiving touchdownsrare event+18.4%+3.41
Rushing touchdownsrare event+13.0%+0.21
Passing yards+9.9%+0.16
Pass attempts+8.4%+0.68
Passing touchdownsrare event+7.8%+0.19
Completions+6.8%+0.35
Receiving yards+3.2%+7.24
Rushing yards−4.4%+6.40
Receptions−9.9%+11.03
Targets−15.5%+10.93
Rush attempts−26.9%+11.21
Average across all figures+1.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.

This release changed which situations can be measured at all, it produces a usable figure for players it previously had nothing to say about. Ranges are therefore not shown: the only honest comparison is between the two accuracy columns, each measured across everything that version covers.

What changed

Corrected
Every projection for a specific player, carries, targets, receptions and the yards that follow from them.

A 53-man roster produces about 48 players who can play on a Sunday, and the simulation was treating all of them as available, including players who were inactive, on injured reserve, or who had left the team since last season. Their share of the ball had to come from somewhere, and it came from the players who actually played. The engine now reads each week's game-day roster, published before kickoff, and simulates only players who can take a snap.

Measured, 47.5% of predicted carries were going to players who recorded nothing that week; about half of that was knowable before kickoff and is now removed. The share reaching players who actually appeared rose from 52.5% to 69.7%.

Improved
Rush attempts, targets and receptions.

These are the figures most affected, because they count opportunities rather than outcomes: if the ball is credited to the wrong player, nothing downstream can recover it.

Rush attempts improved 11.2 points, receptions 11.0, targets 10.9. All three remain below a player's own season average, but by much less than before.

Improved
Receiving and rushing yards.

Yards follow the touches. No change was made to how far a play gains.

Receiving yards improved 7.2 points and are now BETTER than a player's own season average for the first time (+3.2%). Rushing yards improved 6.4 points.

Improved
Everything else.

Touchdowns and the quarterback figures also improved, by smaller amounts. This is the first release in which every figure we publish moved in the right direction.

Receiving touchdowns +3.4 points; passing attempts +0.7; completions, passing yards, rushing and passing touchdowns each +0.2 or better.

What this version still gets wrong

  • Rush attempts remain the least accurate figure we publish, at −26.9%. Four releases have now improved it by 14.8 points in total, and it is still the weakest thing we do.
  • About 30% of predicted carries still go to players who dressed and were not used. No information available before kickoff distinguishes them, so we do not expect to remove this.
  • We simulate the wrong starting quarterback about a third of the time, because the engine identifies a starter from a long history rather than from recent games. This is measured, understood, and is the next thing being fixed.
  • Team quality still barely affects running plays. A better rushing offense does not reliably produce better runs.
Omaha 0.8.0 · Neutral Zone Labs