How moving average forecasting works
Moving average forecasting calculates the average of actual sales over a set number of recent periods and uses that average as the forecast for the next period. A 3-month moving average adds the last three months of sales and divides by three. When the next month’s actuals come in, the oldest month drops off and the new one takes its place.
For FBA sellers, moving average forecasting is often the first step beyond gut-feel ordering. It works well for products with stable, consistent demand and no strong seasonal patterns. The method is transparent: anyone on your team can verify the math in a spreadsheet. That simplicity is its main advantage over more complex statistical forecasting approaches.
The key decision in moving average forecasting is choosing the period window. A shorter window (3 months) reacts faster to demand changes but amplifies noise. A longer window (6 or 12 months) produces smoother forecasts but lags behind real shifts. For most FBA products with lead times of 45 to 90 days, a 3- to 6-month window hits the right balance.
Moving average forecasting formula
| Variable | Meaning |
|---|---|
SMA | Simple moving average (your forecast for the next period) |
D1...Dn | Actual demand for each of the last n periods |
n | Number of periods in the window. Common choices: 3 months (reactive), 6 months (balanced), 12 months (stable/seasonal). |
Example: a $28 home product
You sell a bamboo organizer tray at $28 ASP with a 75-day ocean freight lead time from Ningbo. Here are your last 6 months of sales:
| Month | Actual | 3-Mo MA | 6-Mo MA |
|---|---|---|---|
| 1 | 480 | ||
| 2 | 520 | ||
| 3 | 460 | ||
| 4 | 540 | 487 | |
| 5 | 510 | 507 | |
| 6 | 580 | 503 | |
| 7 (forecast) | 543 | 515 |
The 3-month moving average forecast for Month 7: (540 + 510 + 580) / 3 = 543. The 6-month moving average: (480 + 520 + 460 + 540 + 510 + 580) / 6 = 515. Notice the 3-month average is 28 units higher because it captures the recent upward trend, while the 6-month average is dragged down by the lower early months.
With a 75-day lead time (2.5 months), using the 3-month MA gives you lead time demand of about 1,358 units. Using the 6-month MA gives 1,288 units. That 70-unit difference at $28 ASP is about $1,960 in inventory cost.
FBA-specific considerations
Moving average forecasting has specific failure modes in the FBA environment. The biggest is stockout distortion. If your product was out of stock for two weeks last month, your sales data shows a depressed number that does not reflect actual demand. A moving average treats that suppressed period the same as any other, which drags your forecast down and recommends ordering less, perpetuating the stockout cycle.
FBA receiving delays compound the problem. A shipment that lands on day 25 of the month and sits in receiving for 10 days will show truncated month-end sales, which then distorts the next moving average calculation. Sellers who run moving average forecasting need to manually exclude or adjust periods where stockouts or receiving delays artificially suppressed sales.
Storage allocation also pushes against using too short a window. Amazon’s storage limits reset based on your IPI score, and a 3-month moving average may swing your reorder quantity wildly month-to-month. A 6-month window provides smoother recommendations that better fit Amazon’s quarterly storage rhythm.
Common mistakes
- Including stockout periods at face value. If your product was out of stock for half of last month, that month’s sales data is artificially low. Including it in the moving average pulls your forecast down, which means you order less, which means you stock out again. Always exclude or normalize stockout periods before averaging.
- Using too short a window for seasonal products. A 3-month moving average for a product with strong seasonality will whipsaw your reorder quantities. October’s average dragged up by Q4 demand will recommend ordering huge quantities for the slow Q1, then the slow Q1 average will under-recommend for spring restock. Use 12-month or seasonal-adjusted approaches for highly seasonal products.
- Not removing promotional spikes. A Lightning Deal that produced 3x normal sales for one day distorts your moving average for as long as that period stays in the window. Either exclude promotional days from the data feed or use a weighted moving average with reduced weight on promotional periods.