Stop reordering on a flat average
The classic reorder point assumes demand is a straight line. It is not. Forecast the curve, scale safety stock by variability, and pick a service level on purpose.

A stockout is not a pause in sales. It is an ongoing charge. Your ads keep spending against a page that cannot convert, your search rank slips while the listing sits unavailable, and the customer who wanted it today buys from a competitor and learns that the competitor is fine. You pay for the gap long after the stock arrives.
Most stores defend against this with the classic reorder point. It is a good first move and a bad permanent habit, because it is built on an assumption that is not true of any real catalogue.
The formula everyone starts with
Reorder point = (average daily sales x lead time in days) + safety stock
Reorder when stock on hand falls to that number.
If you have nothing today, implement this by Friday. It will catch most of your obvious failures. But notice what it assumes: that demand is flat, that lead time is fixed, and that one buffer suits every product. All three are wrong, and each one fails in a different, expensive way.
Failure one: demand is not flat
A thirty day average is a straight line drawn through a curve. It is at its most wrong exactly when accuracy matters most: heading into your season, or the week after a promotion lands. Average across a rising trend and you systematically under-order right before your peak.
Forecast the shape instead. You need three components, and you can estimate all of them from your own order history:
- Trend. Is this SKU growing or declining month over month, independent of seasonality? Compare like periods, not adjacent ones.
- Seasonality. What did this SKU do in the same weeks last year, as a ratio to its own annual average? That ratio is your seasonal index and it transfers year to year better than absolute numbers do.
- Known events. Promotions, launches, a feature placement. These are not forecastable from history because you decide them. Add them by hand.
Then forecast demand across the lead time window specifically, not per day. If your supplier takes 30 days and those 30 days cross into your season, a flat average will under-order you every single year.
Failure two: one safety stock for everything
Safety stock exists to absorb variability, so it should scale with how variable each product actually is. A steady seller that moves 9 to 11 units a day needs almost no buffer. An erratic one that moves 2 units some days and 40 others needs a real one. A flat two weeks across the catalogue over-stocks the first, starves the second, and ties up cash in exactly the wrong places.
Take the daily sales for a SKU over the last 90 days and calculate the standard deviation, which a spreadsheet will do for you.
Safety stock = Z x standard deviation of daily demand x the square root of lead time in days.
Z is your service level: roughly 1.65 for 95 percent, roughly 2.33 for 99 percent. A steady SKU with a deviation of 1 unit and a 16 day lead time needs about 7 units of buffer at 95 percent. An erratic one with a deviation of 10 units and the same lead time needs about 66.
Illustrative example. Not real inventory data.
The square root matters. Doubling your lead time does not double the buffer you need, it multiplies it by about 1.4, which is why shortening lead time is usually cheaper than carrying more stock.
Failure three: service level as an accident
A 95 percent service level means you accept being out of stock in about one replenishment cycle in twenty. That is a business decision with a price on both sides, and most stores make it by accident.
Set it deliberately, per SKU, against what the product actually is:
- High service level (98 to 99 percent): your hero SKUs, anything you advertise, anything a subscriber expects to be there. A stockout here costs a customer, not just an order.
- Standard (95 percent): most of the catalogue.
- Lower (90 percent): long tail, high holding cost, easily substituted, or short shelf life. Stock is cash, and cash sitting in a slow SKU is not free.
The number to watch daily
Reorder points are a calculation you run. Days of cover against lead time is the alarm you watch. Days of cover is stock on hand divided by forecast daily demand. The moment that number drops below the supplier's true door-to-door lead time, you are already going to run out, no matter what you do next.
Track days of cover minus lead time. Anything at or below zero is not a warning, it is a stockout with a delay.
And use the supplier's real lead time. Not the quoted one. Measure from your purchase order to stock actually available to sell, including customs, receiving and putaway. For most stores that is meaningfully longer than the number on the agreement, and the difference is exactly the size of the hole you keep falling into.
Where to start
- Take your top 10 SKUs by revenue. That is where a stockout costs the most.
- For each, measure the true lead time from your last three purchase orders. Use the worst one, not the average.
- Calculate 90 day standard deviation of daily sales and size safety stock from it rather than from a flat two weeks.
- Set a service level per SKU on purpose.
- Watch days of cover minus lead time weekly, and act when it approaches zero rather than when it crosses it.
Where Wizzy comes in
This is arithmetic, which means it is not hard, it is just endless. It has to be redone for every SKU every time demand shifts, a supplier slips, or a promotion changes the curve. Wizzy forecasts demand per SKU from your real sales history including trend and seasonality, tracks each supplier's actual lead time rather than the quoted one, sizes safety stock from that SKU's own variability, and raises a reorder with a quantity before cover drops under lead time.