Most advice on estimate no-shows was written for dentists. It tells you to take a deposit, keep a card on file, and charge a cancellation fee. None of that is available to a contractor advertising free estimates, which is why following it changes nothing.
The strongest lever is not the reminder. It is the number of days between the phone call and the appointment. Across more than a million appointments in one of the largest studies of appointment adherence published, that gap predicted missed appointments better than any other variable the researchers had, and the pattern shows up unchanged in what contractors report.
Sort the no-show before you fix it
A no-show is four different problems wearing the same jacket, and the fixes actively work against each other. Sending more reminders to someone who already hired your competitor is wasted effort. Booking further out to accommodate a tire kicker makes the problem worse.
| Type | The tell | What actually fixes it |
|---|---|---|
| They forgot | Books a slot several days out, apologetic when you call | Shorter lead time, calendar invite, reminder the morning of |
| Already hired someone | Booked mid-pack, does not answer, no apology | Get there first. This is a speed problem, not a memory problem |
| Never buying | Vague about scope, will not discuss budget on the phone | Qualify on the call with a price range before you commit a slot |
| Half no-show | Someone is home, the other decision maker is not | Ask who is involved in the decision when you book |
Only the first type responds to reminders, and it is usually the smallest group. Most contractors address that one and ignore the other three, which is exactly why they send more texts every year and see the same numbers.
The lever nobody adjusts
Researchers at Pennsylvania State University built a model on more than one million appointments across 15 clinics, covering roughly 77,000 no-shows and 75,000 late cancellations, and published it in Annals of Family Medicine in July 2025. They tested gradient boosting, random forests, neural networks and LASSO regression, and the best model classified no-shows with an AUROC of 0.85.
The finding that matters here is what the model leaned on hardest. Lead time, defined as the number of days between booking and the visit, was the most important predictor of a missed appointment, with gaps longer than 60 days carrying the greatest risk. The authors' own recommendation was not better reminders. It was to prioritise shorter waits for the people most likely to miss.
By the numbers
Across more than one million appointments, the number of days between booking and the visit predicted a no-show better than any other available variable. The authors' suggested intervention was to shorten the wait, not to send more messages.
That is clinic data, and a roof is not a dental cleaning. So the useful test is whether contractors independently report the same thing without knowing the study exists. They do.
A roofing salesperson posting in r/RoofingSales runs a 90% show rate and notes the reason directly: "We usually book next-day appointments for most of our clients, so the chance of a homeowner going with someone else is very slim." Another operator in the same thread said that when an appointment is set within 48 hours he does not confirm at all, because "if they are there they just go with it."
Meanwhile the contractor booking a week out is competing against every quote that lands in the gap. Homeowners routinely collect several bids on anything substantial, and the one who arrives first frequently closes before the rest show up. Your appointment did not fail on the morning of. It failed the moment you offered next Thursday.
The practical version, in order of impact:
- Offer the soonest slot you can genuinely keep, even if it is less convenient for you.
- If the soonest is more than three days out, say so on the call and set an explicit expectation that you will reconfirm.
- Never let a booking sit with zero contact for more than 48 hours.
The confirmation paradox
Ask two rooms of operators whether to confirm and you get two flatly opposed answers, both from people running real numbers.
The roofing sales camp argues that confirming is counterproductive. One commenter put it bluntly: "Confirming an appointment is actually asking the prospect if they would like to cancel. Just show up, they know they made the appointment." Another added that if nobody answers, you knock on doors in the neighbourhood and salvage the trip.
The service-business camp argues the opposite, that a message requiring no response is worthless. As one operator put it, "the night-before text works best when it requires a response. 'Your appointment is tomorrow' gets ignored. 'Reply YES to confirm or NO to cancel' actually makes people engage."
Both are right inside their own conditions, and lead time is what separates them. A confirmation request is an invitation to reconsider. That invitation is cheap when the appointment is far enough out that you still have time to refill the slot, and expensive when it is tomorrow and you would rather take your chances.
Tip
Under 48 hours, send a statement. Over 48 hours, ask a question. A statement preserves momentum on an appointment that is already close. A question surfaces a dead appointment early enough that you can sell the slot to someone else.
Keep the message short, because long ones scare people
There is a specific, testable finding buried in that same roofing thread. The salesperson running it had been sending a detailed confirmation covering the scope, the process and what to expect. Responses were poor. Two commenters independently diagnosed it as a wall of text, one noting that homeowners "don't read that, seems like they got overwhelmed of the prospect of roof replacement."
He cut the message back to address, date and time only. His response rate went to roughly 80%.
This runs directly against the advice to build value in the confirmation. Value building belongs on the qualifying call, where the homeowner can ask questions. In the confirmation, every extra sentence is another chance to remember that a new roof is expensive and that they were not entirely sure about this.
A confirmation that works looks like this:
Hi Dana, confirming Thursday Sept 10 at 2pm at 41 Maple Ave. Reply Y to confirm or R to reschedule. Mark, Ridgeline Roofing.
Nothing about scope. Nothing about credentials. Nothing about what a great decision this is.
Why deposits do not work for you
Every generic article leads with deposits, and for salons and clinics it genuinely works. One salon owner reported going from around nine no-shows a week to about two a month purely by moving to a booking platform that could hold a card, despite already running 72-hour and 24-hour reminders. A service operator charging $25 on a $150 job described no-shows falling from roughly 30% to under 10%, and credited the framing rather than the amount: people accept paying to hold a slot and resent paying a penalty.
Now read the same advice from inside a free-estimate trade. A junk removal operator laid out his sequence: email and text two days out, a text the night before asking for confirmation, then a phone call and a text the morning of. He still runs a 20% same-day cancellation or no-show rate. And on deposits he is explicit: "in our business, because we offer free estimates, we really can't implement deposits or cancellation fees."
That is the whole problem in one sentence. There is no invoice to attach the fee to, no card on file, and no relationship yet. The handymen who do bill for missed appointments, typically around $75, are almost always charging an existing client or a property manager who can pass it on to a tenant, not a stranger who called yesterday.
If you cannot take money, you have three substitutes that create the same skin in the game:
- Ask for a decision, not a dollar. A homeowner who has said "yes, 2pm Thursday works, I will be there" out loud on the phone behaves differently from one who clicked a slot.
- Give the slot a visible cost. One operator sets a cancellation deadline purely so the slot can be released, and reports that it converted silent ghosting into courtesy cancellations. He specifies no consequences at all, just that someone else can have the time.
- Price the estimate for the jobs where it works. A ballpark by phone, then a paid detailed quote credited back on award, is common on larger residential work. We covered when that trade is worth making in should I charge for estimates.
If your no-show rate sits above 20% no matter what you send, the leads are usually the problem, not the process. Pavado builds lead generation systems for local service businesses where the qualifying happens in the form, before anyone books a slot in your week.
Put a real number on a wasted trip
Contractors under-price no-shows because they only count the hour on site. The trip is the expensive part.
Use the Canada Revenue Agency's 2026 automobile allowance rate as your vehicle cost, since it is a defensible published figure rather than a guess: 73 cents per kilometre for the first 5,000 kilometres and 67 cents after that, with an extra 4 cents in the territories.
A realistic suburban estimate run:
| Line | Amount |
|---|---|
| 44 km round trip at $0.73 | $32.12 |
| 70 minutes of driving and waiting at a $65 loaded hourly rate | $75.83 |
| Direct cost of one no-show | $107.95 |
| Same at four no-shows a month | $431.80 |
| Annual | $5,181.60 |
That is before the opportunity cost, which is usually larger. If you close half your estimates at an average job value of $3,200, four missed appointments a month is $76,800 a year of quoted work that never got quoted. A 50% estimate-to-book ratio, incidentally, is the benchmark one contractor offers as healthy: above it, raise your prices, below it, look at your sales process.
Run this arithmetic once with your own numbers. It changes how willing you are to give away the 2pm Thursday slot to someone who would not discuss budget on the phone.
Track no-shows by lead source, not company-wide
This is the diagnostic almost nobody runs, and it is usually the one that finds the problem.
A single company-wide no-show rate hides the fact that your channels behave nothing alike. As one operator put it, "track no-shows by lead source. Sometimes the problem is not your reminders at all. It's that one channel is sending lower-intent people than the others." Another made the same point and added the referral contrast: people who came from a referral or an existing relationship behave differently from people who came from ads, marketplaces or last-minute bookings.
Build the smallest possible version of this table and keep it for 60 days:
| Source | Booked | Showed | No-show rate |
|---|---|---|---|
| Referral | |||
| Google Business Profile | |||
| Website form | |||
| Shared or marketplace leads |
If shared marketplace leads no-show at three times the rate of your referrals, no reminder sequence will fix that, because the same lead was sold to four contractors and the homeowner is not especially committed to any of them. That is a purchasing decision, and we made the case for changing it in how to stop paying for shared leads.
The half no-show nobody counts
Someone is home, the door opens, and the person who signs cheques is at work. You have burned the same fuel and the same hour, and you will burn them again.
The reason contractors push for both decision makers is straightforwardly economic. A roofing operator explained it clearly: "Often times we spend an hour explaining and answering questions with someone only for the significant other to come home and we have to start from the beginning again, or even worse we have to come back on a separate trip."
The execution is where this goes wrong. A homeowner posted in r/Roofing specifically to complain about being asked whether her husband should be present, and the thread ran to 92 comments. Demanding a spouse reads as an assumption about who decides, and it costs jobs.
The fix is a phrasing change, not a policy change. Two versions from operators in that same thread:
Is there anyone else who is going to be part of this decision? I would love the opportunity to answer their questions too.
Are all of the stakeholders in alignment on this?
Both get you the same information. Neither tells anyone that their opinion is insufficient. And note the legal floor underneath it: if two names are on the property, you need both signatures on the contract regardless, so asking about the decision at booking is simply moving a conversation you were going to have anyway.
Watch out
Do not ask whether a specific spouse will be home. Ask who is involved in the decision. The information is identical and only one version generates a complaint thread.
Two structural fixes when the rate will not move
Some businesses have a floor they cannot get under. The junk removal operator above runs a near-perfect reminder sequence and still loses one appointment in five. When that is true, stop optimising the sequence and change the shape of the day instead.
Overbook deliberately. His answer was to run the day like an airline. If two customers who genuinely want the work land in the same slot, that is a conversation, not a crisis. His reasoning is worth quoting: "I'd rather that problem than a morning that looks like a full day end up with three actual appointments, two that convert." Note the number underneath it: once he is in the driveway, he closes close to 90%. Overbooking only makes sense when your on-site conversion is that strong, because the cost of the awkward double-booking has to be smaller than the cost of the empty morning.
Stop driving to residential estimates. One contractor running a small crew moved to video estimates for residential and kept site visits for commercial and general contractor work, running two video calls a day during lunch with a structured questionnaire. His framing is the point: he was the bottleneck in his own operation and burned out doing site visits. A no-show on a video call costs fifteen minutes of dead time, not an hour and a tank of fuel.
The 15-minute rule
Decide in advance how long you wait, because deciding in the moment means deciding while angry.
One handyman's policy is worth copying wholesale: a two-hour arrival window, several automated reminders, a direct text when he is inbound, then a call and a text at the door. If there is no answer he waits a maximum of 15 minutes, and only if he is still inside the booked window. Then he leaves. He also reports that moving to at least three text reminders is what cut his no-shows in the first place.
The "inbound" text deserves special attention, because it is the cheapest item on this list and the most skipped. A message sent when you get in the truck converts a vague appointment into an imminent one, and it gives the homeowner a last chance to say they forgot before you have driven anywhere.
When nobody answers, salvage rather than sulk. Knock on the neighbours' doors if you work a trade where that is normal. Reschedule once, into the earliest slot you have rather than the most convenient one, and treat a second no-show as a decision the customer has made for you.
The checklist
Working in order of leverage rather than order of effort:
- Book the soonest slot you can honour. This is the biggest single lever and it is free.
- Qualify on the phone with a price range. A homeowner who flinches at a range was never going to buy at the number.
- Ask who is part of the decision. Never ask whether a spouse will be home.
- Confirm in writing within the hour, containing address, date and time only.
- Under 48 hours, send a statement. Over 48 hours, ask for a reply.
- Text when you get in the truck. Every time.
- Set a wait limit and hold to it.
- Log the no-show against its lead source, not into a general tally.
- Review the table at 60 days and cut or renegotiate the worst channel.
Nothing here requires software you do not have. It requires deciding that the slot has a price, and then behaving like it does. If you want the follow-up half of this, the reasons people go quiet after you have actually delivered the quote are different again, and we covered them in why do customers ghost after a quote.
