AI Demand Forecasting A forecast per SKU and location, every week
Every week, a forecast per product and location with an honest error range — and a plain explanation of what changed.
- Installed for you · one-time$249
- Run for you$297/month
- Custom build · this process$5,000–9,000 one-time
- Starts whenSchedule Trigger (weekly, after the sales data closes)
The subscription assumes a hosted model API (TimeGPT or similar) and up to 5,000 SKU-locations. Training a custom model on your history, integrating a planning system (o9, Kinaxis, Blue Yonder), or multi-echelon networks is a custom build. Custom builds start at $2,000 site-wide; this band is for this process and its integrations.
AI Demand Forecasting is an automation Agentmelt installs in your own tools. The free template is a file you import yourself; the kit ($49) adds the setup guide and prompts. Installed for you costs $249 one-time and is live within two working days of access, with a recorded walkthrough and 30 days of fixes. Run for you costs $297/month, with setup and maintenance included. A custom build of this process is $5,000–9,000 one-time; custom builds start at $2,000 site-wide. No call is needed for any option. Written by Max Zeshut; last revised 2026-09-17.
Reference stack: Claude + n8n. Node names are on each step; the file is under the template.
Founder at Agentmelt
Reviews every build before it goes live; the workflow escalates to a person, never past one.
What is demand forecasting?
AI demand forecasting uses a model trained on your sales history and the signals a spreadsheet cannot hold — promotions, price changes, weather, holidays, marketing spend, web traffic — to produce a forecast per product, per location, per week, with an error band that says how far to trust it. Run as a scheduled workflow, it refreshes every week, scores its own past accuracy, writes the forecast into the planning system, and explains in plain words which products moved and why, so planners review exceptions instead of rebuilding the whole forecast.
- The forecast is a spreadsheet one planner updates on Monday, and nobody knows how accurate last month's was.
- Promotions and price changes are not in the forecast, so every campaign becomes a stockout or a write-off.
- We forecast by product family because forecasting 800 SKUs across 12 locations by hand is impossible.
- The ERP's built-in forecast is a moving average with a different name.
- Planners overrule the forecast, and there is no record of whether their changes helped.
If two of these are yours, this is the process to look at first. Free audit — or read on.
What it looks like once it runs.
AI demand forecasting combines your sales history with the signals a spreadsheet cannot hold — promotions, price changes, weather, holidays, marketing spend, web traffic — and produces a forecast per SKU per location per week with an error band. The workflow below runs that model on a schedule in your automation tool, and uses an AI agent only where it helps: explaining exceptions to planners and drafting the weekly forecast review.
- Monday 5:00 Last week's sales close. Sales history, promotions, prices and web traffic are pulled into one table.
- 5:20 The model runs and writes a forecast with its error range for every product and location.
- 5:30 Last week's forecast is scored against what actually sold.
- 8:00 Planners get the scorecard and the ten products where the forecast moved most — each with a one-line reason.
Spreadsheet forecasts update monthly, miss the signals that actually move demand, and treat every SKU the same. Over-forecasting ties up cash in inventory; under-forecasting causes stockouts and expedited freight. Planners spend the week reconciling numbers instead of deciding.
Every Monday, planners open a forecast that is already refreshed with last week's actuals and next month's promotions, with the twenty SKUs whose forecast moved the most listed first and a sentence explaining why. Forecast error measured as WAPE drops — typically by a fifth to a third against the spreadsheet baseline — and the improvement shows up as lower safety stock and fewer expedites.
Trigger, then 8 steps.
All eight steps run without anyone; a person sees only what the guardrails escalate.
Schedule Trigger (weekly, after the sales data closes)
Pull sales history
Units sold per SKU per location per week from the ERP or data warehouse (NetSuite, SAP, Dynamics, BigQuery, Snowflake), including returns and stockout flags so lost sales are not read as low demand.
Pull the signals
Promotion calendar, price history, marketing spend, web sessions per product, weather for store regions, public holidays, and competitor price feeds where you have them. Each becomes a feature aligned to the same SKU-location-week grid.
Clean and align
Fills gaps, corrects stockout weeks (censored demand), maps promotions to weeks, and produces one wide table per SKU-location. Bad rows are logged, not silently dropped.
Run the forecasting model
Calls the forecasting service — a gradient-boosted model (LightGBM) or a foundation time-series model (Chronos, TimesFM) hosted as an endpoint, or Nixtla's TimeGPT API for teams that do not want to host. Returns point forecasts and quantiles (p10/p50/p90) for the next 13 weeks.
Score last week's forecast
Compares the forecast made a week ago to the actuals that just arrived and computes WAPE, bias and forecast-value-added by segment, so the workflow reports its own accuracy every run.
Write forecasts to the planning system
Stores forecasts and quantiles by SKU-location-week, with a run id, in the table the planning tool or replenishment sheet reads.
Explain the exceptions
For SKUs where the forecast moved by more than a threshold or error was worst, the agent reads the feature changes (a new promotion, a price drop, a stockout) and writes a one-line explanation with the numbers. It never changes a forecast.
Publish the weekly review
Posts the accuracy scorecard, the top exceptions with explanations, and a link to the planning sheet. Planners override in the sheet; overrides are stored and scored separately so you learn whether they help.
No step waits for a person.
What the workflow hands to someone, by rule:
- The model forecasts; the agent explains. No language model touches a number that goes into replenishment.
- Every run scores the previous run's accuracy so drift is visible within a week.
Every Monday, planners open a forecast that is already refreshed with last week's actuals and next month's promotions, with the twenty SKUs whose forecast moved the most listed first and a sentence explaining why
Every Monday, planners open a forecast that is already refreshed with last week's actuals and next month's promotions, with the twenty SKUs whose forecast moved the most listed first and a sentence explaining why.
No decisions needed. Anything the guardrails flag is handed to a person; the rest ran alone.
Each pattern page explains it in plain words and lists every automation that uses it.
The template is built on n8n (how the n8n AI Agent node works); the same steps run on Make, Zapier or plain code. The tool is chosen to fit your accounts, you own the result, and the template comes in all three formats.
Data it touches
- Sales history by SKU-location-week (ERP / data warehouse)
- Promotion and price calendars
- Marketing spend and web analytics
- Weather (Open-Meteo, Visual Crossing) and public holidays
- Stockout / inventory position (to correct censored demand)
Guardrails
- The model forecasts; the agent explains. No language model touches a number that goes into replenishment.
- Every run scores the previous run's accuracy so drift is visible within a week.
- Planner overrides are captured and evaluated against the model, not silently overwritten.
- Forecasts carry quantiles, and safety stock uses them — a point forecast alone hides the uncertainty that drives stockouts.
What AI demand forecasting actually changes
Classical forecasting fits a curve to each product's history: moving averages, exponential smoothing, ARIMA. It is fast and understandable and it is what most planning tools still do by default. Its limit is that it only knows the past of one series. It cannot know that the promotion calendar has a 2-for-1 next month, that the price went up last week, that it will be 35°C in the stores that sell fans, or that a competitor is out of stock.
Machine-learning forecasting — gradient-boosted trees over engineered features, or more recently foundation time-series models pre-trained on millions of series — learns across all your SKUs at once and takes those external signals as inputs. The M5 forecasting competition (Walmart data, 42,840 series) is the best public benchmark: the winning approaches were all gradient-boosted models with rich feature sets, and they beat the best classical benchmarks by a wide margin at the aggregate level while being roughly comparable on very intermittent SKUs. That pattern holds in practice: the gain is largest on high-volume, promotion-driven items and smallest on slow, erratic ones.
The “AI” in the workflow above is therefore mostly the ML model. The language-model agent has one job — explaining — because that is the part planners actually struggle with. A forecast that moved 40% with no reason attached gets overridden; the same forecast with “promotion week 34, last comparable promo lifted units 3.1×” gets trusted.
How accurate is it, and how to measure that honestly
Use weighted absolute percentage error (WAPE, sometimes written MAD/mean ratio) rather than plain MAPE. MAPE explodes on low-volume weeks and rewards under-forecasting; WAPE weights each SKU by its volume so the number reflects the business impact. Report it by segment — top 20% of SKUs by revenue, promoted vs non-promoted, new vs established — because a single site-wide number hides where the model is weak.
Two more metrics belong on the scorecard. Bias (signed error) tells you whether you are systematically over- or under-forecasting, which is what drives inventory cost. Forecast value added compares the model to a naive baseline (last year same week, or a 13-week moving average) and to the planners' overrides; if a step in the process does not reduce error, remove it.
Realistic expectations: against a spreadsheet or naive baseline, well-implemented ML forecasting typically cuts WAPE by 20–35% on the fast-moving half of the range in the first quarter, less on the tail. The inventory effect follows: safety stock is set from forecast error, so a third less error is a third less safety stock at the same service level.
Worked example: 800 SKUs, 12 locations, weekly
A mid-size distributor with 800 SKUs across 12 branches has 9,600 SKU-locations and three years of weekly history — about 1.5 million rows, small by ML standards. The workflow assembles the feature table Sunday night (sales, price, promo flag, holiday, regional temperature, web sessions for the 200 products with product pages) and calls a LightGBM endpoint that was trained once on the history and is retrained monthly.
Output: 9,600 × 13 weeks of p10/p50/p90 forecasts written to the forecast table. The replenishment sheet reads p50 for the order quantity and the p90–p50 gap for safety stock. Monday's Slack post lists last week's WAPE (say 28% overall, 19% on the A items), the bias (+3%, slightly over-forecasting), and the 20 biggest movers with one line each. The planner spends an hour on those 20 instead of a day on 800.
Implementation sequence
Week one: get the history out and clean, and compute the naive baseline's WAPE — that number is what you have to beat and most teams have never measured it. Week two: connect the signals that exist (promotions and price are usually enough to start; weather and web traffic come later). Week three: run the model in shadow mode next to the current process and score both. Week four: switch replenishment for the A items to the model, keep the rest on the old process, and expand as the scorecard justifies.
Do not start with a custom model. A hosted API (TimeGPT, or a Chronos endpoint) with your history gives you 80% of the gain in days; train your own only when you have a specific reason — proprietary signals, unusual seasonality, or data-residency constraints.
Where it goes wrong
Stockouts read as zero demand. If a SKU was out of stock for three weeks, the history says nobody wanted it; the model learns that and forecasts low, which causes the next stockout. The clean step has to mark those weeks as censored, using the inventory position, and either impute or exclude them.
New products with no history. The model cannot forecast what it has never seen; use analog products (same category, same price band) for the first 8–12 weeks and let the actuals take over. The workflow needs an explicit new-product path or those SKUs get nonsense.
Planner overrides that are never scored. Overrides feel like control, but unscored they are just noise. Store them, score them against the model monthly, and show planners the result; most teams find overrides help on promotions and hurt everywhere else.
What it connects to.
| Tool | Role in this workflow |
|---|---|
| n8n | Scheduling, data assembly, scoring, publishing |
| LightGBM / Chronos / TimesFM / TimeGPT | Forecasting model (self-hosted endpoint or API) |
| BigQuery / Snowflake / Postgres | Feature store and forecast table |
| Claude | Exception explanations and the weekly review draft |
| Google Sheets / planning tool | Where planners read and override |
Want this running without building it?
$297/month
We set it up in your tools, run it on our servershost it on our n8n cloud (or deploy it to your own n8n, Make or Zapier), watch it, and fix it when something changes. Setup included, cancel monthly; the automation stays yours if you leave.
$5,000–9,000 one-time
Your systems, your rules, your edge cases. A one-off build delivered into your accounts to keepon Claude and n8n, delivered into your accounts to keep, with documentation and a recorded walkthrough.
The subscription assumes a hosted model API (TimeGPT or similar) and up to 5,000 SKU-locations. Training a custom model on your history, integrating a planning system (o9, Kinaxis, Blue Yonder), or multi-echelon networks is a custom build.
Also sold one-time, installed in your own accounts, as part of the supply chain managers package and the supply chain & procurement teams package — do it yourself $49 · installed for you $249 · done for you $490.
When this becomes a custom build.
The subscription covers the standard version — $297/month, setup and maintenance included. Three things move it to a custom build ($5,000–9,000 one-time), delivered into your accounts to keep. If one of them is you, say so on the audit and the plan prices both.
A model trained on your own history rather than a hosted forecasting API.
Integration with a planning system — o9, Kinaxis, Blue Yonder.
Multi-echelon networks, or above 5,000 SKU-locations.
Running the standard version first is the usual path: the exceptions it logs in the first month are the scope of the custom build, with your own numbers. How custom builds work.
Frequently asked questions.
What data do we need to start AI demand forecasting?
Two years of weekly (or daily) sales by SKU and location is enough to beat a spreadsheet; three is better for seasonality. Add the promotion and price history, and the stockout or inventory record so lost sales can be corrected. Weather, holidays and web traffic come after the basics are working.
Do we have to train our own model?
No. Hosted time-series APIs (Nixtla TimeGPT) and open foundation models (Amazon Chronos, Google TimesFM) forecast well from your history without training. Train a custom model later if you have proprietary signals or unusual demand patterns.
How does this connect to our planning or ERP system?
The workflow writes forecasts and quantiles to a table or sheet your planning tool reads. For NetSuite, SAP, Dynamics and most planning tools there is an API or import format; that integration is part of the build.
What does the language model do in a forecasting workflow?
It explains, it does not forecast. When a SKU's forecast changes a lot or its error was high, the agent reads what changed in the inputs and writes one sentence a planner can act on. Keeping the model out of the numbers keeps the forecast auditable.
How much does AI demand forecasting cost?
As a subscription, $297/month covers the workflow, a hosted model API and up to 5,000 SKU-locations. Custom models, planning-system integration or multi-echelon networks are one-off builds from $5,000. Model API usage is billed by the provider on top.
How accurate is AI demand forecasting compared with a spreadsheet?
On weekly SKU-location data, gradient-boosted or foundation time-series models typically cut error (WAPE) by 20–40% against a moving-average or last-year baseline, and more where promotions and price are strong drivers. The honest number is the one the workflow reports every week: it scores last week's forecast against actuals by segment, so you see the gain — or its absence — instead of taking a benchmark on trust.
Is machine learning demand forecasting worth it for a small catalogue?
Below roughly 200 SKU-locations the gain rarely pays for the setup; a good baseline with promotion adjustments does most of the work. Above that, and especially with promotions, seasonality or intermittent demand, the model earns its keep quickly because a person cannot re-forecast that many series weekly.
Does AI demand forecasting replace the planner?
No. The workflow produces the forecast and the explanations; the planner reviews the exceptions and keeps the right to overrule. The overrides are recorded and scored separately, so over time you learn where human judgement adds accuracy and where it does not.
What this blueprint is built on.
Vendor documentation the steps rely on, and the rules the guardrails are written against.
- Amazon Science — Chronos forecasting models github.com/amazon-science/chronos-forecasting
- LightGBM — documentation lightgbm.readthedocs.io/
- Nixtla — TimeGPT documentation docs.nixtla.io/