BENCHMARKS · GROSS MARGIN, NET PROFIT, OVERHEAD

HVAC BENCHMARKS.

QUICK ANSWER

At $1M to $5M, HVAC contractors average 24% gross margin and spend 16% of revenue on overhead, which leaves 8% net profit before taxes (Run On CFOS Trade Benchmark Reference). The CFOS target is 12% net before taxes, the figure the book CONTROL sets for every trade and every revenue band. Getting there means overhead at 15% and gross margin at 27%, and the distance is almost always overhead that was never loaded into the bid.

BY JOSH LUEBKERPublished 2026-08-06Updated 2026-10-31
THE BENCHMARKS

HVAC FINANCIAL BENCHMARKS. WHERE YOU SHOULD BE.

METRICINDUSTRY AVERAGECFOS TARGETAT $10M TO $25MNOTES
Gross Margin ($1M to $5M)24%27%26%Industry figure is 25% at $5M to $10M and 26% at $10M to $25M.
Overhead Rate ($1M to $5M)16%15%14%Falls to 14% by $10M to $25M as fixed cost spreads over more revenue.
Net Profit Margin ($1M to $5M)8%12%12%Industry figure is 10% at $5M to $10M and 12% at $10M to $25M.
Days Sales Outstanding90 days45 days30 daysNinety days is weak, 45 is the target, 30 is strong. Nothing else moves cash faster.

Showing $1M to $25M. The full data set for every revenue band is on Run On CFOS.

Industry figures are the AVERAGE for the trade at each revenue band, from the Run On CFOS Trade Benchmark Reference, not a floor. Net profit is stated before taxes. The CFOS target is what we build toward. The third column is what companies at $10M to $25M average, shown for direction of travel; that is a larger company, which is a different thing from a better managed one.

HOW DO YOU COMPARE?

Below the hvac average on margins? Bring your last P&L to a 20 minute call. Josh will tell you where the gap is and what closes it.

Compare my numbers on a call
GAP CALCULATOR

THE HVAC GAP CALCULATOR. WHAT IT COSTS YOU A YEAR.

Put in your last 12 months. The calculator picks your revenue band and sets your net profit beside the HVAC average and the CFOS target, in dollars. Nothing you type leaves this page.

Your results show here once all three numbers are in.

Want it done from your books instead? The Financial Health Snapshot builds a CEO Report from your last 12 months and sets every figure against your trade, or compare your numbers with Josh on a 20 minute call.

GROSS MARGIN

HVAC GROSS MARGIN.

How to calculate: Gross margin is Revenue minus Direct Job Costs, divided by Revenue, times 100. Direct job costs include labour, materials, equipment and subcontracted work tied to the job. Not shop overhead, office staff or G and A.

In HVAC right now the fastest route to the three points between the trade average and the target is certification, and three points is $30,000 on a $1M year and $150,000 on a $5M year. A2L-certified and A2L-tooled shops billed labor 18 to 30 percent above pre-transition rates in mid-2026, behind a Section 608 update and a $3,000 to $8,000 per-truck retool, so compliance capacity became pricing power. The HVAC gross figure at this revenue is derived from the nearest comparable trade in the SPM 48-trade dataset rather than measured directly, so read it as a reference point while you build your own. Either way the three points came from tooling up early, which is a capital decision that reads on the gross line for as long as the window stays open.

GROSS MARGIN BY REVENUE BAND, $1M TO $25M

REVENUE BANDINDUSTRY AVERAGECFOS TARGET
$1M to $5M24%27%
$5M to $10M25%26%
$10M to $25M26%25%

The gross margin figures for HVAC are derived from the nearest comparable trade in the same dataset, so treat them as a reasonable starting point and not a survey result.

OVERHEAD RATE

HVAC OVERHEAD RATE.

How to calculate your overhead rate: Total overhead divided by Total Revenue, times 100. Overhead is every cost not attributable to a job: office staff, rent, insurance, software, vehicles not charged to work, and owner salary. It moves every month with revenue, which is why a rate set a year ago is wrong in both directions.

