Trades industry news, updated weekly
Business Tips

Your Techs Are Losing 90 Minutes a Day in the Truck

Sam ReevesSam Reeves··12 min read

Your Techs Are Losing 90 Minutes a Day in the Truck

Five trucks. Eight hours each. Thirty percent of those hours in the windshield.

That's twelve hours of paid labor every day that isn't attached to a single invoice. Run that number for a week and then tell me your pricing model is solid.

Most small shops treat drive time like weather — something that happens to you, something you account for in your head, something that evens out. It doesn't. And if you're not attributing it to job cost, your price-per-job is built on a gap. I know this because I ran my first three months at Reeves Electric on day rates, and those day rates were built on the same blind spot. I didn't know what my real cost per job was because I'd never assigned actual numbers to the hours my guys weren't billing. By the time I rebuilt the pricing model, I'd already paid for the lesson.

This article is about not paying for it.

The Math You're Not Running: What Windshield Time Actually Costs You

My journeymen are running somewhere between $28 and $34 an hour fully loaded — wages, taxes, benefits, truck cost allocated. Call it $30 average. At 90 minutes of drive time per day, that's $45 in unrecovered labor before anyone turns a wrench. Five days a week, that's $225. Per tech. Per week. At five trucks, you're at $1,125 a week in labor you paid for and didn't bill. Across a full year that's north of $58,000 — and I'm using the conservative drive-time number.

The 90-minute figure is what I was running in late 2022 before I pulled our dispatch logs. Some of my techs were closer to two and a half hours. Do that math yourself.

The deeper problem: if drive time isn't in your job cost model, your gross margin on every ticket is overstated. The gap isn't theoretical. It's the actual check you're writing every Friday to a tech whose productive output that day was six hours, not eight. You're just not seeing it as a line item because you never set it up as one.

I ran day rates for my first three months. Not out of laziness — I'd actually thought about it. The day rate covered wages and materials and left what felt like margin. What it didn't cover was the reality that a meaningful chunk of those eight hours every day was transit, and I had no idea because I wasn't tracking it.

Nobody Knows Their Number Because Nobody Measures It

The owner who can't tell you what percentage of booked revenue came from Google LSA last quarter is usually the same owner who can't tell you how long his techs spent in the truck last Tuesday.

I've written before about call recording. The logic is identical here. You cannot fix what you cannot measure, and most shops don't pull dispatch reports any more than they listen to their intake calls. Value is leaving through gaps nobody's put a number on.

What it looks like in practice: your dispatcher builds the day's schedule based on who's available and what the customer requested for timing. The schedule goes out. The jobs get done. You close the week. You have no idea that Tech 3 drove 47 miles between job 2 and job 3 because a customer insisted on a 2pm window and nobody checked whether there was a job three miles from there they could have slotted first.

Your dispatcher made a reasonable call with the information they had. The problem is that "what does this sequence cost us in drive time" was never part of the decision — because nobody asked and the system wasn't set up to show it.

Most shops don't have a routing problem. They have a measurement problem. You can't route around drive time you've never added up.

What 90 Days of Paying Attention Taught Me

I pulled our full dispatch log on a Tuesday afternoon in late 2022. Maple was asleep under my desk. I had a yellow legal pad and about three hours.

What I found was that our schedule was built around two things: tech preference and customer requests. Sounds reasonable until you map it. One of my guys was starting his day in Round Rock because he lived up there. Another was gravitating toward north Austin work in the mornings because that's where he'd built relationships. Customers were getting time windows because we'd promised flexibility on intake and our dispatcher honored it. On paper, every slot was filled and every tech was busy. In practice, techs were routinely driving 25 to 35 miles between jobs.

I'd done the same thing with our booking rate earlier that year. I thought intake was going reasonably well — phones were ringing, jobs were scheduling. It wasn't until I listened to 40 call recordings over two days that I found out our booking rate was sitting at 51%, and I could hear exactly where the calls were dying. The routing problem was identical. I thought the schedule was working because the trucks were moving.

With intake, I recorded, listened, changed one thing, then measured. I did the same thing with routing. First month was baseline — what are the actual numbers. Second month was redesigning how we assigned territory. Third month was holding the new rules and watching where exceptions crept back in.

None of that required new software. It required a Tuesday afternoon and being willing to see what I'd been missing.

The Contrarian Take: You Probably Don't Need a Routing Tool Yet

Someone emails me about this after almost every post on scheduling. Which routing tool do I use? And the answer nobody wants: you probably don't need a dedicated routing tool yet.

If you're on Jobber or Service Fusion — and at five trucks doing residential service, you should be on one of those — you already have a map view in dispatch that most shops have never clicked on. Jobber's map view shows you where your scheduled jobs land geographically. You can cluster them. You can see when two jobs in the same zip are scheduled on different days for no good reason. That's already in the platform you're paying for.

Buying a dedicated routing platform before you've used what you have is the same move as pricing day rates before you've tracked your cost per hour. The tool can't fix a schedule built on bad assumptions about territory or job duration. It'll run those bad assumptions more consistently, which isn't the same as fixing them.

