TL;DR

Inventory demand planning on Shopify is not a set-it-and-forget-it setting — it's a continuous process that separates merchants who run out of stock at…

Inventory demand planning on Shopify is not a set-it-and-forget-it setting — it's a continuous process that separates merchants who run out of stock at peak demand from those who consistently meet customer expectations without drowning in carrying costs.

Quick Answer

  • If you keep stocking out during peak periods → start tracking demand signal (not just fulfilled sales), because raw sales data hides unmet demand during stockouts.
  • If you treat supplier lead time as a fixed number → build a rolling average and standard deviation from actual receipt dates instead, because lead time is almost always a distribution, not a constant.
  • If you're carrying too much safety stock on slow-moving SKUs → apply a lower service-level target to your C-items, because not every SKU deserves the same protection against stockouts.
  • If your forecasts miss badly every holiday season → compute a seasonal index per SKU family from at least 24 months of history, because a flat moving average will systematically over- or under-forecast seasonal products.
  • If you're launching a product with no sales history → base the initial reorder point on comparable products in the same category and price point, then adjust after 30–60 days of real data.

Why Demand Planning Fails on Shopify Out of the Box

Direct answer: Shopify's native inventory management is designed for simplicity, not for forecasting. The platform tracks stock levels, bundles, and locations, but it does not generate demand signals or suggest reorder points. Inaccurate demand forecasting is one of the most commonly cited inventory challenges for retailers, and Shopify merchants are no exception — many end up relying on gut feel or last year's sales without adjusting for trends.

The problem is compounded by the fact that Shopify's reporting does not separate organic demand from promotional spikes, returns, or multi‑channel sales (Amazon, wholesale, POS). Without cleaning that signal, any demand planning model—whether manual spreadsheet or third‑party app—will produce misleading outputs.

The Core Questions Every Merchant Must Ask

Merchants across apparel, electronics, and CPG verticals tend to repeat the same pattern: they skip these foundational questions and jump straight to a forecasting app, only to find its recommendations useless because the underlying data is messy or the business logic is undefined.

1. What Is Your True Demand Signal?

The first step is to define what you count as "demand." Most merchants look at units sold, but that confuses demand with fulfilled orders. If you were out of stock for two weeks, the sales line dropped to zero, but demand did not—it went unmet. To capture true demand, you need to combine:

  • Sales data (units sold per SKU per day)
  • Backorder data (items that were ordered but not yet fulfilled)
  • Abandoned cart logs (items that were in carts but not purchased, filtered by stock availability)
  • Customer inquiries (e.g., "When will X be back in stock?" – can be pulled from helpdesk or chat logs)

Pulling abandoned cart line items via Shopify's Storefront API and cross‑referencing them against stockout periods can reveal significant unmet demand that raw sales data misses entirely. Skipping that adjustment tends to understate reorder quantity, sometimes substantially, for any product that has recently sold out.

2. What Is Your Lead Time, and How Variable Is It?

Lead time is the gap between placing a purchase order and having inventory available to sell on Shopify. This includes supplier manufacturing time, transit time, customs clearance, and receiving time. Many merchants treat lead time as a single number, but it is almost always a distribution.

Using a rolling 12‑month average of actual lead times from your supplier — not the promised lead time — gives a far more realistic planning input. Supplier delays are common enough that a "30‑day" lead time can easily range from 25 to 42 days in practice, which for a Shopify merchant selling seasonal apparel can mean the difference between having stock for Black Friday and missing the entire window.

Create a simple table in your spreadsheet or inventory app:

Supplier SKU Family Promised Lead Time (days) Actual Average (last 12 months) Std Dev (days)
Supplier A T‑shirts 21 28 6
Supplier B Hats 14 16 3

Use the average plus 1.5 standard deviations as your safety lead time if you want a 90% service level.

3. What Service Level Do You Want to Target?

Service level is the probability that you will not run out of stock for a given SKU during a replenishment cycle. It is a trade‑off: 99% service level means you carry more safety stock (higher holding cost) but rarely stock out; 85% means you accept stockouts for a lower average inventory.

A common starting point is a 95% target for A‑items (high revenue, high velocity) and 85% for C‑items (low velocity, high margin or disposable). This maps to the classic "ABC inventory analysis" method, a long-standing framework in supply chain management. Your target should be based on:

  • Margin: Higher margin products can absorb more safety stock cost.
  • Competition: If your competitor has the same product in stock, a stockout is lost sales.
  • Customer lifetime value: A stockout on a repeat‑purchase commodity (e.g., coffee pods) can erode CLV faster than a one‑off luxury item.

Shopify's analytics dashboard shows year‑over‑year comparisons, but it does not calculate seasonal indices. For demand planning, you need to decompose your sales history into trend, seasonality, and residual noise. A simple approach is a 12‑month moving average with a seasonal index computed per month for each SKU family.

For example, a seasonal product might show a seasonal index well above 1.0 in its peak month and well below 1.0 in its trough — if you don't deseasonalize your baseline, a third‑party app trained on raw sales will over‑forecast off-season months and under‑forecast peak months.

A practical test: Take the last 24 months of sales for a top SKU, compute the average per month, and then divide each month's average by the overall average. If the ratio deviates more than 20% from 1.0, you have a meaningful seasonal pattern. Use that ratio to adjust your reorder point calculation.

5. What Is Your Reorder Point Formula?

The standard formula for a reorder point (ROP) is:

ROP = (Average Daily Demand × Lead Time in Days) + Safety Stock

Safety stock is typically calculated as:

Safety Stock = Z × σ_demand × √(Lead Time)

Where Z is the z‑score for your desired service level (1.65 for 95%, 2.33 for 99%), and σ_demand is the standard deviation of daily demand.

