No player is normal
A wide receiver's fantasy outcomes are not symmetric. Most weeks cluster below the mean; a few weeks — a long touchdown, a broken coverage — land far above it. Modeling that with a bell curve overstates the floor and amputates the ceiling, which is exactly the part of the distribution a GPP pays for.
SimSlate fits each player a right-skewed shifted lognormal, solved so the fitted curve simultaneously matches the player's mean, standard deviation, and ceiling and reproduces their boom and bust probabilities. Tails are capped at realistic NFL maxima, so no simulation hands a tight end 70 points.
Projections tell you the median. GPPs pay the tail. A projection is one point on this curve; the prize pool lives in the region a bell curve can't see.
Boom and bust are learned, not decreed
Most sites define a "boom" with a folk rule — commonly 5× salary value. Run that rule against actual projection data and it collapses: at DraftKings salary scales, 5× value is a threshold many positions essentially can't reach, so the "boom rate" it produces is noise dressed up as a stat.
SimSlate calibrates boom and bust thresholds from the slate data itself, position by position, so that the stated probabilities are statements the distribution can actually satisfy. The fitted marginal is then required to reproduce those probabilities — the thresholds constrain the fit rather than decorating it.
The 5× myth: a fixed multiplier ignores that value thresholds scale differently for a $3,000 punt and an $8,500 stud. Calibrated thresholds make boom% mean the same thing at every salary.
A Gaussian copula ties the slate together
Stacking works because outcomes are correlated: a quarterback's spike usually arrives with his receiver's. But you can't just bolt correlations onto skewed marginals — naive approaches either distort the marginals or produce a matrix that isn't mathematically valid.
SimSlate samples from a Gaussian copula: correlations are imposed in a latent normal space, kept positive semi-definite so every draw is coherent, then mapped through each player's own fitted distribution. Every player keeps their exact skewed marginal, and the slate moves together the way football actually moves:
- Same-team stacks — QB with his pass catchers.
- Bring-backs — opposing offenses in a shootout, via the slate's matchup map.
- Defenses against opposing offenses — negative, as it should be.
Ownership is the target, not a suggestion
A contest sim is only as honest as the field it simulates against. SimSlate treats projected ownership as the target and never normalizes it — a correct NFL slate already sums to roughly nine roster spots' worth of ownership, and rescaling it "to 100%" would silently distort every player's exposure.
Fidelity is enforced, not just encouraged. Every player has a hard exposure cap of projection plus a small tolerance (within about 2 points absolute and 15% relative, whichever binds); sub-1% players stay sub-1%. The generator fills scarce positions like DST and TE first so salary pressure lands on deep player pools, the way it does in real contests. After calibration, effectively zero players sit outside their band.
Winning isn't worth much if 400 people win with you
Chalk's hidden cost is duplication. SimSlate assigns every field lineup an expected duplicate count derived from its joint ownership — concentrated, popular builds get multiplicities well above one. In the simulated contest, a duplicated lineup occupies a band of ranks and splits the prizes across that band, so a chalk lineup that binks first place earns the diluted average, not the headline number.
Two accounting rules keep this honest. A unique lineup's multiplicity is floored at 1.0 — being contrarian never fabricates extra equity, it only avoids sharing. And the payout curve is repriced to the effective number of entries, so the entry-weighted average ROI of the whole field equals exactly the rake. No value is invented; it's only redistributed away from duplicated builds.
Invariants the engine must pass, every run
A simulator that can silently drift is worse than no simulator. SimSlate's engine is held to invariants that are checked, not assumed:
- Conservation: entry-weighted mean ROI across the field equals the negative of the rake. If the sim leaks or invents money, it fails.
- Leverage: within each projected-score decile, ownership correlates negatively with simulated ROI. Top-heavy payouts must reward the lower-owned route.
- Ownership fidelity: generated exposure within tolerance of projection for every player — a hard band, not an average.
- Marginal integrity: fitted distributions reproduce each player's mean, spread, ceiling, and boom/bust probabilities; tails respect NFL maxima.
- Reproducibility: a pinned seed yields bit-identical results across the app and the compute tier — the engine adds zero hidden randomness.
Why this matters for you: when a lineup shows +18% ROI, that number survives a closed system of checks. It isn't a vibe with a decimal point.