How to forecast product demand with AI

Ops & Supply3 AI tools7 steps6 friction points

Demand forecasting is the process of estimating how much of each SKU you'll sell over a future window — typically 4, 13, or 52 weeks — so you can make production, purchasing, and inventory decisions in advance. For most CPG operators, this means reconciling sales history, retailer POS data, co-packer lead times, and promotional calendars into a number someone will actually order against. It lives at the center of almost every operational decision a product business makes.

AI feels like the right tool here because demand forecasting is pattern recognition at its core. You have historical data, seasonal cycles, promotional lifts, and lead time constraints — and you need to synthesize them into a forward-looking number. That's exactly the kind of structured reasoning task where LLMs can generate real analytical output instead of just summarizing text. The workflow has enough structure that a good prompt can produce something that looks like a forecast.

ChatGPT, Claude, and Gemini can all meaningfully contribute to demand forecasting — if you bring the right data to them. They can decompose historical sales into trend and seasonality components, build a simple reorder model given lead times you provide, flag anomalies in a dataset you paste in, and draft the assumptions section of a forecast you'd share with a buyer. The quality of the output depends almost entirely on how clean and complete the data you provide is.

Ops & Supply3 AI tools7 steps6 friction points
AI walkthrough

How to do it with AI today

A practical walkthrough using ChatGPT, Claude, and other off-the-shelf LLMs — what they're good at, what you'll have to do by hand.

Tools that work for this
ChatGPTClaudeGemini
Step-by-step
1 Pull your sales history from wherever it lives — Shopify order exports, Amazon Seller Central reports, a QuickBooks revenue report, or a retailer's POS portal — and clean it into a simple CSV with columns for date, SKU, units sold, and channel.
2 Open ChatGPT or Claude (either works; Claude tends to be more precise with structured data analysis) and paste in your CSV or a representative sample. Tell it the time period, the SKUs you care about, and the planning horizon you're forecasting for.
3 Prompt the model to decompose your sales history — separate baseline velocity from promotional spikes, identify any seasonal patterns, and flag outlier periods you should exclude from the baseline calculation.
4 Feed in your operational constraints in a follow-up message: co-packer lead times by SKU, minimum order quantities, current inventory on hand, and any upcoming promotions or retail launches the model doesn't know about yet.
5 Ask the model to produce a week-by-week or month-by-month demand forecast for each SKU, with explicit assumptions stated so you can audit and adjust them. Request a simple reorder schedule — 'flag the week I need to place each PO given these lead times.'
6 Copy the forecast output into a spreadsheet. Sanity-check the numbers against your own read of the business, adjust any assumptions the model got wrong, and share the resulting file with your co-packer or ops team.
7 The following month, repeat from step one — the LLM has no memory of last month's session, so you're rebuilding the full context every time you want an updated forecast.
Prompts you can copy
Here is 12 months of weekly unit sales for three SKUs across two channels. Identify the baseline weekly velocity for each SKU, any seasonal patterns, and promotional lift periods. Exclude the four weeks around our March launch from the baseline.
Given these baseline velocities and the seasonal index you identified, generate a 13-week forward demand forecast for each SKU. State every assumption explicitly so I can override them.
My co-packer needs 6 weeks lead time for SKU-A and 4 weeks for SKU-B. Current inventory is 2,400 units of SKU-A and 800 units of SKU-B. Based on the forecast above, tell me the exact date I need to place each PO.
We have a Whole Foods promotion running in weeks 8-10 that typically lifts velocity 35%. Adjust the forecast to reflect that lift and recalculate the PO schedule.
Compare my Q4 sell-through rate this year versus last year for SKU-A and tell me whether the difference is more likely explained by distribution changes, pricing, or seasonality.
Reality check

Where this gets hard

The walkthrough above works — until your numbers change, the LLM hallucinates, or you have to re-paste everything next month.

No live connection to your sales data — every session starts with a fresh export, a copy-paste, and hoping the format doesn't break the model's parsing.
Large datasets hit context limits fast. Paste in 18 months of weekly SKU-level data across five channels and you're either truncating history or summarizing away the detail the model needs.
The model has no memory between sessions. The assumptions you negotiated with it last month, the seasonal index it calculated, the PO schedule it built — all gone. You reconstruct the entire context from scratch every cycle.
Outputs drift between runs. The forecast structure, column names, and assumption framing you carefully prompted in January may not match what you get in February, making month-over-month comparison a manual reconciliation job.
The model knows nothing about your specific retailer relationships, your co-packer's reliability history, or which of your promotions actually drove lift vs. just pulled forward demand. You have to inject all of that context manually, every time.
There's no alert, trigger, or scheduled run. When inventory dips below reorder point mid-month, nothing happens — you only know if you remember to go run the prompt again.

Tired of the friction?

Starch runs the whole workflow on live data — no copy-paste, no hallucinated numbers, no re-prompting next month.

See the Starch version →
Starch alternative

The same workflow on Starch

Starch is an agentic operating system — an agent builds and runs the persistent software your forecasting workflow depends on, connected to your live sales, inventory, and POS data, so the forecast is always current and the reorder logic runs automatically.

The Demand Planner app (coming soon — request beta access) replaces the monthly copy-paste cycle with AI-powered forecasting that reads your actual sales signals, factors in co-packer lead times and promotional calendars, and tells you what to produce and when to reorder.
The Inventory Planner app (coming soon — request beta access) gives you a single view of stock across your co-packer, 3PL, and warehouses, with reorder points that trigger automatically based on velocity and lead time — instead of waiting for you to remember to run a prompt.
Retail Analytics (coming soon — request beta access) pulls POS data from your retail accounts into one dashboard so you can see sell-through velocity by store, measure promotional lift, and show up to buyer meetings with your own numbers instead of syndicated data you can't afford.
Connect Shopify or your e-commerce platform from Starch's integration catalog and the agent queries live order data when your forecast app runs — no monthly export, no copy-paste, no stale numbers.
Describe the forecast model you want in plain English — 'build me a 13-week demand forecast by SKU that factors in a 35% lift for any week I tag as a promotional period and flags the PO date given each SKU's lead time' — and an agent builds that as a persistent app, not a one-off prompt.
Automations run on a schedule without you. Set a weekly trigger and Starch re-runs the forecast, updates reorder alerts, and Slacks you a summary — the same workflow, every week, without you initiating it.
Get closed-beta access →
Toolkit

Starch apps for this workflow

Pick your role

See this workflow by operator

Run forecast product demand on Starch

You're on the list! We'll be in touch soon.