{
  "slug": "reorder-point",
  "title": "Reorder Point Calculator",
  "heading": "Reorder Point Calculator",
  "category": "other",
  "url": "https://www.revenuelab.fyi/toolbox/reorder-point",
  "summary": "When to reorder, and how much safety stock to hold.",
  "description": "Reorder point covers demand during the lead time plus a buffer for the weeks when demand spikes or the supplier slips. Getting this wrong is the difference between a stockout and dead capital.",
  "formula": "Reorder point = (Daily demand × Lead time) + Safety stock. EOQ = √(2DS ÷ H).",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=reorder-point",
  "inputs": [
    {
      "id": "dailyDemand",
      "label": "Average units sold per day",
      "kind": "number",
      "hint": null,
      "default": 45,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "leadTime",
      "label": "Supplier lead time",
      "kind": "number",
      "hint": null,
      "default": 21,
      "unit": "days",
      "min": 0,
      "max": null
    },
    {
      "id": "peakDemand",
      "label": "Peak units per day",
      "kind": "number",
      "hint": null,
      "default": 70,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "orderCost",
      "label": "Cost to place an order",
      "kind": "number",
      "hint": null,
      "default": 180,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "holdingCost",
      "label": "Annual holding cost per unit",
      "kind": "number",
      "hint": null,
      "default": 4.2,
      "unit": "$",
      "min": 0.01,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "rop",
      "label": "Reorder at this stock level",
      "format": "number",
      "hint": null,
      "primary": true
    },
    {
      "id": "safety",
      "label": "Safety stock",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "eoq",
      "label": "Economic order quantity",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "ordersPerYear",
      "label": "Orders per year",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "daysBetweenOrders",
      "label": "Days between orders",
      "format": "decimal",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Average units sold per day: 45",
      "Supplier lead time: 21 days",
      "Peak units per day: 70",
      "Cost to place an order: 180 $",
      "Annual holding cost per unit: 4.2 $"
    ],
    "outputs": [
      "Reorder at this stock level: 1,470",
      "Safety stock: 525",
      "Economic order quantity: 1,187",
      "Orders per year: 13.8",
      "Days between orders: 26.4"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter average units sold per day.",
      "Enter supplier lead time (days).",
      "Enter peak units per day.",
      "Enter cost to place an order ($).",
      "Enter annual holding cost per unit ($).",
      "Read your reorder at this stock level on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "dailyDemand": 27,
        "leadTime": 13,
        "peakDemand": 42,
        "orderCost": 110,
        "holdingCost": 2.52
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "dailyDemand": 45,
        "leadTime": 21,
        "peakDemand": 70,
        "orderCost": 180,
        "holdingCost": 4.2
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "dailyDemand": 72,
        "leadTime": 34,
        "peakDemand": 112,
        "orderCost": 290,
        "holdingCost": 6.720000000000001
      }
    }
  ],
  "limitations": [
    "Estimates assume standard, average conditions — local rules, pricing, and materials vary.",
    "Results are rounded for readability; add a buffer before ordering, booking, or committing.",
    "Double-check anything with a real cost attached against a local quote."
  ],
  "faq": [
    {
      "q": "How does the reorder point calculator work?",
      "a": "Reorder point covers demand during the lead time plus a buffer for the weeks when demand spikes or the supplier slips. Getting this wrong is the difference between a stockout and dead capital. The underlying maths is: Reorder point = (Daily demand × Lead time) + Safety stock. EOQ = √(2DS ÷ H)."
    },
    {
      "q": "What do I need to enter?",
      "a": "5 values: average units sold per day, supplier lead time, peak units per day, cost to place an order, and annual holding cost per unit. Each field starts with a sensible default, so you can change one number at a time and watch the result move."
    },
    {
      "q": "What does the reorder at this stock level result mean?",
      "a": "It is returned as a whole number and updates live as you edit the inputs, so you can compare two or three versions of a scenario in a few seconds."
    },
    {
      "q": "Is this calculator free, and do I need an account?",
      "a": "Yes, it's free, and no account is required. Nothing you type is stored on our servers — the maths runs entirely in your browser."
    },
    {
      "q": "How accurate is the result?",
      "a": "It applies the standard formula exactly, so the arithmetic is precise. Estimates assume standard, average conditions — local rules, pricing, and materials vary."
    },
    {
      "q": "Who is this tool for?",
      "a": "It's built for anyone doing everyday planning maths — a quick estimate that would otherwise need four browser tabs and a calculator app."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/inventory-turnover",
    "https://www.revenuelab.fyi/toolbox/shipping-cost"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Reorder Point Calculator (https://www.revenuelab.fyi/toolbox/reorder-point)"
}