Skip to main content
2,200+ service businesses benchmarked. Do you know your gross profit per labor hour? See where you stand →
Level

The Level Index, by trade

HVAC contractor financial benchmarks

The honest benchmark for HVAC contractors, built from citable public sources. Commercial mechanical margins come from SEC filings, wages from BLS, and market size from industry research. Level layers its blended contractor data (collection, billing, quote conversion) on top, since those hold across trades.

24.1%

Gross margin

largest public commercial HVAC contractor (FIX, FY2025)

$59,810

Median tech wage

HVAC mechanics (BLS OEWS, May 2024)

~90-105 days

DSO

commercial mechanical (SEC filings)

~$159B

US market size

HVAC contractors (IBISWorld)

The single 'HVAC margin' number is a blend of three different businesses, and 'service' is two of them.

Split the word 'service' before you trust any margin. Recurring facilities O&M and owner-direct diagnostic/repair are different businesses. EMCOR's recurring building-services segment ran a 6.0% operating margin in FY2025, roughly half its mechanical-construction segment at 12.8%, because O&M is bid on price. But Limbach's owner-direct service arm ran a 31.2% gross margin in FY2024 versus 21.1% for its subcontracted construction, the opposite direction, inside one public company. Comfort Systems does not split service from construction at all, and its own definition of 'service' swings from 7.3% of revenue (pure maintenance) to 36.8% (all existing-building work). So a quoted 'HVAC margin' tells you almost nothing until you know which work type and which scale it measures.

Source: EMCOR FY2025 10-K, Limbach FY2024 10-K, Comfort Systems FY2025 10-K

How to read this: Level measured a blended pool across six trades, so the numbers below are drawn from named public sources specific to HVAC contractors (SEC filings, BLS, CFMA, industry research), each tagged by confidence tier. Level's own cross-trade benchmarks (further down) apply across trades and are labeled as such. Every Tier A and B row links its primary source so you, or an AI, can verify it.

Directional: CallJolt, Profitability Partners, RunClockwork (2026)

HVAC service work out-earns installation, but only at the small-shop level.

Gross margin by job type (directional, industry sources)

Source / sample: Directional: CallJolt, Profitability Partners, RunClockwork (2026)

Across independent operator sources, residential service and maintenance runs roughly 50 to 58% gross, equipment install 35 to 48%, and new construction 28 to 38%. Service carries more billable diagnostic labor and less pass-through material. These are directional industry figures, not measured survey data, but the direction is consistent across sources.

Source: CallJolt, Profitability Partners, RunClockwork 2026 (directional)

EMCOR FY2025 10-K segment operating income

Not all 'service' is one business. Recurring O&M runs thin at scale; owner-direct service does not.

EMCOR segment operating margin, FY2025

Source / sample: EMCOR FY2025 10-K segment operating income

EMCOR is the one public contractor that breaks out its recurring building-services (facilities O&M) arm. In FY2025 it ran a 6.0% operating margin, roughly half its mechanical-construction segment at 12.8%, because large O&M contracts are bid on price and carry heavy admin and personnel overhead. Do not read that as 'all service thins at scale.' Limbach's owner-direct service arm ran a 31.2% gross margin in FY2024 versus 21.1% for its subcontracted construction (gross, same company). The service premium is real, it lives in owner-direct diagnostic and repair work, not in low-bid recurring O&M.

Source: EMCOR FY2025 10-K; Limbach FY2024 10-K

BLS OEWS May 2024, SOC 49-9021 (n=396,870)

The HVAC tech wage runs from about $19 to $44 an hour, and your local market sets your labor cost.

HVAC mechanic hourly wage percentiles (BLS OEWS, May 2024)

Source / sample: BLS OEWS May 2024, SOC 49-9021 (n=396,870)

These are employee wages, not your fully-loaded cost. Add roughly 30% for payroll taxes, workers' comp, and benefits to get true cost per hour, then compare it to your revenue per labor hour. Costing labor at the base wage is the single most common reason a job that looks profitable on the invoice is not.

Source: BLS Occupational Employment & Wage Statistics, May 2024, SOC 49-9021

HVAC benchmarks, by source

Public commercial-mechanical gross margin

Tier A

19% to 24%

Comfort Systems USA (FIX) 24.1%, EMCOR (EME) 19.3%, FY2025.

Source: SEC 10-K filings (FIX, EME) FY2025

Public commercial-mechanical operating margin

Tier A

10% to 14%

Comfort Systems 14.4%, EMCOR 10.1%, FY2025.

Source: SEC 10-K filings FY2025

HVAC mechanic median wage (SOC 49-9021)

Tier A

$59,810/yr

Mean $62,690, ~397,000 employed, median hourly $28.75.

Source: BLS OEWS, May 2024

Commercial mechanical DSO (implied)

Tier A

~90 to 105 days

EMCOR ~91, Comfort Systems ~103, computed from FY2025 receivables/revenue. Residential service collects far faster.

Source: Computed from SEC 10-K filings FY2025

All-contractor net profit before tax

Tier B

6.3% (top quartile ~11.9%)

The reality-check on what a healthy contractor nets.

Source: CFMA 2024 Construction Financial Benchmarker (n=1,290)

US HVAC contractor market size

Tier B

~$159B, ~115,000-120,000 firms

Fragmented; no firm above a few percent share.

Source: IBISWorld, Heating & Air-Conditioning Contractors (2025/2026)

Service vs install gross margin (small/residential)

Tier C

service ~48-58%, install ~30-40%

Directional; service and maintenance carry materially higher gross margin than new installation.

