Replenishment
Is your safety stock the right size
You can settle this without a formula. Your last few deliveries already recorded how much of the cushion you actually used.
Is your safety stock too big or too small?
Check the shelf on the day each delivery landed. The days of cover still there is the cushion that survived the trip, and set against the cushion you planned, it answers the question in about twenty minutes. No service level, no standard deviation, no borrowed percentage. Six landings across your best sellers and you will know whether the buffer you carry is doing work or standing idle.
Most safety stock writing hands you an equation. That is the right tool when you are setting a buffer for the first time. It is the wrong one when you already have a number, typed in at some point by someone, and what you actually want to know is whether it survived contact with your suppliers. An equation predicts. Your delivery history reports.
What the cushion was supposed to do
Safety stock is the stock you plan to still have on the shelf the day a delivery lands. It exists because demand moves and delivery dates move, and planning for the average means running empty roughly half the time. Days of stock splits the figure into the three separate jobs hiding inside it, and the reorder point formula holds the three ways to compute one. Neither is repeated here, and this page will not give you a new buffer to type in.
The part of that definition an audit can use is the date. A cushion has one moment where it is measured, and the moment is the delivery arriving. Whatever cover is left on the shelf then is the part of the cushion you did not need. That single number, read back out of your own records a handful of times, is more honest about your risk than any formula run on the same data, because it already contains the late factory, the odd week of strong sales and the shipment that sat in customs.
What to pull before you start
Pick five to ten products by units sold rather than by revenue. A cushion protects availability, availability is counted in units, and the high-volume lines are where an empty shelf costs most. If you already sort your catalogue into A, B and C classes, the A list is your audit list.
| What to pull | Where it comes from | What you write down |
|---|---|---|
| Your top products by units over the last year | Shopify admin, sorted by units sold | Five to ten SKUs, per variant where variants differ |
| Every delivery of those SKUs in the period | Your receiving records, or the supplier's packing lists | The date the goods became sellable, not the date the vessel docked |
| Stock on hand on each of those dates | Shopify's inventory history, or whatever you counted at receiving | Units on the shelf the morning the delivery was booked in |
| The honest daily rate for each SKU | Units sold divided by the days it was actually in stock | Units per day, one figure per SKU |
| Freight invoices above your normal rate | The forwarder, invoices rather than quotes | Date, product, and what the upgrade cost you |
Divide the third row by the fourth and you have cover in days on the landing date. That is the whole measurement.
One limit worth knowing before you go hunting. Shopify's Help Center, read on 21 September 2026, says you can "view only the last 180 days of inventory adjustment history for a product or variant", and points you at the inventory adjustment changes report for anything older. Six months usually covers two or three landings on a sea route, which is enough to start. Older landings come from your own paperwork.
A worked ledger, one product, six landings
One SKU selling about ten a day, sea freight, a cushion of 60 days chosen when the store set up. Six deliveries over two years, each row read on the day the goods went live.
| Delivery landed | Cover left that day | Cushion used | What was going on |
|---|---|---|---|
| March | 52 days | 8 | Nothing much. Boat three days late. |
| July | 58 days | 2 | Quiet summer, arrived early. |
| November | 41 days | 19 | Strong October, sold faster than planned. |
| March | 49 days | 11 | Nothing. |
| August | 6 days | 54 | Factory slipped three weeks. |
| December | 0 days, empty for 9 | 60 and then some | Same factory, slipped again, into Black Friday. |
Look at the third column before anything else. Four of the six landings spent under a third of the cushion, and each of those four arrived with more than 40 days of cover still on the shelf. At ten a day that is over 400 units that landed, sat through a whole cycle and were still sitting there when the next container docked. On one SKU.
Then look at the two that broke. The same supplier slipped three weeks both times, and the second slip arrived in the middle of Black Friday. That is the finding an equation would have missed, because a formula fed this history sees volatility and answers with a bigger number. Ten more cushion days, 60 up to 70, would have covered December, and the price is 100 more units standing permanently on this SKU and on every other one from that supplier.
The cheaper fix is to stop calling a repeatable three-week slip a surprise. A delay you can name belongs in the lead time, where it moves your order deadline earlier, rather than in the buffer, where the system carries on believing every shipment is on time. That argument is worked through in full on supplier lead time, and this ledger is how you find out it applies to you.
Read the empty days and the rescue freight together
A stockout is not the only evidence that a buffer was too thin. Plenty of stores never run out and pay for it quietly instead, in express shipments booked to stop a shelf going dark. Both columns belong in the same verdict.
| Ran out in the last year | Paid to rush a shipment | What that says about the cushion |
|---|---|---|
| No | No | Big enough. Whether it is bigger than it needs to be is a separate question, and the cushion-used column answers it. |
| No | Yes | Big enough on paper, topped up at air-freight prices. You are holding part of your cushion in the freight budget rather than on the shelf. |
| Yes | Yes | Too thin, and you already knew. The useful question is whether it was thin or late, which the ledger above separates. |
| Yes | No | Too thin and unnoticed. A stockout that has already ended leaves nothing on screen to trip over later, so this one is usually found in an audit rather than in the moment. |
The bottom row is more common than it sounds. In a 2026 Katana analysis of 375 product brands, 59 per cent of stockouts hit a product that had already run out earlier the same year, and the write-up of the same study puts best sellers at roughly 14 stockouts a year, about two days each. Read both on 21 September 2026. Katana sells inventory software and the methodology sits behind a form, so hold the figures loosely. We argue that out properly elsewhere. What the repeat rate implies is the part that matters here. If most stockouts are reruns, your own history is the best predictor you own, and an audit of it beats a benchmark from somebody else's catalogue.
How late is the boat, actually
Worth checking the assumption your cushion rests on, because importers tend to size it against a fear rather than a rate. Sea-Intelligence's Global Liner Performance report, issue 180, published 26 August 2026 and read on 21 September, puts global schedule reliability for July 2026 at 56.4 per cent across 34 trade lanes and more than 60 carriers, the weakest month of 2026 up to that point, with an average delay for late arrivals of 6.06 days.
So on that month's figures a little under half of vessel arrivals missed their schedule, and the typical miss was under a week. If a late boat were the only thing your cushion had to absorb, a fortnight would cover it comfortably. It is not the only thing. Production slippage, the sort that emptied the shelf twice in the ledger above, appears nowhere in that statistic, and neither does a strong October.
Read the number as a floor rather than a measure of your own lateness, too. Schedule reliability tracks a vessel against its published arrival, not your goods from the factory gate to a sellable shelf, so customs, inland transport and putaway sit outside it entirely.
Why one number cannot fit the whole catalogue
Two products both sell ten a day. One moves eight to twelve a day, every week, dull and dependable. The other does nothing for a fortnight and then clears 40 in a weekend when somebody posts about it. Over a 70-day wait the first can be protected by a couple of weeks of cover and the second cannot be protected by anything short of a month or more.
Give both the same store-wide cushion and it is generous for the steady one, which is most of your catalogue, and thin for the erratic handful, which is where your stockouts come from. That is the structural reason a flat buffer disappoints in both directions at once. The per-product version of the calculation, with the variability term in it, is on the reorder point page. Whether it is worth the effort for your store is what the audit tells you, and for a catalogue that never runs out and never rushes freight, the honest answer is no.
What our own app does with this, and what it will not do
Restocio computes the per-product figure from your own daily sales and the length of the route the goods travel, at a 95 per cent service level, over up to a year of history. Settings shows it beside the flat number you chose: the median across the products carrying most of your unit sales, what nine in ten of them need, and what the least predictable one needs. It takes at least 30 days of history and a product moving at least 0.05 units a day to produce a figure at all, and the whole panel hides below five of the products carrying most of your unit sales, because percentiles across four of them are noise wearing a decimal point.
It changes nothing. That advisory is display only, and whether it is ever allowed to steer an order is a decision we have not taken, so today it is an argument next to a field rather than a hand on the dial.
Two limits, plainly. The figure carries the length of your route but not your supplier's reliability: how long the boat takes is in it, how much that length varies is not. A repeatable three-week slip therefore never shows up as what it is. It does not pass unnoticed either, which is the worse half. Days when a shelf sat empty are read as days of zero demand, so the August near miss in the ledger above moves the figure not at all, while the December stockout quietly pushes it up, filed under customers being unpredictable rather than a supplier running late. That is the wrong cure recommended for the right symptom, and it is why your own ledger beats our panel on this particular question.
What the app does carry properly is the other half of this: the deadline. Cover left at landing is only ever as good as the date you ordered on, and that countdown is the thing worth automating. The whole loop sits in the Shopify replenishment guide if you want the version that keeps this without a spreadsheet.
What to do with the verdict
A cushion-used column that stays under a third on every landing, with nothing ever running out, means you are carrying stock that has never once been called on. Reclaim it a little at a time rather than in one cut. Trim it, watch two more landings, and stop when the column starts reaching halfway.
Spikes that cluster on one supplier are not a buffer problem, and raising the buffer will cost a lot to fix the wrong thing. Move the slippage you can name into that supplier's lead time, then run the audit again next year.
When the spikes follow particular products regardless of who made them, that is genuine demand volatility, and those SKUs deserve more cushion than the rest of your catalogue. It is the one case where the answer really is a bigger number, and it belongs to a handful of products rather than to all of them.
One caveat on the whole exercise, because it is a real one. Four landings a year is four observations, and four observations cannot tell you anything about a 95 per cent service level. This audit gives you direction and a cause, not a percentile. If your ledger shows two clean landings and nothing else, the correct reading is that you do not know yet, and the fix is to keep the ledger going rather than to act on it.
Common questions
How do I know if my safety stock is too high?
Look at how much cover was left on the shelf the day each of your last few deliveries landed. If the figure keeps coming in close to the cushion you planned, that stock has never been called on, and it is cash parked on a shelf. If it keeps landing near zero, the cushion is being spent every cycle and is too thin for that product.
What counts as a near miss on stock?
A delivery that landed with far less cover than the cushion you planned for, even though the shelf never actually went empty. A store that planned 60 days of cushion and landed with six had a near miss, and it is worth recording because the cause, usually a late supplier or an unusually strong month, is the thing that will empty the shelf next time.
How many deliveries do I need before the audit means anything?
Enough to see a pattern rather than a percentile. Four or five landings on a product will show you whether the cushion is routinely untouched, routinely spent, or only broken by particular suppliers. It will not tell you your service level, because a handful of observations cannot. Treat two clean landings as not knowing yet.
Does Shopify record when a product was out of stock?
Not as a report you can read off. Shopify's Help Center says you can view only the last 180 days of inventory adjustment history for a product or variant, and points at the inventory adjustment changes report for older data. Reconstructing how many days a product sat at zero is possible from that history, but it is not a figure the admin hands you.
Should a late supplier be fixed with more safety stock?
Usually not, if the lateness is repeatable. A delay you can name and expect belongs in the lead time, where it moves your order deadline earlier and tells any system that picks between shipping routes that the goods are going to be late. Put it in the buffer instead and the system carries on believing every shipment arrives on time, and you hold the extra stock on every product from that supplier, forever.
Should every product have the same safety stock?
No, and this is the main reason a flat store-wide number disappoints in both directions. A steady seller needs far less cover than one that does nothing for a fortnight and then clears a month of sales in a weekend, even when both average the same units per day. One number is generous for the dependable majority and too thin for the unpredictable few, and the unpredictable few are the ones that empty.
Sources
Every source below was opened and read on the date shown against it. Rules, rates and schedules change, so check the current page before you act on a number that matters. If anything here is out of date or wrong, tell us and we will correct it.
- Sea-Intelligence, Global Liner Performance report issue 180 (July 2026 schedule reliability and average delay for late arrivals) (read 21 September 2026)
- Shopify Help Center, Viewing inventory adjustment history (the 180-day limit on what you can see per variant) (read 21 September 2026)
- Katana, The cost of invisible stock (375 brands, the repeat-stockout rate) (read 21 September 2026)
- Yahoo Finance on the same Katana analysis (stockout frequency and duration per brand) (read 21 September 2026)
Marcus co-founded Restocio and works on it daily with a Swedish importer who plans their purchasing in it every working day. Restocio is built in Sweden by two founders, one Swedish and one Danish, and Marcus is the Danish one. Why we are building it.
Related reading
- Reorder point formula, with a worked example
- How many days of stock should you hold
- Supplier lead time, and why yours is probably too short
- How to stop running out of stock
- Shopify replenishment, end to end
Restocio plans purchasing for Shopify stores that import. It works out what to order, how much, and whether it should travel by sea, rail or air, so you pay air freight only for the units that genuinely cannot wait.