Contractor Overhead Recovery
The markup every job needs to cover overhead and hit your profit target, and which job types fall short.
Example scenario—not a forecast or verified benchmark. Enable JavaScript to edit inputs, view charts, save locally and export your analysis.
Example inputs
- Annual overhead (indirect costs)
- 450,000
- Target net profit (% of revenue)
- 10
- Billable field labor hours per year
- 24,000
- Job mix (next 12 months)
- [{"name":"Remodels","directCost":1200000,"markup":30},{"name":"Service & repairs","directCost":400000,"markup":45},{"name":"New construction (sub work)","directCost":600000,"markup":15}]
Example results
Every job needs a 33.8% markup (25.3% margin) to cover $450K of overhead and net 10%; your 28.6% blended markup leaves $114K a year on the table.
- Required markup on direct cost
- 33.8%
- Equivalent gross margin
- 25.3%
- Current blended markup
- 28.6%
- Annual shortfall vs. target
- $114,444
- Break-even markup (zero profit)
- 20.5%
- Projected net profit at current markups
- $180,000
- Revenue needed
- $2,944,444
- Overhead per billable field hour
- $18.75
What stands out
Blended markup 28.6% vs. 33.8% needed
At current markups you net $180,000 (6.4%) and fall $114,444 short of your 10% profit target.
Markup is not margin: 33.8% markup = 25.3% margin
Markup is a % of cost; margin is a % of the selling price. A contractor who wants a 25% margin but adds 25% to cost comes up $188,218 short on this job mix. To convert: markup = margin / (1 - margin).
New construction (sub work): 15% markup is 18.8 pts short
It does not even cover overhead (break-even markup is 20.5%). Pricing it at the required markup adds $113,030 a year.
Remodels: 30% markup is 3.8 pts short
Pricing it at the required markup adds $46,061 a year.
Each field hour must carry $18.75 of overhead
Add this to loaded labor cost before profit when quoting time-and-materials or service work.
Next actions
- Set a minimum markup of 33.8% (a 25.3% gross margin) in your estimating template and require sign-off to go below it.
- Re-price new construction (sub work) first: it is the largest gap at $113,030 a year. Raise the markup or stop bidding the lowest-margin work.
- Train estimators to quote in margin and show both numbers on every bid so nobody confuses markup with margin.
- Re-run this every quarter with actual overhead; recovery breaks when overhead grows faster than volume.
Model assumptions & limitations
- Required revenue = (direct costs + overhead) / (1 - target net profit %). Required markup = required revenue / direct costs - 1.
- Assumes overhead is recovered evenly across all direct cost dollars; jobs heavy in pass-through materials or subs may warrant a lower markup and labor-heavy jobs a higher one.
- Target net profit default (10%) is a common rule of thumb for contractors; set your own.
- Projected volume and overhead are held constant; raising prices may change win rate.