What They Were Struggling With
BenchMark was a mid-size GC doing solid work across commercial and residential renovation. Revenue looked healthy. The team was full. Then the owner started digging into the numbers — and found a problem that had been there for years, invisible.
The Markup Trap
Applying the same markup percentage to materials, labor, and subs feels fair. It isn't. Materials have different risk profiles than labor. Self-performed labor has different margin potential than subcontracted work. A uniform markup means you're systematically overcharging on some things and undercharging on others — and you can't see which is which.
For BenchMark, the specific symptoms were:
- Cost codes were a mess. Decades of project data with no consistent categorization. Labor and materials often lumped together. No way to do job costing comparisons across projects.
- No job-type margin awareness. They couldn't tell you if commercial tenant improvements were more profitable than residential remodels. The data existed — it just wasn't organized to answer that question.
- Labor was their biggest cost center and their biggest blind spot. Self-performed labor was priced using wages only. Benefits, burden, and overhead weren't allocated to jobs. The margin was an illusion.
- Subs were priced the same as materials. The markup on a subcontractor's invoice was the same as on lumber. Wrong — managing subs has real administrative cost that wasn't being recovered.
What We Implemented
- Full Cost Code Audit: Went through 3 years of project data. Rebuilt the cost code structure in CSI format. Every line item re-categorized. Built the clean structure into JobTread as their going-forward system of record.
- Labor Burden Analysis: Documented every component of true labor cost — wages, payroll taxes, workers' comp by trade, health benefits, vehicle allocation, small tools. Built into a burden rate calculator that gets updated quarterly.
- Tiered Markup Framework: Three separate markup tiers — materials, self-performed labor, subcontracted work — each with a specific markup logic based on risk, administration, and margin target. Applied automatically in the master budget template.
- Job Type Profitability Model: Built a simple job-type P&L model. BenchMark now reviews margin by job type quarterly and adjusts their bid strategy based on which work is actually most profitable.
- Estimating Template Rebuild: Rebuilt their estimating template from scratch using the new cost code structure and markup tiers. Assembly pre-loads for their most common project types. Estimating time cut by 60%.
Measurable Outcomes
3 yrsHistorical data re-categorized for visibility
60%Reduction in estimating time
+12ptsGross margin improvement on labor-heavy jobs
ClearJob-type profitability ranking for bid strategy
"We had no idea our commercial tenant improvement jobs were running at half the margin of our residential work. That one insight changed how we allocate our pipeline. GO First found it in the first week."
— BenchMark, Owner
Related Resources
BenchMark's engagement connects to the markup trap problem we've documented extensively. See the related service and blog post: