All segments

Demand and Inventory Planning: A Practical Shopify Setup

How to set up demand and inventory planning on Shopify: sales velocity, lead time, safety stock and reorder point, with the step most teams get wrong.

  • Published
  • Reading time 11 min read
  • Author Nafiul Hasan
Demand and Inventory Planning: A Practical Shopify Setup. Diagram: what clears the floor. RUN Demand and Inventory Planning: APractical Shopify Setup THE FLOOR pointerflow.com

Short answer

Demand and inventory planning is the process of turning a SKU's sales velocity and supplier lead time into a reorder point and a safety-stock buffer, so a purchase order fires before stock runs out and not so early that cash sits idle in the warehouse. The setup runs on five inputs: daily sales velocity, lead time, lead-time variability, a target service level, and a review cadence.

Demand and inventory planning is the discipline of deciding how much stock to hold and when to reorder it, based on how fast a SKU sells and how long it takes to get more. For a Shopify Plus operator doing $3M–$30M, this is not a forecasting exercise run once a quarter — it is a small number of settings, recalculated on a schedule, that decide whether a bestseller goes out of stock during a promotion or a slow mover ties up cash in a warehouse rack. This guide sets those settings up step by step, names the values that go into them, and covers the one step most teams skip.

What demand and inventory planning actually decides

Demand and inventory planning produces two outputs per SKU: a reorder point — the stock level that triggers a new purchase order — and a safety-stock buffer, which is the stock held specifically to absorb the gap between what you expected to sell and what you actually sold before the next shipment arrives. Everything else in the process — sales velocity, lead time, variability, service level — exists only to calculate those two numbers correctly.

Shopify’s own admin shows you current stock on hand. It does not calculate a reorder point, does not track lead-time variance, and does not know your supplier missed their last two ship dates. That gap is why a spreadsheet, a planning app, or demand and inventory planning software sits alongside Shopify rather than replacing it — Shopify stays the source of truth for what’s sellable right now, while the planning layer decides when to act on it.

Prerequisites before you calculate anything

Before setting a single reorder point, you need three data sources in place, because a formula built on guessed inputs produces a confident-looking number that is wrong.

Ninety days of clean sales history per SKU, pulled from Shopify order line items rather than from a dashboard total, because you need per-day units for the variance calculation in Step 3. Exclude any period the SKU was actually out of stock — velocity during a stockout is demand you lost, not demand you can plan against, and including it understates how fast the SKU really sells.

Measured lead time, not quoted lead time. A supplier’s contract might say “14 days.” The last six purchase orders might show 11, 19, 14, 22, 13, and 16. The second number set is what you plan against, because it’s what actually happens. Pull this from your own purchase order log — the date placed and the date receipted — not from an email a supplier sent a year ago.

A named owner for the review cadence in Step 8. The single most common reason a reorder point stops working isn’t a bad formula — it’s that nobody re-ran it after the supplier’s shipping lane changed.

Step 1: Pull 90 days of sales velocity per SKU

Export order line items for the trailing 90 days and calculate average daily units sold per SKU. Use a rolling window, not a fixed quarter, so the number stays current as you re-run the process. If a SKU is newer than 90 days, use whatever history exists and flag it as low-confidence until you have a full window — a reorder point calculated on three weeks of data moves the wrong SKUs when demand happens to spike or dip during that short window.

Segment by SKU, not by product, if variants sell at meaningfully different rates. A shirt in five sizes is not one demand curve; it’s five, and the medium selling three times faster than the extra-small needs its own reorder point, not a shared one averaged across sizes.

Step 2: Record actual lead time per supplier, not the quoted one

Log the placed date and the receipted date for your last 6–10 purchase orders per SKU or per supplier if SKUs share a supplier. Average those to get lead time, and hold onto the individual data points — you need the spread between them for Step 3, not just the average.

Skipping the variance calculation is where most teams get the setup wrong. A reorder point built from average lead time alone assumes every shipment arrives exactly on schedule. It never does. If your supplier’s lead time swings between 11 and 22 days, the average of 16 tells you nothing about how much extra stock you need to survive the 22-day outlier — that’s a job for lead-time variance, calculated next, not for the average by itself.

Step 3: Calculate lead-time and demand variability

Compute the standard deviation of daily demand across your 90-day window, and the standard deviation of lead time across your 6–10 purchase orders. Most spreadsheet tools have a built-in standard deviation function (STDEV in Excel or Google Sheets); apply it directly to the daily unit counts and the lead-time-in-days list.

Both numbers feed the safety-stock formula in Step 5. A SKU with steady daily sales and a reliable supplier needs a thin safety buffer. A SKU with volatile sales and an unreliable supplier needs a much thicker one — and a flat “hold two weeks of extra stock” rule, applied the same way to both, either starves the volatile SKU or drowns the steady one in idle cash.

