{
    "name": "Safety Stock Calculator",
    "url": "https://calculators.geekmidst.com/calculators/safety-stock-calculator",
    "markdown": "https://calculators.geekmidst.com/calculators/safety-stock-calculator.md",
    "category": "Commerce & retail",
    "description": "Calculate safety stock with the standard z × σ method from demand and lead-time variability at a chosen cycle service level, plus the reorder point.",
    "summary": "Safety stock is the buffer that covers demand and lead-time swings. The standard method multiplies the variability of demand over the lead time by a z value for your target service level.",
    "also_called": [
        "Buffer stock calculator"
    ],
    "applies_to": "Worldwide",
    "last_updated": "2026-10-29",
    "computation": "Results are computed in the visitor’s browser on the HTML page. This API describes the calculator; it does not compute results.",
    "inputs": [
        {
            "name": "daily_demand",
            "label": "Average daily demand",
            "type": "number",
            "default": "50",
            "unit": "units/day"
        },
        {
            "name": "demand_sd",
            "label": "Standard deviation of daily demand",
            "type": "number",
            "default": "10",
            "unit": "units/day"
        },
        {
            "name": "lead_time",
            "label": "Average lead time",
            "type": "number",
            "default": "9",
            "unit": "days"
        },
        {
            "name": "lead_time_sd",
            "label": "Standard deviation of lead time",
            "type": "number",
            "default": "0",
            "unit": "days",
            "optional": true
        },
        {
            "name": "service_level",
            "label": "Cycle service level",
            "type": "select",
            "default": "95",
            "options": {
                "80": "80% (z = 0.84)",
                "85": "85% (z = 1.04)",
                "90": "90% (z = 1.28)",
                "95": "95% (z = 1.64)",
                "97.5": "97.5% (z = 1.96)",
                "98": "98% (z = 2.05)",
                "99": "99% (z = 2.33)",
                "99.5": "99.5% (z = 2.58)",
                "99.9": "99.9% (z = 3.09)"
            }
        }
    ],
    "outputs": [
        {
            "key": "safety_stock",
            "label": "Safety stock",
            "format": "number"
        },
        {
            "key": "safety_stock_units",
            "label": "Safety stock (rounded up)",
            "format": "integer"
        },
        {
            "key": "reorder_point",
            "label": "Reorder point",
            "format": "number"
        },
        {
            "key": "z",
            "label": "z value used",
            "format": "decimal4"
        },
        {
            "key": "lead_time_sd_demand",
            "label": "Std. dev. of lead-time demand",
            "format": "number"
        }
    ],
    "formula": {
        "text": "Safety stock = z × √(L × σd² + d² × σL²);  Reorder point = d × L + Safety stock",
        "variables": {
            "z": "standard normal quantile for the cycle service level",
            "d, σd": "mean and standard deviation of daily demand",
            "L, σL": "mean and standard deviation of lead time in days"
        }
    },
    "worked_example": {
        "inputs": {
            "daily_demand": "50",
            "demand_sd": "10",
            "lead_time": "9",
            "lead_time_sd": "0",
            "service_level": "95"
        },
        "steps": [
            "σ over the lead time = √(9 × 10²) = 30 units.",
            "Safety stock = 1.644854 × 30 = 49.35, so hold 50 units.",
            "Reorder point = 50 × 9 + 49.35 = 499.35 units."
        ],
        "result": "For a 95% cycle service level, demand of 50 ± 10 units a day and a 9-day lead time need about 50 units of safety stock."
    },
    "interpretation": "A 95% cycle service level means about 1 replenishment cycle in 20 runs out before the delivery arrives. Going from 95% to 99% raises safety stock by about 41% (z 1.64 → 2.33).",
    "assumptions": [
        "Daily demand is roughly normally distributed and independent from day to day.",
        "Demand and lead time vary independently.",
        "Service level means the probability of no stock-out during a replenishment cycle (cycle service level), not fill rate."
    ],
    "limitations": [
        "Slow-moving or very lumpy items do not follow a normal distribution; this method under- or over-states their buffer."
    ],
    "rules": null,
    "faqs": [
        {
            "question": "How do I get the standard deviation of demand?",
            "answer": "Take daily sales for a recent, typical period and use the Standard Deviation Calculator on them."
        },
        {
            "question": "Is service level the same as fill rate?",
            "answer": "No. Cycle service level is the chance of not running out in a cycle; fill rate is the share of demand met from stock, which is usually higher."
        }
    ],
    "sources": [],
    "related": [
        {
            "name": "Stock Reorder Point Calculator",
            "url": "https://calculators.geekmidst.com/calculators/stock-reorder-point-calculator"
        },
        {
            "name": "Economic Order Quantity (EOQ) Calculator",
            "url": "https://calculators.geekmidst.com/calculators/economic-order-quantity-calculator"
        },
        {
            "name": "Standard Deviation Calculator",
            "url": "https://calculators.geekmidst.com/calculators/standard-deviation-calculator"
        }
    ],
    "disclaimer": null,
    "publisher": "GM¹X CalcVerse"
}