Why your forecast is wrong (and why that's fine)
Every forecast is wrong. The question is by how much, in which direction, and what you do about it.
There's a particular kind of frustration that comes from inheriting an inventory model. The previous planner left you with a forecast in a spreadsheet, you ran it against last quarter's actuals, and the answer's off by 30%.
Now you're staring at the numbers thinking: do I trust this for next quarter?
Short answer: no, and you shouldn't trust any forecast that lacks an error band.
Long answer below.
Every model is wrong, some are useful
George Box's line from 1976 is still right. The forecast on a per-SKU basis will be wrong — sometimes by 5%, sometimes by 80%. The question is whether the aggregate error is small enough to make decisions on.
Two metrics matter:
- MAPE — Mean Absolute Percent Error. "On average, how far off was the forecast as a percentage of actual?" Lower is better.
- Bias — average signed error. "On average, does the forecast tend to be high or low?" Closer to zero is better.
A forecast with MAPE = 25% and bias = +2% is decent. A forecast with MAPE = 12% and bias = +18% is worse — it looks accurate per SKU but consistently overshoots in aggregate, leading to overstock.
Why we use rolling-origin backtests
Most inventory tools fit a forecast to all available history. That's a problem: the model has seen the future, so the reported "accuracy" is artificially good.
We use rolling-origin cross-validation instead:
- Fit the model on months 1–9.
- Predict month 10. Compare to actual. Record error.
- Refit on months 1–10, predict month 11. Compare. Record.
- Repeat.
The reported MAPE is the average across all these out-of-sample windows. It's the closest honest estimate of how accurate the forecast will be next month, not how well the model memorized the past.
Per-SKU model selection
Different demand patterns need different models:
| Demand pattern | Best model | |----------------|------------| | Smooth, trending | Holt-Winters (level + trend + seasonality) | | Smooth, no trend | ETS (level only or level + seasonality) | | Intermittent (lots of zeros) | Croston-SBA (specifically designed for sparse demand) | | Truly random / no signal | Naive (last month repeated) |
Tropix Palm runs all four candidates per SKU and picks the one with the best backtest MAPE. The selection is logged so you can see why a SKU is using Holt-Winters vs. Croston for that month's run.
What "intermittent demand" means and why it's everywhere
If you have 5,000 SKUs, somewhere between 30% and 60% of them have intermittent demand — months where they sold zero, interspersed with months where they sold five or fifty.
Standard ETS models on intermittent data underestimate. They average across zeros and assume the smoothed series is the truth. Croston-SBA was designed in 1972 specifically to handle this — it forecasts the demand size and demand interval separately.
If your current tool doesn't have a per-SKU model selector that includes Croston, your forecasts on slow-movers are wrong in a predictable direction (under-forecast → stockouts).
Use prediction intervals, not point forecasts
A forecast of "we'll sell 47 units next month" is roughly useless for planning.
A forecast of "we'll sell 47 units next month, with 80% confidence between 32 and 64" is actionable. The lower bound informs safety stock. The upper bound informs MOQ negotiations.
PRO plans render the 80% interval as a shaded band on the demand chart and as forecast_low / forecast_high columns in the XLSX export.
The fix isn't a better forecast — it's a better response
Here's the meta-point: chasing forecast accuracy is a trap.
You can't make demand less variable. You can design your replenishment system to be robust to forecast error. That's what safety stock is for. That's what shorter lead times are for. That's what EOQs sized to demand variability (not a constant) are for.
A 25% MAPE forecast with the right safety stock, lead times, and reorder cadence will run circles around a 10% MAPE forecast plugged into a system that can't react.
So yes — your forecast is wrong. Get over it. Build the system that handles being wrong gracefully.
Next reads
- The math behind the safety stock that absorbs your forecast error: The safety stock formula every operator should know.
- Where to spend your forecast attention (hint: not equally across SKUs): ABC analysis vs Pareto — which classification you actually need.
- The full forecasting + reorder policy module: see product and pricing. Starter is $149/month and auto-selects ETS / Holt-Winters / Croston-SBA per SKU with out-of-sample MAPE on every run.