Forecasting Playground
Shape a history. Watch the forecast respond.
A small, working forecasting tool built on synthetic data. Change growth, seasonality and trend assumptions and see how a simple, transparent method responds.
01
What this is
A fictional bike shop with four years of monthly sales — invented by a seeded random generator, so no real business data is involved. You control how that history was shaped, and how the future is projected from it.
The point is not accuracy. It is to make the moving parts of a forecast visible: how much of the result comes from the data, and how much from the assumptions you bring to it.
02
How it works
The method is classical and deliberately simple, so every step can be explained:
- Seasonality. A centred 12-month moving average estimates the underlying level. Dividing each month by it, and averaging per calendar month, gives twelve seasonal indices.
- Trend. Removing seasonality leaves a smoother series. A straight line fitted to its logarithm (ordinary least squares) estimates the growth rate.
- Projection. The trend is extended from the last fitted level. Trend continuation damps it: at 100 % the growth continues unchanged; at 0 % the forecast stays flat apart from seasonality.
- Scenarios. Optimistic and pessimistic lines add or subtract the chosen spread from the estimated annual growth.
- Uncertainty. The shaded band is an approximate 80 % range, based on how far the history strays from the fitted model and widening with the horizon.
- Back-test. The method is re-run without the final twelve months, and its forecast compared with what happened. The average percentage error is shown as a sanity check.
03
What it won’t do
It does not handle holidays, promotions, structural breaks, stock-outs or the many other things that shape real demand. Real forecasting usually needs better models, richer data and — most of all — a conversation about what the numbers are for.
Treat it as a thinking tool: a way to feel how sensitive a forecast is to the assumptions behind it.