Lineup Range of Outcomes — Floor, Median, Ceiling Simulator
Who this is for: For the moment after optimizing: 'sure, 115 projected — but what's the worst and best realistic day?'
Monte-Carlo simulate any 9-man lineup: floor (P5), median, ceiling (P95) and the odds of clearing your target score — deterministic and instant.
Quick answer: A lineup's range of outcomes = its score distribution, not its projection. This simulator runs 10,000 seeded trials with position-specific volatility: the sample-slate DK optimum (114.8 projected) simulates to floor 89.1 · median 114.5 · ceiling 139.8, clearing 120 points in 36.6% of trials. Edit any slot or volatility — results stay deterministic.
Platform (slots pre-filled with the optimal lineup)
What your contest needs to cash/win
Lineup projection: 114.8 pts · seeded RNG — same inputs, same numbers, every time
Players are simulated independently — stacked lineups' true ranges are wider than shown (their scores move together). Volatility defaults are sensible shapes, not fitted gospel; drag them toward your own view.
Floor = cash risk · median = expected day · ceiling = GPP case · target% prices the contest
Known limit
Players simulated independently — stacked lineups' true ranges are wider
Best paired with
The optimizer (build first, simulate second)
From projection to probability
A projection is an average; contests are decided by distributions. This simulator treats each player's actual score as his projection plus noise, with position-specific volatility (QBs steadier at ~28%, WRs/TEs swingier at ~40%, DST wildest at ~45% — all editable), then runs 10,000 seeded trials of the full lineup. On the sample-slate optimal DraftKings lineup (114.8 projected points), the simulated range comes out floor 89.1 · median 114.5 · ceiling 139.8, with 36.6% of trials clearing a 120-point target. Same seed, same numbers — every run of this page reproduces those figures exactly.
Read it like a weather forecast: the median tells you the expected day, the floor tells you the cash-game risk, the ceiling tells you the GPP case, and the target probability prices your contest directly. Volatility assumptions are the honest weak point — the defaults are sensible shapes, and you should drag them to match your own view of how noisy each position really is.
Common uses
Comparing two optimal lineups: similar medians, very different floors — pick by contest type·
Pricing a GPP entry: what ceiling does this build need, and does P95 reach it?·
Stress-testing a punt-heavy build by raising volatility on the cheap seats·
Converting 'I need 130 to cash' into an actual probability before entering·
Frequently Asked Questions
How does the simulation work?
Each trial draws every player's score as projection + normally-distributed noise scaled by that position's volatility setting (default ~28% QB to ~45% DST, as a share of projection, floored at zero), then sums the nine. 10,000 trials build the distribution; percentiles read off the sorted results. The random generator is seeded, so identical inputs and settings always print identical numbers — the tool is reproducible by design.
Why is the floor so much lower than the projection?
Because nine noisy outcomes rarely all land at once. Volatility compounds across the roster: on the sample optimum, a 114.8-point projection simulates to a 89.1-point floor (P5). That gap is normal and is exactly why 'projected 120' lineups still finish 85 some weeks — and why cash builders chase floor, not ceiling.
Can I simulate my own lineup?
Yes — every slot is a dropdown over the full sample slate, pre-filled with the optimal lineup. For your real slate, the same caveat as everywhere on this site: the engine is honest with whatever inputs it gets, and pasted numbers beat sample numbers.
Does this account for correlation between players?
Not automatically — trials treat players as independent. That's a real limitation for stacked lineups (stacked scores move together), so read stacked-lineup ranges as slightly too narrow. The workaround is mental: for QB+WR stacks, imagine the distribution widening in both tails.
What target score should I enter?
Whatever your contest actually needs: cash games on main slates historically land near 2.5-3x the cap in points (125.0–150.0 on DK); large-field GPPs need more. The default 120 is a sample-slate placeholder — set it to your contest's realistic winning score.
The actual algorithm inside every DFS optimizer: knapsack constraints, why greedy fails, how FLEX enumeration works, and what 'optimal' legally promises.