Stockroom

Reorder points from your real sales (no crystal ball required)

How reorder points work, why out-of-stock days drag down a naive average, and how to set levels you can explain from sales data you already have.

3 min read

Every stockout has the same postmortem: “we should have ordered sooner.” The fix is a reorder point: the stock level at which, if you order today, the delivery arrives before you sell out. It is a simple calculation, and for most stores it is worth more than any forecast.

The mechanics

A reorder point is three numbers multiplied and added:

reorder point = (daily sales velocity x supplier lead time) + safety stock

Sell 4 a day, supplier takes 10 days, keep 12 as a buffer: reorder at 52. When stock reaches 52 you order, and the new stock arrives as you start eating into the buffer. The work is in getting the three inputs right.

Input one: velocity

Daily velocity is units sold divided by days. The problem is that days you were out of stock count as zero-sale days, and they drag the average down most for your best sellers.

Sell 6 a day for three weeks, then sit out of stock for a week, and a plain 28-day average says you sell 4.5 a day. Set your reorder point from that and you’ll order less, stock out again, and the average drops further. The more you run out, the less the system thinks you need.

The fix is to compute velocity from days you had stock to sell. That is how Stockroom does it: out-of-stock days are left out of the denominator, so a stockout does not read as a drop in demand.

Input two: lead time

Ask anyone their supplier’s lead time and you’ll get the promised figure (“about two weeks”). Your receiving history has the measured one: the gap between ordering and receiving, order after order. Use the measured number. If a supplier’s measured lead time is 19 days against a promised 14, build the difference into your buffer. Stockroom shows observed lead times per supplier from your POs.

Input three: safety stock

Safety stock is a judgment call. There are textbook formulas, but a working shortcut is to hold a few extra days of velocity. Hold more for bestsellers you can’t afford to miss, for products with uneven sales, and for unreliable suppliers. Hold less, or none, for slow movers where the cash matters more than availability. It should be your call per product rather than one percentage applied to everything.

Two constraints the math must respect

Purchasing has two rules the arithmetic does not know about:

  • Pack sizes - if a supplier sells in cases of 12, a suggestion of 17 units means ordering 24.
  • Minimum order quantities - below the MOQ, the supplier will not take the order.

Suggestions that ignore these get corrected by hand every time, and a system you correct by hand every time is one you stop trusting. Set the pack size and MOQ once per product, and every suggestion comes out already rounded.

Show the working

Whatever tool computes your levels, make sure it shows the working. If you cannot see the velocity, the lead time and the buffer behind a reorder point, you will start overriding it on instinct within a month. Stockroom attaches an explain dialog to every suggestion, and every suggested level is yours to accept, edit or ignore.

A system built on measured velocity, measured lead times and buffers you chose yourself is one you will still be using in a year.


If you’re setting this up for the first time, start with your top 20 products by revenue, accept the suggested levels, and let low-stock alerts catch the rest. You can tune the rest of the catalog later.

Free on the Shopify App Store

Purchasing on Shopify, handled

Stockroom is free on the Shopify App Store - unlimited POs, receiving, counting and reordering.