The Level Index, by trade
Mechanical contractor financial benchmarks
The honest benchmark for commercial mechanical contractors, built from the public comps that ARE mechanical contractors (Comfort Systems, EMCOR, Limbach). Margins and DSO come straight from their SEC filings. Level layers its blended contractor data on top.
19-28%
Gross margin
across the 3 largest public mechanical contractors (FY2024-2025)
6-11%
Net margin
Comfort Systems, EMCOR, Limbach (FY2024-2025)
~$310-400K
Revenue / employee
from SEC filings
~90-118 days
DSO
mechanical, reflects retainage + progress billing
The one trade where the public comps ARE the benchmark
Mechanical is the only trade with true public pure-plays, and they show 'service' splits two ways: owner-direct is fatter, recurring O&M is thinner.
Comfort Systems, EMCOR, and Limbach are actual commercial mechanical contractors, so their filings are a real read on this trade, not a loose proxy. And EMCOR, the one that breaks out its recurring building-services arm as a separate segment, shows that arm at a 6.0% operating margin in FY2025 versus 12.8% for its mechanical-construction segment. Limbach shows the opposite cut of the same idea: its direct-to-owner service work (ODR) ran 31.2% gross versus 21.1% for subcontracted work (GCR) in FY2024. Together: direct-to-owner service is a fatter margin than being a sub, but large recurring facilities O&M contracts, competed on price at scale, are thinner than project construction.
Your margin depends on which mechanical business you are in: direct-service, project construction, or large recurring O&M. They are three different economics.
How to read this: Level measured a blended pool across six trades, so the numbers below are drawn from named public sources specific to mechanical 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.
The public pure-plays that ARE mechanical contractors, side by side.
Public mechanical contractor gross margin, FY2025
Source / sample: FY2025 10-Ks (LMB, FIX, EME)
Mechanical is the one trade with true public pure-plays, so their audited filings are a real read on the trade, not a loose proxy. Gross margin runs 19 to 28% and net 6 to 11%. These are large scaled operators, so treat the levels as an upper reference, not a typical private-shop number, and read the segment splits below as the more portable lesson.
Direct-to-owner service is fatter than subcontract work; large recurring O&M is thinner than construction.
The two segment cuts that define mechanical margin
Source / sample: Limbach FY2024 (gross margin); EMCOR FY2025 (operating margin)
Two segment cuts tell the whole story. Limbach's direct-to-owner service ran 31.2% gross versus 21.1% for subcontracted work. But EMCOR's large recurring facilities-services arm ran just 6.0% operating versus 12.8% for mechanical construction. So direct-to-owner service beats being a sub, while big price-competed O&M contracts run thinner than project work. Which mechanical business you are in decides your margin.
Mechanical DSO runs 90 to 118 days, and that AR carry is a real cost against margin.
Implied DSO from FY2024-2025 receivables (days)
Source / sample: Computed from SEC 10-K receivables / revenue
Retainage and progress billing stretch the mechanical collection cycle to roughly three to four months. That is real financing cost: at a 100-day cycle, carrying the AR at your cost of capital quietly eats margin the gross number never shows. It belongs in your true-margin math, not just your gross-margin math.
Source: Computed from Comfort Systems, EMCOR, Limbach FY2024-2025 10-Ks
Mechanical benchmarks, by source
Public mechanical gross margin
Tier A19% to 28%
Comfort Systems 21-24%, EMCOR 19%, Limbach 26-28% (FY2024-2025).
Source: SEC 10-K filings (FIX, EME, LMB)
Public mechanical net margin
Tier A6% to 11%
Comfort Systems 7-11%, EMCOR 6.9%, Limbach 6.0% (FY2024-2025).
Source: SEC 10-K filings
Revenue per employee
Tier A~$310K to $400K
Comfort Systems ~$401K, EMCOR ~$386K, Limbach ~$324K (FY2024-2025).
Source: Computed from SEC 10-K filings
Mechanical DSO (implied)
Tier A~90 to 118 days
EMCOR ~91, Comfort Systems ~103, Limbach ~118, computed from FY2024-2025 receivables. Reflects retainage and progress billing.
Source: Computed from SEC 10-K filings
CFMA specialty-trade net before tax
Tier B6.9% (best-in-class 11.9%)
Corroborates the public net margins.
Source: CFMA 2024 Construction Financial Benchmarker (n=1,290)
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 mechanical contractors actually earn
These are the public companies that genuinely ARE mechanical contractors. The segment reads isolate service from construction, straight from FY2024-2025 filings.
| Company / scope | Gross | Operating | Net | What it tells you |
|---|---|---|---|---|
| Comfort Systems USA (FIX)Consolidated, FY2025 | 24.1% | 14.4% | ~11.2% | Largest public commercial mechanical contractor. |
| EMCOR (EME)US Mechanical Construction segment, FY2025 | n/d | 12.8% | n/d | The mechanical-construction arm. |
| EMCOR (EME)US Building Services segment, FY2025 | n/d | 6.0% | n/d | Recurring facilities/O&M, roughly half the construction margin at scale. |
| Limbach (LMB)ODR vs GCR gross margin, FY2024 | 31.2% / 21.1% | n/d | n/d | Direct-to-owner service vs subcontracted construction, same company. |
n/d = not disclosed at that cut. EMCOR FY2025 consolidated operating margin (10.1%) includes an 85 bps one-time UK-ops-sale gain; segment margins shown are clean. Limbach discloses gross margin by segment only.
The Level lens, reported vs. real margin
The service contract looked like a 40% margin. After the fully-burdened tech and the AR carry, it is closer to 22%.
Where a commercial mechanical service contract's apparent margin goes
Source / sample: Level analysis; labor anchored to BLS SOC 49-9021 wage + statutory burden (adjust up for pipefitter-heavy crews)
Reproduce it on your own book: start from the quoted gross margin, subtract the fully-burdened technician hours (this illustration uses BLS SOC 49-9021, HVAC mechanics, median $28.75/hr times about 1.3 for taxes, workers' comp, and benefits; a pipefitter-heavy commercial mechanical crew should use the higher SOC 47-2152 pipefitter/steamfitter wage), then the drive and coordination time the job never gets charged for, then the financing cost of a 90-to-118-day mechanical collection cycle (DSO over 365, times the balance, times your cost of capital). The gap between the quoted margin and what lands is where mechanical shops quietly lose money on contracts that look profitable on paper.
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 mechanical shop, which runs on different economics.
Level's cross-trade benchmarks (apply to mechanical 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 mechanical contractors as much as any other. Shown as the blended measure they are, not a per-trade split.
n=464 (blended). Effective cash conversion across the blended 6-trade pool; top decile 96.0%.
n=733 (blended). 1 day with progress billing included; 7 days among post-completion invoicers.
n=794 (blended). On decided quotes; 38.1% across all quotes.
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 mechanical 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.
No commitment. Real numbers, not generic advice.
Frequently asked questions
What is a good profit margin for a mechanical 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 28% (Comfort Systems 21-24%, EMCOR 19%, Limbach 26-28% (FY2024-2025).). 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 mechanical benchmark data come from?
External, citable sources specific to mechanical 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.
Are the public mechanical contractors a good benchmark for my shop?
Better than for any other trade, because Comfort Systems, EMCOR, and Limbach genuinely ARE commercial mechanical contractors, not loose proxies. But they are large scaled operators, so treat their audited margins (19-28% gross, 6-11% net) as an upper reference and a directional read on which BUSINESS lines earn what, not as a typical private-shop number. The segment splits (service vs construction) travel better to your shop than the absolute figures.
Why is my mechanical DSO so high?
It is structural to the trade. The public mechanical contractors run implied DSO of roughly 90 to 118 days (EMCOR ~91, Comfort Systems ~103, Limbach ~118, computed from FY2024-2025 receivables), because retainage and progress billing stretch the collection cycle. That AR carry is a real financing cost that quietly eats margin, which is why it belongs in your true-margin math above, not just your gross-margin math.