{
  "slug": "med-spa-treatment-margin",
  "title": "Med Spa Treatment Margin Calculator",
  "heading": "Med Spa Treatment Profit Margin Calculator",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/med-spa-treatment-margin",
  "summary": "Calculate true margin per treatment after product cost, injector time, and room overhead.",
  "description": "Med spas often price by market comparison rather than actual cost, which leaves money on the table on high-product-cost treatments like neurotoxin and filler while underpricing low-cost, high-margin services like laser and facials. This calculator breaks down a single treatment's true margin by subtracting product cost (units used times cost per unit), injector or provider labor cost (minutes used times fully loaded hourly rate), and an allocated share of room and equipment overhead from the retail price charged. It's built around neurotoxin and filler pricing conventions — cost per unit for Botox/Dysport/Xeomin and cost per syringe for filler — but works for any per-unit or flat-fee treatment by adjusting the product cost field. The output shows margin in dollars and as a percentage of retail price, plus break-even units so you know the minimum units per treatment before the room and staff time even pay for themselves. Med spas typically target 60-75% gross margin on injectables and 80%+ on device-based treatments like laser hair removal after year one equipment payoff; anything meaningfully below that signals a pricing or waste problem worth auditing.",
  "formula": "Margin = retail price − (units × cost per unit) − (minutes × labor rate ÷ 60) − room overhead allocation. Margin % = margin ÷ retail price.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=med-spa-treatment-margin",
  "inputs": [
    {
      "id": "retailPrice",
      "label": "Retail price charged to patient",
      "kind": "number",
      "hint": null,
      "default": 650,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "units",
      "label": "Units or syringes used",
      "kind": "number",
      "hint": null,
      "default": 20,
      "unit": null,
      "min": 0,
      "max": null
    },
    {
      "id": "costPerUnit",
      "label": "Product cost per unit",
      "kind": "number",
      "hint": null,
      "default": 6.5,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "minutesUsed",
      "label": "Injector/provider time",
      "kind": "number",
      "hint": null,
      "default": 25,
      "unit": "min",
      "min": 1,
      "max": null
    },
    {
      "id": "laborRate",
      "label": "Fully loaded hourly labor rate",
      "kind": "number",
      "hint": null,
      "default": 90,
      "unit": "$/hr",
      "min": 0,
      "max": null
    },
    {
      "id": "roomOverhead",
      "label": "Room/equipment overhead per treatment",
      "kind": "number",
      "hint": null,
      "default": 15,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "margin",
      "label": "Net margin per treatment",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "marginPct",
      "label": "Margin as % of retail price",
      "format": "percent",
      "hint": null,
      "primary": false
    },
    {
      "id": "productCost",
      "label": "Total product cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "laborCost",
      "label": "Provider labor cost",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "breakevenUnits",
      "label": "Max units before margin hits zero",
      "format": "number",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Retail price charged to patient: 650 $",
      "Units or syringes used: 20",
      "Product cost per unit: 6.5 $",
      "Injector/provider time: 25 min",
      "Fully loaded hourly labor rate: 90 $/hr",
      "Room/equipment overhead per treatment: 15 $"
    ],
    "outputs": [
      "Net margin per treatment: $467.50",
      "Margin as % of retail price: 71.9%",
      "Total product cost: $130.00",
      "Provider labor cost: $37.50",
      "Max units before margin hits zero: 91.9"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter retail price charged to patient ($).",
      "Enter units or syringes used.",
      "Enter product cost per unit ($).",
      "Enter injector/provider time (min).",
      "Enter fully loaded hourly labor rate ($/hr).",
      "Enter room/equipment overhead per treatment ($).",
      "Read your net margin per treatment 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": {
        "retailPrice": 390,
        "units": 12,
        "costPerUnit": 3.9,
        "minutesUsed": 15,
        "laborRate": 55,
        "roomOverhead": 9
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "retailPrice": 650,
        "units": 20,
        "costPerUnit": 6.5,
        "minutesUsed": 25,
        "laborRate": 90,
        "roomOverhead": 15
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "retailPrice": 1040,
        "units": 32,
        "costPerUnit": 10.4,
        "minutesUsed": 40,
        "laborRate": 145,
        "roomOverhead": 24
      }
    }
  ],
  "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 margin should med spas target on neurotoxin treatments?",
      "a": "Most well-run med spas target 60-70% gross margin on Botox/Dysport/Xeomin after product cost, since injectable cost per unit ($4-8 depending on volume purchasing) eats a larger share of revenue than device-based treatments. Below 50% usually means pricing hasn't kept pace with supplier cost increases."
    },
    {
      "q": "How should I allocate laser or device overhead per treatment?",
      "a": "Take the device's monthly lease or amortized purchase cost plus maintenance, divide by expected monthly treatments, and use that as your room overhead figure. A $1,500/month laser lease doing 100 treatments a month adds $15 in overhead per session."
    },
    {
      "q": "Does injector experience level change the labor rate to use?",
      "a": "Yes — use the actual fully loaded hourly cost of whoever performs the treatment, including benefits and any commission structure. A nurse injector on commission might have a lower base hourly rate but a higher effective cost once commission on the treatment is added back in."
    },
    {
      "q": "Why track breakeven units instead of just total margin?",
      "a": "Breakeven units tells you how much room you have before a slow injector (using more product than needed) turns a profitable treatment into a loss. It's the fastest way to spot product waste or overuse during training of new injectors."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/chiropractic-membership-plan-pricing",
    "https://www.revenuelab.fyi/toolbox/urgent-care-visit-margin"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Med Spa Treatment Margin Calculator (https://www.revenuelab.fyi/toolbox/med-spa-treatment-margin)"
}