Seasonal Inventory Planning for Shopify
Seasonal demand is a sales pattern that repeats on a calendar: holidays, weather, school terms, annual events. Seasonal inventory planning means estimating how large each swing will be, buying ahead of it, and deciding in advance what happens to stock that does not sell.
Why a single average fails for seasonal products
An all-year average blends peak and quiet months into one figure that is wrong for both. Reorder points and order quantities built on it cause predictable problems:
- Peaks are under-stocked. A buffer sized for an average month runs out when demand is several times higher.
- Off-seasons are over-stocked. The same buffer ties up cash in slow months.
- Lead times shift. Suppliers can be busier or slower at the same time you are, which lengthens replenishment just when you need it.
- Timing is lost. A reorder point that ignores the coming season triggers the order after the season has already started.
Find your seasonal pattern
Review your history
Look at sales by week or month across at least two full years, so you can tell a repeating pattern from a one-off event. Check:
- Month-to-month and week-to-week changes
- Day-of-week differences
- Holiday-specific spikes
- Periods when the item was out of stock, since sales then understate demand (see sales velocity tracking for adjusting stockout days)
- Promotions, which can look like seasonality if you leave them in unlabeled
Group products by how seasonal they are
- Highly seasonal: demand is concentrated in a short window.
- Moderately seasonal: noticeable swings, with sales all year.
- Year-round staples: relatively steady demand.
- Counter-seasonal: products that sell when the rest of your catalog is quiet.
Each group needs its own buying rhythm. Ranking products by revenue first, as in ABC analysis, shows where to focus first.
Write down the triggers
Know what drives each swing: weather, holiday calendars, school schedules, industry events, your own campaigns. Triggers that move from year to year (a holiday on a different date, a late spring) shift your timing, so plan against the trigger rather than only the calendar month.
Build seasonal indexes
A seasonal index says how a period compares with an average period. It is a simple way to turn history into a forecast.
An index of 1.0 is an average period, above 1.0 is busier than average, and below 1.0 is quieter. If December typically runs at 250% of an average month, its index is 2.5; if August runs at 60%, its index is 0.6. Across a full cycle the indexes should average 1.0.
Hypothetical example. A product sold the following units last year, split by quarter. Total = 1,600, so the average quarter is 400.
| Quarter | Units sold | Index (units ÷ 400) |
|---|---|---|
| Q1 | 280 | 0.70 |
| Q2 | 200 | 0.50 |
| Q3 | 240 | 0.60 |
| Q4 | 880 | 2.20 |
The four indexes add to 4.0, which is an average of 1.0. With two or more years of data, calculate the index for each year and average them, which dampens one-off events.
Apply the indexes to a forecast
Estimate next year's total, divide by the number of periods to get an average period, then multiply by each period's index. Adjust the total for growth, product lifecycle, price changes, planned promotions, new channels and product launches.
Hypothetical example, continued. You expect the year to come in 10% above last year: 1,600 × 1.10 = 1,760 units, or 440 per quarter.
- Q1: 440 × 0.70 = 308
- Q2: 440 × 0.50 = 220
- Q3: 440 × 0.60 = 264
- Q4: 440 × 2.20 = 968
The four quarters sum to 1,760, matching the annual total. In practice you would use months or weeks, which needs more history per period.
A new product has no history to index. Borrow the index of a similar product, buy conservatively, and replace the borrowed pattern with real data as it accumulates. For more on forecasting methods, see demand forecasting and improving forecast accuracy.
Set reorder points and safety stock by season
Because demand changes through the year, reorder points and safety stock should too. Use the expected demand during the lead time, not an annual average.
In the safety stock formula, z is the service-level factor (about 1.65 for a roughly 95% chance of not stocking out during a replenishment cycle), σ is the standard deviation of daily demand in units per day, and lead time is in days. It assumes demand varies roughly normally and independently from day to day. See the safety stock formula and reorder point formula guides for the full treatment.
Hypothetical example. Lead time is 9 days and z = 1.65.
- Peak season: demand averages 20 units per day with σ = 6. Safety stock = 1.65 × 6 × √9 = 1.65 × 6 × 3 = 29.7, about 30 units. Reorder point = (20 × 9) + 30 = 210 units.
- Off-season: demand averages 8 units per day with σ = 3. Safety stock = 1.65 × 3 × 3 = 14.85, about 15 units. Reorder point = (8 × 9) + 15 = 87 units.
The same product needs a reorder point more than twice as high in the peak as in the off-season.
If the lead time spans a change of season, do not use a single daily rate. Add up the forecast demand for each day of the lead time instead.
Plan purchases backward from the peak
Start from the date stock must be ready to sell and subtract everything between the purchase order and the shelf.
Hypothetical example. Stock must be sellable on November 1. Supplier lead time is 45 days and receiving takes 5 days, with no extra buffer. Fifty days before November 1 is September 12, so the order has to be placed by then.
Stagger the buys
One large seasonal purchase puts all the forecast risk on a single decision. Splitting it lets early sales correct the forecast.
One possible split, not a rule. For a season you forecast at 1,000 units: an early buy of 60% (600 units), a mid-season replenishment of 30% (300 units) and a final fill-in of 10% (100 units) for items selling faster than forecast. Later buys only work if your supplier can deliver inside the remaining season, and smaller orders can carry a higher unit cost or fall below minimum order quantities. Weigh both against the risk of leftovers.
Ask suppliers for seasonal flexibility
- Reserved capacity ahead of your peak
- Partial shipments to spread arrivals
- Payment terms that follow your cash flow
- Consignment or return allowances on seasonal stock, where a supplier will agree
For how to run the ordering side itself, see purchase order management.
Manage the end of the season
Decide what happens to leftovers before the season starts, because the options narrow as it ends.
Hypothetical example. You have 600 units, sales run at 40 units per week, and 10 weeks remain. Projected sales are 40 × 10 = 400 units, so projected leftover is 600 − 400 = 200 units. To clear stock, weekly sales would have to reach 600 ÷ 10 = 60 units.
- Set markdown triggers from projected leftover rather than a calendar date, and fix the discount steps and the minimum margin you will accept in advance.
- Decide what to carry over. Holding a unit to next season has a cost (see inventory carrying cost) and a risk that it does not sell. Compare that with the loss from clearing it now. Items that did not sell need a plan to avoid becoming dead stock.
- Smooth the calendar. Counter-seasonal products and items that bridge seasons spread demand across the year.
Prepare operations for the peak
- Storage space for the inbound build-up, and a plan for where slow stock goes afterward
- Extra staffing or overflow capacity for the busiest weeks
- A backup shipping option if your main carrier is stretched
- A clear process for orders you cannot fill (see backorder management and preventing stockouts)
Measure each season
- In-stock rate: the share of days (or of demand) during the peak when the item was available to buy.
- Sell-through rate: units sold ÷ units available (opening stock plus receipts). If 1,000 units were available and 820 sold, sell-through is 82%. Track full-price sell-through separately from sell-through after markdowns.
- Seasonal turnover: cost of goods sold in the season ÷ average inventory at cost over the season, for the season only and not annualized (see inventory turnover ratio).
- Markdown rate: the share of units, or of revenue, sold at a discount.
- End-of-season carryover: units, and cost, still on hand when the season ends.
- Forecast error: how far actual season sales landed from the forecast, to refine next year's indexes.
Write down what you learned while it is fresh. The notes become the inputs for next year's indexes, buying calendar and markdown plan. More metrics are in the inventory KPI guide.