Methodology & worked examples

Everything below is real output, not a screenshot.

A simulated tournament, a lineup report and a no-vig odds comparison, each generated by our engine and then frozen on this page, so you can check the arithmetic yourself before paying us anything. The examples date from 2026-08-19; the engine has been updated since, and the note under the first example says what changed.

Your first build, in five steps
  1. Choose your platform and slate. NFL or college football, on DraftKings or FanDuel, Classic or Showdown and single game. Pick a loaded slate, or upload the salary or player list CSV for the slate you are playing. What works today.
  2. Choose the contest. Pick a real contest, or set the field size, entry fee and payout shape.
  3. Build. Lock or exclude players, then generate lineups against a simulated field.
  4. Inspect. Compare lineups by their rank in the simulation, their ownership and expected duplicates. On DraftKings NFL Classic the builder also shows cash and top 10% estimates corrected to real contest results; elsewhere those columns are ranks.
  5. Export. Download an upload-ready CSV for DraftKings or FanDuel.

The worked examples below are real engine output from 2026-08-19, frozen so you can check the arithmetic.

01 · Simulated tournament

A $20 entry into a 150,000-entrant tournament

The engine builds an opposing field of 10,000 lineups from projected ownership, simulates the slate 5,000 times with players correlated inside their own games, and ranks every lineup by expected return against that contest's actual payout curve, choosing on one half of the draws and reporting the other. This run scored 10,000 lineups in 23.5 seconds.

Entrants
150,000
Field simulated
10,000
Draws
5,000
Field average ROI
-15.00%
That last number is the one to check us on. Every entrant in a tournament collectively loses exactly the rake and nothing else, so the average return across the whole simulated field has to be −15.00% for a 15% rake. Ours is -15.00%. If a simulator cannot reproduce that identity it is quietly inventing or destroying prize money, and every ROI it shows you is wrong. We test it on every run.
#LineupSalaryAvg score ROI (simulated)Cash %OwnershipTop 1%
1QBJared GoffRBChase BrownRBDe'Von AchaneWRAmon-Ra St. BrownWRGarrett WilsonWRMichael WilsonTESam LaPortaTEDalton SchultzDSTChargers$50,000130.5635%31.6%131%3.66%
2QBTua TagovailoaRBBijan RobinsonRBOmarion HamptonWRDrake LondonWRZay FlowersWRGarrett WilsonWRWan'Dale RobinsonTEHarold Fannin Jr.DSTRaiders$49,900130.1218%29.6%164%2.78%
3QBDaniel JonesRBBijan RobinsonRBChase BrownWRChris OlaveWRAlec PierceWRMichael WilsonWRWan'Dale RobinsonTEDallas GoedertDSTRavens$49,800135.8564%40.9%173%3.60%
4QBCam WardRBChase BrownRBKenny GainwellWRAmon-Ra St. BrownWRChris OlaveWRGarrett WilsonWRWan'Dale RobinsonTETucker KraftDSTEagles$49,900129.174%30.2%155%3.28%
5QBC.J. StroudRBDe'Von AchaneRBD'Andre SwiftWRJa'Marr ChaseWRNico CollinsWRMichael WilsonWRWan'Dale RobinsonTEDalton SchultzDSTEagles$49,800125.7457%23.0%133%1.86%
6QBJared GoffRBBijan RobinsonRBChase BrownWRNico CollinsWRGarrett WilsonWRWan'Dale RobinsonWRDevaughn VeleTESam LaPortaDSTChargers$49,800127.142%25.3%143%2.10%
7QBJustin HerbertRBChase BrownRBDerrick HenryWRZay FlowersWRWan'Dale RobinsonWRQuentin JohnstonTETrey McBrideTESam LaPortaDSTRaiders$49,900131.572%32.9%198%2.26%
8QBJustin HerbertRBBijan RobinsonRBKenny GainwellWRChris OlaveWRGarrett WilsonWRDK MetcalfWRMichael WilsonTESam LaPortaDSTJaguars$50,000132.2313%35.5%135%4.14%

