Salon Pricing Calculator

Professional Salon Pricing Calculator

Calculate service rates based on costs, time, and profit targets.

Pricing Results

Labor Cost: $0.00
Overhead Allocation: $0.00
Total Break-Even Cost: $0.00
Recommended Service Price: $0.00

How to Use the Salon Pricing Calculator

Setting the right price for your salon services is critical for both business longevity and personal income. This calculator helps you look beyond "what the shop down the street charges" and focuses on your actual business costs.

Understanding the Inputs

  • Product Cost: The actual cost of materials used (color tubes, developer, foils, backbar products).
  • Service Time: Total minutes from consultation to checkout.
  • Hourly Rate: What you want to pay yourself (or your stylist) per hour.
  • Monthly Overhead: Fixed costs like rent, utilities, insurance, and marketing.
  • Billable Hours: The actual hours per month you are behind the chair making money.
  • Profit Margin: The extra percentage kept by the business for growth and reinvestment.

The Formula Behind the Math

Our calculator uses a professional cost-plus pricing model:

  1. Labor Cost: (Time / 60) × Hourly Rate
  2. Service Overhead: (Time / 60) × (Monthly Overhead / Billable Hours)
  3. Break-Even: Labor Cost + Overhead + Product Cost
  4. Final Price: Break-Even / (1 – (Margin / 100))

Practical Example

Imagine a Balayage service:
– Product Cost: $25
– Time: 180 minutes (3 hours)
– Hourly Rate: $40
– Monthly Overhead: $2,000 / 100 billable hours ($20/hr)
Labor ($120) + Overhead ($60) + Product ($25) = $205 Break-Even.
With a 20% margin, your recommended price would be $256.25.

function calculateSalonPrice() { var productCost = parseFloat(document.getElementById('productCost').value); var serviceTime = parseFloat(document.getElementById('serviceTime').value); var hourlyRate = parseFloat(document.getElementById('hourlyRate').value); var overhead = parseFloat(document.getElementById('monthlyOverhead').value); var billableHours = parseFloat(document.getElementById('billableHours').value); var profitMargin = parseFloat(document.getElementById('profitMargin').value); // Validation if (isNaN(productCost) || isNaN(serviceTime) || isNaN(hourlyRate) || isNaN(overhead) || isNaN(billableHours) || isNaN(profitMargin)) { alert('Please fill in all fields with valid numbers.'); return; } if (billableHours = 100) { alert('Profit margin must be less than 100%.'); return; } // Calculations var laborCost = (serviceTime / 60) * hourlyRate; var overheadPerHour = overhead / billableHours; var allocatedOverhead = (serviceTime / 60) * overheadPerHour; var breakEven = productCost + laborCost + allocatedOverhead; // Final Price based on margin (Cost / (1 – margin)) var finalPrice = breakEven / (1 – (profitMargin / 100)); // Display results document.getElementById('resLabor').innerText = '$' + laborCost.toFixed(2); document.getElementById('resOverhead').innerText = '$' + allocatedOverhead.toFixed(2); document.getElementById('resBreakEven').innerText = '$' + breakEven.toFixed(2); document.getElementById('resFinalPrice').innerText = '$' + finalPrice.toFixed(2); document.getElementById('resultArea').style.display = 'block'; // Smooth scroll to result document.getElementById('resultArea').scrollIntoView({ behavior: 'smooth', block: 'nearest' }); }

Leave a Reply

Your email address will not be published. Required fields are marked *