Get your baseline number first. Use the Jobber map view. Find the three worst offenders in your current routing — there will be obvious ones. Fix those manually. Once you have a six-week baseline, you'll actually be able to evaluate whether a dedicated tool adds anything on top of that. At five trucks, in my shop, the answer has been not yet.

The shops that throw money at routing software and don't see results almost always skipped the baseline. Don't do that.

How to Actually Fix It: Territory, Sequencing, and the Weekly Review

Territory first. My techs have home zones, not just schedules. I carved our service area into five rough zones anchored by zip code call volume — I used CallRail data to identify where demand was actually concentrated, and Airtable to track job origin and close rate by area. Each tech has a primary zone and a secondary, with explicit rules about crossing zones: capacity pressure, emergency calls, specific skill requirements.

Sequencing rules second. First job of the day is anchored to the tech's zone entry point, not the customer's preferred window. Last job is anchored to zone exit. Middle of the day is more flexible. That one rule moved our average drive time noticeably in the first few weeks — I didn't instrument it cleanly enough to give you a precise number, but the Tuesday dispatch logs told the story clearly.

Weekly review third. Every Monday I pull the prior week's dispatch summary and look at three numbers: average drive time per tech, drive time as a percentage of total hours, and any tech who ran more than two hours in the truck on a single day. That last one almost always means a scheduling exception got made without a good reason. If I let this review slip — which I did twice during busy season — the routing drifts back inside 60 days. I've watched it happen in my own shop.

What to Do Monday Before You Touch Any Software

For each tech, calculate total hours paid versus total hours on a job site. The gap is drive time plus non-billable time. Write it down. Express it as a percentage of paid hours. Average it across all five trucks. That's your baseline.

I hired my bookkeeper before my CSR because you need clean books before you can train someone on intake. Same sequence here: establish the baseline before you buy the tool, because the tool needs a benchmark to improve against.

Five questions to answer before you change anything:

What is your average drive time per job, in minutes? What percentage of last week's jobs were within 10 miles of the prior job on the same route? Are your techs' first jobs anchored to their home location or to a territory boundary? Does your dispatcher have a stated maximum drive time between jobs, and do they know what it is? When did you last pull this data at all?

If you can answer all five with actual numbers, you're in better shape than most. If you can answer two, you have a measurement problem, not a routing problem. Fix the measurement first. The routing problem may solve itself once you can see it.


FAQ

If my techs are already busy all day, why does drive time matter?

"Busy" and "billable" are not the same thing. A tech paid for eight hours who bills six is generating 75% of the revenue you expected from that truck. If your job pricing assumes eight billable hours and you're getting six, you've got a margin problem that's invisible until you run the numbers. Full schedules can still have serious drive-time waste — jobs being there doesn't mean the sequence between them is efficient. Most shops find 15 to 30 minutes of daily savings per tech just by fixing the first and last job of the route.

What's a realistic drive-time target for a residential service shop?

I can tell you what I'm targeting at Reeves Electric: under 15% of total paid hours per tech per day. On an eight-hour paid day, that's under 72 minutes in the truck. I was running closer to 30% when I first pulled the numbers in 2022. I don't have a dataset across shops to give you an industry figure — I have my own books and conversations with guys I've talked to at trade events. Your number may look different depending on your market density. What matters is that you know your number.

We're in a rural or spread-out market. Is clustering even possible?

The logic still applies, the tactics shift. You're not trying to eliminate drive time — you can't. You're trying to stop making it worse with bad sequencing. In spread-out markets, the biggest wins usually come from batching by day rather than by route — dedicating Tuesdays to one region and Wednesdays to another, rather than crisscrossing constantly. The first-and-last-job anchor rule matters even more when your gaps between jobs are already long.

I'm on Jobber. What specifically should I look at in dispatch?

Open the map view in the dispatch calendar. Look at where your jobs physically land on any given day. If you see a tech bouncing north, south, north, south across the metro — that's the problem visualized. Jobber doesn't auto-optimize the sequence, but it shows the inefficiency clearly enough that a dispatcher paying attention can fix it manually. Look specifically at the gap between job 2 and job 3 for each tech. In my experience that's where the longest drives hide — almost always tied to an early-afternoon customer window request that nobody pushed back on.

How do I raise this with my techs without it feeling like surveillance?

Lead with the math, not the monitoring. Show them the weekly drive-time number as a shop average, not a per-tech scorecard. The framing I use: we're paying you for eight hours and I want eight hours going toward jobs we can invoice, not windshield. That's good for the business and it means your day isn't extended by bad routing. Most techs respond well to that because they don't love long drives either — it makes their day longer without extra pay.

At what truck count does a dedicated routing tool make sense?

I don't have a clean answer here because I'm at five trucks and haven't crossed the line yet. My instinct, based on where the manual review process starts to break down, is somewhere around eight or nine trucks with meaningful daily volume. Below that, the dispatch features in Jobber or Service Fusion, used correctly, handle the problem without additional spend. Before you buy anything, confirm you've fully used what you're already paying for. The map view in Jobber is free. Use it first.

Enjoyed this article?

Get articles like this in your inbox every Monday. Free, no spam.

More from The Backcharge