The Pain of Christmas Supply Chains

And why there is no quick fix in Q4

We’re entering the world of omni-channel CPG, where a single advent calendar can quietly blow up your entire plan.

For the calendar to be available on time, you need to:

  • Commit display cartons early (often with brutal lead times and supplier MOQ traps)

  • Forecast demand at the SKU-level for every door/product inside the calendar (and the mix changes by channel, ohoho)

  • Explode the BOM into subcomponents and raw materials, then aggregate demand across “normal business” + seasonal spikes

  • Coordinate co-man capacity, packaging lines, kitting/assembly, QA holds, and outbound cutoffs (Amazon/retail windows don’t care)

  • Do all of this while factoring cannibalization of your subscription business (and the promo strategy that messes with baseline demand)

And then the classic questions start:
More safety stock or need? Higher forecast or not?

What tends to go wrong (pitfalls I keep seeing)

  • Packaging/display components become the true bottleneck (missed POs, wrong specs, late approvals)

  • “Calendar demand” gets planned, but raw materials don’t get netted correctly against existing inventory + inbound

  • Teams plan by month, while reality is daily cutoffs (kitting windows @ 3PL, ship-by dates, …)

  • Cannibalization is hand-waved, so you either starve subscription or overbuild seasonal

What “good” looks like

This is exactly where an AI-native planning layer helps:
one model that ties together demand by channel, BOM/raw material explosions, co-man/warehouse constraints, and timing. Then produces an executable plan (POs/WOs/TOs) with guardrails like service level and working capital.

Instead of arguing forecast philosophy, you run scenarios to test for feasibility:

  • “What if retail pulls forward 2 weeks?”

  • “What if display cartons slip 14 days?”

  • “What if subscription churn spikes during promo?”

…and you get a concrete answer and risk outcomes: what to buy, what to build, where to allocate, and when. Before it’s too late.