In fast-moving consumer goods, demand follows the campaign rather than the season. A marketplace’s discount week multiplies order volume; the week after, it drops back. Planning has to see that wave coming. When it doesn’t, the warehouse either delays shipments with too few people or raises cost with too many.

The campaign is the main input

Sales history alone is not enough. What sets a week’s order count is which campaign runs on which channel that week. So in our forecast models the campaign calendar carries the same weight as sales history. That calendar usually lives in a spreadsheet; rather than ignoring it, we wire it into the model.

A forecast at the level of the decision

A company-wide total is of no use to a warehouse planner. We produce the forecast at the granularity the team using it needs (channel, product group, week), matching whatever level the shift plan is made at.

Watching the model every week

As the campaign structure changes, the model drifts. A weekly tracking report that puts actuals next to the forecast makes drift visible in its first week. That way the forecast system does not quietly decay; it runs as an operational component that can be maintained.

One platform, one pipeline

From the data warehouse to the forecast and from the forecast to the report, we build every step as a single scheduled flow. Because the process needs no human intervention, the forecast stops being “a model somebody runs” and becomes a table the planning team looks at every morning.

Our work in this area