The drive-time problem hiding inside profitable jobs
Most plumbing, HVAC, electrical, and roofing owners can tell you their hourly charge-out rate. They know what a standard service call should produce. They can often tell you which technicians bring in the most revenue.
What they usually can’t see clearly is the time between jobs.
A technician might complete a $650 repair at 10:15am, then spend 42 minutes driving to the next call. The next job might be only 12 minutes on the tools. If that short job also needed a parts run, a phone call to confirm access, and a return drive through traffic, it may have produced revenue without producing much profit.
That matters when you run a business doing $1 million to $25 million in annual revenue. A handful of bad route decisions each day can become a serious number by year end. Across trades businesses of this size, we commonly see operational leakage in the $50,000 to $200,000 range. Drive time is rarely the only cause, but it is often the cost owners have accepted because they have never had a clean way to measure it against job margin.
The best way to track technician drive time and job profitability is to stop treating travel as a vague overhead cost. Capture it automatically, connect it to each job, then use route analysis to make different dispatch decisions before another week disappears.
This isn’t about watching technicians for the sake of it. It’s about seeing what your schedule is really costing.
If you want a broader view of where automation can remove waste across the business, See Omni for trades businesses. The process starts with the work already happening in your office, on the road, and in the dispatch system.
Why manual time tracking doesn’t give you job margin
Many businesses have some form of time tracking. The issue is that it is often designed for payroll, not profitability.
A technician clocks in at 7:00am and clocks out at 3:30pm. They may add time against a work order at the end of the day, or an office admin may adjust records based on the schedule. That tells you total paid hours. It does not reliably show:
- When the technician left the previous job
- How long they drove to the next address
- Whether they stopped for parts
- Whether the customer was unavailable
- How long they waited for approval
- How much unbillable travel sat around a short repair
- Which geographic zones are consistently unprofitable to serve
The owner then tries to work backwards. Revenue is pulled from the job management system. Labour cost is estimated from wages. Vehicle costs sit in a separate account. The schedule is reviewed when somebody complains about a long day.
By the time those numbers reach a monthly profit and loss report, the decision window has passed.
The manual process also creates friction. Technicians don’t want to spend their day tapping time codes into an app. Dispatchers don’t have time to correct incomplete records for eight or 20 crew members. Owners end up relying on instinct, which works until the business has enough volume that no one person can hold the entire schedule in their head.
A useful profitability system needs to distinguish four blocks of time:
- Paid travel between the first and last job
- On-site labour that can be charged or recovered in the price
- Non-productive delays, such as access issues, parts collection, or dispatch changes
- Travel caused by a poor territory assignment or last-minute schedule reshuffle
Without that distinction, a technician can look busy all day while the route loses money.
Capture the real timeline automatically
Automated time capture begins with data you likely already have. Your field service platform holds job addresses, scheduled windows, job types, customer records, assigned technician, quoted value, invoice value, and job status. Technician mobile devices can provide location events, with appropriate consent and clear policy. GPS or fleet telematics can provide another signal where vehicles are assigned by crew.
The goal isn’t to collect every movement. The goal is to create a defensible job timeline.
A practical system can identify when a technician leaves a completed job area, arrives near the next address, starts work, pauses for a material pickup, and completes the job. It can compare those events with scheduled times and job status updates.
For each job, your reporting should calculate something like this:
- Invoice or expected job value
- Technician labour time on site
- Travel time allocated from the prior job
- Travel time expected for the route
- Additional detours or parts-run time
- Labour cost based on loaded hourly cost
- Vehicle cost allowance per kilometre or mile
- Estimated gross margin after direct labour and travel
You don’t need false precision for this to be useful. A business with imperfect data can still identify the jobs and zones where drive time is regularly 25 to 40 percent higher than expected.
That is enough to change the next week’s schedule.
One electrical contractor might find that a cluster of small residential calls on the edge of town routinely takes 90 minutes of combined driving for less than two hours of billable work. Another HVAC business may find its maintenance routes are fine, but same-day no-cooling calls are bouncing technicians across three suburbs because the dispatch board is being managed by whichever person is available to answer the phone.
Those are different problems. They need different fixes.
For practical automation ideas beyond routing, the Omni ops approach focuses on the repetitive coordination work that usually ends up on an owner’s phone.
Build a route analysis that helps dispatch make decisions
Route analysis only works when it is tied to operating choices. A map with coloured pins looks impressive, but it won’t protect job margin unless somebody can act on it.
Start by reviewing the last 30 to 60 days of completed jobs. Group them by postcode, suburb, service type, technician, and time of day. Look for patterns such as:
- Jobs booked outside a technician’s usual territory
- A high volume of short-duration jobs with long travel legs
- Repeat parts runs to the same suppliers
- Scheduled jobs displaced by emergency work
- Technicians crossing paths or covering the same area on the same day
- Late-day jobs that create overtime because of drive distance
- Areas with lower average invoice value and higher cancellation rates
Then create simple operating rules.
You might reserve certain postcodes for specific crews. You might set a minimum call-out threshold for outer-territory work. You might only book low-value maintenance work in an outer zone when there are at least three jobs available. You might leave capacity each day for genuine emergency work instead of tearing up the entire schedule when the first urgent call arrives.
The point is not to make the schedule rigid. Trades work is unpredictable. The point is to make the cost of disruption visible.
A useful dispatch dashboard should show a coordinator three things before they assign a job:
- The nearest suitable technician based on skills, current job status, and location
- The added travel time and estimated cost of assigning that technician
- The impact on the jobs already on that technician’s route
That third point is where many businesses lose margin. Dispatch sees an open gap at 1:00pm and fills it. The new job may fit the calendar, but it can force three extra travel legs across the rest of the afternoon.
A routing recommendation should account for the full sequence, not just the next available technician.
What an AI agent does from call to margin report
An AI agent can handle the analysis and coordination layer that a busy dispatcher rarely has time to do consistently.
Picture a normal service request. A customer calls at 8:20am with a leaking hot water system. The 24/7 Dispatch Voice Agent answers, asks enough questions to identify urgency, confirms the address, checks whether water can be isolated, and captures the relevant job details.
For an emergency, the agent checks availability against technician skills, territory, current route, and expected job completion times. It can recommend the best technician based on the lowest total route disruption, not simply the first person with an empty-looking calendar. It books the slot in the dispatch tool and sends the customer a confirmation text.
For a scheduled job, it can offer the next route-efficient window. If Tuesday afternoon already has two nearby jobs, the system doesn’t need to offer Monday morning just because it appears technically open.
Once the job is underway, automated time capture records departure, arrival, time on site, and relevant route events. The agent flags exceptions for a human when needed. A technician who has stopped at a supplier may be on a legitimate parts run. The system should ask for confirmation, not assume poor performance.
After the job is invoiced, the agent compares actual time and travel with the original estimate. It can then produce a job margin record that shows where the margin changed:
- Labour ran over because the repair scope expanded
- Travel was higher because dispatch reassigned the job
- A customer delay added non-billable time
- A second visit was needed because a part was unavailable
- The quoted price did not cover the service area and travel requirement
Over time, that creates a better pricing and territory model. You can see which jobs need a travel surcharge, which suburbs require booking thresholds, and which service categories should be grouped into specific days.
This is the difference between tracking vehicles and managing profit.
Don’t fix drive time while calls and estimates keep leaking
Route optimisation matters, but it should not become a narrow project. Drive-time data is most useful when it sits beside the front-end processes that create the schedule.
Consider the owner who spends 20 or more hours each week answering calls, moving jobs, checking technician locations, and following up on customers who have gone quiet. The schedule becomes reactive because the person responsible for routing is also responsible for everything else.
Missed calls make the situation worse. A customer with a burst pipe may call three companies in 10 minutes. If your team is on the tools and your office line goes to voicemail, many won’t leave a message. Depending on the trade and job type, a missed call can mean $500 to $3,000 in lost work.
The 24/7 Dispatch Voice Agent protects that demand before it reaches the routing process. It separates emergencies from routine enquiries, gathers job information, and books the right type of slot. That gives your dispatch team a cleaner queue and less pressure to make bad assignment decisions.
The same applies to estimates. If a technician spends time travelling for a site visit, prepares a quote, and no one follows up, you have already incurred the cost without recovering the revenue. The Estimate Follow-Up Agent tracks each estimate and follows up on day 2, day 5, and day 14 with messaging that reflects the job size and trade. We usually see follow-up convert a meaningful share of stale estimates, often within the 15 to 25 percent range when the original opportunity was qualified.
The Review and Reactivation Agent then asks satisfied customers for a review after the job and brings previous customers back at sensible service intervals. That gives you more planned, geographically clusterable work. Planned work is almost always easier to route profitably than last-minute gaps.
A simple weekly drive-time profitability review
You don’t need a 40-page report. The best review is one your management team can run every week in 30 minutes.
Start with five questions:
- Which completed jobs had the highest travel time as a share of total paid time?
- Which postcodes produced the lowest estimated gross margin after travel?
- Which technicians had the most route disruption, and what caused it?
- Which jobs required a second visit or a parts run?
- Which upcoming jobs could be grouped, reassigned, repriced, or moved to a better route day?
Then make one or two changes and measure the result. You may redraw territory boundaries. You may change the call-out fee outside a core service zone. You may move preventative maintenance into dedicated route days. You may decide that emergency response needs one floating technician during peak months.
The best operations improvements are often unglamorous. Reducing average avoidable travel by 15 minutes per technician per day can release meaningful capacity across a crew. The value isn’t only the wage cost. It can mean another completed job, fewer late arrivals, less overtime, and fewer frustrated customers calling for updates.
For more operating examples and practical implementation thinking, browse the Enterprise DNA guides and operations insights.
Use an after-hours plan to protect the schedule
After-hours calls are one of the biggest causes of unplanned route disruption. If the phone isn’t answered, you lose work. If every caller is treated as an immediate emergency, you can send a technician across town for a job that could have been booked into a profitable route the next morning.
Our After-Hours Call Recovery Plan for Trades is a practical worksheet for deciding what gets escalated, what gets booked, what information needs to be captured, and how your team follows up the next day. You can also access the direct worksheet here: download the After-Hours Call Recovery Plan.
A clear after-hours process works with route analysis. It protects urgent customers while preventing tomorrow’s schedule from becoming a chain of expensive detours.
Find the margin leaks before you buy more leads
Many trades businesses respond to flat profit by trying to generate more jobs. Sometimes that’s right. Often, there is enough work already coming through the business, but the delivery model is leaking margin.
You may have technicians driving too far for low-value jobs. You may have admin staff rebuilding routes all day. You may be missing calls, failing to follow up quotes, and then paying for more lead generation to replace the work that was already available.
An Omni Audit gives you a structured view of the problem. In 60 minutes, we map the workflow, identify the most valuable automation opportunities, and outline a practical implementation path. There is no deck and no generic technology pitch.
If you want to see where time, calls, and job margin are being lost, Book a 60-min Omni Audit.
You will leave with three useful outputs: a view of the manual workflow, the highest-impact agent opportunities, and a clear priority order for what to fix first.
Drive time will always be part of trades work. Unmeasured drive time doesn’t have to be.
For a closer look at the process built for your sector, see the AI audit for trades businesses. When you’re ready to put real numbers against your routes and job margins, Book my Omni Audit.