Why It ExistsHow It WorksLeak DetectionPricingOperator Blog Get Diagnosed Free
Home/Operator Blog/Delivery
Delivery

The Hidden Cost of a Long Job Cycle Time

May 11, 2026 10 min read MarginPlug Operator Intelligence

Your technicians aren't losing you money by doing bad work. They're losing you money by taking too long to do good work. Job cycle time — the total elapsed time from arrival to departure on a call — is one of the most overlooked capacity levers in HVAC operations. When cycle times run 30–45 minutes above benchmark, it doesn't feel catastrophic. It feels like a busy day. What it actually is: one to two fewer jobs per technician per day, compounding across 220 working days per year.

This article puts real numbers on what that costs, gives you the 2025 benchmarks by call type, and breaks down the four operational causes of cycle time bloat — each of which is fixable without new software, new hires, or significant capital.

60–90 min
Benchmark cycle time — standard residential service or repair call, arrival to departure
2.5–3.5 hrs
What the same call takes at below-benchmark operations — 60–90 minutes of bloat per job
500+
Calls lost per year on a 5-tech team when average cycle time runs 30 min above benchmark

The Capacity Math Nobody Runs

Cycle time bloat is invisible in revenue reports because you can't see the jobs you didn't run. Your P&L shows what you billed. It doesn't show the calls that went to voicemail because the tech was still on the previous job, or the afternoon appointments that got pushed because the morning ran long. The cost is real — it just lives in a category called "capacity you never captured."

Annual capacity lost — 5-tech team, 30 min of cycle time bloat per repair call
Technicians on the team 5 techs
× Working days per year (excluding weekends, holidays) 220 days
× Repair calls per day per tech (average) 4.5 calls
× Cycle time bloat per call (30 min = 0.5 hrs) 0.5 hrs lost
= Total hours lost per year to cycle time bloat 2,475 hrs
÷ Average call duration at benchmark (1.25 hrs) 1.25 hrs
= Calls that could have been run but weren't 1,980 lost calls

At an average ticket of $420 per repair call, 1,980 lost calls represents $831,600 in uncaptured annual revenue — on the same headcount, with no additional marketing spend. That number assumes 100% of the recovered capacity converts to booked calls, which it won't. But even at 40% conversion of recovered capacity, you're looking at $332,000 in additional annual revenue from fixing a process problem that costs almost nothing to address.

"I always thought my guys were just thorough — they took their time, customers seemed happy. Then I started tracking time on job from arrival to departure and compared it to my best tech. The difference was 47 minutes per call on average. My slowest tech was running 3 calls a day while my fastest was running 6. Same truck, same territory, same call mix." — HVAC owner, 6 trucks, $1.9M revenue

2025 HVAC Job Cycle Time Benchmarks by Call Type

Cycle time benchmarks vary significantly by call type. Comparing a diagnostic repair call to a maintenance visit is comparing two different jobs. The benchmarks below are by category — use the one that matches your actual call mix to evaluate your current performance.

Call type Top quartile Average Below average What drives variance
Routine maintenance / tune-up 45–65 min 70–95 min 100–140 min Checklist adherence, parts on truck
Standard repair (capacitor, contactor, etc.) 55–80 min 90–130 min 140–200 min Parts availability, diagnosis speed
Complex diagnostic (refrigerant, electrical) 90–130 min 140–190 min 200–300 min Tech experience, equipment access
Equipment replacement (residential split) 4–6 hrs 6–8 hrs 8–12 hrs Crew coordination, pre-staging
Service agreement inspection (2-system) 60–80 min 90–120 min 130–180 min Checklist completeness, system report

What an optimized vs. bloated repair call looks like side by side

⚠ Below benchmark — 2 hrs 28 min total
Customer greeting, system description 18 min
Diagnosis (unfocused, checking multiple systems) 52 min
Parts retrieval (supply run required) 34 min
Repair and verification 28 min
Invoice, payment, wrap-up 16 min
Total on-site 148 min
✓ Top quartile — 1 hr 12 min total
Customer greeting, system description 7 min
Focused diagnosis (briefed before arrival) 22 min
Parts retrieval (on truck, stocked) 3 min
Repair, system verification, system report 28 min
Invoice, payment, wrap-up 12 min
Total on-site 72 min

The 76-minute difference between these two calls isn't skill. The repair itself took the same 28 minutes in both cases. The difference is preparation, parts availability, and process — all three of which are controllable before the tech ever leaves the shop.

Delivery pillar diagnostic

Find out how much capacity your cycle time is burning — before it shows up in your revenue numbers.

MarginPlug's Delivery pillar benchmarks your average cycle time by call type, calculates your annual capacity loss, and identifies which of the four operational causes is driving your bloat.

Run the free diagnostic Free during beta · No credit card · 8 minutes

The 4 Causes of HVAC Job Cycle Time Bloat

1
Technician arrives without job context
Adds 20–35 min per call · primary driver of slow diagnosis

When a technician pulls up to a house knowing only the customer's name and address, the first 15–25 minutes of the call are spent gathering information that should have been collected during intake: what system they have, how old it is, what symptom they're experiencing, whether this is a recurring issue, and what was done on previous visits. That's 15–25 minutes of discovery that should have happened at dispatch, not on the customer's driveway.

Best-practice intake collects: equipment make, model, and approximate age; the specific symptom (not "it's not cooling" but "it stopped cooling yesterday afternoon, the outdoor unit is running but the air handler isn't blowing"); any prior service in the last 12 months; and the customer's availability window. A tech who walks to the door with that information focuses immediately on the most likely failure points and typically completes diagnosis in 15–20 minutes instead of 40–55.

