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.
Frequently Asked Questions
1) Q: I’m booked solid every week — doesn’t that mean the business is profitable?
A: Not necessarily. A full schedule means you have demand. Whether that demand is turning into margin depends on what’s happening inside the jobs — how much of your labor is actually billable, whether jobs are priced to cover drive time and materials, and how many callbacks you’re running. Plenty of busy shops have thin or negative margin on jobs they thought were solid. Booked out and profitable are two different things.
Next step: Pull your last 10 invoices and check actual time on the job against what you quoted. If there’s a consistent gap, you’ve found the leak.
2) Q: What’s the first thing I should actually do before I change prices or hire another tech?
A: Track your labor hours by category for two weeks — billable time, drive time, parts runs, callbacks, and admin. You can’t make a good pricing or hiring decision without knowing what your hours are actually going to. Every other fix — pricing, routing, scheduling — depends on this data. Changing anything before you have it is guesswork.
Next step: Set up a simple daily log — even a notes app or a sheet of paper. Have your techs log time by category at the end of each job for 14 days.
3) Q: I’m running one truck by myself. Is this worth tracking if I don’t have a crew?
A: Especially if you’re running solo. A one-truck operation has zero buffer — every hour you spend on a parts run, a callback, or an unbilled estimate is an hour you’re not generating revenue. There’s no one else to cover the gap. The billable efficiency problem hits solo operators harder, not lighter. Two weeks of tracking will show you exactly where the time is going.
Next step: Log your hours by category for one full week — it takes less than five minutes at the end of each day.
4) Q: When does it actually make sense to buy more leads or spend on ads?
A: When your current jobs are converting at a healthy rate and you have the capacity to take on more work without the wheels coming off. If your close rate on estimates is low, you have frequent callbacks, or you’re struggling to price jobs accurately — more leads just compounds the problem. Fix the fundamentals first. Once jobs are running cleanly and margin is predictable, growth spend has somewhere solid to land.
Next step: Calculate your estimate-to-booked-job rate before committing to any ad spend. If it’s below 50%, fix that first.
5) Q: How do I know if my markup is actually producing the margin I think it is?
A: Do the math directly. Divide your gross profit by your revenue — that’s your actual margin percentage. If you’ve been calculating margin by adding a percentage to cost (e.g., cost + 20%), your actual margin is lower than you think. Cost + 20% = 16.7% margin, not 20%. Run this number against your last 30 days of invoices. Most operators who do this for the first time find their margins are 3–5 points lower than expected.
Next step: Pick your five most common job types and calculate true margin on each — materials, labor, drive time, and overhead included.
6) Q: If I could only look at one number to find my biggest profit leak, what would it be?
A: Your billable efficiency rate — total hours billed to customers divided by total hours your techs were on the clock. Industry benchmarks sit at 65–75% for average shops. Top operations hit 85–90%. If your number is below 70%, that gap is your leak. Everything else — pricing, routing, callbacks — follows from fixing that first. You calculate it by looking at two weeks of time logs against two weeks of invoices.
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.
This strategy is a component of our Growth Infrastructure.
Implementation requires more than just reading. See how this logic fits into our core Montana frameworks.