Why Job Duration Estimates Break Your Schedule
Every routing calculation, capacity figure and arrival window you promise is derived from one number per job type. Most shops inherited that number from a vendor template and never looked at it again.
Two things go wrong with job durations. The first is obvious: the number is inherited rather than measured.
The second is subtler and costs more. Most shops that do measure use the average — which by definition means they run late on roughly half of all jobs. Scheduling on a higher percentile is what makes a day actually hold.
What a duration has to include
A “60-minute maintenance visit” is rarely sixty minutes of work. The number your scheduling system needs is the whole occupation of the slot:
| Component | Often forgotten? |
|---|---|
| Arrival, greeting, explaining what you will do | Yes |
| Accessing the equipment | Yes — and highly variable |
| The actual work | No |
| Testing and verification | Sometimes |
| Writing up the work order and photos | Yes |
| Explaining findings and presenting options | Yes — and this is where money is made |
| Taking payment | Yes |
| Packing up | Yes |
The two most commonly excluded items are the two you least want to rush: explaining findings to the customer, and presenting options. If your duration assumes a technician finishes the repair and leaves, the schedule is structurally hostile to selling anything.
The percentile problem
Here is the part almost nobody gets right, and it explains why shops that fixed their durations still run late.
Job durations are not symmetrically distributed. They have a floor — the work cannot be done faster than a certain minimum — and a long tail, because some proportion of jobs hit a seized bolt, an inaccessible attic, or a diagnosis that turns into something else.
If the average maintenance visit takes 62 minutes and you schedule 62-minute slots, then by definition roughly half of those visits overrun. Each overrun cascades into the rest of that technician’s day, which is why a shop can have accurate averages and still run late every afternoon.
Schedule on the 70th to 75th percentile instead. You are deliberately building in slack, and it feels wasteful on paper. In practice it is what turns a schedule from aspirational into reliable, and it costs less than the compounding delay it prevents.
Export the actual durations for one job type over 90 days. Sort them shortest to longest. Count how many there are, multiply by 0.75, and read the value at that position.
If you have 80 completed maintenance visits, the 60th value in the sorted list is your 75th percentile. That is the number to put in the system.
Where the vendor default came from
Template durations are averages across the vendor’s whole customer base — every climate, every housing stock, every skill level, every equipment vintage. They are a reasonable starting guess and a poor operating number.
Your figures differ from the template for reasons entirely specific to you:
Housing stock. A territory of 1960s houses with crawl spaces produces longer durations than one of 2015 builds with attic air handlers and clear access.
Equipment age profile. Older systems take longer on everything. Fasteners are seized, parts are obsolete, and diagnostics uncover more.
Your standard of work. A shop that photographs everything, tests thoroughly and walks the customer through findings takes longer per visit than one that does not — and should be scheduling accordingly rather than pretending otherwise.
Technician experience mix. A crew of ten-year veterans and a crew with three apprentices do not share a duration.
How the error compounds
A wrong duration does not cause one problem. It propagates into every calculation downstream.
| Where it lands | What a 25% underestimate does |
|---|---|
| Daily capacity | You believe you can take five jobs per technician when the real number is four. Every day is overbooked by 20% |
| Arrival windows | Windows are promised on a timeline that cannot hold. Broken promises are structural, not occasional |
| Route sequencing | The optimiser plans a day that was never achievable, so its output is precise and wrong |
| Flat-rate pricing | Prices built on short durations lose money on every difficult job. See flat-rate price books |
| Technician trust | The field learns the schedule is fiction, so they stop treating it as a commitment |
| Overtime | The gap between planned and actual gets paid for at premium rate, every week |
That last row is the one to take to whoever controls the budget. Persistent daily overrun is not a scheduling annoyance; it is a payroll line item.
Segmenting: one number is not enough
A single duration per job type is better than a template. Segmenting is better still, and most systems support at least some of it.
By job type — the baseline, and non-negotiable.
By equipment age. If your data shows systems over fifteen years old take 30% longer, that is a modifier worth applying. It is also the most commonly available segmentation because install year is usually already recorded.
By technician. Useful for planning, dangerous for management. A technician who consistently runs longer may be thorough, may be selling more, or may be struggling — the duration alone does not say which. Use it to schedule accurately, not to rank people.
By property type. Multi-unit, commercial and rural addresses each carry predictable overheads that have nothing to do with the work itself.
Start with job type and equipment age. Those two capture most of the variance for most residential shops.
Managing the long tail
Some jobs will take three times the estimate no matter how well you measure. The question is what to do about them, and there are three reasonable answers.
Build a buffer into the day, not into every job. Leaving one deliberate gap per technician per day absorbs a single blow-out without destroying the schedule. Padding every job instead wastes far more capacity for the same protection.
Split diagnostics from repairs. If a diagnostic is its own slot with its own duration, discovering a big repair means booking a second visit rather than derailing three appointments. Customers accept this readily when it is framed as getting the right parts on the truck.
Flag known-difficult addresses. If a property took ninety minutes longer last time because of access, that note should extend the duration automatically next visit. This is the easiest win available and almost nobody does it.
How often to recalibrate
| Trigger | Action |
|---|---|
| Initial setup | 90 days of data before trusting any number |
| Routine review | Twice a year, top twenty job types |
| New hire | Watch their durations for a quarter; do not adjust the shared figure yet |
| New equipment line or refrigerant | Recalibrate affected job types immediately |
| Persistent afternoon overrun | Your durations are wrong. Stop looking at dispatch and look at the numbers |
That last row is the diagnostic worth remembering. If your team consistently finishes late, the instinct is to blame dispatch or the technicians. Nine times in ten it is arithmetic, and the fix is in a spreadsheet rather than a conversation.
Once the durations are right, they feed straight into capacity planning — which is where accurate numbers turn into a schedule that holds.
Frequently asked questions
Should I schedule on the average job duration?
How much data do I need before trusting a duration?
Should the duration include talking to the customer?
Should I set different durations for different technicians?
Why does my team still run late after I fixed the durations?
How do I handle jobs that always run over?
What to do next
- Export 90 days of completed jobs with actual durations, for your top five job types.
- Sort each list and read off the 75th percentile. Compare it against what your system currently has.
- Check whether the duration includes customer conversation and paperwork. If not, add it.
- Add one buffer slot per technician per day before you adjust anything else. It is the cheapest protection available.
- Capacity planning for HVAC businesses — what accurate durations make possible
- How HVAC scheduling software works — where durations sit in the nine stages
- How flat-rate price books work — why prices depend on the same numbers
The durations, percentiles and distribution shown here are illustrative examples used to explain a method, not measurements from a specific business. Your own figures will differ and must be calculated from your own completed job data.