Step 4: Set a service level and its z-score

Service level is the probability you’re willing to accept of staying in stock between reorder points — it is a business decision, not a calculation. A common working split for a $3M–$30M catalogue: 95% service level for A-tier SKUs (your top revenue drivers, where a stockout costs the most), 90% for B-tier, and 85% for the long tail, where carrying extra safety stock costs more than an occasional short stockout.

Each service level maps to a z-score, a statistical constant that scales the safety-stock formula:

Service levelz-score
99%2.33
95%1.65
90%1.28
85%1.04

Take the number from the row matching the tier you chose and use it directly in Step 5 — there’s no calculation required to produce it, it’s a fixed statistical value.

Step 5: Calculate safety stock

With daily demand variance, lead-time variance, average demand and average lead time all in hand, the safety-stock formula is:

Safety stock = z × √((average lead time × demand variance) + (average daily demand² × lead-time variance))

Illustrative example, to show the arithmetic, not a real SKU: a SKU sells an average of 20 units/day with a daily standard deviation of 5 (variance = 25), average lead time is 16 days with a lead-time standard deviation of 3 days (variance = 9), and the SKU is A-tier at a 95% service level (z = 1.65). Working through the formula: safety stock = 1.65 × √((16 × 25) + (20² × 9)) = 1.65 × √(400 + 3,600) = 1.65 × √4,000 = 1.65 × 63.2 ≈ 104 units.

Compare that to a flat rule of “hold one week of average demand as buffer” — 20 × 7 = 140 units for the same SKU. The variance-based number is lower here because this SKU’s demand and lead time are both relatively steady; a SKU with the same average sales but a shakier supplier would produce a higher safety-stock number than the flat rule, not a lower one. That’s the whole argument for calculating it per SKU instead of applying one rule of thumb catalogue-wide.

Step 6: Calculate the reorder point

Reorder point = (average daily demand × average lead time) + safety stock

The reorder point formula plugs the same illustrative SKU’s numbers in directly: reorder point = (20 × 16) + 104 = 320 + 104 = 424 units. When stock on hand drops to 424 units, a purchase order fires — not when the warehouse runs out, and not on a fixed calendar date regardless of how fast the SKU is actually selling.

Set this number directly as the reorder trigger in whichever system places the purchase order, whether that’s a manual check against a report, a rule inside demand and inventory planning software, or a Shopify inventory app that supports reorder alerts. The number only does its job if something actually watches for it — a reorder point sitting in a spreadsheet nobody opens is the same as not having one.

Step 7: Adjust for seasonality and planned promotions before the season starts

The reorder-point formula assumes demand this month looks like demand over the trailing 90 days. It doesn’t, around a planned promotion or a seasonal peak — and by the time a reorder point built on flat historical averages reacts to a demand spike, the spike has usually already sold through your stock.

For seasonality, build a simple index: divide each week’s historical units by the yearly average weekly units for that SKU, using at least one prior year of data. A week that indexes at 1.8 means demand runs 80% above average that week — multiply your average daily demand by that index before recalculating the reorder point for the weeks it covers.

For a planned promotion with no prior-year comparable, there’s no formula that predicts the lift reliably — metric to confirm against your own promotion history, if you have any, or treat it as a manual override: raise the reorder point and place the purchase order early enough to clear the supplier’s lead time before the promotion starts, rather than waiting for the automated trigger to catch up.

Step 8: Set a review cadence and re-run the calculation

Every input in this setup drifts. Sales velocity rises and falls with the season and with marketing spend. Lead time changes when a supplier switches freight lanes or a factory gets busier. A reorder point calculated once and left alone starts producing the wrong answer within a few months, quietly, because nothing about a static number tells you it’s gone stale.

Re-run Steps 1 through 6 monthly for A-tier SKUs, where the cost of getting it wrong is highest, and quarterly for B- and C-tier SKUs. Assign the recalculation to a named owner with a calendar reminder — the most common failure in a demand and inventory planning setup isn’t the formula, it’s nobody owning the re-run.

How to verify the setup worked

Check three things after a month of running the new reorder points. First, did any A-tier SKU go out of stock — if so, either its service level was set too low for how much a stockout costs on that SKU, or its lead-time variance is larger than what you measured, and the input needs revisiting rather than the formula. Second, has average stock on hand for B- and C-tier SKUs dropped without a corresponding rise in stockouts — that’s the sign the flat-buffer approach it replaced was carrying too much idle cash. Third, does the purchase order date actually land before the supplier’s measured lead time runs out relative to the reorder point being hit — if purchase orders keep firing late, the review cadence in Step 8 isn’t being followed, not the math.

What breaks this setup

