How to Calculate Hourly Shop Rate

Hourly Shop Rate Calculator .shop-rate-calculator-container { max-width: 800px; margin: 0 auto; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background: #ffffff; padding: 20px; border: 1px solid #e0e0e0; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.05); } .src-header { text-align: center; margin-bottom: 30px; background: #2c3e50; color: white; padding: 20px; border-radius: 6px; } .src-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 25px; } @media (max-width: 600px) { .src-grid { grid-template-columns: 1fr; } } .src-input-group { margin-bottom: 15px; } .src-input-group label { display: block; margin-bottom: 8px; font-weight: 600; color: #333; font-size: 0.95rem; } .src-input-group input { width: 100%; padding: 12px; border: 1px solid #ddd; border-radius: 4px; font-size: 1rem; box-sizing: border-box; transition: border-color 0.3s; } .src-input-group input:focus { border-color: #3498db; outline: none; } .src-btn { width: 100%; padding: 15px; background-color: #27ae60; color: white; border: none; border-radius: 4px; font-size: 1.1rem; font-weight: bold; cursor: pointer; transition: background-color 0.3s; margin-top: 10px; } .src-btn:hover { background-color: #219150; } .src-results { margin-top: 30px; background: #f8f9fa; padding: 20px; border-radius: 6px; border-left: 5px solid #3498db; display: none; } .src-result-row { display: flex; justify-content: space-between; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid #e9ecef; font-size: 1.1rem; } .src-result-row:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; } .src-result-row span.label { color: #555; } .src-result-row span.value { font-weight: 800; color: #2c3e50; } .src-final-rate { font-size: 1.4rem; color: #27ae60 !important; } .src-article { margin-top: 50px; line-height: 1.6; color: #444; } .src-article h2 { color: #2c3e50; margin-top: 30px; border-bottom: 2px solid #eee; padding-bottom: 10px; } .src-article h3 { color: #34495e; margin-top: 20px; } .src-article ul { margin-bottom: 20px; } .src-article li { margin-bottom: 8px; } .tooltip { font-size: 0.8rem; color: #777; font-weight: normal; } function calculateShopRate() { // 1. Get DOM elements matching IDs exactly var annualOverheadInput = document.getElementById("annualOverhead"); var annualLaborInput = document.getElementById("annualLabor"); var numTechsInput = document.getElementById("numTechs"); var weeklyHoursInput = document.getElementById("weeklyHours"); var efficiencyInput = document.getElementById("efficiency"); var profitMarginInput = document.getElementById("profitMargin"); var resultDiv = document.getElementById("srcResults"); var breakEvenDisplay = document.getElementById("breakEvenDisplay"); var finalRateDisplay = document.getElementById("finalRateDisplay"); var annualBillableDisplay = document.getElementById("annualBillableDisplay"); // 2. Parse values var overhead = parseFloat(annualOverheadInput.value); var labor = parseFloat(annualLaborInput.value); var techs = parseFloat(numTechsInput.value); var hoursPerWeek = parseFloat(weeklyHoursInput.value); var efficiency = parseFloat(efficiencyInput.value); var margin = parseFloat(profitMarginInput.value); // 3. Validation if (isNaN(overhead) || isNaN(labor) || isNaN(techs) || isNaN(hoursPerWeek) || isNaN(efficiency) || isNaN(margin)) { alert("Please fill in all fields with valid numbers."); return; } if (techs <= 0 || hoursPerWeek 0) { breakEvenRate = totalAnnualCosts / totalBillableHours; } // Final Shop Rate with Profit Margin // Formula: BreakEven / (1 – Margin%) // This calculates Gross Margin, not just Markup. // Example: Cost $80, 20% margin. Rate = 80 / (1 – 0.20) = 80 / 0.8 = $100. var decimalMargin = margin / 100; var finalRate = 0; if (decimalMargin < 1) { finalRate = breakEvenRate / (1 – decimalMargin); } else { alert("Profit margin must be less than 100%."); return; } // 5. Display Results breakEvenDisplay.innerHTML = "$" + breakEvenRate.toFixed(2); annualBillableDisplay.innerHTML = Math.round(totalBillableHours).toLocaleString(); finalRateDisplay.innerHTML = "$" + finalRate.toFixed(2); resultDiv.style.display = "block"; }

Hourly Shop Rate Calculator

Calculate your break-even and profitable hourly charge

Total Annual Billable Hours: 0
Break-Even Hourly Rate: $0.00
Recommended Shop Rate: $0.00

How to Calculate Your Hourly Shop Rate

Determining the correct hourly shop rate is the single most critical financial decision for service-based businesses, including automotive repair shops, fabrication studios, and IT consultancies. Setting your rate based on competitors ("the guy down the street charges $90") is a recipe for failure because it ignores your unique overhead structure and efficiency.

This calculator uses a "Cost-Plus" pricing model modified for service efficiency. It determines exactly what you must charge to cover every dollar of expense and achieve your desired profit margin.

The Core Components of Shop Rate

  • Overhead Absorption: Every billable hour must pay for a fraction of your rent, lights, insurance, and administrative tools.
  • Labor Burden: This is not just the hourly wage. It includes payroll taxes, workers' compensation, health benefits, and paid time off.
  • Billable Efficiency: A technician clocked in for 8 hours rarely produces 8 billable hours. Time is lost to cleanup, diagnosis, waiting for parts, and administrative tasks. The industry average often hovers between 70% and 80%.

The Calculation Formula

To find your true hourly rate, we follow these steps:

  1. Calculate Total Operating Costs: Add your Annual Overhead + Annual Fully Burdened Labor Cost.
  2. Determine Capacity: Multiply (Number of Techs) × (Weekly Hours) × (52 Weeks).
  3. Adjust for Reality (Efficiency): Multiply your Capacity by your Efficiency Rate (e.g., 0.75). This gives you your Total Annual Billable Hours.
  4. Find Break-Even: Divide Total Operating Costs by Total Billable Hours. This is the minimum you must charge to earn $0 profit.
  5. Add Profit Margin: Divide your Break-Even Rate by (1 – Desired Margin %).

Why Use Margin Instead of Markup?

Many shop owners make the mistake of simply adding a percentage to their cost (markup). However, Margin reflects the percentage of the final sale price that is profit. If you want to keep 20 cents of every dollar you collect, you must use the margin formula provided in this calculator.

Improving Your Shop Rate Without Raising Prices

If the calculator outputs a rate higher than your market can bear, you have two levers to pull:

  • Increase Efficiency: Improving your billable efficiency from 70% to 85% drastically lowers your break-even cost because you have more hours to spread the overhead across.
  • Reduce Overhead: Lowering fixed monthly costs directly reduces the burden on every hour billed.

Leave a Comment