// Data Science

WHAT IS MONTE CARLO SIMULATION IN DFS
AND WHY IT MATTERS

Every serious DFS tool talks about "simulations." Most players have no idea what that actually means or why it changes everything about how you build lineups.

Michael  ·  May 2026  ·  10 min read

You open your DFS optimizer. It says Aaron Judge is projected for 9.2 DraftKings points. So you put him in your lineup. He scores 3.1. You lose.

The next night, it says Bobby Witt Jr. is projected for 7.8 points. You skip him. He scores 34.6. The guy in first place had a four-man Royals stack.

The projections weren't wrong. They were incomplete.

If you've played MLB DFS for more than a week, you've experienced this exact frustration. You followed the projections. You picked the "optimal" lineup. And you still lost to someone who seemingly got lucky with a game stack you never considered.

That's not luck. That's the difference between a single-point projection and a simulation-based approach to building DFS lineups. And once you understand how Monte Carlo simulation works, you'll never look at a projection the same way again.

// The Problem

WHY STATIC PROJECTIONS
LOSE TOURNAMENTS

A traditional DFS projection gives every player one number. Judge is 9.2. Ohtani is 10.1. Soto is 8.7. Your optimizer takes those numbers, respects the salary cap, and spits out the lineup with the highest total projected points. That's what most free and mid-tier tools do. And it's fundamentally broken for tournament play.

Here's why. A projection is an average expected outcome. It's the center of a distribution. It tells you what a player is most likely to score across hundreds of games. But in a single MLB game on a single night, nobody scores their average. They score their floor, their ceiling, or something in between — shaped by the specific pitcher they're facing, the weather, the park, the game script, and random variance.

When you build a lineup around averages, you get a lineup that's average. In a cash game, average might be enough. In a GPP tournament with 10,000 entries, average is a donation.

1
Static projection
100K
Simulated outcomes
More information

The winning lineup in a large-field GPP almost never has the highest total projected points going into the night. It has a correlated set of players who all had above-average performances in the same game. That's a fundamentally different thing. And the only way to find those combinations systematically is to simulate thousands of possible game outcomes and measure which lineup constructions win most often.

That's Monte Carlo simulation.

// The Concept

WHAT MONTE CARLO
SIMULATION ACTUALLY IS

Monte Carlo simulation is a mathematical technique named after the casino in Monaco. The core idea is simple: when a problem is too complex to solve with a formula, you can approximate the answer by running a huge number of random trials and analyzing the results.

In the context of DFS, the "problem" is this: given 150 eligible players, a salary cap, roster constraints, and massive uncertainty about how tonight's games will play out — which combination of players is most likely to win a tournament?

You can't solve that with algebra. There are billions of possible lineup combinations and infinite possible game outcomes. But you can simulate it.

// How It Works — Step by Step

INSIDE A MONTE CARLO DFS ENGINE

Step 1: Build probability distributions. Instead of giving each player one number, the engine builds a range of possible outcomes. Aaron Judge might have a floor of 1.0, a projected value of 9.2, and a ceiling of 42.0. These aren't guesses — they're derived from historical data, matchup factors, and the specific game environment.

Step 2: Correlate the distributions. This is the critical piece most tools skip. Players on the same team don't score independently. If the Yankees put up 9 runs, Judge, Soto, and Stanton are all likely having big games simultaneously. The simulation links teammates together so when one player's random outcome is high, his teammates' outcomes shift upward too. Same thing at the game level — a high-scoring game lifts hitters on both sides.

Step 3: Run 100,000 random game outcomes. For each simulation, every player gets a randomized score drawn from their probability distribution, adjusted by the team and game correlations. This produces 100,000 complete slates — 100,000 versions of how tonight could play out.

Step 4: Find the optimal lineup in each simulation. For each of those 100,000 outcomes, the engine identifies which salary-cap-legal lineup would have scored the most points. This tells you which player combinations win tournaments, not which players have the highest averages.

Step 5: Aggregate the results. A player who appears in the winning lineup in 15,000 out of 100,000 simulations has a 15% sim win rate. A player who appears in only 800 has a 0.8% win rate. These win rates — not projections — are what you use to build tournament lineups.

Probability Distributions Correlated Scoring 100K Simulations Sim Win Rates
// Correlation

THE PART NOBODY
EXPLAINS WELL ENOUGH

Correlation is the entire reason Monte Carlo simulation is valuable for DFS, and it's the part that most articles gloss over with a sentence or two. So let's go deeper.

In a real MLB game, scoring is clustered. Runs don't happen one at a time from random players on random teams. They happen when a team strings together three hits in a row, or a pitcher falls apart in the fourth inning and gives up a double, a walk, and a home run in sequence. When the Braves score 11 runs, it's not because one guy hit three solo homers. It's because five or six guys all contributed to multiple big innings.

This is why stacking works in DFS. And this is why simulations that model correlation produce dramatically better results than those that don't.

AN UNCORRELATED SIMULATION IS JUST A FANCY RANDOM NUMBER GENERATOR. CORRELATION IS THE SIGNAL.

DFS Only's simulation engine models correlation at two levels. Team-level correlation links all hitters on the same team, so when the simulation randomly generates a high-scoring Dodgers game, Betts, Ohtani, and Freeman all trend upward together. Game-level correlation links both teams in the same game, because a high-scoring game tends to produce fantasy points for both sides — the team that's winning stacks up hits, and the team that's losing plays from behind, which often means more aggressive at-bats and more counting stats.

