Blog ยท Access control
What is your actual no-show rate? The answer is in your door data, not your registration list
Everyone quotes the industry benchmark. Almost nobody knows their own number, because it lives in two systems that never get joined. Here is how to work it out, and which counter to avoid because it quietly drifts.
Ask an organiser what their no-show rate is and you will usually get one of two answers: an industry figure they read somewhere, or a shrug. Both mean the same thing โ they don't know.
That is odd, because it is one of the few numbers in events that is genuinely easy to calculate, costs nothing to obtain, and changes decisions worth real money.
What the benchmarks say, and why they won't help you much
The 2026 figures circulating in the industry are consistent enough to be worth knowing. The median no-show rate lands around 20%, with average in-person attendance near 68% โ roughly one in three registrants never arrives.
The split by price is the interesting part. Free events run a median around 28%, and several sources report free registrations no-showing at 50โ60%. Paid events sit closer to 17%. There is a widely cited experiment where a refundable $100 deposit produced a 90% show rate: registrations dropped by a third, but actual attendance rose by a third.
That pattern is worth internalising โ payment changes behaviour in a way that registration friction does not. But the benchmark itself is close to useless for planning your event, because the variance between event types swamps the median. A free after-work meetup and a โฌ400 two-day congress are both "events" and share almost nothing.
Your own number from last year is worth more than anyone's median.
The two numbers you need
A no-show rate is one division. The problem is that the numerator and the denominator usually live in different places: registrations in the ticketing or sign-up system, arrivals in whatever happened at the door โ which, at a lot of events, is a printed list and somebody's memory.
If you scan at the door, both numbers are already in the same system:
The denominator is the size of your attendee list. In QRACCESS that is capacity_count: how many people are on the list for that event. It does not move during the day.
The numerator is how many of them actually walked in. That is your entry count โ the number of validated entry scans.
Attendance rate is the second divided by the first. No-show rate is the rest.
The counter that will mislead you
Here is the part worth reading twice, because it is easy to get wrong and the mistake is invisible.
QRACCESS exposes a counter called code_not_used_count, and the name makes it sound exactly like a no-show count. It is calculated like this:
code_not_used_count = capacity_count โ (enter_count โ exit_count)
Read that carefully. It subtracts live occupancy, not arrivals. So at an event that only records entries, it behaves the way you expect and the number is your no-shows. But at an event recording entries and exits, every person who leaves pushes that number back up. By closing time, when everyone has gone home, it climbs towards the full size of your list โ as if nobody had come at all.
It is not a bug: assistants_count is designed as a live occupancy figure, useful for knowing who is inside right now, and code_not_used_count is its complement. It just isn't an attendance metric, and its name invites you to use it as one.
The number you want is the entry count, not the unused-code count. At an entries-only event with single-use codes those two give you the same answer; the moment exits are involved, only one of them still means anything.
Getting the clean number
One more subtlety. The entry count counts scans, not people. If your event allows a badge to be scanned more than once โ re-entry after lunch, multi-day passes, several controlled rooms โ one person can produce several entry records, and the raw count will overstate attendance.
For an event where each code enters once, the two are identical. We checked a real event in the platform: 958 entries, no exits, and 958 distinct people. Clean.
Where re-entry is allowed, export the records from the panel and count distinct attendees rather than rows. The export includes who each scan belonged to, so this is a spreadsheet operation, not a development project.
What the number is actually for
Three decisions, all of which cost money when guessed:
Catering. Ordering for your registration list at an event with a 30% no-show rate means paying for a third of the food that goes in the bin. This is usually the largest single line the number affects.
Room sizing. Parallel sessions get allocated by how many people registered for them. If your no-show rate differs between sessions โ and it usually does, the 9am workshop is not the 5pm one โ you are sizing rooms with the wrong figure.
Overbooking. Airlines do it because they know their rate. If yours is reliably 25% across three editions, selling a hundred places for an eighty-seat room is arithmetic, not recklessness. Doing it without knowing your rate is recklessness.
What we don't do, and you should plan for
QRACCESS measures attendance. It does not send automatic reminders โ there is no built-in "your event is tomorrow" job, and the single most effective anti-no-show measure in the industry is exactly that: a reminder the day before with the badge attached again.
So if reducing your no-show rate is the goal rather than just measuring it, that part lives in your mailing tool, and it has to be somebody's job. Measuring tells you the size of the problem. It doesn't fix it.
Start with one edition. Note your list size and your entry count on the day, and divide. That single number will tell you more about your next event than any benchmark, and you already have both halves of it.