A Full Schedule Doesn’t Mean a Profitable One
This one stings because it contradicts everything that feels like progress.
A packed calendar looks like success. But look closer. Drive time between jobs — unpaid. Your tech tracking down parts at the supply house — unbilled. The estimate that took 45 minutes to build and never converted — gone. The callback on last week’s job — a second visit you’re eating for free.
Industry benchmarks put technician billable efficiency at 65–75% for average shops. Top-performing operations push that to 85–90%. That gap — 10 to 20 percentage points — is money you already spent on labor that you never collected back .
On a three-tech crew billing at $50/hour, a 20-point efficiency gap is roughly $80,000 a year in labor you paid for and didn’t bill. Most owners know their hourly rate. Very few know what percentage of their hours are actually getting charged.
More Work Won’t Fix an Unbilled Hours Problem
When cash gets tight, the instinct is to go find more work. More calls. More estimates. More marketing spend.
But if you’re already losing 25–30% of your labor hours to drive time, parts runs, callbacks, and paperwork — adding more jobs doesn’t close the gap. You’re running harder and staying in the same place.
The other version of this is pricing. Operators sense something is off, so they try raising rates. Often that’s the right call. But if you don’t know your actual cost per job, you can raise prices and still lose money because the math underneath is broken.
Markup and margin are not the same number. Adding 20% to your costs gives you a 16.7% margin — not 20%. Most operators who work this out for the first time are genuinely surprised. The problem isn’t always that the rate is too low. It’s that the pricing formula has been wrong from the start.
Fix First: Track Where Your Labor Hours Actually Go
Before you raise rates, hire another tech, or spend money on ads — do this.
Track your labor hours by category for two weeks. Not just total hours on the clock. Break it down:
Drive time (job to job)
Billable wrench time on the job
Parts runs and supply pickups
Estimates and quoting
Callbacks and warranty work
Admin, invoicing, phone calls
Most owners who do this find the same thing: the problem isn’t one big hole. It’s four or five small ones that together eat 20–30% of the day. Once you can see the numbers, you can fix the right things — not the things that feel biggest, but the things that actually are.
Steal This — End-of-Day Debrief
Ask your tech one question at the end of every job:
“Was there anything today that slowed us down or kept us from getting to the next job faster?”
Parts run? Customer wasn’t home? Had to come back? Write it down. After two weeks, you’ll have a pattern. That pattern is your repair list.
What to Tighten Once You Can See the Job Costing Numbers
After two weeks of tracking, you’ll know where to focus. Here’s what to prioritize:
Route by location, not by order received. Jobs that cluster geographically can save 20–40 minutes per tech per day in drive time. If your scheduling is first-come-first-served without attention to geography, that’s an easy, free fix.
Price the whole job — not just the labor rate. Build materials, drive time, and a realistic time estimate into every quote. A job 45 minutes away carries 90 minutes of round-trip drive. That time has to live somewhere in the price, or it’s coming straight out of your margin.
Track callbacks and find the pattern. Every callback is unpaid labor. Two callbacks per week at two hours each adds up to over 200 hours a year — that’s five full weeks of a tech’s time, for free. If the same job type or part brand keeps showing up, that’s a bigger cost than most marketing problems.
Profit Leak Checklist — Run Monthly
[ ] Do I know my billable hours vs. total hours worked this week?
[ ] What percentage of estimates converted to booked jobs?
[ ] How many callbacks did we run — and what caused them?
[ ] Are jobs priced to include drive time and realistic labor estimates?
[ ] Is my markup producing the margin I actually think it is?
[ ] Are there subscriptions or vendor charges that renewed without a review?
If you can’t answer most of these, that’s where to start — not with ads, not with new software, not with hiring.
Fixing a time problem doesn’t require more work. It requires knowing where the time is going. Most operators who see real margin improvement aren’t doing anything complicated — they tracked their hours, found the pattern, and fixed what they could see.
Start there. If you want a clearer picture of where your biggest leak is, I’m happy to take a look.
Next step: Pull your invoiced hours for the past two weeks and compare them to your total labor hours paid. That ratio tells you where you stand.

