How to Calculate Hvac Labor Rate

.hvac-calc-container { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; max-width: 800px; margin: 20px auto; padding: 25px; border: 1px solid #ddd; border-radius: 8px; background-color: #f9f9f9; color: #333; } .hvac-calc-container h2 { color: #0056b3; text-align: center; margin-top: 0; } .hvac-calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 20px; } @media (max-width: 600px) { .hvac-calc-grid { grid-template-columns: 1fr; } } .hvac-input-group { display: flex; flex-direction: column; } .hvac-input-group label { font-weight: bold; margin-bottom: 5px; font-size: 14px; } .hvac-input-group input { padding: 10px; border: 1px solid #ccc; border-radius: 4px; font-size: 16px; } .hvac-btn { background-color: #0056b3; color: white; padding: 15px; border: none; border-radius: 4px; width: 100%; font-size: 18px; cursor: pointer; font-weight: bold; transition: background-color 0.3s; } .hvac-btn:hover { background-color: #004494; } .hvac-results { margin-top: 25px; padding: 20px; background-color: #e9f5ff; border-radius: 4px; border-left: 5px solid #0056b3; } .hvac-result-item { display: flex; justify-content: space-between; margin-bottom: 10px; font-size: 16px; } .hvac-result-item strong { color: #0056b3; } .hvac-article { margin-top: 40px; line-height: 1.6; } .hvac-article h3 { color: #222; border-bottom: 2px solid #0056b3; padding-bottom: 5px; } .hvac-example { background: #fff; padding: 15px; border-left: 4px solid #28a745; margin: 20px 0; }

HVAC Labor Rate Calculator

Burdened Labor Cost:
Overhead Allocation:
Break-Even Rate:
Target Hourly Labor Rate:

How to Calculate Your HVAC Labor Rate

Setting the correct labor rate is the difference between a thriving HVAC business and one that struggles to keep the lights on. Many contractors make the mistake of simply matching their competitors, but your rate must be based on your specific business costs.

1. Determine the Burdened Labor Cost

This is the actual cost of employing a technician beyond their base hourly wage. It includes payroll taxes (FICA, SUTA, FUTA), workers' compensation insurance, health insurance, 401k contributions, and paid time off. Typically, labor burden ranges from 20% to 40% of the base wage.

2. Calculate Overhead Allocation

Overhead covers everything that isn't direct labor or materials. This includes shop rent, truck payments, fuel, dispatch software, office staff salaries, and marketing. To find your overhead per billable hour, divide your total monthly overhead by the number of hours your technicians actually bill to customers.

Realistic Example:
If your tech earns $30/hr and your labor burden is 25%, the burdened cost is $37.50.
If your monthly overhead is $6,000 and you have 120 billable hours, your overhead allocation is $50/hr.
Your Break-Even Rate is $87.50/hr. To make a 20% profit margin, you must charge approximately $109.38/hr.

The Billable Hour Trap

A major mistake in HVAC pricing is assuming a 40-hour work week is 40 hours of billable time. In reality, drive time, vehicle maintenance, shop organization, and training reduce "wrench time." Most efficient HVAC companies aim for 70% to 80% billable efficiency. If your tech works 160 hours a month but only bills 110, you must base your calculations on those 110 hours to ensure overhead is covered.

Applying Profit Margin

Profit is not what you pay yourself as the owner (that should be in overhead or labor); profit is the money left over to grow the business. Note that a 20% markup is different from a 20% margin. To calculate a margin, you divide your break-even rate by (1 – Desired Profit %). This ensures your profit is 20% of the total price charged to the customer.

function calculateHVACRate() { var wage = parseFloat(document.getElementById('technicianWage').value); var burdenPercent = parseFloat(document.getElementById('laborBurden').value); var overhead = parseFloat(document.getElementById('monthlyOverhead').value); var billableHours = parseFloat(document.getElementById('billableHours').value); var profitPercent = parseFloat(document.getElementById('profitMargin').value); if (isNaN(wage) || isNaN(burdenPercent) || isNaN(overhead) || isNaN(billableHours) || isNaN(profitPercent)) { alert("Please enter valid numbers in all fields."); return; } if (billableHours = 100) { alert("Profit margin must be less than 100%."); return; } // 1. Calculate Burdened Wage var burdenedWage = wage * (1 + (burdenPercent / 100)); // 2. Calculate Overhead per Hour var overheadPerHour = overhead / billableHours; // 3. Calculate Break-Even var breakEven = burdenedWage + overheadPerHour; // 4. Calculate Final Rate (Using Margin Formula: Cost / (1 – Margin)) var finalRate = breakEven / (1 – (profitPercent / 100)); // Display Results document.getElementById('resBurdened').innerText = "$" + burdenedWage.toFixed(2) + " /hr"; document.getElementById('resOverhead').innerText = "$" + overheadPerHour.toFixed(2) + " /hr"; document.getElementById('resBreakeven').innerText = "$" + breakEven.toFixed(2) + " /hr"; document.getElementById('resFinal').innerText = "$" + finalRate.toFixed(2) + " /hr"; document.getElementById('hvacResults').style.display = 'block'; }

Leave a Comment