Skip to content
Playbook

How to audit your no-show rate without a consultant

A four-step playbook to measure, segment, and cut no-shows by 50%+ — using only your existing CRM and a spreadsheet.

Yuval Ben-Rashi
Operating Partner, APEX
Published
April 29, 2026
Read time
11 min

Why you don't actually know your no-show rate

Ask a construction owner their no-show rate and you will hear a number between 8% and 15%. Pull the actual data and the truth is usually between 22% and 38%, depending on the vertical. The gap exists because most CRMs were built for project management, not appointment outcome tracking.

Specifically: when a homeowner reschedules an hour before the estimate, most teams update the calendar but never flag the original slot as a no-show. When a tech arrives and the homeowner 'forgot,' the appointment gets re-booked and the original is silently overwritten. When the rep gives up after waiting 20 minutes, they mark the appointment 'cancelled by office' and move on. None of these get counted in the typical no-show report.

The audit below is designed to expose this gap. You do it once, you fix the measurement, and you have an honest baseline forever after.

Step 1 — Define 'no-show' precisely

Adopt this definition for the duration of the audit and for everything downstream: a no-show is any scheduled in-home appointment where the tech or rep arrived (or was actively en route) and could not perform the scheduled work because the homeowner was unavailable, not home, not ready, or had cancelled without the office being informed in time to redeploy the rep.

Note what this definition does NOT include. It does not include appointments cancelled or rescheduled with at least 4 hours notice (those are reschedules, a different category with different solutions). It does not include appointments where the rep cancelled because of crew issues (that is a dispatch problem). It does not include appointments where the homeowner was home but the scope was wrong (that is a qualification problem).

Write this definition down. Share it with your sales, dispatch, and admin team. Get verbal acknowledgment that everyone is using the same definition before you start counting.

Step 2 — Pull the data for the last 90 days

Pull every scheduled appointment from the last 90 days from your CRM. Export to a spreadsheet. Required columns: appointment date, appointment type (estimate / service / install / consultation), lead source, sales rep or tech, scheduled outcome, actual outcome, dollar value if known.

If your CRM doesn't export 'actual outcome,' you have your first finding — and you need to interview each rep manually about the last 90 days to reconstruct it. That is painful but only has to happen once. Going forward, you will instrument it.

For each appointment, classify the outcome into exactly one of: completed-as-scheduled, completed-rescheduled-with-notice, no-show (per the definition above), cancelled-with-notice, cancelled-by-office, in-progress. Anything that doesn't fit goes into 'needs review' and you batch-review at the end.

If your CRM can't export the actual outcome of an appointment, that is your first finding — and the only thing you need to instrument before doing anything else.

Step 3 — Segment by the four axes that matter

Aggregate no-show counts and rates by four axes: lead source, day of week, time of day, and lead age (how many days between first inquiry and scheduled appointment).

Lead source matters because Google LSA leads no-show at roughly 32% industry-wide, while existing-customer referrals no-show at about 8%. If you do not segment, you will mis-target your fix.

Day of week and time of day matter because Friday afternoons and Monday mornings have the highest no-show rates in residential construction (Friday: weekend plans surface; Monday: people forget over the weekend). Saturday mid-morning is the lowest. If your no-show problem is concentrated in two time slots, the fix is structural — change your booking defaults.

Lead age is the single most predictive variable. Appointments scheduled within 48 hours of the original inquiry no-show at half the rate of appointments scheduled 5+ days out. The further out, the higher. This means: if you can compress the inquiry-to-appointment window, you fix half the problem before you do anything else.

Step 4 — Apply the three confirmation tactics

Tactic 1: Two-touch confirmation. 24 hours before the appointment, send a branded SMS that includes the homeowner's name, the appointment time, the rep's name, and a one-tap reschedule link. Then, 2 hours before the appointment, send a second SMS: same details plus rep photo (real, not stock) and a live ETA. Across our HVAC and roofing clients, this single tactic moves no-shows from 28–32% down to 14–18% in the first 30 days.

Tactic 2: Pre-call check-in for any appointment booked more than 4 days in advance. The day before, your team calls the homeowner to 'confirm the appointment.' This is not a sales call. It is a human-voice reconnect. It also surfaces the people who were planning to no-show — they tell you on the call and you redeploy the rep slot productively. Done well, this captures back 30–40% of the appointments that would otherwise have ghosted.

Tactic 3: Compress the inquiry-to-appointment window. Default-book within 48 hours wherever your tech availability allows. If your team is booking out 6+ days, the no-show rate is partly a function of the calendar, not the customer. We have moved client no-show rates from 31% to 17% with this single calendar-default change.

Run all three for 30 days. Re-pull the audit. The combined effect across our deployments is a 50–60% reduction in no-show rate within the first month, with continued improvement through month 3.

What the numbers mean in dollars

A 10-percentage-point reduction in no-show rate for an HVAC running 220 estimates per month is 22 additional completed appointments per month. At a 38% close rate and $9,800 average ticket, that is $82,000 per month of recovered revenue — almost $1M per year — from confirmation discipline alone.

For a roofer with 80 inspections per month, a 10-point reduction is 8 additional inspections per month. At a 65% close rate on inspections (storm/insurance work has very high inspection-to-close) and $18,000 average reroof, that is $93,600 per month — over $1.1M per year.

For a remodeler with 35 in-home consultations per month, even a 5-point reduction is meaningful: 1.75 more consultations per month at a 18% close rate and $52,000 average kitchen — $164,000 per year recovered with very little operational effort.

The point is not the specific numbers. The point is that no-show is one of the cheapest and fastest revenue-recovery moves available to any construction owner. The audit costs four hours of a junior's time. The fix costs nothing if you do it manually, and a small monthly fee if you automate it.

What most owners get wrong about no-shows

The most common mistake is treating no-shows as a customer-behavior problem. They are an operations problem. The customer who no-shows for you is the same customer who shows up for the contractor with the disciplined confirmation system. The difference is not the customer.

The second mistake is over-engineering the fix. You do not need a $40K appointment-confirmation platform. You need three SMS templates, one calendar default change, and a 15-minute daily routine for an admin to make confirmation calls. Get it manual and working before you spend a dollar on tooling.

The third mistake is not measuring after the fix. Run the audit, ship the fix, then re-run the audit at day 30 and day 90. The contractors who maintain the gains are the ones who keep measuring. The ones who don't measure regress to the original rate within six months.

Want this run on your business?

We’ll do the audit on a 30-minute call.

Bring 90 days of CRM data. We’ll surface the revenue leak, name the three highest-ROI moves, and tell you whether you should fix it internally or rent the infrastructure from us.