OUTCOME TARGET · PER PROJECT · FIXED BY STEP 04

Projects making 22 to 30% gross profit

A range, not a number, because where you fall 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% ranks against 48 trades

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

PUBLISHED AVERAGE
22.1%
The mean of all 48 industry averages at $1M–$5M.
PUBLISHED SPAN
18–27%
Lowest and highest industry average in the reference.
OUTCOME TARGET
22–30%
32 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 are 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.
  2. 2025 Construction Financial Benchmarker, Executive Summary, Construction Financial Management Association, 2025.
  3. 2025 Performance Benchmarks, Construction Companies, Jones Maresca and Company, 2025.
  4. SPM Trade Benchmark Reference, Sulphur Prairie Management, LLC, 2026.

Sourcing and method: the methodology page.

Which bands are measured. The 4 bands above $10M–$25M extend the survey curve further out and have not been reconciled against the licensed CFMA Benchmarker. How every figure was built is explained on the methodology page.

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 takes more risk on every hour and gets paid for taking 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 ends up when it's 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 fall 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%. 32 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'm 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

Wrote CONTROL, the 8 step system behind these figures. More about the author.

8 Steps 60 Days

CONTROL is the full system, written for commercial subcontractors from under $1M to $100M. It's out now. 8 steps, 6 working templates, and the order they install in. $9.99 ebook, $24.99 paperback.