The interesting part of a forecasting engagement is almost never the model.
Every client arrives believing they have a modeling problem. They have read that some architecture wins on M-competition benchmarks and they would like that architecture. What they actually have, in nearly every case, is a data problem wearing a modeling problem's clothes: SKUs renamed twice without a mapping table, promotions recorded in a spreadsheet nobody owns, returns booked against the wrong period, and a demand history that is really a shipment history — censored by whatever inventory happened to be on hand.
That last one matters more than anything downstream. If you fit to shipments and call it demand, you are training the model to reproduce your own stockouts. It will confidently forecast low for exactly the items that sold out, and the forecast will look accurate against the same censored history you validated on. The error is invisible in your metrics and expensive in the warehouse.
What actually worked
An ensemble, not a champion. Different SKUs have genuinely different generating processes. Fast-moving staples are seasonal and smooth, and a classical statistical model handles them well. Long-tail items are intermittent, and fitting a continuous model to a series that is mostly zeros produces confident nonsense. Rather than search for one architecture to cover both, route by series characteristics and let a weighted ensemble reconcile the outputs.
Per-client training, not a shared model. Tempting to pool across clients for volume. In practice the business processes differ enough that pooling imports another company's operational quirks as signal.
Hierarchical reconciliation. Forecasts made independently at SKU, category, and region level will not sum consistently, and an executive who notices the parts don't add to the whole will stop trusting the entire system — correctly. Reconciliation wasn't a refinement, it was what made the output usable.
The part that generalizes
The forecast was never the deliverable. The decision was. A forecast with an honest uncertainty band that a planner will actually act on beats a point estimate with better backtest error that everyone quietly overrides.
This is the same lesson as instrumenting an experiment: your measurement apparatus imposes structure on what you can observe, and if you forget that, you will mistake artifacts of the apparatus for properties of the world. Censored demand is an instrumentation problem. So is most of the rest of it.