Profit leaks show up not as a single loss but as $1,000 here and $5,000 there, repeated across every job. Discover the 5 places home service businesses lose margin, and what takes to close every leak.
A profit leak almost never shows up as one dramatic mistake. It shows up as a pattern nobody's tracking, repeated quietly across every job on the schedule.
Profit leakage in a home service business concentrates at 5 predictable points: unbilled change orders, labor overruns, material waste, unproductive drive time, and warranty or callback costs. None of them look serious in isolation. Each one bleeds a few hundred to a few thousand dollars per job until someone tracks the pattern and closes it. One home service business working with Clear Results traced a single missed change order to a $40,000 to $50,000 loss, and closed it for good by rebuilding how its contracts allocated risk in the first place. That story is below.
Every one of these 5 leaks shares the same root cause: the cost of a small field decision (skip the change order, let the crew run long, over-order the lumber, take the far-away job, miss the pattern in a callback) never gets tied back to what it cost. Individually, each leak looks like a rounding error on a job costing report. Added up across a year of jobs, they're often the real difference between a business that's busy and a business that's profitable.
Most owners can look at a job costing report and see whether a project made money. What the report usually can't answer is why a job that should have cleared a healthy margin came in close to break-even, because none of the 5 leaks below show up as their own line item. They hide inside overhead, inside "variance," inside a superintendent's time that never got tracked against a specific task.
A little variance on cost or schedule gets waved off as just how construction works.
Once each leak gets named individually, though, the pattern is a lot harder to write off as normal. Clear Results installs the Profit Engine system to close all 5 points at once rather than one at a time as they surface: job-level cost tracking, change-order discipline, and a scheduling structure built to protect margin instead of just filling the calendar.
Without a tracking system, all 5 leaks fail the same way: the cost of a field decision never gets connected back to the person who made it or the dollar figure it cost. With the Profit Engine installed, each leak gets its own specific counter-measure instead — written change-order discipline, hours tracked against estimate, a material reconciliation step, a drive-time price adjustment, and a callback log tied to root cause rather than just job number. None of the 5 countermeasures is complicated by itself. Running all 5 at once, consistently, on every job, is the part most businesses never quite get to.
A fixed-price contract puts the entire cost of a missed change order on the business, and it takes exactly one missed signature to lose the markup on the whole item. On one project, a client added roughly $1,000 in custom shelving and several upgraded door selections after signing, none of it priced before the crew built it. On another, a company issued a client a $22,000 credit instead of a $22,000 invoice (the exact opposite of what should have gone out) and didn't catch the error until the books wouldn't balance. A separate $16,000 concrete bill got left off a draw entirely.
None of these were unusual, one-off mistakes. One owner working with Clear Results estimated that somewhere between $1,000 and $3,000 in unbilled costs slips through per house even when the team is actively trying to catch every one.
Closing this leak starts with making a change order the default response to any scope change, built into the workflow itself so a busy superintendent never has the option to skip it. Every price increase gets written down, signed, and billed before the crew touches the work, no exceptions for a client who seems easy to trust.
Crews taking longer than estimated gets treated as normal in this industry, until the actual cost of "longer" gets isolated. On one job, 2 crew members spent more than 8 combined hours hanging a single interior door that should have taken under 2 hours start to finish, about $1,200 in labor to install a $200 door.
Closeout is where this leak concentrates hardest. A punch list that should take 3 hours regularly stretches to 6, since the schedule pressure that existed during the visible framing and finish work disappears once the big stuff is done.
Labor overruns also hide in plain sight on a cost report. On one project, a superintendent-fee line came in at $38,000 against a $16,000 quote — $22,000 of unrecorded crew labor that never got tracked against the task it belonged to. Closing this leak means tracking actual hours against the original estimate on every job, not just the ones that obviously ran long, and treating a stretched-out punch list as a cost worth catching rather than a wind-down phase to ignore.
Material waste rarely announces itself. It shows up as leftover stock nobody flags, an order placed against the wrong spec, or a delivery nobody checked against the plan before the crew started building with it. On one project, $4,000 to $5,000 of material went to waste from poor tracking alone. On another, a truss package went up at the wrong spacing, and 6 extra trusses sat in the front yard for days before anyone asked why they were there.
Smaller mistakes add up just as fast. On one order, 5 sheets of half-inch plywood went out instead of 7/16-inch OSB, a specification mismatch that cost about $200 to correct, plus the delay of a second delivery to fix it.
Reconciling what was ordered against what got used, within a day or two of delivery, is what closes this leak — a wrong order is still cheap to catch and correct at that point.
Every mile a crew or superintendent drives outside a tight service area is a mile that isn't billable. One business turned down a project more than 4 hours from its home base for exactly this reason, even though the work itself would have been profitable on paper. Distance alone made it a net loss once travel time got counted.
The cost compounds fast even inside a normal service radius. A superintendent running a job an hour away, each direction, loses close to 2 productive hours a day before doing a single task on-site. Multiply that across a multi-week project, and the lost hours start to rival the labor budget for a whole phase of work.
Closing this leak means building geography into the price before a job gets scheduled. A job outside the standard radius either gets priced to cover the extra drive time explicitly, or it doesn't get scheduled at all.
Warranty and callback work looks like bad luck one job at a time. Across a full year of jobs, though, it's usually a pattern: the same category of defect, the same stage of the build, the same root cause showing up at a different address.
The costs scale with the size of the mistake more than the size of the job. A defective tile shower installation once required a full tear-out at about $5,000. A driveway ruined by incorrect pressure-washing cost roughly $15,000 to replace. A stamped concrete floor, cut through to reroute a single conduit line, cost another $15,000 to make right. On the largest end, a retaining wall failure after a storm ran about $50,000, on a structure that traced back to inspection standards nobody had tightened after smaller failures earlier the same year.
Logging every callback by category and root cause, not just by job, is what makes a pattern (a specific sub, a specific build stage, a specific material) visible before it turns into a five-figure repair.
Closing all 5 leaks doesn't take new software or another employee on payroll. It takes a fixed weekly routine that checks the same 5 points every time, run by one person who owns it end to end.
Every scope change gets written down, priced, and signed the same day it comes up, whether the client asked in the field or over a text. No verbal-only changes, no sorting it out later. Whoever's running the job owns this step personally.
Pull actual hours against the original bid every week, well before closeout. A job running more than about 10% over by the halfway mark gets flagged that same week, while there's still time to correct course instead of just recording the loss afterward.
Whoever receives materials checks the packing slip against the original order before it gets used. Extra or wrong-spec material gets flagged and returned or reallocated within the week, before it can sit unnoticed on-site.
Any job outside the standard drive-time radius gets a travel premium built into the quote before it's booked, as a scheduling decision made upfront rather than a cost discovered once the crew's already driving.
One running sheet, not a scattered set of service tickets. Every callback gets tagged by cause (a specific sub, a specific build stage, a specific material) so a pattern shows up after 3 or 4 instances instead of after the twentieth.
None of these 5 steps takes more than a few minutes a week on its own. Running all 5 on the same schedule, owned by one person, is what turns a good intention into an installed system.
This playbook installs inside the Profit Engine system, the part of the Clear Results Operating System built around revenue, margin, cash flow, and job costing. None of the 5 leaks above get fixed by winning more work or hiring more people. They get fixed by tracking money at the exact point it leaves the business, then building accountability around that tracking.
This work matters most for businesses in the $3 million to $10 million range. Below that, job volume is usually low enough that an owner can still catch most leaks by walking the jobs personally. Past it, the same leaks compound across enough jobs and crews that recovering even a point or two of margin is worth real money, and an owner personally checking every job stops being realistic.
Where a typical home service coaching program flags a weak number once a month and leaves the owner to chase it down between calls, Clear Results installs the tracking structure directly across all 5 leak points, then works alongside the team until every one holds on its own.
Setup. One custom home-building business working with Clear Results ran fixed-price contracts for years and treated every unbilled change order as its own isolated mistake. Over roughly 2 years, the owner tried 7 distinct process fixes in sequence: a payment clause added to every contract, standardized bidding checklists, color-coded budget spreadsheets, a dedicated change-log page in every contract, digital sign-offs at each walkthrough, automatic change-order triggers, and a flat markup penalty tied straight to a superintendent's incentive pay if he missed one.
Problem. None of it held. In one case, a superintendent who'd already decided to leave the company simply stopped writing change orders in his final weeks, leaving $40,000 to $50,000 unbilled on his way out. On a separate job, a $30,000 cabinet change order went out with no markup applied at all, a $7,200 to $7,600 miss on that item alone. The incentive penalty built to stop exactly that behavior had nothing left to threaten someone who wasn't sticking around to collect a bonus.
Fix. Instead of adding an eighth checklist, the business dropped fixed-price contracts entirely and moved every new build to cost-plus pricing, billing actual labor and material costs plus a standard markup. A missed change order stopped being possible the same way it had been before, since there was no longer a fixed number for anyone to protect by remembering to update it.
Bonus. The transition wasn't instant. Reconciling the new billing model against the company's existing project-management software took real work, and the owner said as much a month in: he'd have paid $10,000, even $20,000, to get someone in to make the two systems talk to each other cleanly. By late fall, most of that friction had resolved, and the leak that remained was a fraction of the size of the one it replaced.
The full story, including how every number changed after the switch, is in our case study: Cost-Plus Contracts Stopped a $50,000 Unbilled Change-Order Leak.
Start with whichever leak you can least explain on a cost report. If job costing keeps coming in high on labor with no clear cause, start with labor overruns. If margin erodes on jobs with a lot of client-requested changes, start with unbilled change orders. Warranty and callback costs are usually the easiest to isolate first, since they already show up as a dedicated cost category instead of hiding inside overhead. Pick one leak, track it for a full month, and let what it costs tell you whether it's worth fixing next.
More than most owners think. Businesses actively trying to catch every change order still report somewhere between $1,000 and $3,000 in unbilled costs slipping through per house. Without active tracking, a single missed change order on a large job can run into the tens of thousands, especially when it involves markup on subcontractor work rather than materials alone. The difference between having a change-order process and catching every change order is usually where the money leaks.
No. A typical home service coaching program reviews your numbers once a month and leaves you to make changes yourself between calls. Closing these 5 leaks takes a tracking system built into daily job operations, something a monthly conversation about numbers that already happened can't install on its own. Clear Results installs that system directly (change-order discipline, hour tracking, material reconciliation, drive-time pricing, callback logging) and stays inside the business until each piece holds without a reminder.
Make the paperwork match the actual pace of the job instead of interrupting it. A change-order trigger tied to a specific dollar threshold, built into whatever software the field team already uses, catches most scope changes without adding a separate approval step. The businesses that get this right build the change order into the work itself, priced and signed while the crew is still on-site, before it can turn into paperwork chasing the job after the fact. One custom home builder eventually solved it more permanently by moving to cost-plus contracts, removing the need to catch every change manually in the first place.
There's no single figure that works for every trade, but a useful test is whether a superintendent or crew loses more than an hour a day, combined, just getting to and from a job. That's close to 2 lost hours a week per person once averaged over a normal schedule, hours that never show up as their own line item on a cost report. If a job requires more travel than that on a regular basis, it needs a travel premium built into the price. Counting on the crew's patience alone doesn't hold up over a full year of jobs.
The clearest sign is when an owner can no longer personally catch every leak by walking the jobs. Below a few million in revenue, most owners still see enough of what's happening on-site to catch a missed change order or a wasted delivery. Past $3 million or so, job count and crew count both grow faster than any one person's ability to check everything, and leaks that used to get caught by instinct start compounding quietly across a portfolio no one's tracking the same way twice.
Strong revenue can hide jobs that are quietly losing money. One contractor tracked estimated versus actual cost on every job and found direct labor alone was running at 18% of revenue — then brought it to 11.6% with a weekly job costing system.
Most contractors price based on gut feel or competitors. This framework shows you how to price based on your actual costs, overhead, and target margin.
A foundation and waterproofing company was selling $338,000 a month while its crews produced $160,000. Nobody had connected those two numbers until someone pulled up a Builder Prime report and realized that the business had never tracked what a single job actually cost to complete.
Most contractors price jobs off the wage they pay a crew, not the real cost of a field hour. One foundation repair company learned the hard way that the difference was 18% of revenue. A weekly labor burden scorecard brought it to 11.6%, without losing a dollar of weekly production.
Unbilled change orders can drain a home service business's margin because a fixed-price contract decides who pays before the job even starts. This case study shows how switching from fixed-price to cost-plus contracts finally prevented a home-building company superintendent's exit from costing $50,000 in unbilled work.
A foundation repair company cut its direct labor cost from 15.8% to 11.6%, a 4.2-point drop, by changing how it scheduled jobs and when its crews loaded their trucks. Neither change cost a dollar, and neither one involved hiring anyone new. Reid just moved a 15-minute chore to a different point in the day.
Use our free Valuation Calculator to estimate your company's worth in under 2 minutes — based on your actual revenue, EBITDA, and industry multiples. See where your value is leaking, and what it could be worth with the Clear Results operating system.
calculate my valuation