Generated 2026-08-19. The ROI column is not sorted, and that is deliberate. Lineups are ordered by the engine's own ranking, made on one half of the draws; the ROI shown is what each earned on the other half. Sorting the board by that column would just promote whichever lineup got luckiest in the half being reported, which is the exact bias the split exists to remove. A tool whose headline number always sorts perfectly is showing you its luck.

These are raw simulated numbers from an older version of the engine. When we later checked the simulator against 550 real DraftKings NFL Classic contests from 2024 and 2025, raw simulated return, cash and top 1% figures like these ran about two and a half times higher than real contests paid out. The lineup builder no longer shows them raw: it shows cash and top 10% corrected to real results and the rest as ranks. How we know the model works has the details.
02 · Lineup report

What the engine knows about one lineup

QBJared GoffRBChase BrownRBDe'Von AchaneWRAmon-Ra St. BrownWRGarrett WilsonWRMichael WilsonTESam LaPortaTEDalton SchultzDSTChargers
ROI (out of sample)
635%
Simulated, not a forecast of winnings.
Cash rate
31.6%
Salary used
$50,000
Avg score
130.5
Cumulative ownership
131%
Expected duplicates
0.36
Average finish
58,556
Best finish seen
8
Worst finish seen
149,378
Finishes top 1%
3.66%
Finishes top 5%
11.36%
Finishes top 20%
31.62%
The gap we publish on purpose. Ranked on the same draws that scored it, this lineup looked like 837%. Measured on draws that had no say in it being chosen, it is 635%. The difference is luck, not edge. Most tools show you the first number.
03 · No-vig odds comparison

NE @ SEA, with the juice removed

A −110/−110 market implies 52.4% + 52.4% = 104.8%. That extra 4.8% is the house's cut, not anybody's opinion. Strip it out and you can see what each book actually thinks, and what you are paying for the privilege.

BookHomeAwayRaw implied HoldFair home %
DraftKings-110-110104.76%4.76%50.00%
FanDuel-112-108104.75%4.75%50.43%

On this game FanDuel is the cheapest place to transact, and the books disagree by 0.43 points of fair probability once the vig is stripped. Both facts are invisible on the raw price.

04 · Methodology

How the simulator actually works

The field is people, not optimizers. A tournament is not won against the best lineups, it is won against the lineups people actually enter. We build the opposing field from projected ownership with a per-lineup appetite for chalk, quarterback stacking and bring-backs, so it contains both the chalk-chasers and the contrarians a real contest has.

Players are correlated inside their game. Scores are drawn jointly through each game's correlation structure, not independently. A quarterback's ceiling and his receiver's ceiling arrive together, because in football they do.

Every player keeps his own range. Outcomes are shaped to that player's own floor and ceiling rather than a generic curve scaled off his median.

Prizes come from your contest's real payout curve. Rank is read from where a lineup finished in the simulated field, then mapped to the block of real places it stands for. Duplication is charged once, when copies genuinely spill past that block.

ROI is measured out of sample. The engine ranks lineups on one half of the draws and reports their return from the other half. Ranking thousands of lineups by a noisy estimate and then quoting the winner's own number always flatters it. That gap is luck, and we throw it away rather than sell it to you.

Which tools this describes. The lineup builder (/dfs/build/) and the top plays on the optimizer (/dfs/optimizer/) both rank this way: lineups are chosen on one half of the draws and their return is reported from the other. Top-1% finish rate is displayed but is not the ranking key. Method in place since 18 August 2026, checked against the production engine (build 9ee914a) on 15 September 2026. The worked example above was frozen on 2026-08-19 with the same method.

Depth is not a luxury. Running the same slate twice with different draws, the engine reproduces 10% of its top 150 at 250 draws, 49% at 5,000 and 67% at 20,000. We publish that because it is the honest limit of what a single lineup's ROI can tell you.

What we do not claim. This does not predict football. It prices decisions under uncertainty and tells you how often a lineup wins in a simulated world built from our projections. If those projections are wrong, everything downstream is wrong, which is why the conservation test above is run on every single simulation rather than once in a blog post.

See it on this week's slate

The numbers above are frozen so you can audit them. The live tool runs the same engine against the current week, with your contest's exact size, entry fee and payout shape.

View pricing