SKU-level demand forecasts, with holidays as covariates.
Forecast predicts demand for each of 240 SKUs for the next 12 weeks with confidence intervals. The ops team right-sizes purchase orders, reducing overstock by 31% and stockouts by 44% in Q4.
Run Forecast- 1
Describe the task
Forecast can take 18 months of raw SKU-level sales and turn it into a per-item, 12-week demand forecast with confidence bands, no per-SKU modelling by hand. It learns each product’s own seasonality, folds in your holiday and promo calendar as covariates, and hands the ops team purchase-order-ready numbers instead of a single blended trend line.
The more precisely you describe the horizon and the covariates, the tighter the output. Tell Forecast which sales column to model, which calendar to attach as a covariate, and what confidence interval you plan against, and it holds that structure every refresh.
Build a 12-week demand forecast for every SKU in sku-sales-18mo.csv. For each SKU: - Learn its own weekly seasonality from the last 18 months - Attach holiday-promo-calendar.csv as a covariate so promo weeks lift correctly - Return a point forecast plus an 80% confidence band per week - Flag SKUs where history is too sparse to forecast reliably Group results by volume tier (top 20%, mid, long tail). End with a summary: SKUs forecasted, projected overstock reduction, and which SKUs need a manual look.
- 2
Give Forecast context
In a Forecast workspace, load the sales history into a source node and wire the holiday-promo calendar in as a covariate on the forecasting node. Forecast reads both together, so a Black Friday spike is modelled as a promo effect rather than baked into the baseline.
Make sure the promo calendar actually lines up with the sales weeks, matching dates, matching SKU identifiers. A calendar that references products the sales file never names will simply be ignored, and the lift stays invisible.
Required contextA SKU-level sales history (CSV or synced view) with at minimum SKU, week, and units soldA holiday and promo calendar keyed to the same weeks and SKU identifiersOptional contextA stock-on-hand feed, so Forecast can translate demand directly into a suggested purchase orderA supplier lead-time table, so reorder points account for how long replenishment takesA note on which SKUs are being discontinued, so they’re dropped from the forecast instead of trended to zerosku-sales-18mo.csvholiday-promo-calendar.csvstock-on-hand.csv (optional) - 3
What Forecast creates
Forecast works through every SKU, learning each item’s seasonality and applying the promo covariate. You get a 12-week forecast per SKU with confidence bands, grouped by volume tier, plus a short list of items whose history was too thin to model confidently.
From Forecast: Forecasted 240 SKUs over 12 weeks from sku-sales-18mo.csv with holiday-promo-calendar.csv as a covariate.
240SKUs forecasted−31%Projected overstock−44%Projected stockoutsTop 20% by volume48 SKUsSKU Product Wk 1 forecast 80% band HG-1042 Linen duvet, king 1,180 units 1,040–1,320 HG-0087 Ceramic mug, matte black 3,420 units 3,110–3,730 HG-2210 Oak floating shelf 640 units 560–720 Long tail96 SKUsSKU Product Wk 1 forecast Note HG-3301 Brass candle snuffer 22 units Highly seasonal, peaks in December HG-3388 Wool throw, ochre 14 units Sparse history, wider band "9 SKUs had under 12 weeks of history and were flagged rather than forecasted. Want me to fill those with a category-average curve, or translate the top-tier forecast straight into a suggested purchase order?"
- 4
Follow-up prompts
Turn the forecast into a purchase order
With a stock-on-hand feed connected, Forecast can subtract current inventory and supplier lead time from the 12-week demand to produce a reorder quantity per SKU.
Using stock-on-hand.csv and a 3-week supplier lead time, convert the 12-week forecast into a suggested purchase order per SKU. Only include items where projected stock drops below the reorder point within the horizon.
Stress-test a promo you’re planning
Forecast can re-run the same model with a hypothetical promo week added to the covariate, so you see the demand lift before you commit the discount.
Add a 20%-off promo on the top 48 SKUs in week 6 to the covariate and re-forecast. Show me the demand lift versus the base case and where it would risk a stockout.
Refresh it automatically each week
Once the horizon and covariate are right, save the pipeline as a Forecast saved runbook and schedule it to rebuild every Monday against the latest sales export.
Save this as a runbook called "weekly-sku-demand", then schedule it to refresh every Monday at 6am against sku-sales-18mo.csv and notify me when the new bands are ready.
- 5
Tips and troubleshooting
Match the calendar to the sales grain
If your sales are weekly but the promo calendar is daily, aggregate the calendar to weeks first, or the covariate lands on the wrong periods and the lift washes out. Forecast will use whatever grain both files share.
Thin-history SKUs get flagged, not guessed
Items with under a full season of history can’t be forecasted reliably alone. By default Forecast flags them; if you’d rather borrow a category-average seasonal curve, say so in the prompt.
Plan against the band, not the point
The point forecast is the midpoint. For safety stock, order against the upper edge of the 80% band on your fast movers so a normal spike doesn’t empty the shelf.
Ready to try it yourself?
Point Forecast at your sales history and promo calendar, and get a per-SKU 12-week demand forecast your ops team can turn straight into purchase orders.
Run Forecast