Clinica Via dropped no-show rate from 22% to 8.1% across 22 months. The single largest contributor was not the cadence of confirmation messages — it was the recovery loop that fires within four hours of a missed slot. This note is the post-mortem of how Grow2.ai arrived at that loop, including two cadences we ran live and rolled back.
The two cadences we A/B-tested
On Pilot Day 11 we split incoming bookings into two arms. Arm A used a T-48h / T-2h reminder sequence — the cadence YClients ships by default. Arm B used T-72h / T-24h / T-2h. Both arms had the same 4-hour recovery loop after a missed slot.
- Arm A (T-48 / T-2): 17.9% no-show rate at end of pilot, 1.4% opt-out from messaging.
- Arm B (T-72 / T-24 / T-2): 11.2% no-show rate at end of pilot, 2.6% opt-out from messaging.
The trade-off is real: more touches buys lower no-show but costs higher opt-out. The owner's call was that 1.2 extra opt-out points was a fair price for 6.7 fewer no-show points, given that an opt-out costs a future reminder while a no-show costs an entire chair-hour.
Why the recovery loop matters more than the cadence
The unsexy finding is that the 4-hour recovery loop did most of the work. When a patient missed a slot, the daemon waited 90 minutes (giving them time to walk in late or call to apologise), then sent a single, soft message: "We held your slot at 14:00 today and you weren't able to make it — we hope everything's OK. Want me to find another time this week, or shall I let it go?"
~38% of recovered patients rebooked within 4 hours. That single-touch is what turned no-show from "lost revenue" into "rescheduled revenue". The daemon's tone here is non-punitive on purpose — patients miss appointments for human reasons, and an apologetic-or-defensive recovery message stops the loop dead.
What we changed in the prompt three times
- Removed the word "reschedule" from the recovery message. Patients heard it as bureaucratic. Replaced with "find another time".
- Added "or shall I let it go?" The phrasing gives the patient an honourable exit. Counter-intuitively, this lifted rebook rate — patients felt no pressure, so engaged.
- Refused to send the recovery message between 22:00 and 08:00. Patients reported the late-night follow-ups felt aggressive. The agent now waits until 08:30 the next morning.
What we'd roll back
Nothing, on this pilot. But Grow2.ai has run the same recovery loop for two beauty salons since, and the 90-minute wait is too long there — Saturday salon traffic moves faster than dental. The loop is now per-vertical, with the wait window co-set with the owner during the Day 5–6 workshop.