What one missed HVAC appointment really costs you
Break down the real cost of one missed HVAC appointment: truck roll, technician idle time, rebooking, and lost same-day revenue.

The appointment that disappears from the board still hits the P&L
A missed HVAC appointment is not a blank square on the dispatch board. It is a small operating loss with identifiable components.
In September, that distinction matters. Demand has not necessarily reached the winter heating rush, so an open slot may be harder to refill. The technician is still being paid. The van still carries its operating cost. Someone still has to contact the customer and find another opening. If that slot could have held a profitable service call, the business also loses the contribution margin from work that never happened.
That is the cost of a missed HVAC appointment. It is not always one large invoice. It is a stack of smaller losses that can disappear into payroll, fuel, dispatch time, and an underfilled schedule.
This article uses an illustrative model, not a universal HVAC no-show cost. Replace the assumptions with company data, and keep direct costs separate from the uncertain contribution margin of work the slot might have held.
The four charges hiding inside one no-show
A missed appointment combines four measurable losses. Keep the first three as direct costs and the fourth as opportunity cost:
- Truck roll: unrecovered vehicle, travel, and dispatch expense.
- Technician idle time: paid capacity with no productive assignment.
- Rebooking labor: CSR time spent contacting the customer and rebuilding the appointment.
- Displaced same-day contribution: margin from work that might have filled the slot.
Use company data wherever possible. ACCA's $84.40 per hour truck-roll estimate is an industry-session benchmark, not a universal residential cost. The BLS median HVAC wage of $29.33 per hour is employee pay, not a loaded labor rate. Add your own burden, route, and redeployment assumptions.
Truck roll loss = unrecovered travel and vehicle cost
Idle labor loss = loaded technician rate × unusable hours
Rebooking loss = CSR minutes ÷ 60 × loaded CSR rate
Displaced contribution = replacement-job contribution margin × slot-fill probability
Do not substitute the missed job's revenue for contribution margin, and do not charge the entire appointment length if dispatch redeploys the technician. The result should show direct cost separately from the uncertain value of work the slot might have held.
| Cost bucket | Cost type | Internal input |
|---|---|---|
| Truck roll | Direct or near direct | Route time and vehicle cost |
| Technician idle time | Labor | Loaded rate and unusable minutes |
| Rebooking | Labor | CSR rate and minutes |
| Displaced same-day contribution | Opportunity cost | Contribution margin and fill rate |
A simple missed appointment cost calculator
The following base case is deliberately adjustable. It is not a claim about every HVAC service business.
| Input | Base assumption | Formula or reason |
|---|---|---|
| Unrecovered truck roll | $35 | Portion of vehicle and travel cost not recovered through redeployment |
| Loaded technician rate | $38 per hour | Illustrative burdened rate based near the national wage benchmark |
| Technician idle time | 30 minutes | Time before another productive assignment |
| CSR rebooking time | 10 minutes | Outreach and schedule coordination |
| Loaded CSR rate | $24 per hour | Illustrative internal assumption |
| Average contribution margin per replacement job | $180 | Illustrative, not average HVAC revenue |
| Probability of filling the slot | 35% | September shoulder season assumption |
Now calculate each piece:
| Cost component | Calculation | Base loss |
|---|---|---|
| Truck roll | $35 | $35.00 |
| Technician idle time | $38 × 0.50 hour | $19.00 |
| Rebooking labor | $24 × 10 ÷ 60 | $4.00 |
| Displaced contribution margin | $180 × 35% | $63.00 |
| Estimated cost of one missed appointment | $35 + $19 + $4 + $63 | $121.00 |
The base case produces an estimated $121 cost of a missed HVAC appointment. That is not an invoice and it is not a universal benchmark. It is a transparent operating estimate.
The most useful part of the calculator is the sensitivity range.
| Scenario | Truck roll | Loaded tech rate | Idle time | Rebooking | Contribution margin | Fill probability | Estimated loss |
|---|---|---|---|---|---|---|---|
| Low | $20 | $32/hour | 15 min | $3 | $150 | 15% | $53.50 |
| Base | $35 | $38/hour | 30 min | $4 | $180 | 35% | $121 |
| High | $60 | $45/hour | 60 min | $6 | $250 | 65% | $273.50 |
The high scenario does not mean every missed visit costs $273.50. It represents a spread out route, higher loaded labor, more idle time, and a schedule where the abandoned slot probably could have held profitable work. The low scenario reflects a business that can redeploy the technician and has little same day demand to displace.
Replace the assumptions with five operating inputs: unrecovered vehicle cost, loaded technician rate, idle minutes, loaded CSR cost and rebooking time, and replacement-job contribution margin multiplied by the historical same-day fill rate. Use contribution margin—not revenue—for the last line, and label gross margin clearly if that is the available accounting measure.
Why shoulder season makes the miss more expensive
September can hide the problem. A technician may have an open block later in the day, so the board does not look broken. That does not make the capacity free. Payroll, vehicles, insurance, rent, software, and dispatch coverage continue while billable work falls away.
Lower demand also means fewer natural opportunities to refill an abandoned appointment. In peak season, dispatch may replace a cancellation within minutes. In shoulder season, the slot may remain empty. The same no-show therefore produces a different opportunity cost depending on the board around it.
Rebooking may create a second disruption, but treat that as a variable to measure—not an expected outcome. Compare route density, backlog, overtime incidence, and days to completed reschedule to see whether the miss moved work into a less flexible part of the calendar.
Use September to inspect the leak before heating demand returns. Pull the last 30 to 60 days and review:
- No-shows and cancellations by lead time, technician, customer type, and arrival window.
- Reschedules that moved into a fuller day or pushed work outside the original service promise.
- Same day fill rate for abandoned slots.
- Technician idle minutes after an unavailable customer.
- CSR minutes and inbound status calls connected to changing arrival times.
Do not treat every cancellation as preventable. A genuine emergency or customer change is different from a customer who did not know whether the technician was coming before lunch or late afternoon. The operational goal is to identify the preventable portion and put a number on it.
The cheapest part of the fix is preventing the surprise
Uncertainty, access problems, and status calls may contribute to missed visits, but treat those as operational hypotheses to measure—not established HVAC findings. Track whether unclear queue position or changed arrival windows precede a missed appointment, and compare that pattern with your own baseline.
A practical communication process looks like this:
- Set the day’s expectation. Send a start of day message confirming that the job is on the board, showing the customer’s place in line, and giving the current estimated arrival window.
- Update the queue when the board changes. If a job is completed, added, rescheduled, or delayed, recalculate the affected windows and notify the customers whose expectations moved.
- Warn before the original window expires. An ahead or behind alert gives the customer a chance to respond before the technician arrives at an unavailable home or the customer decides the visit is not happening.
- Send the on the way message. The customer needs a clear signal that the technician is leaving or approaching, not another vague promise about sometime today.
- Capture the communication record. Keep the messages and updated windows attached to the job so the CSR and technician can see what the customer was told.
Reminder research is not HVAC specific, so it should be used as directional evidence rather than a home service benchmark. In a randomized outpatient study, no-shows were 23.1 percent without a reminder, 17.3 percent with an automated reminder, and 13.6 percent with a staff reminder. The reminder groups also produced more cancellations, which can be useful when an earlier cancellation gives dispatch a chance to refill the slot. The study was conducted in healthcare, not HVAC.
A later randomized quality improvement study at a safety net primary care clinic found that live calls added to automated reminders reduced missed appointments from 30.7 percent to 27.1 percent. The setting was a single clinic, so the result should not be copied into an HVAC forecast. It does support the operational logic of reaching people with higher risk instead of relying on one generic reminder. The 2023 study details the result and its limits.
For an HVAC company, proactive queue communication could reduce status calls or help customers flag access problems, but those are hypotheses to test. Healthcare reminder studies are directional support—not HVAC evidence. Compare Queue Up’s no-show and status-call results with your own baseline before attributing any change to the system; it is not a promise that automation will eliminate no-shows.
What a $1.50 per job system has to prove
Queue Up’s stated operating model is $1.50 per job, or 30 rivets per job. The intended return is approximately five CSR minutes returned through automated queue and arrival communication, using an $18 per hour labor assumption.
The labor arithmetic is straightforward:
5 minutes ÷ 60 × $18 = $1.50
That is a break even calculation for recovered CSR capacity, not proof of profit. Five minutes must actually be removed from the workflow, and the recovered time must be usable. If the team simply fills the time with other low value work, the financial return is smaller.
There are two separate returns to measure:
- Avoided appointment loss: fewer preventable missed visits, less idle technician time, and more opportunities to fill abandoned slots.
- Reclaimed CSR capacity: fewer status calls, fewer manual window updates, and less rebooking coordination.
The first return is potentially larger, but it is also harder to attribute. The second is easier to audit. Start with both instead of claiming that every saved visit came from the communication system.
| Test | Calculation | What it tells the owner |
|---|---|---|
| CSR break even | $1.50 ÷ $18/hour | About 5 minutes of recovered CSR capacity per job |
| Loaded technician comparison | $1.50 ÷ $38/hour | About 2.4 minutes of loaded technician cost |
| Truck roll comparison | $1.50 ÷ $84.40/hour | About 1.1 minutes of the ACCA session benchmark |
| Missed visit break even | Monthly system cost ÷ modeled missed visit loss | Number of preventable losses the system must avoid |
For example, at 500 jobs per month, the communication cost would be $750. Using the $121 base case, preventing roughly seven missed appointment losses would cover that spend. That is an illustrative break even calculation, not an ROI promise. The actual test depends on your baseline no-show rate, the preventable share, the fill rate, and whether the avoided loss would have been recovered another way.
A system also has to leave an audit trail. For each job, the owner should be able to see messages sent, arrival windows updated, delays communicated, and the on the way notification issued. Without that record, a before and after comparison becomes guesswork.
Track these measures before and after rollout:
- No-show rate by service type and arrival window.
- Rebooking rate and time from missed visit to completed reschedule.
- Same day fill rate for canceled or abandoned slots.
- Technician idle minutes after a customer is unavailable.
- Status call volume and CSR minutes per job.
- Messages delivered, failed, or changed after a schedule update.
The September decision is not whether communication software sounds useful. It is whether the leak is large enough to measure and whether the company can correct it before peak heating demand. Put the last 30 to 60 days through the calculator, separate direct cost from lost contribution margin, and test the prevention process against the numbers on your own board.