Every HVAC business owner has the same question: Am I making enough money?
You know your revenue. You probably know your payroll. But do you know your actual profit margins on service calls versus installs? On residential versus commercial? On new customers versus maintenance agreement clients?
Most don’t. And that’s why most HVAC companies leave 5-15% of potential profit on the table.
Here’s what your margins should be—and how to get there.
HVAC Industry Profit Margin Benchmarks
Based on data from trade associations and HVAC-specific business consultants, here’s what healthy companies achieve:
Service Work (Diagnostics & Repairs)
| Metric | Target Range | Top Performers |
|---|---|---|
| Gross Margin | 55-65% | 65-70% |
| Net Margin | 15-25% | 22-28% |
| Revenue per Tech/Day | $1,500-$2,500 | $2,500-$3,500 |
| Average Ticket | $350-$600 | $500-$800 |
Service work should be your highest-margin work. Emergency calls, diagnostic fees, and repair labor all command premium pricing because customers have immediate pain.
Installation Work (Replacements & New Construction)
| Metric | Target Range | Top Performers |
|---|---|---|
| Gross Margin | 35-45% | 45-50% |
| Net Margin | 12-18% | 18-22% |
| Revenue per Crew/Day | $8,000-$12,000 | $12,000-$18,000 |
| Close Rate (Proposals) | 35-50% | 50-65% |
Installs have lower margins but higher absolute dollars. A 40% margin on a $15,000 job is $6,000—more than most service calls gross.
Maintenance Agreements
| Metric | Target Range | Top Performers |
|---|---|---|
| Gross Margin | 50-60% | 60-70% |
| Net Margin | 25-35% | 35-45% |
| Renewal Rate | 70-80% | 85-92% |
| Capture Rate (Service → Agreement) | 20-30% | 35-50% |
Maintenance agreements are strategic. Lower per-visit margins, but predictable recurring revenue and first-call access when systems fail.
Why Most HVAC Companies Fall Short
If your margins are below these benchmarks, it’s probably one of these five issues:
1. Labor Burden Blindness
You pay a lead tech $28/hour. Your actual cost per hour?
Closer to $38-42.
Here’s the math:
Base wage: $28.00
+ FICA (7.65%): $2.14
+ Unemployment (~3%): $0.84
+ Workers Comp (~10%): $2.80
+ Health insurance (allocated): $3.50
+ Paid time off: $2.10
+ Training time: $1.00
─────────────────────────
Burdened rate: $40.38/hour
If you’re charging based on $28/hour, you’re subsidizing every job by $12/hour per tech.
2. Overhead Amnesia
Every job needs to cover its share of overhead: rent, insurance, trucks, dispatch software, marketing, phone systems, uniforms, and admin payroll.
Most HVAC companies have overhead between $25,000-$80,000/month depending on size.
The formula:
Overhead per job = Monthly overhead ÷ Jobs completed per month
Example: $45,000 overhead ÷ 90 jobs = $500/job minimum just to break even on overhead.
If your average service ticket is $400 with 55% gross margin, you’re netting $220 before overhead. That’s a loss.
3. Legacy Pricing
Many HVAC companies set prices years ago and only adjusted for “inflation.” But costs have compounded:
- Workers comp premiums increased
- Van prices doubled
- Parts are more expensive
- Tech wages rose 30-40%
- Software subscriptions add up
Your $89 service call from 2018 should probably be $139-$159 today.
4. Flat Rate Book Neglect
If you use flat rate pricing (you should), when did you last update your book?
Most flat rate prices are built on:
- Old labor times that don’t match current repair complexity
- Outdated part costs
- Wrong burden rates
- Missing overhead allocation
Audit your top 20 service calls. Calculate actual cost and required price. You’ll likely find 5-10 that are underwater.
5. Install Margin Erosion
Install margins get squeezed by:
- Underbidding — Competing on price against companies that don’t know their numbers
- Scope creep — “While you’re here, can you also…” (for free)
- Return trips — Callbacks for issues that should’ve been caught
- Commission structures — Incentivizing revenue over profit
How to Fix HVAC Margins: A Step-by-Step Approach
Step 1: Know Your True Costs
For each job type, calculate:
- Direct Labor = Hours × Burdened rate (not base wage)
- Materials = Actual cost including freight and handling
- Equipment = Truck wear, tool depreciation, specialty equipment
- Overhead Allocation = Per-job share of monthly overhead
Add these up. This is your floor. Any price below this loses money.
Step 2: Set Target Margins by Job Type
Apply different targets based on job type:
| Job Type | Minimum Gross Margin |
|---|---|
| Emergency service (nights/weekends) | 65% |
| Standard service call | 55% |
| Maintenance visit | 55% |
| Residential install | 38% |
| Commercial install | 32% |
| New construction | 25% |
Step 3: Calculate Required Prices
Use this formula:
Required Price = Total Costs ÷ (1 - Target Margin)
Example: Job costs $650 total, targeting 55% gross margin:
Price = $650 ÷ (1 - 0.55) = $650 ÷ 0.45 = $1,444
If you’re charging $1,200, you’re giving away $244.
Step 4: Track Actual vs. Estimated
For every job, record:
- Estimated labor hours vs. actual
- Estimated materials vs. actual
- Any callbacks or warranty work
After 90 days, you’ll see patterns:
- Which job types are underpriced
- Which techs are most efficient
- Where scope creep happens
Step 5: Adjust Quarterly
Update your flat rate book (or estimates) based on real data:
- Increase prices on underperforming categories
- Add time buffer to jobs that consistently run over
- Adjust overhead allocation as costs change
Pricing Strategies That Work
Good, Better, Best (Install Proposals)
Present three options:
- Good: Base system, meets code, basic warranty — Lower margin but captures price-sensitive buyers
- Better: Mid-tier equipment, extended warranty, basic IAQ — Your target margin
- Best: Premium equipment, longest warranty, full IAQ package — Highest margin
60-70% of customers choose “Better” when it’s positioned as the smart middle ground.
Diagnostic Fees That Stick
Many HVAC companies undercharge for diagnostics because they fear losing the repair.
Better approach:
Charge a real diagnostic fee ($89-$149) but waive it if they proceed with repair same-day. You capture value when they don’t buy, don’t lose sales when they do.
Maintenance Agreement Pricing
Price maintenance agreements for:
- Cost of two visits (labor + drive time)
- Priority scheduling value
- Discount on repairs (10-15%)
- First-year margin target: 50%+
Don’t price maintenance as a loss leader. It’s a product with real value.
What To Do If You’re Behind
If your margins are significantly below benchmark, here’s the sequence:
- Calculate your break-even per job — Know the minimum before anything else
- Raise prices on new customers immediately — They have no anchor
- Audit your worst-performing job types — Fix the biggest leaks first
- Implement callback tracking — Measure what rework actually costs
- Review tech efficiency — Same job, different tech = different margins
Margins don’t fix themselves. But they’re also not mysterious. It’s math—you just need to do it.
Margin Benchmarks: Quick Reference
Save this:
| Metric | Service | Install | Maintenance |
|---|---|---|---|
| Gross Margin Target | 55-65% | 35-45% | 50-60% |
| Net Margin Target | 15-25% | 12-18% | 25-35% |
| Labor as % of Revenue | 25-30% | 20-28% | 30-35% |
| Materials as % of Revenue | 15-20% | 35-45% | 5-10% |
Free Resource: Job Costing Template
Tracking margins manually is tedious. We built a spreadsheet that does the math automatically.
Enter your costs, and it calculates:
- True job profitability
- Required prices for target margins
- Overhead allocation per job
- Labor burden calculations
Get the Free Job Costing Template →
When to Get Help
Most HVAC businesses can fix margin issues themselves with better data and disciplined pricing.
But if you’re:
- Growing revenue while profits stay flat
- Unable to hire because you can’t afford market wages
- Feeling busier but not wealthier
Those are signs of systemic issues that go beyond pricing. You might need operational help—someone to look at your whole business model, not just your price book.
Schedule a free consultation → to see if we can help.
Related Pricing Guides
See how pricing works in other trades:
- How to Price Plumbing Jobs — Complete markup and margin guide for plumbers
- Electrical Contractor Pricing Guide — Pricing strategies for electricians
- Roofing Contractor Pricing Guide — Storm work, retail, and commercial roofing margins
- Landscaping Pricing Guide — Maintenance contracts and installation pricing
- General Contractor Pricing Guide — Sub markup, change orders, and bid strategies for GCs