{
  "slug": "inventory-turns-dsi",
  "title": "Inventory Turns & Days Sales of Inventory Calculator",
  "heading": "Inventory Turns & DSI Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/inventory-turns-dsi",
  "summary": "Turnover ratio and days-of-supply from COGS and average inventory.",
  "description": "Inventory turnover measures how many times you sell through your average inventory in a period, and days sales of inventory (DSI) converts that same relationship into how many days of supply you're carrying — the two are mathematical inverses of each other expressed differently. Higher turns and lower DSI generally mean better working capital efficiency, but the right number is category-dependent: grocery and fast fashion should turn 8-15+ times a year, while durable goods, spare parts, and slow-moving industrial inventory might reasonably turn 2-4 times. This calculator computes both metrics from cost of goods sold and average inventory value, and flags how your DSI compares to typical cash-conversion-cycle targets so you know whether working capital is tied up longer than it needs to be.",
  "formula": "Inventory turns = COGS ÷ Average inventory; DSI = 365 ÷ Inventory turns.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=inventory-turns-dsi",
  "inputs": [
    {
      "id": "cogs",
      "label": "Annual cost of goods sold",
      "kind": "number",
      "hint": null,
      "default": 4200000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "beginInv",
      "label": "Beginning inventory value",
      "kind": "number",
      "hint": null,
      "default": 680000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "endInv",
      "label": "Ending inventory value",
      "kind": "number",
      "hint": null,
      "default": 720000,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "turns",
      "label": "Inventory turns per year",
      "format": "decimal",
      "hint": null,
      "primary": true
    },
    {
      "id": "dsi",
      "label": "Days sales of inventory",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "avgInv",
      "label": "Average inventory value",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "monthlyTurns",
      "label": "Turns per month",
      "format": "decimal",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Annual cost of goods sold: 4200000 $",
      "Beginning inventory value: 680000 $",
      "Ending inventory value: 720000 $"
    ],
    "outputs": [
      "Inventory turns per year: 6",
      "Days sales of inventory: 60.8",
      "Average inventory value: $700,000",
      "Turns per month: 0.5"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter annual cost of goods sold ($).",
      "Enter beginning inventory value ($).",
      "Enter ending inventory value ($).",
      "Read your inventory turns per year 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": {
        "cogs": 2520000,
        "beginInv": 410000,
        "endInv": 430000
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "cogs": 4200000,
        "beginInv": 680000,
        "endInv": 720000
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "cogs": 6720000,
        "beginInv": 1090000,
        "endInv": 1150000
      }
    }
  ],
  "limitations": [
    "Results are estimates before tax, fees, and inflation unless an input explicitly covers them.",
    "Rates are treated as fixed for the whole period — variable-rate products will drift from this projection.",
    "This is educational maths, not financial advice. Check anything contractual with the lender or your accountant."
  ],
  "faq": [
    {
      "q": "What's a healthy inventory turnover rate?",
      "a": "It's category-specific: grocery and perishables run 12-20+ turns a year, general retail and apparel 4-8, industrial/MRO parts 2-4, and spare parts for long-life equipment can reasonably run below 2. Compare your turns against your own industry peers, not a universal number, because a 3-turn rate is excellent for aircraft parts and terrible for fresh produce."
    },
    {
      "q": "Why use average inventory instead of ending inventory?",
      "a": "Ending inventory can be a snapshot distorted by a recent large receipt or a stockout right at period close, either of which skews the ratio. Averaging beginning and ending balances smooths that noise; for highly seasonal businesses, an average of monthly ending balances across the year gives an even more accurate picture."
    },
    {
      "q": "How does DSI relate to cash conversion cycle?",
      "a": "DSI is one of three components of the cash conversion cycle, along with days sales outstanding (how long customers take to pay) and days payable outstanding (how long you take to pay suppliers). Cash conversion cycle = DSI + DSO − DPO, and reducing DSI directly shortens the time cash is tied up before it comes back in from a sale."
    },
    {
      "q": "What's the risk of pushing turns too high?",
      "a": "Chasing extremely high turnover by cutting inventory too aggressively increases stockout risk and can force expensive expedited replenishment or lost sales. There's a real trade-off between capital efficiency and service level — use the safety stock and reorder point calculators alongside this one to find inventory levels that support your service target without carrying excess."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/obsolescence-reserve",
    "https://www.revenuelab.fyi/toolbox/eoq-carrying-cost",
    "https://www.revenuelab.fyi/toolbox/reorder-point"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Inventory Turns & Days Sales of Inventory Calculator (https://www.revenuelab.fyi/toolbox/inventory-turns-dsi)"
}