Without these correlations, a simulation might tell you that Judge, Ohtani, and Trea Turner are all individually great plays. With correlations, it tells you that a Yankees 4-man stack paired with a Dodgers 3-man bring-back is a specific game environment that wins tournaments 3x more often than assembling six random "best available" hitters from different games.

// Win Rate vs. Projection

THE METRIC THAT CHANGES
HOW YOU BUILD LINEUPS

Once you have simulation results, the most important number isn't a player's projected points. It's their sim win rate — how often they appear in the lineup that scores the most points across all 100,000 simulated outcomes.

This is a fundamentally different way to evaluate players. A player with a high projection but a low win rate is someone who's consistently good but never great — useful for cash games but dead weight in tournaments. A player with a moderate projection but a high win rate is someone with explosive upside in the right game environment — exactly the kind of player who appears in first-place GPP lineups.

Here's a concrete example. Imagine two players:

// Example Comparison

PROJECTION VS. SIM WIN RATE

Player A: Projected 8.5 pts. Floor 4.0. Ceiling 18.0. Sim win rate: 4.2%. He's a steady, reliable hitter in a moderate game environment. Rarely goes off, rarely busts completely.

Player B: Projected 7.1 pts. Floor 0.0. Ceiling 38.0. Sim win rate: 11.8%. He's a high-upside hitter facing a bad pitcher in a hitter-friendly park with a high over/under. When his game goes off, he's a tournament winner. When it doesn't, he's a zero.

A projection-based optimizer picks Player A every time. A simulation-based optimizer picks Player B — because in the 100,000 simulated worlds where tonight's games play out, Player B appears in nearly three times as many winning lineups.

That's the edge. That's why simulations win tournaments and projections don't.

// Leverage

SIMULATIONS UNLOCK
LEVERAGE SCORING

Sim win rates alone would be a massive upgrade over static projections. But simulations unlock something even more powerful: leverage.

Leverage = sim win rate minus projected ownership.

If Player B from the example above has an 11.8% sim win rate but only 3% of the tournament field is expected to roster him, that's +8.8 leverage. In a 10,000-entry GPP, that means you have an 11.8% chance of being in a first-place lineup while 97% of the field doesn't have that player. When he goes off, you're nearly alone at the top. When he doesn't, you lost the same entry fee as the 9,700 other people who also lost.

Without simulations, you can't calculate leverage. You'd need to know a player's true win probability, and the only way to get that is to simulate thousands of game outcomes. This is why ownership data without simulation data is incomplete — you know what the public is doing, but you don't know whether the public is right or wrong. Simulations tell you.

// The Numbers

WHAT 100,000 SIMULATIONS
ACTUALLY PRODUCE

When DFS Only runs a full simulation on an MLB slate, you don't just get a projection and a sim win rate. You get an entire statistical profile for every player on the board:

// Simulation Output

WHAT YOU GET FROM EACH PLAYER

Projected Points: The ML-powered base projection incorporating rolling performance windows, opposing pitcher matchups, batting order, Vegas lines, park factors, and weather.

Floor: The 10th percentile outcome across all simulations. What happens when the game script goes badly.

Ceiling: The 90th percentile outcome. What happens when everything clicks.

Sim Win Rate: How often this player appears in the single best lineup out of 100,000 simulated outcomes.

Projected Ownership: How much of the tournament field is expected to roster this player.

Leverage Score: Sim win rate minus projected ownership. The true edge metric for GPP tournaments.

Value Score: Points-per-dollar efficiency, helping you find underpriced players who free up salary for studs.

ML Projections Floor / Ceiling Sim Win Rate Leverage Ownership Value

All of this information feeds into the lineup optimizer, which doesn't just maximize projected points — it builds diversified portfolios of correlated stacks that balance upside, leverage, and exposure across multiple entries. That's not something you can do by hand. It's not something a simple projection tool can do. It requires simulating the entire slate thousands of times.

// The Bottom Line

SIMULATIONS ARE THE
TOURNAMENT EDGE

If you're playing DFS cash games, projections might be enough. Pick the highest-projected players, fill the salary cap, cash in the top half. Fine.

But if you're playing GPP tournaments — and you should be, because that's where the real money is — projections are a knife at a gunfight. You need to understand not just what players are expected to score, but how those scores correlate with each other, which combinations produce tournament-winning totals, and how your lineups differ from what the rest of the field is building.

Monte Carlo simulation answers all of those questions. It's the mathematical framework that separates the sharks from the fish. And until recently, it was only available in tools that cost $100 to $300 per month.

DFS Only runs 100,000 correlated Monte Carlo simulations on every MLB slate. The results power every projection, every leverage score, every lineup the optimizer builds. The same math the expensive tools use. For $19.99 a month.

The simulation doesn't guarantee you win. Nothing does. But it guarantees you're making decisions based on 100,000 possible realities instead of one guess. And in a game built on probability, that's the only edge that compounds.

100,000 SIMULATED REALITIES.
ONE OPTIMAL LINEUP.

Correlated Monte Carlo simulations, ML projections, leverage scoring, and stack optimization. First day free.

Run Your First Simulation →