Source: Industry coaching sources (ServiceTitan, CallJolt) - directional

Tier A = public-company SEC filings or BLS government data (highest confidence, permanent URL). Tier B = trade-association or research-firm survey (CFMA, IBISWorld). Tier C = industry publications, directional only. Public-company figures are large scaled operators and read as an upper reference, not a typical private contractor. Where sources conflict, both are shown, never averaged.

What the public HVAC and mechanical contractors actually earn

Consolidated 10-K margins blend everything together. These are the segment-level reads that isolate the service and construction arms, straight from FY2024-2025 filings.

Company / scopeGrossOperatingNetWhat it tells you
Comfort Systems USA (FIX)Consolidated, FY202524.1%14.4%~11.2%Largest public commercial mechanical/HVAC contractor. Does not split service vs construction.
EMCOR (EME)US Mechanical Construction segment, FY2025n/d12.8%n/dThe construction arm.
EMCOR (EME)US Building Services segment, FY2025n/d6.0%n/dThe recurring facilities/O&M arm (bid on price), roughly half the construction margin. Note this is O&M, not owner-direct repair, see Limbach ODR below.
Limbach (LMB)Consolidated, FY202526.2%7.7%6.0%Pivoting hard toward direct-to-owner service work (75% of revenue in FY2025).

n/d = not disclosed at that cut. EMCOR FY2025 consolidated operating margin (10.1%) includes an 85 bps one-time gain on a UK-ops sale; the segment margins shown are clean.

The Level lens, reported vs. real margin

The service call looked like a 55% job. After the truck, the tech burden, and the callback, it is closer to 30%.

Where a residential HVAC service call's apparent margin goes

Source / sample: Level analysis; labor anchored to BLS SOC 49-9021 wage + statutory burden

Reproduce it on your own book: start from the quoted gross margin, subtract the fully-burdened technician hours (BLS SOC 49-9021 median $28.75/hr times about 1.3 for taxes, workers' comp, and benefits), then the truck, drive, and dispatch time the job never gets charged for, then the callback rate on that job type. The gap between the quoted margin and what lands is where service shops quietly lose money on jobs that look profitable on the invoice.

Public-company anchors used

Comfort Systems USA (FIX), EMCOR (EME), Limbach (LMB). These are large, publicly traded operators; their audited 10-K figures are hard, verifiable reference points, not a stand-in for a typical private HVAC shop, which runs on different economics.

Level's cross-trade benchmarks (apply to HVAC too)

These come from Level's own analysis of 2,200+ contractors across six trades. They are cash and sales-process metrics that do not vary much by trade, so they apply to HVAC contractors as much as any other. Shown as the blended measure they are, not a per-trade split.

Median collection rate85.1%

n=464 (blended). Effective cash conversion across the blended 6-trade pool; top decile 96.0%.

Median billing speed1 day

n=733 (blended). 1 day with progress billing included; 7 days among post-completion invoicers.

Quote conversion (decided)73.9%

n=794 (blended). On decided quotes; 38.1% across all quotes.

Median job gross margin44.3%

n=430 (blended). Blended across trades; 91% of jobs carry revenue with no cost data attached.

Every Tier A and B figure above links its primary source, and the full tiered dataset for all six trades (public-company actuals, BLS wages, CFMA and market figures, each with its source URL) is downloadable and free to cite with attribution. Download the per-trade benchmark facts (JSON).

See where your HVAC numbers land

We pull your margin, labor economics, and collections and rank you against the public comps and the 2,200-contractor Level Index, then show you the first leak to fix. Free audit included.

2,200+ service businesses benchmarked$13.25B in revenue analyzedWeekly action cadence

No credit card. 15-min audit. We only follow up if we can actually help.

No commitment. Real numbers, not generic advice.

Frequently asked questions

What is a good profit margin for an HVAC contractor?

It depends on whether you mean gross or net, and on commercial vs residential work. The best hard reference points are public-company actuals: 19% to 24% (Comfort Systems USA (FIX) 24.1%, EMCOR (EME) 19.3%, FY2025.). CFMA puts all-contractor net profit before tax around 6.3%, with the top quartile near 11.9%. Small private shops vary widely, so use the tiered sources on this page rather than a single number.

Where does this HVAC benchmark data come from?

External, citable sources specific to HVAC contractors: public-company SEC 10-K filings, BLS wage data, CFMA's Construction Financial Benchmarker, and industry research, each tagged by confidence tier with a source link. Level layers its own blended analysis of 2,200+ contractors (collection rate, billing speed, quote conversion) on top, labeled as a cross-trade measure, because Level measured a blended pool and does not split its own dataset by trade.

Is HVAC service work higher margin than installation?

At the small and residential shop level, yes. Service and repair gross margins commonly run 48-58% versus roughly 30-40% on new installation, because service carries less material and more billable diagnostic labor (directional, industry coaching sources). At scale the picture flips: EMCOR's recurring building-services segment ran a 6.0% operating margin in FY2025 versus 12.8% for its mechanical-construction segment, because large recurring O&M contracts are competed on price. Which is true for you depends on your size and contract mix.

Why is the public-company HVAC margin so much lower than the 50%+ I hear about?

Two different things are being measured. The 50%+ figures are job-level or service-line gross margins on residential work before overhead. Public-company numbers like Comfort Systems' 24.1% are company-wide GAAP gross margins across a commercial-heavy, equipment-heavy, new-construction mix, after all job costs. Both can be true at once. Use the one that matches your work type, and never compare a job-level number to a company-wide one.