baxie
MarginSep 11, 20267 min read

How Much Profit Should a General Contractor Make? Real Numbers for a Residential Shop

Real gross and net profit benchmarks for residential GCs, the owner-salary math that kills a 15% number, and where bid margin disappears before closeout.


Short version for a California residential GC running $2M to $20M: aim for 8% net profit. Treat anything under 5% as a warning light on the dash.

The industry averages come from NAHB's cost of doing business research. Residential remodelers landed at 29.9% gross margin and 6.3% net profit in the most recent remodeler study, and single-family builders came in near 21% gross and 8.7% net. Useful as reference points. Weak as goals, because they describe what the field is doing, not what a healthy shop needs.

Michael Stone, who wrote Markup & Profit: A Contractor's Guide, Revisited, makes the harder argument. He puts 8% net profit at the minimum for a contracting business that can absorb a bad job and still fund the next year. His condition matters as much as his number: that 8% only counts if the owner is already drawing a real salary, booked inside overhead, before you calculate profit at all.

That condition is where the math falls apart for a lot of residential shops.

How much profit should a general contractor make?

Aim for 8 percent net profit after a real owner salary sits inside overhead. Treat anything under 5 percent as a warning light. NAHB remodelers recently averaged about 6.3 percent net; that is a reference, not a goal. The number only counts once you pay yourself first.

The owner salary trap

A GC tells me he made 15% last year. What he is reading is a line on a P&L that has no owner compensation anywhere in it.

Run it on a $5M shop.

  • Revenue: $5,000,000
  • Direct job costs: $3,500,000
  • Gross profit: $1,500,000, which is 30%
  • Overhead as booked (office staff, rent, insurance, trucks, software, marketing): $750,000
  • What's left: $750,000, which reads as 15%

Now put the owner on payroll at what it would actually cost to replace him. At a shop this size with two or three people in the office, the owner is holding four seats.

  • Estimating and preconstruction: $145,000 loaded
  • PM duty on two of the four active jobs: $140,000 loaded
  • Sales and client relationships: $120,000 loaded
  • The executive seat, meaning hiring, banking, bonding, and the calls nobody else can take: $130,000 loaded

That is $535,000 of work he is doing for free. Book it inside overhead where it belongs and the $750,000 becomes $215,000. Net profit is 4.3%.

Cut that replacement number in half if you want to be conservative about it. $268,000 of owner comp still takes 15% down to 9.6%, and that assumes he only does half the job he actually does.

Net profit is what remains after the owner is paid as an employee of the business. Every dollar above that is the return on owning it. Mixing the two makes a 4% shop feel like a 15% shop, which is how owners end up buying a second truck in a year they could not afford one.

Pay yourself first, on a set number, through payroll, and then look at what is left. That number is your real starting line, and it is usually a lot closer to 5% than anyone wants.

Where bid margin and realized margin split

Bidding 30% gross and finishing at 22% is normal, and the eight points do not vanish in one place. They come off a few hundred dollars at a time, in pieces small enough that none of them is worth stopping the job over.

Take a $700,000 remodel.

Unsigned change orders. Eleven COs on the job, nine signed, two performed on a verbal go-ahead and never papered. Roughly $9,400 of work delivered with no signature behind it. At closeout the homeowner disputes both and the office eats them rather than fight over $9,400 on a job that needs a good review. If your CO paperwork is the weak point, the fix is upstream of software: see how to write a change order for a homeowner and the 30-second CO read.

Allowance drift. Tile allowance set at $12 per square foot. The homeowner picks $22 with the designer in week nine, the upgrade gets approved in a text thread because that is where the conversation was happening, and the delta never becomes a change order. On 620 square feet that is $6,200 plus the labor bump on a larger format tile. Allowances are the leak nobody argues about in residential, because the client genuinely believes the selection was already covered.

Estimate versus actual variance. Framing labor priced at 220 hours, ran 291. At $95 burdened that is $6,745, and the office finds out about it in the month-end close, three weeks after the crew moved on.

