Case Study · Multi-channel lifestyle CPG · $180M ARR · 4 sales channels
Halcyon Goods cut weekly reforecasting from nine hours to thirty-five minutes.
How a $180M multi-channel lifestyle brand wired DTC, wholesale, Amazon 3P, and boutique into a single weekly forecasting engine — with LY seasonality, product sell-outs, and WoW channel anomalies baked into every output.
Challenge
The problem behind the problem.
Halcyon's director of finance ran the weekly reforecast — DTC first, then wholesale, then the marketplace channels — and every Monday took most of a day to pull together. Marketing budgets for the next four-to-six weeks waited on her output. By the time the forecast was final, half the week's media decisions had already been made on stale numbers.
She knew exactly what the forecast was missing. Last year's seasonality wasn't in it (no time to pull). Product-level trends — the sell-outs, the slow movers, the things spiking in one channel and dying in another — weren't in it (no time to look). And the WoW commentary by channel was a thing she did from memory on the call, not from a synthesized report.
Meanwhile, ad-hoc analyses piled up. A daily channel forecast from monthly budgets for warehouse and media planning. A licensing-terms matrix across a stack of contracts. A freight P&L by tier. All useful, none repeatable, all manual.
Solution
What we actually shipped.
We started with the weekly forecast, not the ad-hoc work. We connected the DTC ecom platform, the wholesale OMS, Amazon Seller Central, and the boutique POS into a single timeseries store. The reforecasting engine pulls YTD actuals + last-year same-week + product-level sell-through and produces, per channel: DTC marketing $$, net sales, orders, and units — with a WoW delta and a one-paragraph narrative explaining what changed and why.
Product trends and sell-outs surface automatically. If a SKU sold out in DTC and accelerated in Amazon 3P at the same time, the forecast flags it. If a category that hit hard last year hasn't shown up yet this year, the forecast flags that too. The director of finance now reviews and edits, not authors.
Once the weekly engine was live, we packaged her ad-hoc work the same way. The daily channel forecast from monthly budgets became a stored model that warehouse + media planning subscribe to. The contract-matrix work became a Claude-powered template for any future stack of agreements. The freight P&L by tier became a permanent dashboard with optimization flags.
In their words
"I used to spend Monday rebuilding the same forecast in a slightly different shape. Now I spend Monday reading the forecast and deciding what to do about it. That's the actual job."
— Director of Finance, Halcyon Goods
Result
The number on the retainer report.
Weekly reforecasting collapsed from about nine hours to thirty-five minutes — a Monday morning, not a Monday. Marketing budgets now reset the same day the forecast lands. Three months in, the forecasts hold up better against the actuals too, because LY seasonality and product-level signal are finally inside the model instead of inside one person's head.
Halcyon is on a quarterly retainer for ongoing model tuning and the next round of ad-hoc-to-automated builds. The director of finance got her Mondays back.
Get started
Become the next Halcyon Goods.
If this sounds like your situation, the first conversation usually takes 30 minutes and gets us to a rough number.