Blog

Forecasting, benchmarked.

Method notes, benchmarks and worked examples. Every number here is one we ran ourselves and published the raw output for, including the runs that went against us — a benchmark that only shows wins is not worth reading.

Beat seasonal-naive first. On a third of monthly series, we didn't.

Repeat last cycle is the hardest cheap baseline there is. Per-series MASE across 300 M4 series shows where a foundation model clears it and where it does not.Read the article →

Handling 429s and quota correctly against a metered forecasting API

Token buckets, burst sizes and the six headers on every response. A retry loop that respects Retry-After, and the one status code you must never retry.Read →

Forecasting 500 SKUs: batching, chunking and the numbers behind it

Four series in one call cost 2.08 s against 1.53 s for one. How to chunk a catalogue to your plan ceiling, handle ragged histories and stay under the rate limit.Read →

q50 is not the mean: how to read a probabilistic forecast correctly

What the nine quantiles in a forecast response actually promise, why the mean sits below the median on a real series, and which line to plan on.Read →

We benchmarked TimesFM zero-shot against Prophet. Here is where each one wins.

300 M4 series, TimesFM 2.5 zero-shot against Prophet and seasonal-naive. Every number, the series each method loses, and one command to rerun it.Read →