Add those up: about $22,300 on a $700,000 job, or 3.2 points of margin. Run seven jobs like that in a year and you have moved $156,000, which is the entire distance between a 4.3% shop and a 7.5% shop.

None of that came from a bad estimate or a missed detail in the field. It came from a system where the numbers do not come together until after the job closes, which is weeks past the point where any of the three could still have been fixed.

If you want a structured way to find yours, run the 12-point margin leak checklist against your last three closed jobs. It takes about 40 minutes per job and it usually surfaces the same two categories every time.

Profit First for Contractors

Mike Michalowicz wrote Profit First. Shawn Van Dyke adapted it for this trade in Profit First for Contractors, and the adaptation is worth reading if you have ever ended a December wondering where the year went.

The core move is an allocation, not an accounting method. Every deposit that hits the operating account gets split on a fixed percentage the day it lands. Profit comes off the top into a separate account you do not touch, then owner pay, then taxes, each with an account of its own. Operations runs on the remainder, whatever the remainder happens to be.

That discipline suits a four-job shop better than it suits a big builder. When you are running four jobs, cash timing swings hard. A draw lands, the account looks healthy, and the natural read is that the business is healthy. It usually is not, because two sub invoices and a material order are already coming. Taking profit first removes the judgment call from the moment you are least equipped to make it. Operations then adapts to a smaller number, which is the point.

The version I hear working best from GCs is small and boring. Start at 2% profit allocation, hold it for a quarter without raiding the account, then step to 4%. The percentage matters less than the fact that the transfer happens automatically on deposit day.

Benchmarks set the target. Job data hits it.

Knowing 8% is the target does not get you to 8%. The shops that actually land there can see margin moving while the job is still running.

Monthly accounting is a rearview mirror. June does not close until the third week of July, and by then the framing overrun is finished, the tile is set, and the two verbal COs have already been performed. The report is accurate and useless, because every decision that could have changed the outcome was available in week nine and expired in week ten.

The difference between a 4% shop and an 8% shop is rarely estimating skill. It is the lag between when margin moves and when somebody notices. Cut that lag from 30 days to 3 and most of the leaks above become recoverable, because a change order written on Tuesday for work starting Thursday is a conversation, and the same change order written in October is a dispute.

What Baxie does about it

Baxie is margin software for residential GCs. The markup engine builds your number off your actual overhead rather than a habit percentage, and it carries a Profit First style allocation view so the profit line is visible in the bid instead of being whatever survives to December. Every job then tracks estimate against actuals as costs land, so a framing package running 30% over shows up while the framer is still on site. The number you bid becomes a number you can watch. Baxie is pre-launch and onboarding California residential GCs at $2M to $20M.

Start with your last three jobs

Before you change your markup, find out what your current markup is actually delivering. Pull your last three closed jobs, put bid gross margin next to realized gross margin, and write down the gap in dollars. Then add your own salary to overhead at a real number and recompute net.

Two hours of work. GCs who run it usually find the gap concentrated in one or two categories, which makes it fixable.

Download the 12-point margin leak checklist and use it as the worksheet.

If the exercise tells you the problem is that job data lives in four places, that is a tooling question. Start with our breakdown of construction management software for residential GCs, the JobTread versus Buildertrend comparison, or the Buildertrend alternative guide if you already bounced off that one. Bidding ADUs is its own margin problem, covered in how to bid an ADU in California.

FAQ

How much net profit should a general contractor make?

Aim for 8 percent net after a real owner salary is inside overhead. Treat anything under 5 percent as a warning. NAHB remodelers averaged about 6.3 percent net recently; that is a reference point, not a healthy goal for a shop that wants to absorb a bad job.

Does owner salary count before profit?

Yes. Net profit only counts after the owner is paid as an employee of the business. Leave owner pay out and a 4 percent shop can read as 15 percent. Book replacement-cost compensation in overhead first, then look at what is left.

What do NAHB remodeler profit averages actually mean?

They describe what the field reported, not what your shop needs. Remodelers near 6.3 percent net and builders near 8.7 percent net are useful benchmarks. Michael Stone still puts 8 percent net, with owner salary already inside overhead, as the minimum for a durable contracting business.

Up next