{
  "slug": "effective-labor-rate",
  "title": "Effective Labor Rate Calculator",
  "heading": "Effective Labor Rate Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/effective-labor-rate",
  "summary": "What you actually collect per billed labor hour, not your posted door rate.",
  "description": "Your posted door rate and your effective labor rate are almost never the same number. ELR is total labor revenue divided by total hours actually billed to customers, after discounts, comebacks, warranty write-downs, and menu pricing that undercuts the flat-rate hour. Shops that never track ELR routinely bleed 15-25% of labor revenue without noticing because the shop rate on the wall looks fine while flat-rate jobs get sold under book time or discounted at the counter. This tool takes your monthly labor sales and the hours you actually billed customers for, and backs into the real number you're collecting per hour. Compare that to your posted door rate to see the gap, and compare it to your fully-loaded technician cost per hour to see your true labor gross margin. A healthy independent shop should see ELR within 10% of door rate and a labor gross margin north of 65%. If ELR is running 20%+ below door rate, the leak is usually in service advisor discounting, warranty comebacks eating hours, or menu-priced maintenance items priced below the labor guide.",
  "formula": "ELR = Total Labor Revenue ÷ Total Billed Hours. Labor GP% = (ELR − Loaded Tech Cost/hr) ÷ ELR. Gap% = (Door Rate − ELR) ÷ Door Rate.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=effective-labor-rate",
  "inputs": [
    {
      "id": "laborRevenue",
      "label": "Monthly labor revenue",
      "kind": "number",
      "hint": null,
      "default": 68000,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "billedHours",
      "label": "Total hours billed to customers",
      "kind": "number",
      "hint": null,
      "default": 620,
      "unit": "hrs",
      "min": 1,
      "max": null
    },
    {
      "id": "doorRate",
      "label": "Posted door rate",
      "kind": "number",
      "hint": null,
      "default": 145,
      "unit": "$/hr",
      "min": 0,
      "max": null
    },
    {
      "id": "loadedCost",
      "label": "Fully-loaded tech cost per hour",
      "kind": "number",
      "hint": null,
      "default": 38,
      "unit": "$/hr",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "elr",
      "label": "Effective labor rate",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "gapPct",
      "label": "Gap vs door rate",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "gpPct",
      "label": "Labor gross margin",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "monthlyLoss",
      "label": "Revenue left on table per month",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Monthly labor revenue: 68000 $",
      "Total hours billed to customers: 620 hrs",
      "Posted door rate: 145 $/hr",
      "Fully-loaded tech cost per hour: 38 $/hr"
    ],
    "outputs": [
      "Effective labor rate: $109.68",
      "Gap vs door rate: 24.4%",
      "Labor gross margin: 65.4%",
      "Revenue left on table per month: $21,900"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter monthly labor revenue ($).",
      "Enter total hours billed to customers (hrs).",
      "Enter posted door rate ($/hr).",
      "Enter fully-loaded tech cost per hour ($/hr).",
      "Read your effective labor rate 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": {
        "laborRevenue": 41000,
        "billedHours": 370,
        "doorRate": 87,
        "loadedCost": 23
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "laborRevenue": 68000,
        "billedHours": 620,
        "doorRate": 145,
        "loadedCost": 38
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "laborRevenue": 109000,
        "billedHours": 990,
        "doorRate": 232,
        "loadedCost": 61
      }
    }
  ],
  "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": "Why is my ELR always below my door rate?",
      "a": "Some gap is normal — 5-10% from menu pricing on maintenance items and occasional goodwill adjustments. Beyond that, look at your discount log by service advisor. A single advisor discounting 15% of tickets by $50 can drag the whole shop's ELR down two or three dollars an hour without anyone flagging it on a ticket-by-ticket basis."
    },
    {
      "q": "Should ELR include warranty and comeback hours?",
      "a": "Include the hours in the denominator but only the revenue actually collected in the numerator. That's the point — comeback hours that generate zero revenue correctly drag ELR down and expose the true cost of comebacks instead of hiding them in 'billed but unpaid' hours."
    },
    {
      "q": "What's a good labor gross margin target?",
      "a": "Most profitable independent shops run 65-72% labor gross margin. Dealerships often run higher because of factory-subsidized warranty rates. Below 60% usually means either technician pay plans are too rich for the ELR you're generating, or ELR itself needs to move up."
    },
    {
      "q": "How often should I calculate this?",
      "a": "Monthly at minimum, tied to your P&L close. Weekly tracking during a pricing change or new advisor onboarding lets you catch drift before it compounds into a full month of underbilling."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/technician-efficiency-proficiency",
    "https://www.revenuelab.fyi/toolbox/car-count-aro"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Effective Labor Rate Calculator (https://www.revenuelab.fyi/toolbox/effective-labor-rate)"
}