Omaha 2.0.0

Released 28 September 2026

Simulations come back about nine times faster. This is the same model rather than a better one, and three of the eleven figures below moved the wrong way.

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 1.12.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 1.12.0
Receiving touchdownsrare event+20.3%−0.44+0.57 to +1.42
Rushing touchdownsrare event+16.9%−1.19−2.71 to +0.80
Receiving yards+14.2%+0.36+0.16 to +0.53
Pass attempts+12.8%−0.14−0.49 to +0.18
Passing yards+11.1%−0.12−0.60 to +0.30
Rushing yards+10.9%−1.66−2.58 to −1.04
Completions+9.5%−0.30−0.72 to +0.13
Passing touchdownsrare event+7.1%−0.04+1.50 to +2.60
Targets+1.8%+0.37+0.09 to +0.67
Receptions+1.7%+0.31+0.06 to +0.61
Rush attempts+0.8%−3.18−4.58 to −2.36
Average across all figures+9.7%

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

No change
Every situation, and none of them differently.

Until now the engine played one simulated game through to the whistle, then started the next. It now advances all of them together, a play at a time, so the work of working out what happens on a play is done once for every game at once instead of once per game. Nothing about how a game state is read has changed. No table was refitted, no situation was split more finely, and no new information reached the model. It is the same simulation in a different order.

1,200 simulations of one game took 9.3 seconds and now take 1.1, about nine times faster, on the same machine and the same matchup.

Improved
Asking for a simulation of your own, and waiting for it.

A custom run is the part of this product you wait on, and how long one takes decides how many people can ask at once. That ceiling moves with this release rather than with a bigger machine: a single run could never use more than one processor core, however many the machine had, so buying cores bought nothing.

The same nine times, applied to the number of runs an hour a server can answer. We have not yet needed the headroom, so treat it as capacity rather than as a change you will feel today.

What this version still gets wrong

  • Three figures got worse, all of them rushing. Against 1.12.0, measured across the whole 2024 season: rush attempts 3.2 points lower, rushing yards 1.7 points lower, and rushing touchdowns 1.2 points lower on the accuracy measure and 1.1 lower on the probability measure we use for rare events. Three got better, all of them receiving: receiving yards, receptions and targets, each by about a third of a point, and receiving touchdowns by 0.9 points on the probability measure. Passing is unchanged to within a third of a point. The average across everything we publish went from 10.3% to 9.7%.
  • We do not know why they moved, and the fact that all three are rushing and all three improvements are receiving is the clearest clue we have. The simulation hands the ball to the wrong player slightly too often: quarterbacks take about 12% more carries than they should, receivers 14% more and fullbacks 32% more, all of it coming off the lead back. We have checked that both versions field the same players at the same rates, use the same usage tables and pick from them the same way, and the cause is still open. It is the first thing we are working on.
  • Figures here are not comparable with versions before this one. Running every game at once changes the order random numbers are drawn in, so no result is identical to the old engine's even where nothing about the model changed. That is what a major version number means on this page.
Omaha 2.0.0 · Neutral Zone Labs