BENCHMARKS · GROSS MARGIN, NET PROFIT, OVERHEAD

MECHANICAL BENCHMARKS.

QUICK ANSWER

At $1M to $5M, mechanical contractors average 25% gross margin and spend 16% of revenue on overhead, which leaves 9% 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

MECHANICAL FINANCIAL BENCHMARKS. WHERE YOU SHOULD BE.

METRICINDUSTRY AVERAGECFOS TARGETAT $10M TO $25MNOTES
Gross Margin ($1M to $5M)25%27%27%Industry figure is 26% at $5M to $10M and 27% 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)9%12%13%Industry figure is 11% at $5M to $10M and 13% 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 mechanical 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 MECHANICAL 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 mechanical 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

MECHANICAL 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.

Mechanical is already at 25 percent gross at this revenue, so the two points to a 27 percent target are worth $20,000 on a $1M year and $100,000 on a $5M year. The points are in the ceiling, and I mean the physical one. Mechanical routes the biggest ducts through the most contested space, coordination delays reach mechanical first, and the RFI paper war that follows is real labor that gets absorbed rather than claimed. Logging delays the day they happen and pricing change work with same-week paper is the measurement, and it's worth more here than a point on the bid.

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

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

MECHANICAL 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.

Mechanical has three shops worth of overhead under one roof at 16 percent, and the point down to 15 is worth $10,000 on a $1M year and $50,000 on a $5M year. A sheet metal shop, a pipe operation, and a controls department each need their own supervision, tooling, and engineering, and union and nonunion burden structures plus prevailing-wage jobs spanning multiple classifications make the burden rate itself a moving target. Charging each discipline its own burden is what turns this number from an allocation argument into a bid input. The trade should reach 13 percent by $25M to $50M, and a rate that's wrong by two points on an equipment-heavy contract is a five-figure mistake per job.

See the full benchmarks for every revenue band on Run On CFOS.

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

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

MECHANICAL 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.

Mechanical starts at 9 percent net and rises to 15 percent by $25M to $50M, and at this revenue the three points to a 12 percent target are $30,000 on a $1M year and $150,000 on a $5M year. Getting there depends on one decision, which is whether service and construction are managed as two businesses or blended into one book where either can fund the other for years without anybody noticing. The market is pushing that question harder, because liquid-cooled data centers move roughly a third of project cost into mechanical scope and published analysis puts the backlog for firms with large chilled-water experience at about three times existing specialized capacity. A contractor who can't tell which division earns will price the biggest opportunity in the trade's history off a blended average.

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

REVENUE BANDINDUSTRY AVERAGECFOS TARGET
$1M to $5M9%12%
$5M to $10M11%12%
$10M to $25M13%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 reference these mechanical figures come from. 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: Mechanical. 2026. Sulphur Prairie Operations, LLC. https://runoncfos.com/trades/mechanical. 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.

Mechanical contractors average 25% at $1M to $5M and 26% 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 27%, which measures size and says nothing about how well the company is managed.

Mechanical 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.

Mechanical contractors average 9% at $1M to $5M and 11% at $5M to $10M. The CFOS target is 12% before taxes at every revenue. Companies in the trade at $10M to $25M average 13%, 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 MECHANICAL 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.