Demand Planning & Forecast Accuracy
Demand forecasting that matches the right model to each SKU's demand pattern. Seasonal decomposition, intermittent demand handling, outlier detection, and returns-adjusted forecasting for Shopify and Amazon sellers.
One Formula Cannot Forecast Every SKU
Most inventory tools apply the same calculation to your entire catalog. A weighted moving average, a simple trend line, or a single exponential smoothing pass across every product you sell.
That works for about a third of your SKUs. The steady sellers. The ones that move 10-20 units a day with low variance. For everything else, it breaks down.
A holiday product that spikes 5x in November needs a model that understands seasonality. A specialty part that sells three times a month needs a model designed for intermittent demand. A trending product with unpredictable swings needs something that reacts without overreacting.
I have watched sellers trust a single-formula tool, over-order seasonal products by 40% after the peak (because the model was still reacting to last month's spike), and simultaneously stock out on their steady sellers because the same model treated a random slow week as a trend shift.
Different demand patterns need different models. That is the starting point.
Pattern Detection and Model Routing
When you connect your store, ReplenishRadar analyzes each SKU's sales history and classifies its demand pattern:
| Pattern | What it looks like | Forecasting approach |
|---|---|---|
| Steady | Consistent daily sales, low variance | Exponential smoothing (ETS). Adapts to recent trends without overreacting to noise |
| Seasonal | Repeating time-based patterns (annual, monthly) | STL decomposition. Separates trend, seasonality, and residual |
| Intermittent | Long gaps between sales, then bursts | Methods designed for sparse, lumpy data. Separates frequency from quantity |
| Variable | Unpredictable swings, no clear cycle | Adaptive models that react to shifts without chasing noise |
You do not configure this. The classification runs automatically, and the system re-evaluates as more sales data accumulates. A new product starts with velocity-based predictions. As history builds, it graduates to the model that fits its actual demand pattern.
How Seasonal Decomposition Works
For SKUs with seasonal patterns, we use STL decomposition to break 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.
The key: STL decomposition is powerful for seasonal products, but applying it to a SKU that sells twice a month produces noise, not signal. That is why the system only routes seasonal SKUs through this model. Everything else gets the approach that actually fits.
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 10 years of order history from Shopify and up to 2 years from Amazon (the SP-API maximum). History is backfilled in yearly chunks that survive restarts. You connect your store and the full archive lands in the background. With multiple years of data, the seasonal model can separate a one-time spike from a genuine annual pattern, and same-period-last-year comparisons get dramatically more reliable.
Outlier Detection
A flash sale that 10x's your volume for a weekend is not a demand signal. It is an event. If your forecasting model treats it as real demand, your next reorder suggestion will be wildly inflated.
ReplenishRadar detects outlier events (flash sales, viral spikes, one-time promotions) and excludes them from the baseline forecast. The spike still shows in your sales history. It just does not corrupt the model that decides how much to order next month.
This matters most for seasonal products where one bad data point can throw off the entire decomposition. A Black Friday flash sale layered on top of a genuine seasonal ramp will inflate the seasonal component if you do not strip it out first.
Out-of-Stock Adjusted Demand
Here is a problem most tools ignore entirely: if you were out of stock for two weeks last month, your sales history shows zero for those days. A basic model reads that as "demand dropped." It did not. You just could not sell anything.
ReplenishRadar identifies stockout periods and excludes them from velocity calculations. The forecast reflects what you would have sold if you had inventory, not what you actually sold while shelves were empty.
This matters more than most sellers realize. A SKU that was out of stock for 10 days out of 30 has a demand history that understates true velocity by a third. Plan against that understated number and you will stock out again. And again. The cycle reinforces itself until someone catches it manually.
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.
Confidence Indicators
Not all forecasts are equally reliable. A SKU with 12 months of steady sales history produces a tight prediction. A SKU launched three weeks ago with erratic early sales does not.
Every SKU in ReplenishRadar shows a confidence level (high, medium, or low) based on how well the model has been tracking actual demand. High confidence means the model's recent predictions have been close to reality. Low confidence means you should apply more judgment before placing that order.
This is the difference between a tool that gives you a number and one that tells you how much to trust the number.
Three Ordering Strategies
For each reorder suggestion, you see three options with cost comparison:
- Bridge. Order just enough to cover until your next scheduled order window. Lowest spend, shortest coverage. Good when cash is tight or you are testing a new product.
- Full Cycle. Standard replenishment covering your full lead time plus safety stock. The balanced default for most situations.
- Skip Ahead. Order aggressively to lock in pricing, prepare for a seasonal ramp, or reduce order frequency. Highest spend, longest coverage. Makes sense when you know a spike is coming or your supplier offers volume breaks.
You pick the strategy that fits your cash flow and business situation. Most tools give you one number. You get three with the math behind each.
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%.
Smart Forecasting Economics
Not every SKU deserves the same forecasting resources. Your top 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
- Demand forecasting with pattern detection
- Reorder alerts and PO drafts
- Real-time inventory updates
Growth : $199/mo
- 5 connected stores
- Up to 20,000 SKUs
- Seasonal decomposition + returns-adjusted forecasting
- Vendor lead time tracking and reliability scoring
- Forecast accuracy dashboard (WMAPE, bias, worst misses)
- Real-time inventory updates
Scale : $499/mo
- 10 connected stores
- Up to 50,000 SKUs
- Profitability-ranked ordering + frequency tiering
- Owner Pulse AI digest
- Real-time inventory updates
- Priority support
Enterprise : Custom pricing
- Unlimited stores and SKUs
- Custom forecast models
- Real-time inventory updates
- Dedicated onboarding
All plans include a 14-day free trial. Start your trial
Related Reading:
- Demand Forecasting Feature: Full feature overview
- SKU-Level Demand Forecasting: Per-SKU models, the math walkthrough, and accuracy tiers
- 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
ERP vs Inventory Software: Which Do You Need?
ERPs cost $50K-$200K to implement. Focused inventory tools cost $99-$499/mo. Here's how to know which one is right for your e-commerce business.
FBA 2026 Fee Survival Guide for Small Sellers
Every 2026 FBA fee change in one place, with mitigation math for sellers doing $50K-$500K in annual FBA revenue.
Inventory Spreadsheet Templates (+ When to Quit)
Free Google Sheets inventory templates with formulas. Plus the 5 signs you've outgrown spreadsheets for inventory management.
Tool Comparisons
ReplenishRadar vs Prediko: Transparent Forecasting vs Black Box
Prediko says AI-powered but won't show you the model. Compare ReplenishRadar's transparent demand forecasting, multi-channel planning, and open MCP package against Prediko's closed approach.
ReplenishRadar Lite vs Standard: Which One Fits?
Lite is $9.99/mo for solopreneurs under 50 SKUs. Standard is $99/mo for hybrid sellers running real ops. Here's how to pick - honestly, with the caps spelled out.
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 package.
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.