Basketball, at its core, is a fast-paced, high-scoring sport played by two teams of five. Unlike baseball or football, the continuous nature of play means that players accumulate statistics rapidly: points, rebounds, assists, steals, and blocks. In Daily Fantasy Basketball (DFB), each of these statistics maps directly to fantasy points.
In DFB, participants select a roster of real players subject to a virtual salary cap. The objective is to maximize the combined fantasy score of the roster. This turns uncertainty in real-world player performance into a constrained mathematical optimization problem.
Beyond deterministic projection
The central challenge of DFB is not simply selecting the highest projected players, but constructing a lineup that balances upside and risk under a hard salary constraint. Traditional approaches rely on deterministic optimization techniques such as Linear Programming (LP), where each player is assigned a single projected score. While LP efficiently finds the lineup with the maximum projected total, it fundamentally ignores the stochastic nature of athletic performance.
Player outcomes are random variables. A projection is not a truth; it is a summary statistic.
A typical projection might state that LeBron James will score 55.0 fantasy points. In an LP framework, this value is treated as fixed. In reality, fantasy points represents the expected value of a distribution of possible outcomes.
Formally, for player , fantasy points scored are modeled as
where
In practice, truncated Gaussian or skew-normal distributions are often more realistic, since fantasy scores cannot be negative and upside tails are asymmetric. The key point remains: performance is stochastic.
Monte Carlo optimization framework
Monte Carlo Simulation (MCS) provides a natural way to incorporate this uncertainty into lineup construction. The goal shifts from finding the lineup with the highest projected score to finding the lineup that maximizes the probability of achieving an elite outcome, such as winning a tournament or finishing in the top percentile of a contest.
The framework proceeds as follows.
1. Input data preparation
For each player , we require:
The standard deviation is estimated from historical data, incorporating factors such as opponent defensive rating, recent usage trends, pace of play, and injury uncertainty. These contextual factors often inflate variance significantly, especially for ball-dominant players.
2. Simulation loop
We perform independent simulation trials, typically with
For trial , each player receives a randomized fantasy outcome:
Each trial produces a fully realized slate in which every player has a concrete score.
3. Inner deterministic optimization
For each Monte Carlo simulation , we obtain a vector of simulated player fantasy scores
Given these fixed scores, we solve the deterministic optimization problem
The resulting optimal value
is the highest achievable lineup score in that simulated universe.
4. Aggregation and portfolio construction
After all simulations, we analyze how frequently players and lineups appear in optimal solutions.
Key quantities include:
-
Frequency of appearance: how often a player or lineup is selected across simulations
-
Expected value:
Conditional Value-at-Risk (CVaR), which measures average performance in the extreme upper tail:
where is the 95th percentile of the lineup’s score distribution.
The optimization objective no longer maximizes . Instead, it prioritizes lineups that perform exceptionally well when things break right.
Variance stacking
Monte Carlo simulation naturally exposes the importance of variance stacking. Lineups composed solely of high-mean, low-variance players rarely dominate the extreme tail of the distribution. Instead, optimal tournament lineups tend to combine:
-
A small number of high-floor players with low
-
Several high-variance players whose upside outcomes align positively
When multiple high- players simultaneously realize outcomes near their upper percentiles, the resulting lineup score can exceed the deterministic expectation by a wide margin.
This phenomenon cannot be captured by single-projection optimization. It emerges only when uncertainty is modeled explicitly.
The edge belongs to the analyst who best understands variance, correlation, and tail behavior, and who is willing to let uncertainty drive the optimization rather than pretending it does not exist.
No comments:
Post a Comment