Nine Named Ranges and a Macro Called alternate_qb

The football folder had twelve .xlsm files in it, all with the same file date because I had copied them off an old drive in one go. Windows was no help. The real dates were inside — every Office file carries its own modified timestamp in docProps/core.xml, and a spreadsheet is just a zip archive, so you can read it without opening Excel at all.

Eleven of them were from 2014 and 2015. One was from October 2021, had nineteen worksheets instead of five, and was called fanduel football 2021 fast.xlsm. That was the one worth porting.

Image suggestion: a screenshot of Excel’s Name Manager on the old workbook, showing qb_stack, team_plus_oppo, wr_per_team and friends.
Continue reading “Nine Named Ranges and a Macro Called alternate_qb”

In Baseball You Stack a Team. In Football You Stack a Throw.

I have had a baseball lineup optimizer running on this site since June. Pointing it at football looked like a small job — swap ten roster slots for nine, swap a $50,000 cap for a $60,000 one, done. That part took an afternoon. The part that took actual thought was that baseball and football are correlated in completely different ways, and correlation is the whole game.

In baseball, the correlation is sequential. Batters score in a chain: a single sets up the double that drives him in. That is why my MLB optimizer has a constraint forcing four hitters from one team into consecutive batting-order spots — 3-4-5-6, not 2-5-7-9. In football there is no batting order. The correlation is simultaneous, and it is much sharper.

Continue reading “In Baseball You Stack a Team. In Football You Stack a Throw.”

How Route Optimization Algorithms Actually Work

People hear “route optimization algorithm” and picture something exotic — a black box, maybe a little AI magic. It isn’t. Underneath every routing tool, mine included, is a decades-old idea from combinatorial search, dressed up with a few tricks to make it fast enough to run in your browser instead of overnight on a mainframe. I’ve spent twenty-plus years building these models for real fleets, and the algorithm part is the least mysterious piece of the whole system. Here’s what’s actually happening when you click “optimize.”

Continue reading “How Route Optimization Algorithms Actually Work”

Do You Need a Route Optimization API?

Every so often someone emails me asking for a route optimization API — they want to hit an endpoint from their own app, get routes back as JSON, and skip the whole “upload a spreadsheet” workflow entirely. Fair ask. But before you go shopping for one, it’s worth understanding what you’re actually paying for, because “API” in this space covers everything from a thin wrapper around a free library to a genuinely expensive enterprise platform.

Continue reading “Do You Need a Route Optimization API?”

Safe Withdrawal Rate by Age: Why 4% Isn’t One Number

The “4% rule” gets repeated like it’s one universal number, but the safe withdrawal rate by age isn’t actually flat — it moves depending on how long your money needs to last, which is another way of saying it depends heavily on your age when you start withdrawing. I built my own withdrawal calculator specifically because a flat percentage didn’t fit an early-retirement timeline, and the more I dug into the math, the more the “4%” felt like a rounding of something that should really be a curve.

Continue reading “Safe Withdrawal Rate by Age: Why 4% Isn’t One Number”