{
  "id": "employee-turnover",
  "version": "f6b580c7395f",
  "status": "published",
  "name": "Employee Turnover Calculator",
  "question": "What is my employee turnover rate?",
  "summary": "Computes the employee turnover rate for a period: the employees who left ÷ the average headcount × 100, with the quit, layoff and other separation rates as BLS defines them.",
  "category": "finance",
  "subcategory": "business",
  "url": "https://www.acalculator.org/finance/employee-turnover-calculator",
  "markdown": "https://www.acalculator.org/finance/employee-turnover-calculator.md",
  "kind": "function",
  "method": "Average headcount = (employees at the start + employees at the end) ÷ 2; turnover rate = employees who left ÷ average headcount × 100; by type, each rate = that type ÷ average headcount × 100.",
  "assumptions": [
    "The leavers and the two headcounts cover the same period, and the rate covers that period.",
    "Employees who left count everyone who left the payroll for any reason (BLS separations).",
    "Arithmetic is exact on the typed counts; the rates show to 2 decimals."
  ],
  "inputs": {
    "$schema": "https://json-schema.org/draft/2020-12/schema",
    "type": "object",
    "properties": {
      "start": {
        "title": "Employees at the start",
        "description": "How many employees were on the payroll at the start of the period.",
        "type": "integer",
        "minimum": 0,
        "maximum": 1000000000
      },
      "end": {
        "title": "Employees at the end",
        "description": "How many employees were on the payroll at the end of the period.",
        "type": "integer",
        "minimum": 0,
        "maximum": 1000000000
      },
      "by": {
        "title": "Count the leavers",
        "description": "Whether you enter one total of employees who left, or the totals by type of separation.",
        "type": "string",
        "enum": [
          "total",
          "type"
        ]
      },
      "left": {
        "title": "Employees who left",
        "description": "Separations: everyone who left the payroll during the period, for any reason.",
        "type": "integer",
        "minimum": 0,
        "maximum": 1000000000
      },
      "quits": {
        "title": "Quits",
        "description": "Employees who left by choice, not counting retirements and transfers to other locations.",
        "type": "integer",
        "minimum": 0,
        "maximum": 1000000000
      },
      "layoffs": {
        "title": "Layoffs and discharges",
        "description": "Separations the employer started: layoffs, positions cut, and firings.",
        "type": "integer",
        "minimum": 0,
        "maximum": 1000000000
      },
      "other": {
        "title": "Other separations",
        "description": "Retirements, transfers to other locations, deaths, and separations due to disability.",
        "type": "integer",
        "minimum": 0,
        "maximum": 1000000000
      }
    }
  },
  "outputs": {
    "rate": {
      "label": "Turnover rate",
      "description": "Employees who left ÷ average headcount × 100.",
      "format": "percent"
    },
    "average": {
      "label": "Average headcount",
      "description": "(Employees at the start + employees at the end) ÷ 2.",
      "format": "number"
    },
    "separations": {
      "label": "Employees who left",
      "description": "All separations in the period.",
      "format": "integer"
    },
    "quitRate": {
      "label": "Quit rate",
      "description": "Quits ÷ average headcount × 100: the voluntary turnover rate.",
      "format": "percent"
    },
    "layoffRate": {
      "label": "Layoffs and discharges rate",
      "description": "Layoffs and discharges ÷ average headcount × 100.",
      "format": "percent"
    },
    "otherRate": {
      "label": "Other separations rate",
      "description": "Other separations ÷ average headcount × 100.",
      "format": "percent"
    }
  },
  "defaultAnswer": {
    "inputs": {
      "start": 200,
      "end": 220,
      "by": "total",
      "left": 21,
      "quits": 14,
      "layoffs": 5,
      "other": 2
    },
    "outputs": {
      "rate": 10,
      "average": 210,
      "separations": 21
    },
    "text": "21 left out of an average headcount of 210: a turnover rate of 10%."
  },
  "examples": [
    {
      "given": {
        "start": 200,
        "end": 220,
        "by": "total",
        "left": 21
      },
      "expect": {
        "rate": 10,
        "average": 210,
        "separations": 21
      },
      "source": "U.S. Bureau of Labor Statistics, JOLTS technical note (the separations rate is separations ÷ employment × 100; the quits, layoffs and discharges, and other separations rates are computed the same way). https://www.bls.gov/news.release/jolts.tn.htm; hand calculation in content.mdx: (200 + 220) ÷ 2 = 210; 21 ÷ 210 × 100 = 10"
    },
    {
      "given": {
        "start": 200,
        "end": 220,
        "by": "type",
        "quits": 14,
        "layoffs": 5,
        "other": 2
      },
      "expect": {
        "rate": 10,
        "separations": 21,
        "quitRate": 6.666666666666667,
        "layoffRate": 2.380952380952381,
        "otherRate": 0.9523809523809523
      },
      "source": "U.S. Bureau of Labor Statistics, JOLTS Data Definitions (separations are quits, layoffs and discharges, and other separations). https://www.bls.gov/jlt/jltdef.htm; U.S. Bureau of Labor Statistics, JOLTS technical note (the separations rate is separations ÷ employment × 100; the quits, layoffs and discharges, and other separations rates are computed the same way). https://www.bls.gov/news.release/jolts.tn.htm; hand calculation in content.mdx: 14 ÷ 210 × 100 = 6.67, 5 ÷ 210 × 100 = 2.38, 2 ÷ 210 × 100 = 0.95"
    },
    {
      "given": {
        "start": 1000,
        "end": 1000,
        "by": "total",
        "left": 35
      },
      "expect": {
        "rate": 3.5,
        "average": 1000
      },
      "source": "U.S. Bureau of Labor Statistics, JOLTS technical note (the separations rate is separations ÷ employment × 100; the quits, layoffs and discharges, and other separations rates are computed the same way). https://www.bls.gov/news.release/jolts.tn.htm; hand calculation in content.mdx: 35 ÷ 1,000 × 100 = 3.5"
    },
    {
      "given": {
        "start": 20,
        "end": 30,
        "by": "total",
        "left": 30
      },
      "expect": {
        "rate": 120,
        "average": 25
      },
      "source": "hand calculation in content.mdx: (20 + 30) ÷ 2 = 25; 30 ÷ 25 × 100 = 120"
    }
  ],
  "sources": [
    "U.S. Bureau of Labor Statistics, \"Job Openings and Labor Turnover Survey: Technical Note\": the separations rate is the number of separations divided by employment, times 100; the quits, layoffs and discharges, and other separations rates are computed the same way. https://www.bls.gov/news.release/jolts.tn.htm (retrieved 2026-10-18)",
    "U.S. Bureau of Labor Statistics, \"JOLTS Data Definitions\": separations are quits, layoffs and discharges, and other separations (retirements, transfers to other locations, deaths, disability). https://www.bls.gov/jlt/jltdef.htm (retrieved 2026-10-18)"
  ],
  "related": [
    "fte",
    "salary",
    "pay-raise"
  ],
  "changelog": []
}
