NBA DFS Variance Without a Subscription

The NBA optimizer is taking shape, and the shape is strange: the stacking panel is empty, the position rules are the site’s own, and the one feature I actually care about is a number nobody else gives away for free. This is where NBA DFS variance comes in, and why it stopped being something you have to pay for.

Short version of the last three posts: basketball creates no linked scoring unit, so there is nothing to stack; I measured that across three seasons and the correlations are about an order of magnitude weaker than football’s; and the old Excel model I dug up had already reached that conclusion by deleting the columns. What survived all of that is one idea, and it came out of the spreadsheet.

Scatter plot of 3,302 NBA teammate pairs showing that players who split minutes score against each other
Continue reading “NBA DFS Variance Without a Subscription”

Every Constraint in My Excel NBA DFS Optimizer

A few days ago I wrote that a basketball rules file would come out nearly empty, and that the interesting part of an NBA optimizer is not the optimization. Then I went looking for something else and found a workbook I had forgotten I wrote: FCP Optimizer — Master v6.7, an NBA daily fantasy optimizer in Excel, with a change log that starts at version 4. So rather than speculate about NBA DFS optimizer constraints, here is the actual model, read straight out of the file.

It is a mixed integer program with about 200 binary variables, solved by CBC through the OpenSolver add-in. Everything below is what the sheet and its macros really do, not a cleaned-up version of it.

Diagram of the mixed integer program inside the Excel NBA daily fantasy optimizer, showing objective and seven constraints
Continue reading “Every Constraint in My Excel NBA DFS Optimizer”

NBA DFS Correlation: 3 Seasons, 500,000 Pairs

In the last post I argued that basketball gives an optimizer nothing to stack, because no rule of the sport links two players’ scores the way a batting order or a quarterback does. That was reasoning, not evidence. So I pulled three seasons of box scores and actually measured NBA DFS correlation — 62,681 player-games, 3,690 games, and 505,721 pairs of players who shared a floor.

The short version: the structural argument holds, the numbers are far smaller than most stacking advice implies, and the most interesting thing in the data is something I had predicted backwards.

Line chart of NBA teammate and opponent DraftKings score correlation crossing as the final margin widens
Continue reading “NBA DFS Correlation: 3 Seasons, 500,000 Pairs”

NBA DFS Stacking: There Is Nothing to Stack

I have had a baseball lineup optimizer running on this site since June and a football one since August. Pointing the same engine at basketball looked like the easiest job of the three — eight roster slots instead of nine, a $50,000 cap, done before lunch. That part was true. The part that stopped me was NBA DFS stacking, because when I opened a new rules file and went to write the stacking constraints, there was nothing to put in it.

That is not a complaint about missing data. It is a statement about the sport. Baseball and football each hand you a structural link between two players’ scores — something written into the rules of the game itself. Basketball does not have one, and no amount of modeling invents it.

How NHL, NFL, MLB and NBA differ in whether the sport links two players' fantasy scores
Continue reading “NBA DFS Stacking: There Is Nothing to Stack”