The fix
Build a 5-field intake form into your booking process — system type, age, symptom, prior service, and any relevant notes from previous visits. Push that brief to the technician's phone before dispatch. This is a CSR training issue, not a software issue — most service platforms already support job notes on the mobile app. The 3 additional minutes spent on intake saves 20–30 minutes on the call and often makes the difference between a stocked part solving the problem vs. a supply run.
2
Parts not on the truck — mid-job supply runs
Single largest time sink · adds 25–55 min including drive and wait time

A mid-job supply run is the most expensive 30 minutes in HVAC operations. The technician leaves the customer's home, drives to the supply house, waits for parts to be pulled, pays, drives back, and picks up where they left off. The customer is sitting home waiting. The next call is now delayed. And the tech's available hours for the day just contracted by half a job's worth of capacity.

The irony is that supply runs are almost entirely predictable. The top 20 parts by usage account for 70–80% of residential repair volume — capacitors, contactors, fan motors, control boards for the top 5 equipment brands, refrigerant, and a basic selection of electrical components. A well-stocked truck eliminates supply runs on the vast majority of calls. Operators who track parts usage by call type and stock accordingly run supply run rates below 8% of repair calls. Operators without a stocking standard run 20–35%.

The fix
Pull your last 90 days of repair invoices and identify the 20 most-used parts by count. Set a minimum quantity for each on every truck and build a daily restocking checklist — reviewed each morning before the first call. Track supply run rate as a metric: count the number of repair calls that required a mid-job supply run divided by total repair calls. Any tech above 10% supply run rate is operating with an understocked truck. The parts cost of carrying adequate stock on a truck is typically $800–$1,400 — the capacity cost of not carrying it is multiples of that annually.
3
Invoice and payment friction at job close
Adds 10–22 min per call · compounds across every job every day

The last 15 minutes of a job should take 8–10 minutes: present the invoice, collect payment, confirm the system is working, say goodbye. In operations without a clean close process, this stretches to 20–30 minutes: the tech handwrites the invoice, the customer has questions about line items because the description is unclear, payment is by check which requires finding a pen and an envelope, and the tech spends 10 minutes explaining things that a well-formatted digital invoice would have communicated automatically.

Digital invoicing with itemized descriptions, photos from the job, and mobile payment collection cuts close time by 10–15 minutes consistently — not because the technology is magic, but because it removes the three most common sources of close friction: unclear line items, payment method ambiguity, and the tech having to narrate what a legible document would show. Most service software includes this capability and most operators underuse it.

The fix
Standardize digital invoicing with pre-built line item descriptions for your 15 most common repair types — so the tech selects from a menu rather than writing from scratch. Require at least one job photo per repair call, attached to the invoice. Enable tap-to-pay or card-on-file as the default payment method, with check as a secondary option. Time the close process on your next 10 jobs: arrival to payment collected. If it's averaging above 14 minutes, the close process has friction that's compounding into meaningful annual capacity loss.
4
No cycle time target — techs don't know what "on time" looks like
The root-cause multiplier — all three problems above persist longer without this baseline

Most HVAC technicians have never been told how long a standard service call should take. They know how long their calls take — because that's their baseline. If their average is 2.5 hours, 2.5 hours feels normal. They don't know that a technician in the same market, running the same call type, is completing it in 75 minutes. Without a benchmark, there's no feedback loop — just a general sense of being busy.

This is the same dynamic as the callback rate and revenue-per-tech visibility problems described in earlier articles in this series. The behavior that's producing the inefficiency continues precisely because no one has made the inefficiency legible. Cycle time is easily tracked in any service platform that records job start and end times — the data already exists in almost every HVAC operation. The issue is that no one is looking at it by technician, by call type, and against a benchmark.

The fix
Add average cycle time by call type to the weekly technician scorecard alongside RPTD, close rate, and callback rate (covered in the technician efficiency article). Set a benchmark for each call type using the table above as a starting point, then refine based on your fastest tech's actual performance — your internal top performer is a better benchmark than an industry average because they're operating in your specific market, with your truck, your parts supply, and your customer base. Show each tech their number weekly. That's the whole intervention for most teams — the visibility alone drives improvement.

What Recovering 30 Minutes Per Call Is Worth

Let's make this concrete for a typical operation. You have 5 technicians averaging 4.5 repair calls per day. Current average cycle time on repair calls is 2 hours. Top-quartile benchmark for your call mix is 80 minutes. You implement the four fixes above over 60 days and bring average cycle time to 90 minutes — halfway to benchmark, which is a realistic 60-day target.

Revenue impact of 30-min cycle time improvement — 5 techs, 220 working days
Hours recovered per tech per day
2.25 hrs
Additional calls possible per tech per day
~1.8 calls
Additional calls per year (5 techs × 220 days)
1,980 calls
At 40% demand conversion rate
792 new jobs
At $420 average ticket — additional annual revenue
$332,640

That $332,000 assumes you have enough inbound demand to fill the recovered capacity — which, if your customer acquisition cost is under control and your phones are already ringing, you likely do. If demand is the constraint rather than capacity, cycle time improvement still matters — it lowers your cost per job by spreading fixed overhead across more calls. Either way, recovering time per job is one of the highest-return operational improvements available in HVAC delivery, and all four fixes above are process changes, not capital investments.

Delivery pillar diagnostic

Know exactly how much revenue your job cycle time is costing you — before you can't afford to fix it.

MarginPlug's Delivery pillar calculates your capacity loss from cycle time bloat, benchmarks you against operators at your revenue level, and surfaces which of the four causes is your primary driver. Free during beta.

Run the free diagnostic Free during beta · No credit card · Results in minutes