0/70 completed
Sports Model Interactive

Lineup Optimization

Build optimal DFS lineups under salary constraints. Balance projection, value, and correlation to maximize expected points.

Salary Cap
$50,000
Used
$13,500
Remaining
$36,500
Total Projection
68.0 pts

Player Pool

PlayerPosSalaryProjValueSelect
Ayo DosunmuPG$4,200225.24
Brandon MillerSF$5,500285.09
JokicC$11,500585.04
Luka DoncicPG$11,000555.00
GiannisPF$10,800545.00
Bam AdebayoC$7,200365.00
LeBron JamesSF$10,500524.95
Trae YoungPG$8,500424.94
Jayson TatumSF$9,800484.90
Isaiah StewartC$3,800184.74

Value = Projection / Salary ร— 1000. Higher = better bang for buck.

๐Ÿ“Š Lineup Summary

Players 3
Total Projection 68.0 pts
Avg Value 5.04

Selected:

Brandon Miller 28 pts
Ayo Dosunmu 22 pts
Isaiah Stewart 18 pts

Optimization Tip

๐Ÿ’ก You have $36,500 left. Consider upgrading a player!

๐ŸŽฏ Optimization Approaches

Cash Game

Consistent floor, low variance

Chalk + value plays

GPP/Tournament

Need ceiling, differentiation

Contrarian + ceiling

Single Entry

One optimal lineup

Balanced approach

Multi-Entry

Portfolio of lineups

Maximize unique exposure

R Code Equivalent

# DFS lineup optimization with integer programming
library(lpSolve)

optimize_lineup <- function(players, cap = 50000, roster_size = 8) { 
  n <- nrow(players)
  
  # Objective: maximize total projection
  obj <- players$projection
  
  # Constraints
  # 1. Salary cap
  # 2. Roster size
  # 3. Position requirements
  const_mat <- rbind(
    players$salary,    # Salary constraint
    rep(1, n)          # Roster size
  )
  const_rhs <- c(cap, roster_size)
  const_dir <- c("<=", "=")
  
  # Binary: each player in or out
  result <- lp("max", obj, const_mat, const_dir, const_rhs, 
               binary.vec = 1:n)
  
  selected <- which(result$solution == 1)
  list(
    lineup = players[selected, ],
    total_proj = sum(players$projection[selected]),
    total_salary = sum(players$salary[selected])
  )
}

โœ… Key Takeaways

  • โ€ข Maximize projection under salary constraint
  • โ€ข Value = Projection / Salary
  • โ€ข Balance studs with value plays
  • โ€ข Cash games: prioritize floor
  • โ€ข GPPs: prioritize ceiling + differentiation
  • โ€ข Integer programming for optimal solution

Pricing Models & Frameworks Tutorial

Built for mastery ยท Interactive learning