What's a Good Gross Margin for an HVAC Business? 2025 Benchmarks
This is one of the most searched questions in the HVAC industry — and one of the most poorly answered. Most of what you'll find online gives you a single number, no context, and no explanation of why your number might be different from the benchmark even if your business is healthy.
This article gives you the actual answer: gross margin benchmarks broken down by revenue band, service mix, and market type — plus the three most common calculation errors that cause HVAC owners to believe their margin is better than it actually is.
The short answer: a good gross margin for an HVAC business is 50–58% for most residential service-focused companies. Top-quartile operators run 57–63%. If you're below 44%, you have a structural problem that needs diagnosing, not just fixing.
HVAC Gross Margin Benchmarks by Revenue Band
Gross margin varies significantly depending on your revenue level, service mix, and how efficiently your operation runs. The table below reflects residential-focused HVAC companies in the US market. Commercial-heavy operations typically run 5–10 points lower due to lower parts markup and more competitive bidding environments.
| Revenue band | Bottom quartile | Average | Top quartile | Elite (top 10%) |
|---|---|---|---|---|
| Under $500K | Below 38% | 42–48% | 50–56% | 58%+ |
| $500K–$1M | Below 40% | 44–50% | 52–58% | 60%+ |
| $1M–$2M | Below 42% | 46–52% | 53–59% | 61%+ |
| $2M–$3.5M | Below 40% | 45–51% | 52–58% | 60%+ |
| $3.5M–$7M | Below 42% | 47–53% | 54–60% | 62%+ |
Notice that margin doesn't improve linearly with revenue. The $2M–$3.5M band often sees a slight dip compared to $1M–$2M — this is the complexity zone where businesses have added overhead and headcount but not yet the systems to control it. If you're in this range and your margin is declining as revenue grows, you're experiencing a very common and very fixable pattern.
What's Actually Included in HVAC Gross Margin
Before comparing your number to these benchmarks, you need to confirm you're calculating the same thing. Gross margin in HVAC is:
(Revenue − Direct Costs) ÷ Revenue × 100
The critical question is what counts as a direct cost. Here's the correct breakdown:
Know your real gross margin — benchmarked against your revenue band.
The MarginPlug diagnostic calculates your true gross margin using correctly loaded labor costs, then benchmarks it against companies at your exact revenue level. Most owners are surprised by the gap between reported and real margin.
See my real margin Free during beta · 8 minutes · No credit cardThe 3 Ways HVAC Owners Calculate Gross Margin Wrong
This is the most important section of this article. The benchmarks above are only useful if you're calculating gross margin the same way they were measured. These three mistakes are so common that most owners reading this will recognize at least one.
Gross Margin by Service Type
Not all HVAC work carries the same margin. Knowing your margin by service type is one of the most powerful decisions you can make — it tells you which calls to optimize for and which ones you're potentially losing money on.
| Service type | Typical gross margin range | Why it varies |
|---|---|---|
| Diagnostic / service calls | 55–68% | High labor, low parts — margin depends almost entirely on labor efficiency |
| Repair (parts-heavy) | 42–55% | Parts markup discipline is the key variable — inconsistent markup kills margin here |
| System replacement (residential) | 38–52% | Equipment cost is high, competitive pricing pressure is high — margin requires strict job costing |
| Maintenance agreements | 58–72% | Predictable, schedulable, efficient — the highest-margin work type in residential HVAC |
| Commercial maintenance | 32–44% | Competitive bid environment and longer job cycles compress margin consistently |
How to Actually Improve Your HVAC Gross Margin
Most advice on improving gross margin focuses on raising prices. That's one lever — but it's not always the right first move. The four levers below are ranked by how quickly they produce results and how difficult they are to execute.
Lever 1 — Update your flat rate book (fastest, easiest)
If your pricing book hasn't been reviewed in the last 12 months, your prices are behind your costs. Labor costs rose significantly in 2022–2024. Parts prices increased 15–28% over that period. A pricing audit — recalculating the true loaded cost for your 20 most common jobs and adjusting prices accordingly — typically recovers 3–6 margin points with no operational changes required.
Lever 2 — Enforce parts markup discipline
In most HVAC businesses, parts markup is inconsistent. Techs discount parts informally, markup exceptions happen job by job, and no one is tracking the aggregate impact. Setting a hard markup floor (minimum 40% on parts, minimum 50% on refrigerant) and enforcing it through your flat rate book — not through asking techs to calculate markup in the field — recovers 2–4 margin points for most companies within 60 days.
Lever 3 — Shift your service mix toward maintenance agreements
Maintenance agreements are your highest-margin work type. Every service call that converts to a maintenance agreement increases the margin on that customer's future jobs by 10–20 points — because the work is scheduled, the tech is prepared, and there's no acquisition cost attached. A 10-point increase in maintenance agreement penetration typically adds 2–3 points to overall gross margin within a year. See our article on the HVAC maintenance agreement math for the full calculation.
Lever 4 — Reduce callback rate (highest impact, takes longest)
Callbacks are jobs that cost you full labor with zero revenue. Every callback that doesn't happen is margin directly recovered. At a 5% callback rate on 1,000 annual jobs, dropping to 2% saves 30 jobs worth of loaded labor per year. That's typically $5,400–$9,000 in recovered margin — and improved customer experience as a bonus. Read more in our breakdown of the 7 hidden profit leaks killing HVAC companies.
Know your real gross margin — not the one your accounting software shows.
MarginPlug calculates your true gross margin using correctly loaded labor costs, benchmarks it against your revenue band, and identifies whether pricing, labor burden, or service mix is suppressing it. Free during beta.
Run the free diagnostic Free during beta · No credit card · Results in minutes