Lineup Optimization Theory
The math behind DFS lineup builders — salary constraints, projections, stacking, and multi-entry strategy.
Every DFS lineup builder is solving the same mathematical problem: maximize projected fantasy points subject to a salary cap constraint and roster construction rules. This is a variant of the bounded knapsack problem—one of the most studied problems in computer science and operations research. Understanding how optimizers work, where they fail, and how to use them effectively separates recreational players from serious grinders.
The Knapsack Problem in DFS
In the classic knapsack problem, you have a bag (salary cap) and items (players) with different weights (salaries) and values (projected points). You want to pack the bag to maximize total value without exceeding the weight limit.
This is a 0-1 integer linear program (ILP). For DraftKings NFL with ~200 eligible players and 9 roster spots, the brute-force search space is C(200, 9) ≈ 3 × 10^14 combinations. Optimizers use branch-and-bound or constraint programming to find the maximum without checking every combination.
Good to Know
How Lineup Optimizers Work
Modern DFS optimizers use one of two approaches:
- Mixed Integer Linear Programming (MILP). Formulates the problem as a linear program with integer constraints. Uses branch-and-bound to find the provably optimal solution. Fast and exact.
- Monte Carlo simulation. Randomly samples from player projection distributions, builds optimal lineups for each simulation, then aggregates exposure. Captures projection uncertainty but is slower.
Optimizer Approaches
| Approach | Speed | Optimality | Handles Uncertainty | Best For |
|---|---|---|---|---|
| MILP (deterministic) | Fast (seconds) | Provably optimal | No — uses point projections | Cash games, single optimal lineup |
| Monte Carlo simulation | Slow (minutes) | Approximately optimal | Yes — samples from distributions | GPPs, multi-entry, capturing variance |
| Hybrid (MILP + sim) | Moderate | Near-optimal | Yes | Professional multi-entry GPP strategy |
Most commercial optimizers use MILP as the core solver
Projection Sources and Accuracy
An optimizer is only as good as its inputs. Projections are the single most important input—more important than the optimization algorithm itself. A perfect optimizer with bad projections produces bad lineups.
Projection Sources
| Source | Methodology | Accuracy | Cost |
|---|---|---|---|
| Consensus (FantasyPros) | Average of expert projections | Moderate — wisdom of crowds | Free |
| Statistical models (SaberSim, 4for4) | Regression + simulation | High — data-driven | $20–50/mo |
| Proprietary / in-house | Custom models built on player data | Varies — only as good as the model | Time investment |
| Sharp DFS sites (Awesemo, EstablishTheRun) | Expert analysis + models | High — tuned for DFS | $30–100/mo |
Strategy Insight
Stacking in Optimization
Raw optimization without stacking constraints produces lineups that are mathematically optimal but strategically flawed for GPPs. Stacking adds correlation constraints to the optimizer:
Without this constraint, the optimizer might select the highest-projected QB and the highest-projected WR from different teams. That lineup maximizes expected points but has no correlation — it cannot capture a shootout game script where both the QB and his receiver boom together.
Common stacking constraints:
- Primary stack: QB + 1–2 same-team pass catchers
- Bring-back: 1 pass catcher from the opposing team (captures shootout)
- Mini-stack: 2 players from the same team in a non-QB position group (WR + TE, or RB + DST)
- Game stack: 4–5 players from the same game (maximum game-script exposure)
Warning
Multi-Entry Strategy
Serious GPP players enter 20–150 lineups in large-field tournaments. Multi-entry strategy is about portfolio diversification across lineups:
Multi-Entry Portfolio Design
| Principle | Implementation | Why It Matters |
|---|---|---|
| Game-stack diversification | Different primary stacks across lineups | Covers multiple boom game scenarios |
| Ownership distribution | Vary ownership tilt (some chalk, some contrarian) | Covers both favorite and upset scenarios |
| Exposure limits | Cap any player at 40–60% of lineups | Prevents over-concentration on one outcome |
| Correlation within lineups | Every lineup has a stack | Each lineup can independently reach the top |
| Differentiation between lineups | Minimize duplicate combinations | Maximize the number of distinct winning paths |
A portfolio of 20 lineups should cover 4–6 different game-stacks
Exposure is the percentage of your lineups containing a player. At 40%, you are making a significant bet on Mahomes but not an all-in commitment. Most pros cap exposure at 50–60% for any single player in a multi-entry portfolio.
Limitations of Pure Optimization
Optimizers are powerful tools, but they have fundamental limitations:
- Garbage in, garbage out. The optimizer perfectly maximizes whatever you feed it. If projections are wrong, the lineup is optimally wrong.
- Cannot model everything. Game script, weather impact, coaching decisions, and motivation are difficult to encode as constraints.
- Overfitting to projections. The optimal lineup often loads up on the single highest value-per-dollar player. In reality, projections have error bars, and the "clear value play" at $3,800 may be overowned because every optimizer finds the same player.
- Ownership blindness. Standard optimizers do not factor in ownership. They will happily build a lineup of all chalk if that maximizes projected points.
Strategy Insight
Practical Workflow
- Import projections from 2–3 sources and blend them
- Set stacking rules (QB + WR1 minimum, bring-back, etc.)
- Set exposure limits (no player in more than 50% of lineups)
- Generate 50–100 lineups with the optimizer
- Review and edit the top 20–30 based on ownership projections and your qualitative analysis
- Lock late-swap eligible players and adjust after injury/weather news
Sources & References
- Korte, B. & Vygen, J. (2018). Combinatorial Optimization: Theory and Algorithms. Springer.. The 0-1 knapsack problem and branch-and-bound algorithms for integer linear programming are standard computer science. DFS lineup optimization is a direct application of this framework.
- SaberSim, FantasyCruncher, and DraftKings optimizer documentation. Monte Carlo simulation methods for DFS lineup generation and exposure optimization are documented in DFS analytics literature and tooling documentation.
- Stacking theory and within-game correlation exploiting game-script dependencies is standard in advanced DFS strategy, derivable from historical game-log correlation data.
- Multi-entry portfolio construction and exposure management follow directly from portfolio diversification theory (Markowitz, 1952) applied to the discrete contest structure of DFS tournaments.
Mathematical claims are independently verifiable. BonusBell platform analysis reflects data from 220+ tracked platforms as of March 2026.
Key Takeaways
- 1DFS lineup optimization is a bounded knapsack problem — mathematical optimization is essential because brute force is computationally infeasible
- 2Projections are more important than the optimizer itself: a perfect algorithm with bad projections produces bad lineups
- 3Stacking constraints force the optimizer to build correlated lineups that can actually reach GPP-winning scores
- 4Multi-entry strategy treats your lineup set as a portfolio — diversify game stacks and cap individual player exposure at 40–60%
- 5Use the optimizer as a starting point, not the final answer: manual edits based on ownership and conviction create your competitive edge