OUTCOME TARGET · PER PROJECT · FIXED BY STEP 04

Projects making 22 to 30% gross profit

A range, not a number, because where you sit inside it is decided by how much of the work your own crews touch and how clean your cost codes are.

DIRECT ANSWER

Gross profit is the first of the three because it's the only one a crew can move this week. Everything above it on the income statement is revenue you already agreed to, and everything below it is overhead you already committed to. The job either comes in at the margin you bid or it doesn't, and the shortfall reads out in labor hours, equipment days, and material takeoff long before it reaches a P and L.

TARGET AGAINST POPULATION

Where 22 to 30% sits against 48 trades

Published gross margin at $1M–$5M, across the whole benchmark reference.

PUBLISHED AVERAGE
22.1%
The mean of all 48 trade averages at $1M–$5M.
PUBLISHED SPAN
18–27%
Lowest and highest trade average in the reference.
OUTCOME TARGET
22–30%
31 of 48 trades average inside this range.
HIGHEST AND LOWEST PUBLISHED GROSS MARGIN · $1M–$5M
TradePublished averageAgainst the target
Elevator27%Inside the range
Curtain wall and glazing27%Inside the range
Waterproofing26%Inside the range
Scaffolding26%Inside the range
Electrical25%Inside the range
Mechanical25%Inside the range
Painting18%4 points under
Framing18%4 points under
Underground utility18%4 points under
Sitework18%4 points under
Grading18%4 points under
Interiors19%3 points under

All 48 trades sit on the gross margin page across every one of the 7 revenue bands.

SOURCES
  1. 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 sit well either side of them.
  2. 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.
  3. SPM Trade Benchmark Reference, Sulphur Prairie Operations LLC, 2026. The reference holds 48 trades, and net profit in it is stated before taxes. It publishes here as 47 trade pages, because landscaping and irrigation share an identical benchmark profile and are one market, so they're presented together. Everything else carries its own row.

How these figures were built. Gross margin and overhead come from CFMA's 2024 and 2025 financial survey data, plus a January 2026 specialty trade study. Net profit comes from a 48 trade master dataset that covers 24 served trades and 24 adjacent trades. The reference holds 48 trades and the site publishes 47 pages, because landscaping and irrigation carry the same figures and are the same market. Where the survey and the master disagree on net profit, the master carries it. Benchmarks are reviewed against each new CFMA survey release and reconciled before publication.

WHY THE NUMBER IS WHAT IT IS

The reasoning

The range exists because trades aren't built the same way. A trade that self performs almost everything carries more risk on every hour and gets paid for carrying it. A trade that brokers material and subs out install runs thinner in the books, and it should. The low end of the range is where a heavy pass-through trade sits when it is running clean. The high end is a self performing trade with real cost codes and an estimator who is reading actuals.

Read it per project and per week, not per year. An annual gross margin number is an average of jobs that made money and jobs that didn't, and the average hides both. The point of the range is to catch a job drifting out of it while there's still schedule left to react.

Under it. Under the range and you're either bidding at a number your cost structure can't deliver, or delivering at a number your bid never contemplated. Those look identical on a P and L and they have opposite fixes.

WHAT TO DO

Three moves, in order

STEP 01
Pull your last five closed jobs and calculate gross profit on each one, with labor burden and equipment charged in at real rates.
STEP 02
Put the five numbers in a row. If the spread between them is wider than the range itself, your estimating and your job costing aren't reading from the same book.
STEP 03
Take the worst one and find the single cost code that moved. There's almost always one, and it's almost always labor hours or equipment days.
QUESTIONS

What owners ask

What gross profit percentage should a construction project make?

22 to 30%. A range, not a number, because where you sit inside it is decided by how much of the work your own crews touch and how clean your cost codes are. Gross profit is the first of the three because it's the only one a crew can move this week. Everything above it on the income statement is revenue you already agreed to, and everything below it is overhead you already committed to. The job either comes in at the margin you bid or it doesn't, and the shortfall reads out in labor hours, equipment days, and material takeoff long before it reaches a P and L.

Is 22 to 30% above what the benchmarks show?

Yes, and deliberately. Across the 48 benchmarked trades, gross margin at $1M–$5M averages 22.1% with a published span of 18 to 27%. 31 of 48 trades average somewhere inside 22 to 30%. A survey average describes the population. This describes an installed business.

What moves this number?

The step is number 04, estimating system. The estimate maps one to one onto the job cost codes, so variance means something the day it appears. It's chapter 4 of CONTROL: The Construction Financial Operating System.

How do I read it?

Read it per project and per week, not per year. An annual gross margin number is an average of jobs that made money and jobs that didn't, and the average hides both. The point of the range is to catch a job drifting out of it while there's still schedule left to react.

What does it mean if I am under it?

Under the range and you're either bidding at a number your cost structure can't deliver, or delivering at a number your bid never contemplated. Those look identical on a P and L and they have opposite fixes.

Where do I start?

Pull your last five closed jobs and calculate gross profit on each one, with labor burden and equipment charged in at real rates.

AUTHOR
Josh Luebker
JOSH LUEBKER
MASTER ELECTRICIAN · 150+ PROJECTS · $2.1B+ MANAGED

Josh Luebker ran commercial construction projects before he ran the numbers behind them, on data centres, military bases, hospitals, and high-rises. He wrote CONTROL: The Construction Financial Operating System, which is an eight-step framework for commercial subcontractors, and it publishes on October 1, 2026. He is a master electrician who moved into the office and kept the field vocabulary.

Sulphur Prairie Operations LLC maintains the benchmark reference behind these figures. Every edition is reconciled against the newest CFMA survey release before it publishes here. Where a figure changes between editions, the older edition keeps its year in the title so a citation to it stays correct.

Eight steps. Sixty days.

CONTROL is the full system, written for commercial subcontractors from under $1M to $100M. It publishes on October 1, 2026. Eight steps, six working templates, and the order they install in.