Share:

No-shows — how far away, and what time

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

No-show rate, 12 months
34.08%
10,431 of 30,611 appointments
Last 3 complete months
29.69%
Jun 26 · Jul 26 · Aug 26
Within 25 miles
31.2%
12,012 appointments
Over 100 miles
38.9%
6,051 appointments
Before noon
31.1%
12,864 appointments
Noon onwards
36.3%
17,747 appointments

The short answer

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.

Whether we actually reached them

3,836 seats a year are sold to someone we never got hold of

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.

ConfirmationAppointmentsShareNo-showsAdultsKids
Y — fully confirmed23,27976.0%5,962 25.6%27.7%17.1%
H — half confirmed2,2317.3%778 34.9%37.5%24.6%
N — not confirmed1,2564.1%590 47.0%48.6%37.5%
A — attempted, never reached3,83612.5%3,096 80.7%82.7%68.7%
TOTAL30,611100.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.

Distance acts THROUGH it, not around it

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.

DistanceAppointmentsNever reachedFully confirmedNo-show, allNo-show, confirmed only
≤ 10 mi5,44110.0%79.3%31.2%24.5%
10–25 mi6,57111.4%76.3%31.3%23.9%
25–50 mi5,08611.1%78.3%33.1%25.9%
50–100 mi3,08313.5%76.8%35.4%26.4%
100–200 mi3,00817.1%71.8%39.6%27.8%
200 mi +3,04315.2%74.9%38.2%27.6%
No zip matched4,37913.5%72.3%35.4%26.0%

And so does time of day

BlockAppointmentsNever reachedNo-show, allNo-show, confirmed only
09:00–09:593,17710.9%30.9%24.7%
10:00–11:599,68711.3%31.1%23.2%
12:00–13:598,81514.3%36.6%26.4%
14:00–15:597,50712.8%36.2%27.8%
16:00 +1,42512.1%34.7%27.1%

This is what has been driving the improvement

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.

MonthAppointmentsNever reachedNo-show rate
Sep 251,81914.3%36.1%
Oct 252,25915.2%35.5%
Nov 252,36313.2%38.2%
Dec 252,39215.6%41.8%
Jan 262,29813.6%36.9%
Feb 262,56113.9%35.4%
Mar 262,65912.8%34.5%
Apr 262,33412.5%34.9%
May 262,77110.9%30.6%
Jun 262,68410.7%30.3%
Jul 262,7169.4%28.6%
Aug 262,66410.7%30.1%
Sep 261,09111.0%31.1%

By city — who is leaving the most on the table

CityAppointmentsNever reachedNo-shows in that pileSeats lost
New York4,75313.9%81.6%541
Houston4,01415.5%81.0%503
Florida3,82614.0%83.6%447
Nashville3,60014.2%85.5%438
Dallas4,78211.9%72.2%410
Boston2,93811.2%83.0%273
Orlando2,49313.0%75.9%245
Chicago4,2056.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.

How far the no-shows live from the studio they were booked at

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.

DistanceAppointmentsShareNo-showsAdultsKids
≤ 10 mi5,44117.8%1,695 31.2%33.0%23.2%
10–25 mi6,57121.5%2,054 31.3%34.3%21.7%
25–50 mi5,08616.6%1,685 33.1%36.5%21.3%
50–100 mi3,08310.1%1,092 35.4%37.8%25.3%
100–200 mi3,0089.8%1,190 39.6%41.7%24.1%
200 mi +3,0439.9%1,163 38.2%39.8%27.3%
No zip matched4,37914.3%1,552 35.4%37.6%24.0%
TOTAL30,611100.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.

