HomeBusiness & Marketing › Reorder Point Calculator

Reorder Point Calculator

Computes the inventory level at which to place a new order: average daily demand × lead time plus safety stock, where safety stock is either given directly or derived from a service level and the standard deviation of daily demand (z × σ × √lead time).

When to use

You need the stock level that triggers a purchase order so that demand during the supplier lead time is covered with a chosen service level.

Do not use when: You need the order size rather than the trigger level (use eoq), or lead time itself varies substantially (the formula would need the lead-time variance term).

Formula

lead_time_demand = daily_demand_units × lead_time_days; safety_stock = z(service_level) × demand_std_dev_daily × √lead_time_days (or the given value); reorder_point = lead_time_demand + safety_stock

Assumes normally distributed daily demand, independent from day to day, and a fixed lead time; the cycle service level is the probability of not running out before the order arrives, not the fill rate.

Inputs

ParameterTypeUnitRequiredDescription
daily_demand_unitsnumberunits/dayyesMean units sold or consumed per day. Range: ≥ 0, ≤ 1000000000
lead_time_daysnumberdaysyesDays from placing an order to receiving it. Range: ≥ 0, ≤ 3650
safety_stock_unitsnumberunitsnoBuffer stock to hold. Used when demand_std_dev_daily is not given; 0 if neither is given. Range: ≥ 0, ≤ 1000000000
demand_std_dev_dailynumberunits/daynoStandard deviation of daily demand; when given, safety stock = z × σ × √lead_time (takes precedence over safety_stock_units). Range: ≥ 0, ≤ 1000000000
service_level_percentnumber%default 95Cycle service level (probability of no stockout during lead time) used to derive z; 90 → 1.28, 95 → 1.64, 99 → 2.33. Range: > 0

Outputs

OutputTypeUnitDescription
lead_time_demand_unitsnumberunitsdaily_demand × lead_time_days.
safety_stock_unitsnumberunitsGiven value or z × σ × √lead_time.
z_valuenumberStandard normal quantile of the service level (only when computed from demand_std_dev_daily).
reorder_point_unitsnumberunitslead_time_demand + safety_stock.
reorder_point_rounded_upintegerunitsReorder point rounded up to a whole unit.
safety_stock_methodstringHow safety stock was determined.

Example

20/day, 7-day lead time, 50 safety stock: {"daily_demand_units":20,"lead_time_days":7,"safety_stock_units":50}{"lead_time_demand_units":140,"safety_stock_units":50,"reorder_point_units":190,"reorder_point_rounded_up":190,"safety_stock_method":"given"}

100/day, 4-day lead time, σ = 30, 95 % service level: {"daily_demand_units":100,"lead_time_days":4,"demand_std_dev_daily":30,"service_level_percent":95}{"lead_time_demand_units":400,"z_value":1.6449,"safety_stock_units":98.69,"reorder_point_units":498.69,"reorder_point_rounded_up":499}

GET https://tttkmbb.com/api/v1/calculate/reorder-point?daily_demand_units=20&lead_time_days=7&safety_stock_units=50

Machine access

Sources

FAQ

Why √lead time?

Demand over L independent days has variance L × σ², so its standard deviation is σ × √L; the safety stock covers z of those standard deviations.

What if lead time also varies?

Use σ_LT = √(L·σ_d² + d²·σ_L²) as the standard deviation of lead-time demand; this calculator covers only demand variability.

Related calculators