Inventory & Supply Chain Last updated: 2026-08-20

How to Calculate Inventory Reorder Point and Safety Stock in Excel & Google Sheets

Calculate optimal inventory reorder points (ROP), buffer safety stock, and automated restock triggers using NORMSINV and spreadsheet formulas.

Quick Answer & Formula
Excel Sheets Intermediate
= (Avg_Daily_Demand * Lead_Time) + (NORMSINV(Service_Level) * SQRT(Lead_Time) * Demand_StdDev)

The basic Reorder Point (ROP) is =(Daily_Demand * Lead_Time_Days) + Safety_Stock. To calculate statistically accurate Safety Stock for a 95% service level: =NORMSINV(0.95) * SQRT(Lead_Time) * Demand_StdDev.

How to Calculate Inventory Reorder Point and Safety Stock in Excel & Google Sheets

Stockouts result in lost revenue and dissatisfied customers, while excess inventory ties up cash in carrying costs. Finding the exact replenishment balance requires calculating the Reorder Point (ROP) and Safety Stock (Buffer).

This guide provides both the standard deterministic formula and the statistical normal distribution formula using NORMSINV.


1. The Core Inventory Replenishment Equations

$$\text{Reorder Point (ROP)} = \text{Lead Time Demand} + \text{Safety Stock}$$

$$\text{Lead Time Demand} = \text{Average Daily Demand} \times \text{Supplier Lead Time (Days)}$$

$$\text{Safety Stock} = Z \times \sqrt{\text{Lead Time}} \times \sigma_d$$

Where:

  • $Z$ (Z-Score): Statistical factor for desired service level (NORMSINV(Service_Level)).
  • $\sigma_d$ (Standard Deviation): Daily sales volatility (STDEV.S(...)).
  • $\text{Lead Time}$: Number of days from placing a PO until goods hit the warehouse.

2. Statistical Safety Stock Formula

In Excel and Google Sheets:

=NORMSINV(Service_Level) * SQRT(Lead_Time_Days) * Demand_StdDev

Common Service Levels and Z-Scores:

  • 90% Service Level: =NORMSINV(0.90) $\rightarrow$ 1.282
  • 95% Service Level (Standard): =NORMSINV(0.95) $\rightarrow$ 1.645
  • 98% Service Level: =NORMSINV(0.98) $\rightarrow$ 2.054
  • 99% Service Level (Critical SKUs): =NORMSINV(0.99) $\rightarrow$ 2.326

3. Step-by-Step E-Commerce Inventory Model

Let’s model an e-commerce brand restocking best-selling wireless headphones:

CellMetricValueFormula / Source
B1Average Daily Sales (Units)45=AVERAGE(Sales_Last_60_Days)
B2Daily Demand Std Deviation ($\sigma_d$)12=STDEV.S(Sales_Last_60_Days)
B3Supplier Lead Time (Days)14Factory lead time + transit
B4Target Service Level95.0%Probability of avoiding stockout
B5Safety Stock (Buffer Units)74=ROUNDUP(NORMSINV(B4) * SQRT(B3) * B2, 0)
B6Lead Time Demand (Units)630=B1 * B3 (45 * 14)
B7Reorder Point (ROP)704=B6 + B5

What this means:

Whenever the physical warehouse balance drops to or below 704 units, place a new purchase order immediately.


4. Multi-SKU Master Inventory Dashboard

Build a live tracking sheet across multiple products:

SKU (A)Product Name (B)Daily Demand (C)Lead Time (D)On-Hand Stock (E)Safety Stock (F)Reorder Point (G)Status & Action (H)
SKU-101Pro Wireless Mouse301024048348=IF(E2<=G2, "πŸ”΄ REORDER", "🟒 OK")
SKU-102Ergonomic Keyboard182152062440=IF(E3<=G3, "πŸ”΄ REORDER", "🟒 OK")
SKU-1034K Webcam Pro251431055405=IF(E4<=G4, "πŸ”΄ REORDER", "🟒 OK")
SKU-104USB-C Docking Hub50789052402=IF(E5<=G5, "πŸ”΄ REORDER", "🟒 OK")

Live Dashboard Results:

  • SKU-101: On-hand: 240 $\le$ ROP 348 $\rightarrow$ πŸ”΄ REORDER (Place PO for supplier)
  • SKU-102: On-hand: 520 $>$ ROP 440 $\rightarrow$ 🟒 OK
  • SKU-103: On-hand: 310 $\le$ ROP 405 $\rightarrow$ πŸ”΄ REORDER
  • SKU-104: On-hand: 890 $>$ ROP 402 $\rightarrow$ 🟒 OK

5. Adding Economic Order Quantity (EOQ)

To calculate how many units to order per batch to minimize holding and ordering costs:

=SQRT((2 * Annual_Demand * Order_Setup_Cost) / Annual_Holding_Cost_Per_Unit)
  • Example: Annual Demand = 16,425, Order Cost = $50, Holding Cost = $4/unit/yr:
    =SQRT((2 * 16425 * 50) / 4)
    Optimal Batch Size (EOQ) = 641 units.
?

Frequently Asked Questions

What is a Service Level and what value should I use in NORMSINV?

Service level is the target probability of not running out of stock between replenishment cycles. Standard industry benchmarks: 90% (Z = 1.28), 95% (Z = 1.645), and 99% (Z = 2.33).

How do I calculate Demand_StdDev in Excel?

Use =STDEV.S(Historical_Daily_Sales_Range) on the past 30 to 90 days of daily sales volume.

How do I set up an automated restock alert in my spreadsheet?

Use =IF(Current_Stock <= Reorder_Point, "⚠️ REORDER NOW", "OK") combined with conditional formatting to highlight rows in red.