The same gradient inside every city

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 mi10–25 mi25–50 mi50–100 mi100–200 mi200 mi +No zip matchedAll
Boston28.6% 71832.0% 47235.5% 65035.5% 38940.5% 12634.3% 13737.4% 44633.7% 2,938
Chicago27.3% 1,09026.7% 93027.3% 76630.8% 31536.7% 17733.5% 36726.8% 56028.3% 4,205
Dallas33.5% 42129.3% 1,44930.1% 99836.8% 25837.6% 43336.4% 54634.3% 67732.5% 4,782
Florida24.8% 24232.5% 85835.6% 89833.8% 37637.9% 36436.2% 38934.9% 69934.2% 3,826
Houston36.0% 50031.6% 1,21435.5% 51238.9% 18036.9% 60438.5% 43938.4% 56535.5% 4,014
Nashville33.1% 60831.0% 42035.0% 55540.0% 34044.5% 69646.1% 48439.2% 49738.6% 3,600
New York35.6% 1,54039.2% 90241.5% 42239.5% 55948.4% 27943.8% 37040.7% 68139.4% 4,753
Orlando18.9% 32225.5% 32626.0% 28531.2% 66631.9% 32931.8% 31127.6% 25428.1% 2,493
ALL31.2% 5,44131.3% 6,57133.1% 5,08635.4% 3,08339.6% 3,00838.2% 3,04335.4% 4,37934.1% 30,611

CSV: no_shows_by_band.csv — every band on every dimension, with the adults/kids split.

By appointment time

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.

SlotAppointmentsShareNo-showsAdultsKids
09:0040.0%1 25.0%50.0%0.0%
09:303,17310.4%981 30.9%34.0%22.2%
10:001,8726.1%561 30.0%34.3%18.4%
10:302,5038.2%786 31.4%34.8%23.8%
11:002,4598.0%741 30.1%32.8%22.8%
11:302,8539.3%926 32.5%35.7%22.8%
12:001,9596.4%633 32.3%34.0%22.9%
12:302,4608.0%964 39.2%41.0%26.7%
13:001,9536.4%667 34.2%35.8%24.4%
13:302,4438.0%959 39.3%40.3%30.3%
14:001,9046.2%659 34.6%36.8%20.0%
14:302,2467.3%898 40.0%41.9%24.1%
15:001,7435.7%587 33.7%34.9%24.0%
15:301,6145.3%574 35.6%37.5%24.0%
16:001,4254.7%494 34.7%36.9%22.1%
TOTAL30,611100.0%10,431 34.1%36.6%23.1%

By block

BlockAppointmentsShareNo-showsAdultsKids
09:00–09:593,17710.4%982 30.9%34.0%22.2%
10:00–11:599,68731.6%3,014 31.1%34.5%22.3%
12:00–13:598,81528.8%3,223 36.6%38.1%25.9%
14:00–15:597,50724.5%2,718 36.2%38.1%23.0%
16:00 +1,4254.7%494 34.7%36.9%22.1%
TOTAL30,611100.0%10,431 34.1%36.6%23.1%

The half-past slots — a pattern that has already closed

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.

On the hour vs half past, after noon

Cityon the hourhalf pastAll
Boston34.2% 85739.7% 79836.9% 1,655
Chicago29.1% 1,29229.6% 1,13829.3% 2,430
Dallas30.3% 1,33137.6% 1,30833.9% 2,639
Florida35.5% 1,15337.5% 1,15036.5% 2,303
Houston31.6% 1,11344.4% 1,22438.3% 2,337
Nashville39.2% 1,06543.9% 1,08141.6% 2,146
New York39.9% 1,38243.6% 1,40841.8% 2,790
Orlando30.1% 79128.2% 65629.2% 1,447
ALL33.8% 8,98438.7% 8,76336.3% 17,747

Distance × time of day

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.

Distance09:00–09:5910:00–11:5912:00–13:5914:00–15:5916:00 +All
≤ 10 mi31.1% 66230.0% 1,79633.5% 1,40130.9% 1,30728.4% 27531.2% 5,441
10–25 mi27.9% 77828.9% 2,24834.0% 1,71333.2% 1,51532.2% 31731.3% 6,571
25–50 mi31.5% 55329.8% 1,73436.0% 1,42033.8% 1,15941.4% 22033.1% 5,086
50–100 mi38.0% 23733.5% 94434.1% 99138.4% 77637.0% 13535.4% 3,083
100–200 mi39.2% 18935.0% 73140.6% 1,08642.5% 86237.9% 14039.6% 3,008
200 mi +28.1% 30634.7% 84141.1% 96242.9% 78535.6% 14938.2% 3,043
No zip matched29.9% 45232.0% 1,39339.1% 1,24237.9% 1,10335.4% 18935.4% 4,379
ALL30.9% 3,17731.1% 9,68736.6% 8,81536.2% 7,50734.7% 1,42534.1% 30,611