A flat "30 days of cover" rule is common but too simplistic, and it tends to overstate reorder quantity for high-velocity products with tight lead times. For example, suppose a product has a daily demand of 50 units and a lead time of 21 days. A flat 30-days-of-cover rule would suggest reordering at 1,500 units. Using the formula above with a 95% service level and a demand standard deviation of 12, the ROP works out to roughly 50×21 + 1.65×12×√21 ≈ 1,050 + 90 = 1,140 units — meaningfully less inventory while still targeting a 95% fill rate. Run this comparison on your own SKUs before assuming either number is right for your business.

How to Build a Demand Planning System on Shopify (Step‑by‑Step)

Direct answer: This walkthrough assumes you are using Shopify's default inventory features plus a spreadsheet or a low‑code tool like Google Sheets integrated via an API. For high‑volume stores, a dedicated inventory-planning app may be appropriate, but the underlying principles are the same.

Step 1: Export Clean Historical Data

From Shopify Admin go to Analytics → Reports → Sales by product variant. Export the last 12–24 months of daily sales data. Filter out any date ranges where you were out of stock (look for zero‑unit days and check your stockout log). If you don't have a stockout log, use the "Inventory History" report in Shopify to see when stock hit zero.

Step 2: Calculate Average Daily Demand and Standard Deviation

For each SKU, compute the average daily demand over the period (excluding zero‑demand days that were caused by stockouts). Also compute the standard deviation. Use =AVERAGE() and =STDEV.S() in Excel or Sheets.

Step 3: Determine Lead Time for Each Supplier

Create a table with each supplier's POs and actual receipt dates. If you have fewer than 10 POs, use the promised lead time plus a conservative buffer (e.g., 20% extra). Otherwise, use the average plus one standard deviation.

Step 4: Set Service Level Targets

Classify your SKUs into A, B, C using cumulative revenue. A = top 80% revenue, B = next 15%, C = bottom 5%. Assign service levels: 95% for A, 90% for B, 85% for C.

Step 5: Compute Reorder Points and Order Quantities

Use the formula above. For order quantity, use the Economic Order Quantity (EOQ) formula:

EOQ = √((2 × Annual Demand × Ordering Cost) / Holding Cost Per Unit Per Year)

If you don't know your ordering cost, use a fixed "days of supply" rule (e.g., 30 days for A, 45 for B, 60 for C) as a starting point.

Step 6: Set Up Reorder Alerts in Shopify

Shopify lets you set low‑stock alerts per variant. Go to Products → Inventory → Manage inventory. Click the three dots and set a "Low stock threshold" to your calculated reorder point. You can also use Shopify Flow to automate an email or Slack notification when a variant hits the threshold.

Step 7: Review and Adjust Monthly

Demand changes. Every month, update your average daily demand, lead time, and standard deviation. Compare your forecasted demand to actual sales and adjust your safety stock if the error exceeds 20%. A rolling 12‑month window works well for most merchants.

Tools and Trade‑Offs

Direct answer: Using a spreadsheet is free and flexible, but it is error‑prone and time‑consuming for more than a few hundred SKUs. Third‑party inventory-planning apps automate the calculations and integrate directly with Shopify's inventory API, typically for a monthly subscription — but they still need clean data input to be useful.

The trade‑off is between control and convenience. Spreadsheets give you full insight into the formula; apps give you speed. Merchants with around 50 SKUs can often succeed with a spreadsheet, while those managing 500+ SKUs typically need a dedicated app — and the app's output quality still depends on how well the core questions above were answered first.

Frequently Asked Questions

What is the difference between Shopify inventory demand planning and inventory forecasting?

Demand planning is the broader process of aligning supply with demand, including setting service levels, managing lead times, and coordinating with suppliers. Forecasting is a subset—it is the quantitative prediction of future demand. Good forecasting supports effective demand planning, but planning also involves decisions about how much risk to accept.

How often should I update my demand plan on Shopify?

At minimum, monthly. High‑velocity items (e.g., electronics, fashion) may need weekly updates during peak seasons. Setting a recurring calendar reminder to review reorder points and EOQ at the start of each month helps keep the plan current.

Can I use Shopify's native analytics for demand planning?

Only partially. Shopify's analytics give you historical sales, but not demand signals (stockouts are not recorded), and they do not compute safety stock or reorder points. You need to export the data and use a spreadsheet or app to apply the formulas.

What if my supplier has a long lead time (e.g., 60 days)?

Long lead times amplify the effects of demand variability. You should increase your safety stock proportionally to the square root of lead time. Also, negotiate a blanket purchase order with a fixed quantity and delivery schedule, rather than spot orders, to reduce the risk of stockouts.

How do I handle new products with no sales history?

For new products, use a "scale‑based" approach: look at sales of similar products (same category, price point, season). Set an initial reorder point based on the average daily demand of comparable items, then adjust after the first 30–60 days of actual sales.

Should I use a machine learning forecasting app?

Machine learning can improve accuracy, but it requires a large dataset (at least 2 years of daily data) and clean demand signals. For most Shopify merchants, a simple moving average with seasonal adjustment performs competitively because the underlying data is noisy. Starting with simple formulas and only moving to ML once you have well over a year of clean demand data is a reasonable default.

Takeaway

Direct answer: There is no shortcut around answering the foundational questions above — true demand signal, lead time variability, service level targets, seasonality, and the reorder point formula — before adopting any forecasting tool. Get those inputs right first, in a spreadsheet if necessary, and a dedicated app will amplify good decisions instead of automating bad ones.

Sources

  1. Shopify Help Center, Managing Inventory