Demand Planning & Forecast Accuracy
Demand forecasting that accounts for returns, seasonality, and vendor reliability. Built for e-commerce operations teams on Shopify and Amazon.
Your Forecast Is Probably Wrong. Here Is Why.
Most inventory forecasting tools take your sales history, draw a line, and call it a prediction. That works until it does not. And it stops working the moment any of these are true:
- Your return rate is above 10%
- You have seasonal products
- Your suppliers do not ship on time
- You sell on more than one channel
I have watched sellers over-order by 25% for months because their "forecast" was based on gross sales, not net. Returns were invisible. The tool said demand was 400 units per month. Actual sellable demand was 310. That gap compounds.
What a Real Forecasting Engine Needs
A sales trend line is not a forecast. A forecast accounts for the things that make demand unpredictable. Here is what actually matters, ranked by how much damage each one causes when you ignore it.
Returns-Adjusted Demand
If you sell apparel, electronics, or anything on Amazon, your return rate is not zero. A 25% return rate means a quarter of your "sales" come back. Forecasting on gross sales is like planning your budget based on revenue before refunds.
ReplenishRadar subtracts returns before running the forecast. Net demand, not gross. The difference on a SKU doing 1,000 units per month with a 22% return rate is 220 units. At $18 per unit, that is $3,960 per month in inventory you did not need to buy.
Seasonal Decomposition
"Sales went up in November" is not seasonality. Seasonality is a repeatable pattern you can quantify and project forward. We use STL decomposition to break your sales history into three components:
| Component | What it captures | Why it matters |
|---|---|---|
| Trend | Long-term direction (growing, flat, declining) | Tells you if demand is shifting permanently |
| Seasonality | Repeating patterns (weekly, monthly, yearly) | Prevents you from over-reacting to predictable spikes |
| Residual | Noise, one-off events, unexplained variance | Shows you what the model cannot explain |
This is not a black box. You can see the decomposition. If the model thinks December will spike 3x, you can verify that against last year's actual numbers. Same-period-last-year comparison flags show when this year's pattern diverges from the historical one, so you catch it early instead of discovering the mismatch in January.
365 Days of Sales History
Ninety days of data cannot detect annual seasonality. Full stop. If your product spikes every October and your forecasting tool only looks back 90 days, it will never see that pattern.
We pull up to 365 days of paginated sales history. That gives the seasonal model a full year to work with. The difference between a 90-day window and a 365-day window is the difference between guessing and knowing.
Vendor Reliability in Safety Stock
Your supplier says 14 days. Reality is 14 to 28 days depending on the month. Standard safety stock formulas assume lead time is a fixed number. It is not.
ReplenishRadar tracks actual delivery times from your PO history and calculates lead time variance per supplier. That variance feeds directly into the safety stock formula as lead_time_sigma. A reliable supplier with tight delivery windows gets a smaller buffer. An unreliable one gets a larger buffer. The math adjusts automatically as performance changes.
On-time delivery percentage also weights into the safety stock multiplier. A vendor running 60% on-time gets treated differently than one running 95%.
How the Forecasting Pipeline Works
Good forecasts require good data, and good data requires the right sequence of operations. You cannot run a forecast on stale inventory numbers, and you cannot fire alerts based on a stale forecast.
ReplenishRadar runs a dependency chain: sync first, then forecast, then alerts. If the sync fails, the forecast does not run on old data. If the forecast does not complete, alerts do not fire on outdated predictions. This sounds obvious. Most tools do not do it.
We also suppress alerts when underlying data goes stale. If the last sync is significantly overdue for your tier's interval, the system shows a degraded-data banner instead of firing alerts based on numbers it cannot trust. False alerts are worse than no alerts.
Smart Forecasting Economics
Not every SKU deserves the same forecasting resources. Your top 200 SKUs that account for 80% of revenue get daily forecast updates. The long tail, products selling a few units per week, gets weekly updates. This is not a limitation. Running daily statistical decomposition on a SKU that sells twice a month is noise, not signal.
| SKU category | Forecast frequency | Why |
|---|---|---|
| Active (consistent sales) | Daily | Revenue impact justifies the compute |
| Long-tail (sparse sales) | Weekly | More data between runs reduces noise |
| New (less than 30 days) | Daily velocity only | Not enough history for decomposition |
Measuring What Matters
A forecast you cannot evaluate is a guess with a spreadsheet. ReplenishRadar's Analytics tab gives you the numbers to know whether your predictions are actually working.
WMAPE (Weighted Mean Absolute Percentage Error) tells you the overall accuracy across your catalog, weighted by volume so your best-sellers matter more than your slow-movers. A WMAPE under 25% is solid for most e-commerce catalogs. Under 15% and your planning team can trust the numbers for purchase orders without second-guessing.
Bias analysis shows if your forecast consistently over-predicts or under-predicts. A model that is 20% accurate but always over-predicting has a different fix than one that is 20% accurate with random errors. Direction matters as much as magnitude.
Worst misses table ranks the SKUs where the forecast was furthest from reality. These are the ones worth investigating. Maybe a product went viral. Maybe a supplier issue caused stockouts that depressed "demand." The table surfaces the problems. You decide the fix.
We wrote a full guide on how to measure forecast accuracy if you want to dig into the methodology.
Demand Trends at a Glance
The Demand Trends chart gives you a visual read on what is happening across your catalog right now. Toggle between 7, 14, 30, 60, or 90-day windows. Switch between revenue and units. When you are trying to answer "are we trending up or down this month?" the answer should take three seconds, not a pivot table.
Pricing
Standard: $99/mo
- 2 connected stores (Shopify, Amazon, or both)
- Up to 2,000 SKUs
- Daily velocity forecasting
- Reorder alerts and PO drafts
- 30-minute sync interval
Growth : $199/mo
- 5 connected stores
- Up to 20,000 SKUs
- Seasonal decomposition and returns-adjusted forecasting
- Vendor lead time tracking and reliability scoring
- Forecast accuracy dashboard (WMAPE, bias, worst misses)
- 15-minute sync interval
Scale : $499/mo
- 10 connected stores
- Up to 50,000 SKUs
- Smart frequency tiering (active daily, long-tail weekly)
- Owner Pulse AI digest
- 5-minute sync interval
- Priority support
Enterprise : Custom pricing
- Unlimited stores and SKUs
- Custom model configuration
- 2-minute sync interval
- Dedicated onboarding
All plans include a 14-day free trial. Start your trial
Related Reading:
- Demand Forecasting Feature -- Full feature overview
- How to Measure Forecast Accuracy -- WMAPE, bias, and what "good" looks like
- Inventory Forecasting 101 -- The fundamentals
- Supplier Lead Time Tracking -- Why lead time variance matters
- Demand Sensing vs Demand Forecasting -- Which approach fits your business
Key Features for This Use Case
Common Questions
See what your inventory is really doing
Doing $5M+ in revenue? Talk to our team
Related Articles
FBA Long-Term Storage Fees: Complete Guide to Avoiding Them in 2026
Amazon charges extra for inventory sitting in FBA too long. Learn the fee structure, how to identify at-risk inventory, and strategies to avoid the charges.
Supplier Lead Time: How to Track, Reduce, and Plan Around It
Lead time drives every reorder decision. Learn how to measure it, reduce it, and build it into your inventory planning so you stop running out of stock.
Dead Stock: How to Identify, Prevent, and Liquidate Unsold Inventory
Dead stock ties up cash and warehouse space. Learn how to identify it, prevent it from accumulating, and liquidate what you already have.
Tool Comparisons
ReplenishRadar vs NetSuite: Full ERP vs Focused Inventory Planning
Compare ReplenishRadar and Oracle NetSuite for e-commerce inventory management. See when a $1,500+/mo ERP is justified and when $199/mo solves the problem.
ReplenishRadar vs QuickBooks Inventory: Accounting Add-On vs Purpose-Built Inventory Planning
Compare ReplenishRadar and QuickBooks inventory tracking. See why accounting software falls short for Shopify and Amazon inventory management.
Other Solutions
AI-Powered Inventory Intelligence
Connect AI agents to live Shopify and Amazon inventory data. Query stockout risk, draft POs, and get business briefings through ReplenishRadar's MCP server.
Bundle & Kit Inventory Management
Track kit availability by component stock levels. Know which component is the bottleneck before you oversell. Built for Shopify and Amazon sellers.