INVENTORY

Reorder Point & Safety Stock Calculator

Balance average lead-time demand with safety stock for demand and lead-time variability.

Reorder point calculator

Balance average lead-time demand with safety stock for demand and lead-time variability.

How it works

Adjust the example values to match your scenario.

YOUR RESULT LIVE CALCULATION
Reorder at inventory position
1,411units
95% CYCLE SERVICE
Demand + lead time + a little breathing room.
Expected lead-time demand
1,120 units
Safety stock (rounded up)
291 units
Buffer coverage
3.6 days
Normal z-score
1.6449

Inventory position = on-hand + on-order - backorders.

BEHIND THE NUMBER

How the calculation works

This normal-approximation model assumes independent daily demand and lead-time variation. The selected service level is a cycle service probability, not an order fill rate. Reorder based on inventory position: on-hand plus on-order minus backorders.

ROP = daily demand × lead time + z × √(lead time × demand SD² + daily demand² × lead-time SD²)

When this calculation helps

A reorder point is a trigger to review replenishment, not the amount to purchase. Compare it with a consistently defined inventory position that includes relevant on-order stock and backlog rather than looking only at the warehouse balance.

Check the interpretation

Separate demand variation from lead-time variation and keep both on the same time basis. Intermittent demand and correlated disruptions can defeat the normal approximation. Back-test service and shortages before changing a live planning policy.

Worked example: Reorder Point and Safety Stock: A Practical Example

Good to know

What is safety stock?

Safety stock is the buffer above average lead-time demand. This model estimates it from demand variability, lead-time variability, and a selected cycle service level.

Can I use this for seasonal or intermittent demand?

A stable-demand normal model can be misleading for strongly seasonal or intermittent demand. Use a forecast appropriate to the demand pattern and validate the buffer against historical service.