How these numbers are built
What SPM compiled, what it validated against, and the three target rules verified against every published trade.
The trade figures are SPM The Construction CFO's own compilation, validated against published CFMA and JMCO benchmarks. Net profit is calculated as gross margin minus overhead, so the three figures tie out in every band. The CFOS target column is original analysis on top of them. This report publishes 1,008 data points and says how each one was made.
Who produced what
| Column | Origin | How it was made |
|---|---|---|
| Gross margin, industry averages | Compiled by SPM The Construction CFO, validated against CFMA's 2024 Benchmarker, CFMA's 2025 Benchmarker and the Jones Maresca and Company 2025 specialty contractor benchmarks | Measured directly for 32 trades and derived from the nearest comparable trade for 16, in every band |
| Overhead, industry averages | Compiled by SPM The Construction CFO, validated against CFMA's 2024 Benchmarker, CFMA's 2025 Benchmarker and the Jones Maresca and Company 2025 specialty contractor benchmarks | Measured directly for 32 trades and derived from the nearest comparable trade for 16, in every band |
| Net profit, industry averages | Calculated by SPM The Construction CFO as gross margin minus overhead | Calculated in every band |
| CFOS target, all three metrics | Derived by SPM The Construction CFO from the industry averages above | Original analysis |
| Revenue band structure | 7 bands from $1M–$5M to $500M+, set by SPM The Construction CFO | Original analysis |
The 4 bands above $10M to $25M are a modeled extension of the survey curve. Modeled extension of the survey curve, not reconciled against the licensed CFMA Benchmarker. Every export labels them that way, and no CFOS target is published for them. The per figure origin above is the same in every band: it says how the trade's figures were made, and the band status says how far to trust the band.
Derived from a comparable trade. 16 of the 48 trades have gross margin or overhead derived from the nearest comparable trade, and are the first to replace with direct data: Acoustic Ceiling, Bridge, Concrete Pumping, Environmental Remediation, HVAC, Irrigation, Landscaping, Low Voltage and AV, Precast Concrete, Process Piping, Roofing, Scaffolding, Siding, Tank and Vessel, Tile & Stone, Tunnel.
Gross margin and overhead come from CFMA, Jones Maresca and SPM's own trade data, because those are the figures those sources report by trade and size. Net profit is calculated from them as gross margin minus overhead, so the three rows tie. That makes it an operating profit figure: what is left before interest, other income and expense, and the tax planning choices owners make, such as bonuses, depreciation methods and retirement contributions.
Surveys report net income before taxes after those items, so a reported net can run below the figure here. At the typical contractor the difference is small: CFMA's 2025 medians are 7.1 percent before interest and taxes and 6.7 percent net income before taxes. It grows with size. Against the separate measured net profit dataset, the calculated net runs 0.8 points higher at $1M to $5M, 2.2 points at $5M to $10M and 3.5 points at $10M to $25M, because the gross margin and overhead rows change faster with size than reported net profit does.
Above the $10M to $25M band the gross margin and overhead rows are a modeled extension of the same curves. They have not been reconciled against the licensed CFMA Benchmarker, and the calculated net there runs well above survey medians, so read those bands as a model and not as a survey result.
All three rules hold.
All three target rules were stated before they were tested. We ran each against all 48 published targets and kept only what reproduced, then trusted the same rule at every other band.
| Rule as stated | Trades reproduced | Verdict |
|---|---|---|
| Overhead target is the industry average less one point | 48 of 48 | Holds. Recalculated at each surveyed band, and no target above it. |
| Net profit target is 10% or the average plus 3.5 points, whichever is higher | 48 of 48 | Holds. Recalculated at each surveyed band, and no target above it. |
| Gross margin target is whatever margin produces the net profit target once overhead is paid | 48 of 48 | Holds. Recalculated at each surveyed band, and no target above it. |
One trade, one row. All 48 trades in the reference publish a row of their own across all 7 revenue bands, which is 1,008 figures. Rule verification above is stated against the same 48 rows, because that's the set the rules were tested on.
Gross margin's target is floored at the trade's own industry average, so a derived figure never asks a trade to hit a number it's already short of on average. That floor never actually binds on the published table: every derived figure already clears it.
The build fails before a wrong number ships
The overhead rule is a build-time assertion, checked on every deploy. If any trade in the dataset stops satisfying industry average less one point, the site doesn't build.
The sources, cited
- 2024 Construction Financial Benchmarker, Executive Summary, Construction Financial Management Association, 2024. The survey puts gross profit margin at 21.8%, SG&A at 11.8%, and net income before taxes at 6.3% across all respondents. The best-in-class top quartile reaches 11.9% net income before taxes. Those figures are the whole-population reading, so a single trade can come out well either side of them.
- 2025 Construction Financial Benchmarker, Executive Summary, Construction Financial Management Association, 2025. Reporting fiscal 2024, from 1,639 submissions with 1,558 surviving data screening. Net income before taxes came to 6.7% across all respondents, up from 6.3%, and 12.0% for the best-in-class quartile. The relevant edition here is the segment split: specialty trade contractors on their own reported 7.7% net income before taxes, up from 6.9%, on a gross profit margin of 22.4%, up from 21.9%. Those are the figures to read against this reference, because they describe the same kind of business it covers rather than the whole industry.
- 2025 Performance Benchmarks, Construction Companies, Jones Maresca and Company, 2025. This study reports specialty contractor gross margin between 15% and 25%. It puts net profit at 5% to 8% for a well managed company, and total indirect cost between 8% and 15%. The indirect cost band is the one worth reading twice, because it's the number most owners have never calculated for their own shop.
- SPM Trade Benchmark Reference, Sulphur Prairie Management, LLC, 2026. The reference holds 48 trades, each publishing a row of its own across all 7 revenue bands, and net profit in it is stated before taxes.
How these figures were built. The trade figures are SPM's own compilation, validated against CFMA's 2024 Benchmarker, CFMA's 2025 Benchmarker and the Jones Maresca and Company 2025 specialty contractor benchmarks. CFMA's Benchmarker is a licensed product and nothing here is copied from it. Net profit is calculated as gross margin minus overhead, so the three figures tie out in every band. Every trade in the reference publishes a row of its own. Each new edition is validated against the latest CFMA and JMCO releases before publication.
Back to the 2027 report, or open the diagnostic to read a single trade at a single revenue band.
What people ask
Is this survey data?
The trade figures are SPM The Construction CFO's own compilation, validated against the published CFMA and JMCO benchmarks. CFMA's Benchmarker is a licensed product and nothing here is copied from it. What is original here is the compilation, the CFOS target column and the rule behind it.
Why do all three CFOS targets recalculate with revenue?
Because all three rules survive testing against the published figures at $1M–$5M: overhead at the industry average less one point, net profit at 10% or 3.5 points better than average, whichever is higher, and gross margin at whatever margin produces that net profit target once overhead is paid. Each reproduces the published column on all 48 trades, so this report trusts the same rule at the other surveyed bands too. It publishes no target above $10M to $25M, where the bands are a modeled extension.
How often is this updated?
Annually, and validated against each new CFMA and JMCO release before publication. The report shows the year in its title, so an older edition stays citable and nothing gets overwritten without anyone noticing.
How should I cite it?
Every page with figures on it ends with a formed citation you can copy, and it is the same citation on both properties that publish this reference. If you also rely on CFMA's or JMCO's own published benchmarks, cite them as well. Both are listed on this page.
Can I reproduce the tables?
Link to them rather than copying them. The CFMA and JMCO benchmarks these figures are validated against belong to their publishers, and a link stays correct when the next edition publishes.
