7 Sep 2025 to 16 Sep 2026 · 30,611 settled appointments across the eight trading studios · a no-show is a seat that sat empty with no warning — never a cancellation
34.08% of settled appointments were no-shows over the last 12 months — 10,431 empty seats out of 30,611. It is improving: the last three complete months run 29.69%.
Distance moves it, and the effect is real. 31.2% inside 25 miles against 38.9% past 100. The typical no-show lives 32 miles from the studio; the typical person who turns up lives 27. The gradient survives inside adults, inside kids and inside all eight cities separately, so it is not a city-mix or an age-mix artefact.
Time moves it too, but half of that is who came in. 31.1% before noon against 36.3% after. Mornings are 27.2% kids and afternoons 12.8%, and kids no-show at 23.1% against 36.6% for adults — so read the adults column. Inside adults the gap is 34.4% before noon against 38.0% after: still real, about half the size.
But neither is the big one. 3,836 appointments — 12.5% of the book — were sold to someone the confirmation call never reached, and 80.7% of those sat empty against 25.6% for a confirmed booking. Distance and time of day both act largely through that. Start on the Confirmation tab.
Every booked seat carries a confirmed flag the bookers work from. A means the confirmation was attempted and never completed — we rang, we did not reach them, and the appointment stayed in the diary anyway. Those no-show at 80.7%, against 25.6% for a fully-confirmed one.
That is a 55-point gap across 3,836 appointments — 3,096 empty seats. It is roughly five times the distance effect and eight times the time-of-day effect, and unlike either of those it is a queue somebody can work through tomorrow morning.
| Confirmation | Appointments | Share | No-shows | Adults | Kids |
|---|---|---|---|---|---|
| Y — fully confirmed | 23,279 | 76.0% | 5,962 25.6% | 27.7% | 17.1% |
| H — half confirmed | 2,231 | 7.3% | 778 34.9% | 37.5% | 24.6% |
| N — not confirmed | 1,256 | 4.1% | 590 47.0% | 48.6% | 37.5% |
| A — attempted, never reached | 3,836 | 12.5% | 3,096 80.7% | 82.7% | 68.7% |
| TOTAL | 30,611 | 100.0% | 10,431 34.1% | 36.6% | 23.1% |
It is a state the bookers work from, not a label stuck on afterwards: 19.3% of the “attempted” bookings still turned up. If it were being applied to no-shows retrospectively that figure would be near zero.
The far bands are not full of flakier people — they are full of people we could not get on the phone. Once someone is genuinely confirmed, the whole distance gradient shrinks to about three points.
| Distance | Appointments | Never reached | Fully confirmed | No-show, all | No-show, confirmed only |
|---|---|---|---|---|---|
| ≤ 10 mi | 5,441 | 10.0% | 79.3% | 31.2% | 24.5% |
| 10–25 mi | 6,571 | 11.4% | 76.3% | 31.3% | 23.9% |
| 25–50 mi | 5,086 | 11.1% | 78.3% | 33.1% | 25.9% |
| 50–100 mi | 3,083 | 13.5% | 76.8% | 35.4% | 26.4% |
| 100–200 mi | 3,008 | 17.1% | 71.8% | 39.6% | 27.8% |
| 200 mi + | 3,043 | 15.2% | 74.9% | 38.2% | 27.6% |
| No zip matched | 4,379 | 13.5% | 72.3% | 35.4% | 26.0% |
| Block | Appointments | Never reached | No-show, all | No-show, confirmed only |
|---|---|---|---|---|
| 09:00–09:59 | 3,177 | 10.9% | 30.9% | 24.7% |
| 10:00–11:59 | 9,687 | 11.3% | 31.1% | 23.2% |
| 12:00–13:59 | 8,815 | 14.3% | 36.6% | 26.4% |
| 14:00–15:59 | 7,507 | 12.8% | 36.2% | 27.8% |
| 16:00 + | 1,425 | 12.1% | 34.7% | 27.1% |
The share of the book we never reach and the overall no-show rate move together, month for month. Neither the distance mix nor the time mix changed materially over the same period.
| Month | Appointments | Never reached | No-show rate |
|---|---|---|---|
| Sep 25 | 1,819 | 14.3% | 36.1% |
| Oct 25 | 2,259 | 15.2% | 35.5% |
| Nov 25 | 2,363 | 13.2% | 38.2% |
| Dec 25 | 2,392 | 15.6% | 41.8% |
| Jan 26 | 2,298 | 13.6% | 36.9% |
| Feb 26 | 2,561 | 13.9% | 35.4% |
| Mar 26 | 2,659 | 12.8% | 34.5% |
| Apr 26 | 2,334 | 12.5% | 34.9% |
| May 26 | 2,771 | 10.9% | 30.6% |
| Jun 26 | 2,684 | 10.7% | 30.3% |
| Jul 26 | 2,716 | 9.4% | 28.6% |
| Aug 26 | 2,664 | 10.7% | 30.1% |
| Sep 26 | 1,091 | 11.0% | 31.1% |
| City | Appointments | Never reached | No-shows in that pile | Seats lost |
|---|---|---|---|---|
| New York | 4,753 | 13.9% | 81.6% | 541 |
| Houston | 4,014 | 15.5% | 81.0% | 503 |
| Florida | 3,826 | 14.0% | 83.6% | 447 |
| Nashville | 3,600 | 14.2% | 85.5% | 438 |
| Dallas | 4,782 | 11.9% | 72.2% | 410 |
| Boston | 2,938 | 11.2% | 83.0% | 273 |
| Orlando | 2,493 | 13.0% | 75.9% | 245 |
| Chicago | 4,205 | 6.8% | 83.9% | 239 |
What this does not say is that confirming someone causes them to turn up. A person who answers the phone was always more likely to come. But the pile we never reach is a list, it is 12.5% of the book, and nothing else on this page is that big or that actionable.
Straight-line miles from the zip on the person’s lead record to the studio the appointment was actually AT. Read the adults column when comparing bands — the kids share falls away past 50 miles and kids behave completely differently. No zip matched is the 11.0% the name-join could not place; it is shown so you can see it is not hiding anything, and it is never folded into a real band.
| Distance | Appointments | Share | No-shows | Adults | Kids |
|---|---|---|---|---|---|
| ≤ 10 mi | 5,441 | 17.8% | 1,695 31.2% | 33.0% | 23.2% |
| 10–25 mi | 6,571 | 21.5% | 2,054 31.3% | 34.3% | 21.7% |
| 25–50 mi | 5,086 | 16.6% | 1,685 33.1% | 36.5% | 21.3% |
| 50–100 mi | 3,083 | 10.1% | 1,092 35.4% | 37.8% | 25.3% |
| 100–200 mi | 3,008 | 9.8% | 1,190 39.6% | 41.7% | 24.1% |
| 200 mi + | 3,043 | 9.9% | 1,163 38.2% | 39.8% | 27.3% |
| No zip matched | 4,379 | 14.3% | 1,552 35.4% | 37.6% | 24.0% |
| TOTAL | 30,611 | 100.0% | 10,431 34.1% | 36.6% | 23.1% |
Median distance: 31.9 mi for a no-show against 26.9 mi for someone who turned up. The means are far higher and far less useful — a handful of 2,000-mile zips drag them.
This is the check that matters. If the distance effect were really a city effect — New York being both close-in and badly behaved — it would break here. It does not. Cells under 40 appointments show the bare count instead of a rate.
| City | ≤ 10 mi | 10–25 mi | 25–50 mi | 50–100 mi | 100–200 mi | 200 mi + | No zip matched | All |
|---|---|---|---|---|---|---|---|---|
| Boston | 28.6% 718 | 32.0% 472 | 35.5% 650 | 35.5% 389 | 40.5% 126 | 34.3% 137 | 37.4% 446 | 33.7% 2,938 |
| Chicago | 27.3% 1,090 | 26.7% 930 | 27.3% 766 | 30.8% 315 | 36.7% 177 | 33.5% 367 | 26.8% 560 | 28.3% 4,205 |
| Dallas | 33.5% 421 | 29.3% 1,449 | 30.1% 998 | 36.8% 258 | 37.6% 433 | 36.4% 546 | 34.3% 677 | 32.5% 4,782 |
| Florida | 24.8% 242 | 32.5% 858 | 35.6% 898 | 33.8% 376 | 37.9% 364 | 36.2% 389 | 34.9% 699 | 34.2% 3,826 |
| Houston | 36.0% 500 | 31.6% 1,214 | 35.5% 512 | 38.9% 180 | 36.9% 604 | 38.5% 439 | 38.4% 565 | 35.5% 4,014 |
| Nashville | 33.1% 608 | 31.0% 420 | 35.0% 555 | 40.0% 340 | 44.5% 696 | 46.1% 484 | 39.2% 497 | 38.6% 3,600 |
| New York | 35.6% 1,540 | 39.2% 902 | 41.5% 422 | 39.5% 559 | 48.4% 279 | 43.8% 370 | 40.7% 681 | 39.4% 4,753 |
| Orlando | 18.9% 322 | 25.5% 326 | 26.0% 285 | 31.2% 666 | 31.9% 329 | 31.8% 311 | 27.6% 254 | 28.1% 2,493 |
| ALL | 31.2% 5,441 | 31.3% 6,571 | 33.1% 5,086 | 35.4% 3,083 | 39.6% 3,008 | 38.2% 3,043 | 35.4% 4,379 | 34.1% 30,611 |
CSV: no_shows_by_band.csv — every band on every dimension, with the adults/kids split.
The 30-minute slot the seat was sold as, straight off the diary. Click the header to sort by rate; it is listed by time because the shape of the day is the point.
| Slot | Appointments | Share | No-shows | Adults | Kids |
|---|---|---|---|---|---|
| 09:00 | 4 | 0.0% | 1 25.0% | 50.0% | 0.0% |
| 09:30 | 3,173 | 10.4% | 981 30.9% | 34.0% | 22.2% |
| 10:00 | 1,872 | 6.1% | 561 30.0% | 34.3% | 18.4% |
| 10:30 | 2,503 | 8.2% | 786 31.4% | 34.8% | 23.8% |
| 11:00 | 2,459 | 8.0% | 741 30.1% | 32.8% | 22.8% |
| 11:30 | 2,853 | 9.3% | 926 32.5% | 35.7% | 22.8% |
| 12:00 | 1,959 | 6.4% | 633 32.3% | 34.0% | 22.9% |
| 12:30 | 2,460 | 8.0% | 964 39.2% | 41.0% | 26.7% |
| 13:00 | 1,953 | 6.4% | 667 34.2% | 35.8% | 24.4% |
| 13:30 | 2,443 | 8.0% | 959 39.3% | 40.3% | 30.3% |
| 14:00 | 1,904 | 6.2% | 659 34.6% | 36.8% | 20.0% |
| 14:30 | 2,246 | 7.3% | 898 40.0% | 41.9% | 24.1% |
| 15:00 | 1,743 | 5.7% | 587 33.7% | 34.9% | 24.0% |
| 15:30 | 1,614 | 5.3% | 574 35.6% | 37.5% | 24.0% |
| 16:00 | 1,425 | 4.7% | 494 34.7% | 36.9% | 22.1% |
| TOTAL | 30,611 | 100.0% | 10,431 34.1% | 36.6% | 23.1% |
| Block | Appointments | Share | No-shows | Adults | Kids |
|---|---|---|---|---|---|
| 09:00–09:59 | 3,177 | 10.4% | 982 30.9% | 34.0% | 22.2% |
| 10:00–11:59 | 9,687 | 31.6% | 3,014 31.1% | 34.5% | 22.3% |
| 12:00–13:59 | 8,815 | 28.8% | 3,223 36.6% | 38.1% | 25.9% |
| 14:00–15:59 | 7,507 | 24.5% | 2,718 36.2% | 38.1% | 23.0% |
| 16:00 + | 1,425 | 4.7% | 494 34.7% | 36.9% | 22.1% |
| TOTAL | 30,611 | 100.0% | 10,431 34.1% | 36.6% | 23.1% |
Across the whole window, afternoon appointments on the half hour no-show at 38.7% against 33.8% on the hour. Do not read that as a live problem. Split at Mar 26: the gap was +7.8 points before it and +1.8 since.
It ran +6 to +10 points every month from Sep 2025 to Mar 2026 and has been flat or negative every month since April. Something in how appointments get confirmed changed around then — the share of the book we never actually reach fell over the same period (see the Confirmation tab), and the whole no-show rate came down with it.
And it was never the clock. It was Houston (+13.0) and Dallas (+7.6) while Chicago and Orlando never had it, and inside those it was individual bookers — one ran 40.6% on the hour against 61.1% on the half. A time of day does not do that. People do.
| City | on the hour | half past | All |
|---|---|---|---|
| Boston | 34.2% 857 | 39.7% 798 | 36.9% 1,655 |
| Chicago | 29.1% 1,292 | 29.6% 1,138 | 29.3% 2,430 |
| Dallas | 30.3% 1,331 | 37.6% 1,308 | 33.9% 2,639 |
| Florida | 35.5% 1,153 | 37.5% 1,150 | 36.5% 2,303 |
| Houston | 31.6% 1,113 | 44.4% 1,224 | 38.3% 2,337 |
| Nashville | 39.2% 1,065 | 43.9% 1,081 | 41.6% 2,146 |
| New York | 39.9% 1,382 | 43.6% 1,408 | 41.8% 2,790 |
| Orlando | 30.1% 791 | 28.2% 656 | 29.2% 1,447 |
| ALL | 33.8% 8,984 | 38.7% 8,763 | 36.3% 17,747 |
No-show % with the appointment count beside it in white. Cells under 30 appointments show the count alone. The two effects stack rather than cancel.
| Distance | 09:00–09:59 | 10:00–11:59 | 12:00–13:59 | 14:00–15:59 | 16:00 + | All |
|---|---|---|---|---|---|---|
| ≤ 10 mi | 31.1% 662 | 30.0% 1,796 | 33.5% 1,401 | 30.9% 1,307 | 28.4% 275 | 31.2% 5,441 |
| 10–25 mi | 27.9% 778 | 28.9% 2,248 | 34.0% 1,713 | 33.2% 1,515 | 32.2% 317 | 31.3% 6,571 |
| 25–50 mi | 31.5% 553 | 29.8% 1,734 | 36.0% 1,420 | 33.8% 1,159 | 41.4% 220 | 33.1% 5,086 |
| 50–100 mi | 38.0% 237 | 33.5% 944 | 34.1% 991 | 38.4% 776 | 37.0% 135 | 35.4% 3,083 |
| 100–200 mi | 39.2% 189 | 35.0% 731 | 40.6% 1,086 | 42.5% 862 | 37.9% 140 | 39.6% 3,008 |
| 200 mi + | 28.1% 306 | 34.7% 841 | 41.1% 962 | 42.9% 785 | 35.6% 149 | 38.2% 3,043 |
| No zip matched | 29.9% 452 | 32.0% 1,393 | 39.1% 1,242 | 37.9% 1,103 | 35.4% 189 | 35.4% 4,379 |
| ALL | 30.9% 3,177 | 31.1% 9,687 | 36.6% 8,815 | 36.2% 7,507 | 34.7% 1,425 | 34.1% 30,611 |
The same grid with the children taken out, so none of it can be a mix effect.
| Distance | 09:00–09:59 | 10:00–11:59 | 12:00–13:59 | 14:00–15:59 | 16:00 + | All |
|---|---|---|---|---|---|---|
| ≤ 10 mi | 35.1% 484 | 32.2% 1,299 | 34.2% 1,254 | 32.3% 1,149 | 29.8% 238 | 33.0% 4,424 |
| 10–25 mi | 30.4% 550 | 32.3% 1,515 | 36.3% 1,415 | 36.1% 1,261 | 34.3% 254 | 34.3% 4,995 |
| 25–50 mi | 36.5% 378 | 34.1% 1,213 | 38.4% 1,203 | 35.3% 986 | 47.4% 171 | 36.5% 3,951 |
| 50–100 mi | 37.9% 177 | 38.7% 651 | 35.5% 851 | 39.9% 690 | 37.7% 122 | 37.8% 2,491 |
| 100–200 mi | 42.5% 153 | 38.5% 582 | 41.9% 986 | 43.9% 793 | 40.8% 125 | 41.7% 2,639 |
| 200 mi + | 29.0% 248 | 36.6% 692 | 42.5% 865 | 43.8% 719 | 37.0% 135 | 39.8% 2,659 |
| No zip matched | 33.5% 352 | 34.6% 1,071 | 39.9% 1,104 | 39.9% 990 | 36.5% 167 | 37.6% 3,684 |
| ALL | 34.0% 2,342 | 34.5% 7,023 | 38.1% 7,678 | 38.1% 6,588 | 36.9% 1,212 | 36.6% 24,843 |
Worst first. The median-miles column is the one to read alongside it: Orlando’s clients travel furthest and no-show least, so distance is a driver inside a city and not a ranking between them.
| City | Appointments | No-shows | Adults | Kids | Mon–Fri | Sat/Sun | Median mi |
|---|---|---|---|---|---|---|---|
| New York | 4,753 | 1,873 39.4% | 42.2% | 29.9% | 39.9% | 38.4% | 14 |
| Nashville | 3,600 | 1,389 38.6% | 40.8% | 25.9% | 37.8% | 39.8% | 49 |
| Houston | 4,014 | 1,425 35.5% | 38.2% | 22.5% | 34.1% | 38.1% | 25 |
| Florida | 3,826 | 1,309 34.2% | 37.3% | 22.3% | 33.5% | 35.4% | 34 |
| Boston | 2,938 | 990 33.7% | 37.4% | 21.7% | 33.3% | 34.3% | 27 |
| Dallas | 4,782 | 1,555 32.5% | 34.9% | 20.8% | 32.0% | 33.7% | 28 |
| Chicago | 4,205 | 1,190 28.3% | 29.8% | 18.1% | 28.3% | 28.4% | 22 |
| Orlando | 2,493 | 700 28.1% | 31.0% | 19.3% | 28.4% | 27.4% | 63 |
| TOTAL | 30,611 | 10,431 34.1% | 36.6% | 23.1% | 33.7% | 34.9% | 28 |
The single biggest split on the page, and the reason every other table carries the two columns. Kids are the booking’s own age ≤17 — who came in, not what we bought.
| Who | Appointments | Share | No-shows | Adults | Kids |
|---|---|---|---|---|---|
| kids ≤17 | 5,768 | 18.8% | 1,331 23.1% | — | 23.1% |
| adults 18+ | 24,843 | 81.2% | 9,100 36.6% | 36.6% | — |
| TOTAL | 30,611 | 100.0% | 10,431 34.1% | 36.6% | 23.1% |
| Day type | Appointments | Share | No-shows | Adults | Kids |
|---|---|---|---|---|---|
| Mon–Fri | 19,943 | 65.1% | 6,712 33.7% | 35.4% | 23.2% |
| Sat/Sun | 10,668 | 34.9% | 3,719 34.9% | 39.4% | 23.0% |
| TOTAL | 30,611 | 100.0% | 10,431 34.1% | 36.6% | 23.1% |
Why a single 12-month number is the wrong thing to quote: the range across these months is over 13 points. The last row is a part month.
| Month | Appointments | No-shows | Adults | Kids | ≤ 25 mi | 100 mi + | Before noon | Noon on |
|---|---|---|---|---|---|---|---|---|
| Sep 25 | 1,819 | 657 36.1% | 37.0% | 21.2% | 31.9% | 38.8% | 31.3% | 39.0% |
| Oct 25 | 2,259 | 803 35.5% | 36.8% | 15.9% | 32.8% | 39.2% | 31.7% | 38.2% |
| Nov 25 | 2,363 | 902 38.2% | 39.0% | 28.5% | 34.2% | 44.6% | 35.1% | 40.2% |
| Dec 25 | 2,392 | 1,000 41.8% | 42.2% | 35.6% | 37.5% | 49.3% | 38.6% | 44.0% |
| Jan 26 | 2,298 | 848 36.9% | 37.8% | 24.8% | 38.0% | 37.7% | 36.2% | 37.4% |
| Feb 26 | 2,561 | 906 35.4% | 36.7% | 21.7% | 34.4% | 36.7% | 33.7% | 36.6% |
| Mar 26 | 2,659 | 918 34.5% | 35.9% | 20.2% | 33.4% | 38.4% | 31.1% | 36.9% |
| Apr 26 | 2,334 | 815 34.9% | 36.6% | 22.9% | 29.7% | 38.4% | 31.3% | 37.6% |
| May 26 | 2,771 | 849 30.6% | 35.0% | 20.9% | 26.7% | 36.9% | 27.3% | 33.2% |
| Jun 26 | 2,684 | 813 30.3% | 34.4% | 23.6% | 27.1% | 37.4% | 26.6% | 33.2% |
| Jul 26 | 2,716 | 778 28.6% | 33.5% | 21.0% | 27.0% | 32.2% | 26.8% | 30.1% |
| Aug 26 | 2,664 | 803 30.1% | 33.6% | 24.4% | 27.2% | 34.6% | 27.6% | 32.1% |
| Sep 26 (part) | 1,091 | 339 31.1% | 33.2% | 26.3% | 27.0% | 48.1% | 29.1% | 32.5% |
Denominator is settled appointments — a booked seat whose outcome is known (arrived is Y or S). A booking still in the future carries arrived:null and is excluded, or every recent day would read as a disaster. Numerator is arrived:"S".
Cancellations are not in here at all. A cancellation is someone who told us, and 98.3% of them come off the diary so the seat goes back on sale (→ /diary-fill). A no-show told us nothing and the seat sat empty.
Cross-checked against the CRM’s own feed: csv_noshowcancelledlib.php returns 807 no-shows for Aug 2026 (rows with a blank Date Cancelled) and the diary returns 807 arrived:"S" seats — and they agree studio by studio across all eight. Two independent feeds, same answer.
The 30-minute slot the seat was sold as, read straight off the calendar feed (application/diary/service/events.php). No join, no inference. The 08:00 slot returns no seats by design and is ignored.
The calendar carries no address, so the zip comes from the person’s lead record and the join is on NAME: exact first, then first-and-last-name. Of 30,611 settled appointments, 26,413 matched exactly, 825 on first+last and 3,373 not at all — 89.0% placed, from 21 cached lead months.
A name is a weaker key than an id, and 5,088 of the matched names appear on lead rows carrying more than one zip; the most recent lead row wins. That noise would blur a gradient, not manufacture one — and the gradient holds inside all eight cities separately, which random mis-matching could not produce.
Miles are straight-line from the zip centroid to the studio the appointment was AT, not to the nearest studio. That is a floor on the real journey, not the drive.
It cannot tell you why. Distance and time of day are properties of the booking; nothing here measures what the booker said, whether the confirmation landed, or whether anyone rang them the day before. Those are the levers, and none of them are in this data.
And it is an observed rate, not an experiment. Far-away afternoon slots may be sold to a different kind of buyer rather than being harder to keep. The honest claim is that the pattern is consistent and large, not that moving someone to 09:30 would fix them.
CSV: no_shows_by_appointment.csv — one row per settled appointment: date, studio, slot, outcome, age, booker, zip, miles and band.