We looked at booking data across studios using our software in 2025–2026. Here's what we see in aggregate. None of the numbers below are universal truths — they're patterns we observe in our own data, and they shift with class type, pricing model, and time of year. Treat them as directional.
A note on the data
Our sample is small and mid-sized studios — yoga, pilates, fitness, dance, treatment-led businesses — mostly in Northern Europe. We are not Mindbody. We don't have hundreds of thousands of studios. We have hundreds. The aggregate ranges below are meant to give a studio owner a useful frame of reference, not a benchmark to be held to. If your number sits well outside the range, that's worth a conversation — but not necessarily a problem.
How big is the no-show problem really?
Across the studios we see, no-show rates tend to sit between 8% and 15% of confirmed bookings. That's the wide middle. Outliers exist in both directions.
The pricing model seems to matter more than anything else. Studios that lean heavily on unlimited memberships — where the marginal cost of skipping a class is zero — tend to land at the higher end of that range, sometimes 13–18%. Studios where most bookings are paid drop-ins or class-pack credits tend to land lower, often 6–10%. When a member has to spend a credit or pay a fee to book, they show up. When the booking is "free" in the moment, they don't always.
Studios with active late-cancellation fees tend to sit a couple of percentage points below their peers without one. The fee doesn't have to be punitive — even a modest €5 to €10 charge seems to change behaviour, because what it really does is force a decision moment.
When do no-shows happen most?
We tend to see two daily peaks. Early-morning classes — roughly 06:00 to 07:30 — and evening classes between 17:30 and 19:00 carry slightly higher no-show rates than mid-morning or mid-afternoon classes. The early-morning peak is, we suspect, the cost of good intentions: people book on a Sunday evening and reality intervenes on a Tuesday morning. The evening peak looks more like fatigue.
Weather sensitivity is real. Rainy weekday evenings can add a few percentage points to the no-show rate, especially for studios without covered cycle parking. Saturday-morning classes seem to be the most weather-resistant slot we see — possibly because people who book a Saturday class are committing to it as a deliberate choice, not as part of a weekly routine.
Class type matters too. Specialty workshops and small-group sessions tend to have meaningfully lower no-show rates than general drop-in classes — likely because the booking felt more considered going in.
Cancellation windows — what works
From what we see, a 12 to 24-hour cancellation deadline tends to be the sweet spot.
Shorter windows — anything under 6 hours — create last-minute empty seats that the waitlist can't fill in time. The cancellation arrives too close to the class start for the next person on the list to react and travel. The seat goes unused.
Longer windows — anything beyond 24 to 36 hours — tend to generate frustration. A member who genuinely needs to cancel the morning of an evening class shouldn't feel punished for being honest about it. We see more support tickets and more goodwill refunds at studios with very long windows, which costs admin time even if it doesn't cost cash.
12 hours is our most common default. It gives the waitlist something to work with and keeps the policy reasonable. 24 hours is also common — a touch stricter, and tends to suit studios with very high-demand slots where the seat will fill regardless.
Do waitlists actually fill the gap?
Partly. Honestly. We observe that roughly 40% to 60% of waitlist promotions get accepted in time across the studios we see. The other 40 to 60% of those slots stay empty.
The conversion rate is heavily driven by timing. A waitlist promotion that goes out 18 hours before a class converts well — the next person has time to plan. A promotion that goes out 90 minutes before a class converts poorly. The further from class start, the better. Push notifications convert noticeably better than email, and email noticeably better than nothing.
Waitlists are useful, in other words, but they're not a replacement for getting the cancellation window right in the first place. The two work together. A 12-hour cancellation deadline plus a working push-notification waitlist seems to recover the largest share of empty seats.
Late-cancellation fees vs no-show fees
Both reduce drop-off. They are not the same.
A late-cancellation fee triggers when a member cancels inside the cancellation window. The booking is still in the system. The card on file can be charged automatically, or a credit deducted, with very little manual review needed. Collection is reliable.
A no-show fee triggers when nobody marked attendance. That sounds similar, but in practice it tends to require an instructor or front-desk person to confirm the no-show before charging. Disputes are more common ("I was there, you didn't scan me"), so studios end up reviewing each one manually. The collection rate is lower and the admin cost is higher.
If a studio is starting from no fees at all, we'd generally suggest implementing late-cancellation first and only adding no-show on top if the data still warrants it.
What we recommend
From the patterns above, the practical defaults that seem to work for most studios:
- A 12-hour cancellation deadline as the starting point. Tighten to 24 hours only if your classes consistently fill from the waitlist.
- A modest late-cancellation fee — €5 to €10, or one credit deducted. Punitive isn't needed; the decision moment is what changes behaviour.
- A working waitlist with push notifications, not just email. Email alone leaves too many slots empty.
- A reminder 24 hours before class. Even a small nudge seems to reduce no-shows by a measurable amount.
- Don't over-rotate on a single bad week. No-show rates are noisy. Look at the rolling 30-day or 90-day number, not the last seven days.
None of this is revolutionary. The boring combination of a reasonable window, a small fee, a working waitlist, and a reminder seems to recover most of the seats that would otherwise sit empty.