Most HVAC companies run 8–12% net profit margin. Top shops hit 15%+. The gap is almost never about labor rates — it's about how many truck rolls never turn into revenue.
Every time you drive out for a free look, you spend $150–$300 before collecting a dime. At a 50% close rate, half of those estimates are pure margin destruction.
Free trial included. 10 AI intake packets, no credit card required.
Net profit margin is what's left after paying yourself, your team, your trucks, and every overhead cost. Gross margin is what's left after direct job costs (labor + parts) only.
Source: Service Titan Benchmarks 2025, ACCA Business Data, IBISWorld HVAC industry reports.
Say you run 15 estimate calls per week. If 8 close (53%), 7 don't. Each non-converting trip costs:
7 lost estimates/week × $330 = $2,310/week or $120,000/year in unrecovered margin. That's the difference between an 8% and a 14% net profit margin for a mid-size shop.
Each callback costs roughly $650: the return dispatch, the warranty parts, and the slot that could have been a new job. At a 20% callback rate on 400 monthly calls, that's $52,000/month in eroded margin.
SpotFix AI intake gives your tech the full picture before dispatch, reducing callbacks by ensuring they arrive with the right parts and information.
When a technician arrives blind — no advance diagnostic, no parts prep — they discover the issue on-site, can't fix it, and must return. That second truck roll is 100% overhead: no new revenue, just cost.
The SpotFix AI report includes a probable parts list so you can stage the right materials before dispatch.
If only 35% of inbound calls become booked jobs (the low-performing average), 65 calls out of every 100 disappear. The intake link keeps the customer engaged: they fill it out, you follow up with a confident quote, and your close rate climbs.
SpotFix AI intake converts the "can you give me a free estimate?" call from a liability into a qualified lead — without rolling a truck.
Customers who fill out the intake actually convert at higher rates — they're committed and informed, not just browsing.
HVAC tends to have higher equipment costs and seasonal demand swings than other trades. Here's how the margins compare.
| Trade | Gross Margin | Net Margin (avg) | Net Margin (top 15%) | Avg Ticket Size |
|---|---|---|---|---|
| HVAC | 40–50% | 8–12% | 15–20% | $350–$600 |
| Plumbing | 40–55% | 10–15% | 18–22% | $300–$500 |
| Electrical | 40–50% | 8–15% | 16–20% | $250–$450 |
| Handyman / GC | 50–70% | 10–20% | 20–30% | $150–$400 |
See also: plumbing profit margin · electrical contractor profit margin · handyman profit margin
Each percentage point of FTFR improvement is worth roughly $5,000–$12,000 per technician per year in recovered labor and reduced callbacks. See the FTFR guide →
Service agreements typically add 3–5 percentage points to net profit because recurring revenue has near-zero acquisition cost and those customers have higher first-time fix rates (equipment history is known).
A technician who arrives knowing the equipment age and warranty status can credibly present repair vs. replace options. Average ticket increases by $200–$400 when good/better/best is offered rather than a single price.
Poor routing means technicians spend 20–35% of their day in the truck. Tighter territory management and remote pre-screening (using intake data to cluster nearby jobs) adds 1–2 jobs per tech per week.
Many high-margin shops charge $79–$129 for estimates (applied to the job if booked) or use intake pre-screening to avoid dispatching on low-probability leads. Either approach protects margin from free-estimate erosion.
Revenue is a vanity metric. Shops that track gross margin per job type discover which services are silently unprofitable — common culprits: warranty work, rush calls, and estimates for installed equipment under 5 years old.
Labor rates, competition density, and seasonality vary significantly by market. These city-specific pages cover local benchmarks and what the top-performing HVAC shops do differently in each market.
Send customers the SpotFix AI intake link. Get the diagnostic report. Quote without rolling a truck.