HVAC has a 16 percent overhead rate because it staffs for peaks it can't schedule, and the point down to 15 is worth $10,000 on a $1M year and $50,000 on a $5M year. Trucks, tooling, certification maintenance, a dispatch function, and the bench held through the shoulder seasons are all capacity costs rather than job costs. The HVAC overhead figure at this revenue is derived from the nearest comparable trade in the dataset rather than measured directly, so build your own before you price against it. The service agreement book is the real lever, because recurring revenue is what makes funding that capacity through a mild spring survivable.

OVERHEAD RATE BY REVENUE BAND, $1M TO $25M

REVENUE BANDINDUSTRY AVERAGECFOS TARGET
$1M to $5M16%15%
$5M to $10M15%14%
$10M to $25M14%13%

The overhead rate figures for HVAC are derived from the nearest comparable trade in the same dataset, so treat them as a reasonable starting point and not a survey result.

NET PROFIT MARGIN

HVAC NET PROFIT MARGIN.

Net profit margin formula: Net Profit divided by Total Revenue, times 100. Unlike gross margin this measures what is left after overhead and G and A. It's the number that funds owner draw, debt paydown and growth.

An 8 percent net before taxes is a strong floor, and HVAC's four points to a 12 percent target are worth $40,000 on a $1M year and $200,000 on a $5M year. Where it stops is the blur between three books. Service agreements are the smoothing annuity that funds the bench through the shoulder seasons, replacement spikes with heat waves the shop can't schedule, and construction work waits on pay apps, and an owner reading one combined P&L has no way to know which book is funding which. Splitting them is a setup task rather than a strategy retreat, and it changes how all three get priced.

NET PROFIT MARGIN BY REVENUE BAND, $1M TO $25M

REVENUE BANDINDUSTRY AVERAGECFOS TARGET
$1M to $5M8%12%
$5M to $10M10%12%
$10M to $25M12%12%
PARTIAL VIEW, $1M TO $25M

Benchmarks for subcontractors from $1M to $25M. This is a partial view of the Run On CFOS benchmark reference, which covers every band up to $500M and above. The full Run On CFOS benchmark reference is on runoncfos.com.

HOW THE NET PROFIT FIGURES ARE BUILT

Gross margin and overhead come from figures CFMA, Jones Maresca and other sources publish by trade and size. Net profit is computed, not surveyed: net profit = gross margin minus overhead. Nothing comes out for taxes, interest or other income and expense, so it is a before tax figure, on the same basis as CFMA's net income before taxes.

CFMA's 2025 medians are 7.1 percent before interest and taxes and 6.7 percent net income before taxes. Gross margin minus overhead leaves out interest and other income and expense, so a figure here can come in a little above or below a reported net income on the same business. The bands above the $10M to $25M band are published at runoncfos.com as a modeled extension of the same curves. They have not been reconciled against the licensed CFMA Benchmarker, so read them as a model and not as a survey result.

SOURCES AND METHOD

Trade figures are from the Run On CFOS Trade Benchmark Reference, published by Sulphur Prairie Operations, LLC. Net profit is stated before taxes. CFMA reports net income before taxes too, so the two read on the same basis. Re-validate against CFMA reporting on the normal quarterly cycle, per the benchmark reference's own instruction.

The reference itself is published at the HVAC reference behind this table. How these figures were sourced, and which bands are modeled is set out at runoncfos.com.

Cite as: Run On CFOS. Run On CFOS Trade Benchmark Reference: HVAC. 2026. Sulphur Prairie Operations, LLC. https://runoncfos.com/trades/hvac. CC BY 4.0.

  • 2024 Construction Financial Benchmarker, Executive Summary, Construction Financial Management Association, 2024. 21.8% gross profit margin, 11.8% SG&A and 6.3% net income before taxes across all respondents, with a best-in-class top quartile at 11.9% net income before taxes.
  • 2025 Construction Financial Benchmarker, Construction Financial Management Association, 2025. 6.7% net income before taxes (6.3% in 2023), a 7.1% EBIT margin and an 8.8% EBITDA margin at the median, with interest coverage of 30.4 times, across the 1,558 companies in the 2025 analysis (fiscal year 2024 results).
  • 2025 Performance Benchmarks, Construction Companies, Jones Maresca and Company, 2025. Specialty contractor gross margin of 15% to 25%, net profit of 5% to 8% for a well managed company, and total indirect cost of 8% to 15%.

