Evidence
Where our simulated field misses
When you run a tournament simulation here, you are playing against a field we generated. This is that field measured against 329 real DraftKings contests, on a standard we wrote down before the run. No measures come back clearly wrong, and two measures are not modelled at all. They are on this page because you should know them before you trust a simulated finish.
What changed since 25 September. On 25 September the same 329 contests and the same standard gave 7 calibrated, 8 drifting, 1 miscalibrated and 2 not modelled. Moved to a better grade: cumulative ownership of a lineup (drifting to calibrated); the chalkiest lineups (95th pct) (drifting to calibrated); salary spent (miscalibrated to calibrated); projected points of a lineup (drifting to calibrated); lineups within $200 of the cap (drifting to calibrated); lineups stacking 1 teammate (drifting to calibrated). Moved to a worse grade: lineups with no stack (calibrated to drifting). The gain comes from the update of 5 October, which fits the generated field to the ownership column it is handed. The same generator run without that step, as the 25 September run did, grades 7 calibrated, 8 drifting, 1 miscalibrated and 2 not modelled, so it did not move. The fitted field is the one the builder uses, so it is the one graded here. The generated field still never repeats a lineup.
The standard, written first
It is easy to publish a scorecard once you know you passed. So the grading was fixed before any field existed. For each measure we take the gap between our field and the real one and divide it by how much that measure naturally varies from contest to contest. Being $200 off on salary means something different from being 20 ownership points off, and dividing by the real spread puts them on one scale.
Half a standard deviation or less is calibrated. Up to one and a half is drifting. Beyond that is miscalibrated. A thing our generator cannot produce at all is reported as not modelled, which is worse than a wrong number, and is deliberately not allowed to hide as one.
The generator is fed each contest's own salaries and projections, so what is being graded is the field model and the ownership model, not whether we can project football.
Where it is wrong
No measure is graded miscalibrated this time. These are the drifting measures furthest from the line.
- The most contrarian lineups (5th pct). A real field averages 77%; ours averages 64%. That is 0.8 standard deviations off.
- Lineups stacking 2 teammates. A real field averages 39%; ours averages 35%. That is 0.6 standard deviations off.
- Lineups using a bring-back. A real field averages 48%; ours averages 44%. That is 0.5 standard deviations off.
- Lineups with no stack. A real field averages 12%; ours averages 14%. That is 0.5 standard deviations off.
Salary is the measure that was graded most severely on 25 September, and the dollar gap then looked small. Real fields spend almost exactly the cap and barely vary, about $28 between contests, so a $43 gap was worth 1.5 standard deviations. This run: ours spends $49,887, a real field $49,883, a gap of $3, graded calibrated. Projected points of a lineup: ours 125.6, real 124.7.
A second way to score ownership. The grades above measure each lineup's ownership on our own ownership column, which is the world the simulation believes in. Scored instead on the real ownership of the same lineups, our field averages 119 cumulative ownership against 139 for a real field, about 0.8 standard deviations low. The same lineups read 129 on our own column. So the field is still less chalky than a real one, and the grade on that measure above is kinder than this second score.
Two things our generated field leaves out.
- How many entries share the same lineup. A real field averages 2.04; ours is always 1.00, because the generator has no way to produce anything else.
- Entries that are a one-of-a-kind lineup. A real field averages 95%; ours is always 100%, because the generator has no way to produce anything else.
Every lineup our field generates is unique. In a real contest the same lineup gets entered over and over, which splits prizes between the people holding it. Our own study of 329 contests found duplication is one of the few things that genuinely hurts at the top of a tournament, so a field without it is missing a real effect rather than a cosmetic one.
The contest results do account for it, by a separate route. Every lineup you build gets an estimate of how many entries in a real contest of that size would share it, worked out from player ownership, and the sim splits the prize by that count when it pays out. The duplicate number shown on DraftKings Classic lineups was checked against 289 real 2025 DraftKings contests it was not fitted on: on average it ran about 1.5 times the real count. What this box measures is narrower: the sampled field you are scored against never contains two identical lineups.
Ownership, player by player
Ownership is the part we measure best and it is still not perfect. The chalkiest player on a slate is where the error is largest: in a typical contest our field misses that player's ownership by 8.1 points, counting both which player it is and how high. On average the most-owned player is 48.4% in our field against 45.1% in real contests, and an average lets a high miss and a low miss cancel, so it says little about any one contest. Averaged over every player on a slate, the error is 0.79 points, a figure kept small by the many players nobody rosters.
These are the ownership numbers of our simulated field on 329 contests. The ownership model page tests the published ownership projection on 261 contests from 2024, so its figures for the top of the board are different numbers from a different test.
The clearest way to see the shape of the problem:
| Slates with a player owned above… | Real | Ours |
|---|---|---|
| 70% | 4 | 30 |
| 80% | 0 | 14 |
In 329 real contests, no player was ever owned above 80%. Our field produced one on 14 slates. We over-concentrate at the very top, which makes the simulated field look more chalk-locked than the real one.
The full card
| Measure | Real | Ours | Gap (SD) | Verdict |
|---|---|---|---|---|
| Cumulative ownership of a lineup | 139% | 129% | -0.38 | calibrated |
| Spread of cumulative ownership | 37% | 40% | +0.33 | calibrated |
| The most contrarian lineups (5th pct) | 77% | 64% | -0.80 | drifting |
| The chalkiest lineups (95th pct) | 199% | 194% | -0.16 | calibrated |
| Salary spent | $49,883 | $49,887 | +0.12 | calibrated |
| Projected points of a lineup | 124.71 | 125.61 | +0.19 | calibrated |
| Games represented in a lineup | 5.69 | 5.68 | -0.04 | calibrated |
| Most players taken from one game | 3.16 | 3.11 | -0.30 | calibrated |
| Ownership of a lineup's most-owned player | 37% | 40% | +0.28 | calibrated |
| How many entries share the same lineup | 2.04 | 1.00 | -0.13 | not modelled |
| Lineups using a bring-back | 48% | 44% | -0.55 | drifting |
| Lineups within $200 of the cap | 86% | 84% | -0.40 | calibrated |
| Entries that are a one-of-a-kind lineup | 95% | 100% | +1.37 | not modelled |
| Lineups with no stack | 12% | 14% | +0.53 | drifting |
| Lineups stacking 1 teammate | 42% | 43% | +0.24 | calibrated |
| Lineups stacking 2 teammates | 39% | 35% | -0.63 | drifting |
| Lineups stacking 3 teammates | 7% | 7% | +0.20 | calibrated |
| Lineups stacking 4 or more | 1% | 1% | -0.41 | calibrated |
What this does not tell you
The archive carries no Vegas totals, so every game in this run was handed to the model as a neutral 45-point game. Anything in our ownership or field construction that leans on game environment was running blind, and any gap that causes is ours to own rather than the archive's to explain. Ownership changes made since 25 September that use game environment are inactive in this test for the same reason.
This also grades the field, not the outcome. It says how closely our opponents resemble real opponents. It does not say you will win.
What would change these numbers
The open gaps are chalk and duplication. Scored on real ownership, our field is still less chalky than a real one, and the generated field still never repeats a lineup. Putting repeated lineups into the generated field itself is a separate build, not a tuning problem.
When we re-run this, the new numbers replace these ones on this page, including if they are worse. That is the only version of a scorecard worth reading.