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.