Two things reliably break a demand and inventory planning setup after it’s running well. A supplier consolidation or freight lane change moves lead time without anyone updating the input — the reorder point keeps firing on the old lead time until a stockout forces a recheck. And a SKU crossing tiers — a slow mover that suddenly trends, or a bestseller that cools — needs its service level and z-score reassessed, not just its velocity number updated, because the tier assignment is what set the risk tolerance in the first place.

Demand and inventory planning is one piece of running the wider operation without someone manually watching every SKU. Treating it as an ops automation problem — inputs updated on a schedule, a reorder trigger that fires without a person checking a spreadsheet, and an owner accountable for the recalculation — is what keeps the reorder point accurate after the first month, rather than a one-time exercise that quietly goes stale. That’s the gap our ops automation work closes for Shopify Plus operators: wiring the calculation to actually run on schedule, not just building it once.

For the software layer that can hold and trigger these numbers, see our comparison of ecommerce inventory software. For what Shopify’s own admin tracks versus what it doesn’t, see Shopify inventory tracking.

Sources

No external figures are quoted; this article is written from the standard safety-stock and reorder-point formulas used in inventory planning, applied to how a Shopify Plus catalogue is operated. The z-score table in Step 4 reflects standard normal distribution values, not a claim from any vendor.

Frequently asked

What's the difference between demand planning and inventory planning?

Demand planning estimates how much of a SKU will sell in a future period. Inventory planning takes that estimate plus lead time and turns it into a reorder point and a safety-stock number. In practice, at $3M–$30M scale, the two run as one process — a demand estimate with no reorder trigger attached doesn't change what gets ordered.

How often should reorder points be recalculated?

Monthly for A-tier SKUs, where the cost of a stockout is highest, and quarterly for B- and C-tier SKUs. Recalculate immediately outside that schedule if a supplier's lead time changes or a SKU's sales velocity shifts by a large margin.

Can demand and inventory planning software replace this manual calculation?

Software automates the arithmetic and the trigger, not the inputs. You still need to feed it measured lead time and a chosen service level per SKU tier — a tool that defaults to a flat safety-stock percentage is applying the same shortcut a spreadsheet would, just with a nicer interface.

What's a reasonable service level to target for a new SKU with no sales history?

Start conservative — 95% or higher — until 90 days of real sales data exist, because there's no reliable variance calculation without history. Treat the first reorder point as a placeholder to be replaced once Step 1 has real data behind it.

Does safety stock apply the same way to a SKU sold only during a short season?

No. A seasonal SKU's demand variance calculated across a full year understates how sharply it swings during its actual selling window. Calculate variance only from the weeks the SKU is actively selling, and treat the off-season as a separate, near-zero-demand period rather than averaging it in.

What happens if lead time is measured wrong?

The reorder point fires too early or too late. If measured lead time runs shorter than actual, stock arrives late and a stockout follows; if it runs longer than actual, cash sits in excess stock. This is why Step 2 uses your own purchase order log instead of a supplier's quoted figure.

Is a flat safety-stock percentage (like 'hold two weeks of extra stock') ever good enough?

For a catalogue small enough that nobody has time to run per-SKU variance calculations, a flat rule beats no rule. It systematically over-stocks steady, reliable SKUs and under-stocks volatile ones, because it ignores the variance that actually drives risk — which is the gap this setup closes once volume justifies the extra step.

How does a promotion change the reorder point calculation?

The base formula reacts to demand after it happens, so a promotion needs a manual override: raise the reorder point and place the purchase order early enough to clear the supplier's lead time before the promotion starts, rather than waiting for average daily demand to catch up to the spike.

What's the z-score and why does it matter?

It's a statistical constant that scales the safety-stock formula to match a chosen service level — 1.65 for 95%, 1.28 for 90%, and so on. A higher target service level uses a higher z-score, which produces a larger safety-stock number for the same demand and lead-time variance.

Should every SKU use the same service level?

No. Tier SKUs by revenue or strategic importance and assign a higher service level to the tier where a stockout costs the most, and a lower one to the long tail, where carrying extra safety stock costs more than an occasional short stockout is worth.

Who should own the recalculation once it's set up?

One named person, not a shared responsibility — the most common reason a reorder point setup fails after the first month is that the review cadence in Step 8 has no owner, not that the formula itself is wrong.

What data does this setup need that Shopify's admin doesn't already show?

Shopify shows current stock on hand and a sales history you can export, but it doesn't calculate demand variance, lead-time variance, a service level, or a reorder point. Those live in a spreadsheet, inventory planning software, or an app layered on top.

Next step

Is this your ops automation problem, or a symptom of another one?

Bring your numbers — the churn split, the decline rate, whatever your flows are earning — and we will tell you which of them is the expensive one.

Book a call →