Adults only

The same grid with the children taken out, so none of it can be a mix effect.

Distance09:00–09:5910:00–11:5912:00–13:5914:00–15:5916:00 +All
≤ 10 mi35.1% 48432.2% 1,29934.2% 1,25432.3% 1,14929.8% 23833.0% 4,424
10–25 mi30.4% 55032.3% 1,51536.3% 1,41536.1% 1,26134.3% 25434.3% 4,995
25–50 mi36.5% 37834.1% 1,21338.4% 1,20335.3% 98647.4% 17136.5% 3,951
50–100 mi37.9% 17738.7% 65135.5% 85139.9% 69037.7% 12237.8% 2,491
100–200 mi42.5% 15338.5% 58241.9% 98643.9% 79340.8% 12541.7% 2,639
200 mi +29.0% 24836.6% 69242.5% 86543.8% 71937.0% 13539.8% 2,659
No zip matched33.5% 35234.6% 1,07139.9% 1,10439.9% 99036.5% 16737.6% 3,684
ALL34.0% 2,34234.5% 7,02338.1% 7,67838.1% 6,58836.9% 1,21236.6% 24,843

By city

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.

CityAppointmentsNo-showsAdultsKidsMon–FriSat/SunMedian mi
New York4,7531,873 39.4%42.2%29.9%39.9%38.4%14
Nashville3,6001,389 38.6%40.8%25.9%37.8%39.8%49
Houston4,0141,425 35.5%38.2%22.5%34.1%38.1%25
Florida3,8261,309 34.2%37.3%22.3%33.5%35.4%34
Boston2,938990 33.7%37.4%21.7%33.3%34.3%27
Dallas4,7821,555 32.5%34.9%20.8%32.0%33.7%28
Chicago4,2051,190 28.3%29.8%18.1%28.3%28.4%22
Orlando2,493700 28.1%31.0%19.3%28.4%27.4%63
TOTAL30,61110,431 34.1%36.6%23.1%33.7%34.9%28

Kids and adults

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.

WhoAppointmentsShareNo-showsAdultsKids
kids ≤175,76818.8%1,331 23.1%23.1%
adults 18+24,84381.2%9,100 36.6%36.6%
TOTAL30,611100.0%10,431 34.1%36.6%23.1%

Weekday and weekend

Day typeAppointmentsShareNo-showsAdultsKids
Mon–Fri19,94365.1%6,712 33.7%35.4%23.2%
Sat/Sun10,66834.9%3,719 34.9%39.4%23.0%
TOTAL30,611100.0%10,431 34.1%36.6%23.1%

Month by month

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.

MonthAppointmentsNo-showsAdultsKids≤ 25 mi100 mi +Before noonNoon on
Sep 251,819657 36.1%37.0%21.2%31.9%38.8%31.3%39.0%
Oct 252,259803 35.5%36.8%15.9%32.8%39.2%31.7%38.2%
Nov 252,363902 38.2%39.0%28.5%34.2%44.6%35.1%40.2%
Dec 252,3921,000 41.8%42.2%35.6%37.5%49.3%38.6%44.0%
Jan 262,298848 36.9%37.8%24.8%38.0%37.7%36.2%37.4%
Feb 262,561906 35.4%36.7%21.7%34.4%36.7%33.7%36.6%
Mar 262,659918 34.5%35.9%20.2%33.4%38.4%31.1%36.9%
Apr 262,334815 34.9%36.6%22.9%29.7%38.4%31.3%37.6%
May 262,771849 30.6%35.0%20.9%26.7%36.9%27.3%33.2%
Jun 262,684813 30.3%34.4%23.6%27.1%37.4%26.6%33.2%
Jul 262,716778 28.6%33.5%21.0%27.0%32.2%26.8%30.1%
Aug 262,664803 30.1%33.6%24.4%27.2%34.6%27.6%32.1%
Sep 26 (part)1,091339 31.1%33.2%26.3%27.0%48.1%29.1%32.5%

How this is counted

The rate

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 time

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 distance — and its one weakness

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.

What this page cannot tell you

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.