Most service technician scheduling runs off headcount, and then the day falls apart by two in the afternoon. Eight technicians, five slots each, forty jobs on the board. The arithmetic looks sound until you notice that a paid day and a productive day are not the same number.
A Field Promax report covered by The ACHR NEWS on June 16, 2026 examined more than 10,000 data points across 300 HVAC companies and found only 65% of a technician's paid time is billable: 5.7 billable hours inside an 8.8-hour paid day, with about 1.13 hours lost to driving that trip charges and flat-rate pricing never recover. The rest is paperwork, shop time, idle gaps, and site work that never reached a work order. That 35% is not waste you can delete, but a board that assumes it away publishes forecasts it has already missed.
Three constraints bite at once. Supply is fixed and slow to add: the Bureau of Labor Statistics projects about 40,600 openings a year for HVAC mechanics and installers through 2035 and about 42,000 for plumbers and pipefitters. Demand is largely unbookable: Housecall Pro's 2026 Home Spending Report, published May 12, 2026 from more than 1,100 US homeowners surveyed in late February, found 58% contact a pro over a sudden problem and 51% because a smaller issue got worse, against 47% for routine maintenance. And duration is a distribution: water heater replacement takes two hours half the time and four often enough to wreck the afternoon. Process first, technology second.
Table of Contents
- Measure Your Real Capacity Before You Buy Software
- Build a Job Duration Model From Your Own Work Orders
- Reserve Capacity for the Demand You Already Know Is Coming
- The Four Ways a Schedule Lies to You
- Where AI Helps Service Technician Scheduling, and Where It Hurts
- A 90-Day Plan to Rebuild the Schedule
- Frequently Asked Questions
- Ready to Plan Capacity From Your Own Numbers?
Measure Your Real Capacity Before You Buy Software
Deliverable capacity is billable hours per technician per day divided by weighted average job duration. Not slots per truck. Run it on your own numbers and the overbooking usually shows up immediately. Consider a hypothetical eight-technician residential service company, replacing every assumption with your own.
- Paid hours. Eight technicians at an 8.8-hour paid day gives 70.4.
- Billable hours. At 65%, about 45.6 a day (8 x 5.7). This is the only number you can sell.
- Weighted average duration. Say the mix is 60% diagnostic and repair at 1.5 billable hours, 25% maintenance at 1.0, and 15% replacement at 4.0. The weighted average is 1.75 hours.
- Deliverable jobs. 45.6 / 1.75 = 26 a day.
Five slots per technician puts 40 jobs on the board: 54% more than the crew can deliver. The extra fourteen become same-day reschedules, rushed diagnoses, callbacks, and an afternoon of apologies.
The same arithmetic prices drive time. At 1.13 unrecovered driving hours each, eight trucks lose roughly 9 hours a day. At the BLS May 2025 median of $29.33 an hour for HVAC technicians, that is about $265 a day, or $66,000 a year over 250 working days, in wages you pay and cannot invoice: both the business case for routing software and the ceiling on what it can be worth. Measure your own billable share rather than borrowing 65%, and derive capacity from what the last ninety days produced, not from a target you have decided you want.
Build a Job Duration Model From Your Own Work Orders
Schedule against the 80th percentile, not the average. An average is correct about half the time by construction, so half your first jobs run long and everything behind them inherits the overrun. No machine learning is needed to start.
Bucket the jobs. Group twelve months of completed work orders by job type crossed with the two or three attributes that move duration: equipment age, property type, prior visits to the address, single versus multi-system. Twenty to forty buckets is enough; under ten and you are back to averages.
Compute p50 and p80 per bucket. The gap between them is the number that matters: a bucket at 2.1 hours median and 3.4 at p80 carries 1.3 hours of schedule risk every time you book it. Under about thirty completed jobs the p80 is not trustworthy, so merge that bucket upward.
Schedule by position in the day. Book the first job at p80, because an overrun there cascades, and the last at p50, where the overrun has somewhere to go. Put high-variance buckets late in the route when the customer allows it.
Check the clock weekly. Compare scheduled to actual duration by bucket and by technician. Bucket-level error means the model is stale. Technician-level error on the same buckets is a coaching signal, not a scheduling one, and should never be quietly padded into the calendar. AI enhances human judgment, never replaces people: this tells a service manager where to spend an afternoon, it does not rank anyone. One caveat: a model built on a short-staffed year encodes that rush.
Reserve Capacity for the Demand You Already Know Is Coming
Hold back capacity in proportion to your own measured same-day demand, and vary it by season. A flat percentage blocked across every calendar is the usual approach and the least useful.
The Field Promax coverage suggests blocking 5% of each day. In the example above that is 2.3 hours, barely one job, against an inbound mix that is mostly this week's emergency. The shape is wrong too: a four-hour emergency cannot be built from eight half-hour gaps. Size it from observation instead.
- Count same-day requests by season over twelve months. Say nine arrive on a summer weekday and you convert seven.
- Multiply by the jobs they become: seven at 1.5 hours is 10.5 hours.
- Express it against the billable pool: 10.5 / 45.6 is 23% of capacity, not 5%.
- Reserve it as whole blocks on named technicians, two afternoons in peak season rather than a slice of everyone's day.
Then make it seasonal. ServiceTitan's analysis of 2025 residential HVAC call records, on a same-store cohort of its own customers, found off-hours calls were 14.1% of inbound volume in June against 9.8% in October, with weekend calls peaking at 4.9% in August versus 2.95% in October. It is one vendor's book of business, not nationally representative, but it describes what every service manager knows: urgency concentrates in season, and in the evening.
A policy holding 23% in July and 8% in October is defensible. A single annual figure leaves you overbooked half the year and idle the other half, and where a tourism season drives demand, as along the Grand Strand, the swing is sharper still.
The Four Ways a Schedule Lies to You
Four signals catch a failing schedule early, and all four can be instrumented this month.
The reschedule tell. Same-day reschedules you initiated, not the customer, as a share of booked jobs. Climbing while bookings stay flat means your capacity number is wrong, not your dispatcher.
The arrival window tell. Jobs arriving outside the promised window, counted separately for the first job and later ones. A degrading afternoon is a duration problem; a bad first slot is a routing problem.
The avoidable dispatch tell. Visits that produced no repair, or that a phone call could have resolved. Aquant's 2025 Field Service Benchmark Report, drawn from anonymized data across 157 service organizations and more than 21 million service events, puts the avoidable dispatch rate at a 14% median against 3% for the top fifth. It covers industrial rather than residential field service, so treat the levels as directional and your own trend as the measure.
The callback tell. Return visits for the same complaint inside 30 days. Rushing a diagnosis to clear an overbooked board turns one slot today into two next week. Report all four monthly, beside billable hours per technician.
Where AI Helps Service Technician Scheduling, and Where It Hurts
AI earns its place on prediction and sequencing, where there is history to learn from and a human reviews the output. It fails on judgment calls, where a confident wrong answer lands on a customer relationship. Worth automating, in rough order of payback:
- Duration prediction. Once history is bucketed, a model using job type, equipment age and site attributes beats a fixed slot length and returns a confidence range.
- Route sequencing. A solved problem, and the drive-time arithmetic above prices it.
- Demand forecasting. Daily and weekly volume forecasts from your own history set next month's reserve instead of reacting to this morning.
- Skills and parts matching. Flagging that a job needs a certification or a part the truck is not carrying prevents a return visit before it is scheduled.
- After-hours triage. Classifying an evening call so a human sees it with context by 7 a.m. Calls nobody answers are worked through in missed call math for contractors.
What not to automate: promising a customer a time, which the system should propose and a person commit to; deciding who visits a difficult account, since history and fit are not in your data; reassigning work mid-route silently; and overriding a technician's own estimate, because if the person on site says two more hours, the model is wrong.
AI is the wrong answer outright in two cases: with under six months of structured history there is nothing to learn from, and when the real constraint is being two technicians short, sequencing only spreads the shortfall around. More on where AI cuts drive time and where it costs you the job and on home services operations AI.
A 90-Day Plan to Rebuild the Schedule
Measure in month one, change one thing at a time in month two, decide about software in month three. None of it requires a purchase.
Days 1 to 30, measure. Export twelve months of completed work orders with scheduled and actual times, job type, address and assigned technician. Calculate billable hours per technician per day, weighted average duration, and deliverable jobs per day. Count same-day requests by month, and start the four-signal report. Expect messier data than you think, and fix the intake fields causing it.
Days 31 to 60, change the capacity number. Reset the board to deliverable jobs rather than slots per truck. Build p50 and p80 durations for your top ten buckets and book first jobs at p80. Set a seasonal reserve from your own same-day counts. Change one variable at a time, and tell the dispatch team what you are testing: they will spot the second-order effects first.
Days 61 to 90, decide about technology. With a clean baseline you can evaluate scheduling or routing software against a dollar figure instead of a demo. Ask vendors which of your four signals they expect to move, and by how much. If the process changes alone moved the baseline, buy less than you planned.
Do not run this in peak season: a schedule rebuilt in July is rebuilt under pressure, and you cannot tell a model error from a heat wave.
Frequently Asked Questions
What is a good utilization rate for a service technician?
Measure yours before adopting a target. The Field Promax data covered by The ACHR NEWS in June 2026 found 65% of a technician's paid day is billable, averaging 5.7 hours of 8.8. Treat that as a reference point, not a goal: the right figure depends on trade, route density and pricing model.How many jobs should one technician be scheduled per day?
Divide billable hours per technician per day by your weighted average job duration, rather than setting a slot count. At 5.7 billable hours and a 1.75-hour weighted average, that is about three jobs per technician per day, not five. Recalculate whenever your maintenance or replacement share shifts materially.Should AI or a dispatcher control the schedule?
Both, split by task. Let software predict durations, sequence routes, forecast demand and flag skills or parts mismatches. Keep a person on decisions carrying relationship risk: committing an arrival window, choosing who visits a difficult account, reassigning work mid-route. The pattern that holds up is a system that proposes and a dispatcher who decides.How do we handle emergency calls without wrecking the schedule?
Reserve capacity in proportion to measured same-day demand, held as whole blocks on specific technicians rather than a thin percentage across everyone. Count same-day requests by month, multiply by typical duration, and express the result as a share of your billable pool. Then vary it seasonally.What data do we need before scheduling software will help?
At minimum six to twelve months of completed work orders carrying scheduled and actual times, a consistent job type taxonomy, clean addresses, and the assigned technician. Without actual durations there is nothing to learn from, and without consistent job types the buckets will not hold. Fixing intake fields usually pays back faster than a routing engine.Ready to Plan Capacity From Your Own Numbers?
Most scheduling problems in home services turn out to be measurement problems: no billable-hour figure, no duration distributions, no reserve sized from observed demand. ANtreliX is a strategy-first AI and business intelligence consultancy based in North Myrtle Beach, South Carolina, working with home services and hospitality operators locally and remotely to build the capacity baseline before any scheduling technology gets evaluated. Talk to ANtreliX, or see our case studies.