Blog

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”

Roth Conversion Calculator With IRMAA and State Taxes

Somebody ran twelve impossible scenarios through my Roth conversion optimizer in seven minutes and then left with nothing. That’s the most useful thing I learned from finally sitting down and reading the tool’s usage log, and it’s why it’s now a Roth conversion calculator with IRMAA priced in, real state brackets for all fifty states, and the ability to tell you in plain English what your plan is actually doing.

The log covers roughly 190 solves across about 31 visitor sessions, which makes this the most-used of the optimization tools I’ve put online. Almost everyone got a plan out of it. Two people got nothing at all, and the way they failed turned out to be the most interesting thing in the whole file — they weren’t defeated by a bug, they were defeated by an answer that was technically correct and completely useless.

Plain-English notes under a Roth conversion plan, including one reading “Your income is pinned at $109,000 for 13 years”
The optimizer explaining its own plan — fixed rules, not generated text.
Continue reading “Roth Conversion Calculator With IRMAA and State Taxes”

My Solver Said Optimal. Two Shifts Were Empty.

A solver status of optimal is a statement about a tolerance, not about your business rule.

A test suite told me my scheduler was broken. It wasn’t. What actually happened is stranger and more useful: on one of the shipped sample rosters my solver said optimal and handed back a schedule with two night posts nobody was assigned to. Not a crash, not an infeasibility, not a timeout. A clean optimal, with holes in it. Here is what I measured, what I had wrong in my own code comments, and the one dependency I had been describing to people as a speed optimization when it is really a correctness one.

Continue reading “My Solver Said Optimal. Two Shifts Were Empty.”

My Free Route Optimizer Now Tracks Three Capacities

The free vehicle routing optimizer at routing.kindoflost.com used to think about a vehicle’s capacity as a single number. Fine for a lot of routes, but real fleets rarely run out of just one thing. A cargo van can be full on volume with plenty of weight capacity left, or maxed out on weight while the cargo area still has room, or simply out of pallet slots. I added a fix: the tool now supports three independent vehicle capacity constraints per route, plus a route time limit you can set per vehicle instead of one setting for the whole fleet.

Vehicles sheet with capacity1, capacity2, capacity3, and route_time_limit columns
Continue reading “My Free Route Optimizer Now Tracks Three Capacities”

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”