{
  "slug": "salon-service-pricing-target-hourly",
  "title": "Service Pricing from Target Hourly Rate",
  "heading": "Salon Service Pricing Calculator (Target Hourly Method)",
  "category": "financial",
  "url": "https://www.revenuelab.fyi/toolbox/salon-service-pricing-target-hourly",
  "summary": "Price each service backward from the hourly rate you need to earn.",
  "description": "Most salons price services by copying competitors or nudging last year's price list, which drifts away from actual costs over time. This calculator flips the process: you set the hourly rate the chair needs to generate to cover labor, overhead, and target profit, then it prices each service based on how long it actually takes plus its product cost. Enter your desired hourly rate, the service's chair time in minutes, product cost, and a processing/downtime buffer, and you get a defensible price. This method catches services that look profitable on paper but actually lose money once true time (consultation, processing, cleanup) is counted, which is extremely common with balayage, keratin treatments, and other long-format services.",
  "formula": "Price = (target hourly ÷ 60 × total minutes including buffer) + product cost, then rounded to a market-friendly price point.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=salon-service-pricing-target-hourly",
  "inputs": [
    {
      "id": "targetHourly",
      "label": "Target hourly rate for the chair",
      "kind": "number",
      "hint": null,
      "default": 85,
      "unit": "$",
      "min": 0,
      "max": null
    },
    {
      "id": "activeMin",
      "label": "Active service time",
      "kind": "number",
      "hint": null,
      "default": 45,
      "unit": "min",
      "min": 1,
      "max": null
    },
    {
      "id": "processingMin",
      "label": "Processing / downtime (still occupies chair)",
      "kind": "number",
      "hint": null,
      "default": 25,
      "unit": "min",
      "min": 0,
      "max": null
    },
    {
      "id": "cleanupMin",
      "label": "Consultation + cleanup buffer",
      "kind": "number",
      "hint": null,
      "default": 10,
      "unit": "min",
      "min": 0,
      "max": null
    },
    {
      "id": "productCost",
      "label": "Product cost for this service",
      "kind": "number",
      "hint": null,
      "default": 12,
      "unit": "$",
      "min": 0,
      "max": null
    }
  ],
  "outputs": [
    {
      "id": "roundedPrice",
      "label": "Suggested service price",
      "format": "currency",
      "hint": null,
      "primary": true
    },
    {
      "id": "rawPrice",
      "label": "Exact calculated price",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "totalMin",
      "label": "Total chair-occupied minutes",
      "format": "number",
      "hint": null,
      "primary": false
    },
    {
      "id": "laborValue",
      "label": "Labor/overhead value of time",
      "format": "currency",
      "hint": null,
      "primary": false
    },
    {
      "id": "impliedHourly",
      "label": "Implied hourly rate at raw price",
      "format": "currency",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Target hourly rate for the chair: 85 $",
      "Active service time: 45 min",
      "Processing / downtime (still occupies chair): 25 min",
      "Consultation + cleanup buffer: 10 min",
      "Product cost for this service: 12 $"
    ],
    "outputs": [
      "Suggested service price: $130",
      "Exact calculated price: $125.33",
      "Total chair-occupied minutes: 80",
      "Labor/overhead value of time: $113.33",
      "Implied hourly rate at raw price: $94.00"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter target hourly rate for the chair ($).",
      "Enter active service time (min).",
      "Enter processing / downtime (still occupies chair) (min).",
      "Enter consultation + cleanup buffer (min).",
      "Enter product cost for this service ($).",
      "Read your suggested service price 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": {
        "targetHourly": 50,
        "activeMin": 25,
        "processingMin": 15,
        "cleanupMin": 5,
        "productCost": 7
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "targetHourly": 85,
        "activeMin": 45,
        "processingMin": 25,
        "cleanupMin": 10,
        "productCost": 12
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "targetHourly": 135,
        "activeMin": 70,
        "processingMin": 40,
        "cleanupMin": 15,
        "productCost": 19
      }
    }
  ],
  "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 include processing time in pricing?",
      "a": "Processing time (color developing, keratin sitting) occupies the chair even though the stylist isn't actively working, which means it's still opportunity cost — the stylist can't book another client in that slot unless they're double-booking. Pricing that ignores processing time systematically undervalues color and chemical services."
    },
    {
      "q": "How do I pick my target hourly rate?",
      "a": "Add your desired stylist compensation per hour, the salon's overhead cost per chair-hour (rent, utilities, admin divided by total booked hours), and a profit margin. A common range for full-service salons is $60-$120 per chair-hour depending on market and stylist level; luxury and med-spa markets run higher."
    },
    {
      "q": "Should every service round to the same price ending?",
      "a": "Rounding to the nearest $5 keeps a clean, easy-to-read menu and avoids odd cents that look unprofessional. Some salons deliberately price at $X9 (e.g., $89, $129) for perceived value; either works as long as it's consistent across the menu."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/hair-color-cost-per-service",
    "https://www.revenuelab.fyi/toolbox/salon-stylist-hourly-productivity",
    "https://www.revenuelab.fyi/toolbox/spa-package-pricing-calculator"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — Service Pricing from Target Hourly Rate (https://www.revenuelab.fyi/toolbox/salon-service-pricing-target-hourly)"
}