Each metric across every trade is published on Gross Margin by Trade, Overhead Rates by Trade and Net Profit by Trade, and the full dataset for all 48 trades across the published revenue bands is available as JSON and CSV, with one plain-language statement per row. Free to use with attribution.

PRICING

FLAT MONTHLY FEE. NO SURPRISES.

Priced by trailing 12 month revenue. No hourly billing. No payroll. The one-time onboarding fee is right here in the table.

Built for subs doing $1M to $12M. Above $12.5M we quote.

Last 12 months revenueCoreStrategicPlatinumOne-time onboarding
Under $1M$1,900$3,100$3,300$1,000
$1M to $3.5M$2,600$4,100$5,300$1,500
$3.5M to $6.5M$3,800$5,900$8,300$3,000
$6.5M to $9.5M$5,100$7,600$11,800$4,500
$9.5M to $12.5M$6,100$8,900$14,900$6,000
Above $12.5MQuotedQuotedQuotedQuoted

The onboarding fee covers migrating your books back to the start of your last taxable year and getting you fully operational in 60 days. It's billed once, with your first invoice. It's the same for all three tiers, and it moves with your revenue band. Your first month is prorated, and your monthly engagement starts on the first of the first full month.

The three tier columns are the whole price. Which one fits depends on how much of the work you want off your desk. No payroll. No hidden line items. The onboarding fee is right here in the table.

  • Online software only: QuickBooks, Sage, Viewpoint and similar. No VPN or hosted desktop.
  • Not in any tier: payroll, pay applications, collections on receivables.
  • Pricing valid through 2027.

What Core, Strategic and Platinum each include is on the pricing page.

COMMON QUESTIONS

FREQUENTLY ASKED.

HVAC contractors average 24% at $1M to $5M and 25% at $5M to $10M. The CFOS target at $1M to $5M is 27%, set at 12 points above your overhead target, so the 12 percent net target holds once your overhead is paid. Companies in the trade at $10M to $25M average 26%, which measures size and says nothing about how well the company is managed.

HVAC contractors average 16% at $1M to $5M and 15% at $5M to $10M. The CFOS target at $1M to $5M is 15%, set a point leaner than your trade's average at your revenue. Companies in the trade at $10M to $25M average 14%, which measures size and says nothing about how well the company is managed.

HVAC contractors average 8% at $1M to $5M and 10% at $5M to $10M. The CFOS target is 12% before taxes at every revenue. Companies in the trade at $10M to $25M average 12%, which measures size and says nothing about how well the company is managed.

Overhead that never made it into the rate, job costing that doesn't match how the work was estimated, and receivables aging past 45 days. The jobs still look profitable while all three are happening, which is why the numbers change gradually without anyone noticing.

We rebuild the overhead rate from your actual financials, align job costing cost codes to your estimate structure, and track weekly variance against budget. Fully operational in 60 days.
$10.7M+
Client AR Recovered Since 2023
48
Active Trade Specializations
60 DAYS
Average Onboarding Time
WHAT THIS TIES INTO
Josh Luebker, SPM The Construction CFO
Josh Luebker
FRACTIONAL CFO · SPM THE CONSTRUCTION CFO

Josh Luebker is a master electrician turned construction CFO, president of SPM The Construction CFO and author of CONTROL: C.F.O.S. Construction Financial Operating System.

ARE YOU REACHING THE HVAC BENCHMARKS?

Twenty minutes of questions about how your own numbers get produced and what is inside them. Nothing gets sold on that call and nothing gets proposed. If Josh can help, you'll set a longer second call.

You don't hire a CFO because it's safe, you do it because the real risk isn't having one.
Book a 20 minute call

20 minutes. Nothing gets sold on this call and nothing gets proposed. Josh asks questions to work out whether he can help at all.

OR START WITH THE WORKBOOKS. NO CALL NEEDED.