Predicting event no shows from the registration data you already hold
Predicting event no shows is possible from fields captured at registration: days between registering and show open, distance from the venue, registration type, price paid and prior edition behaviour. Fit a logistic model on the previous edition, score the current file, and judge it on decile lift instead of accuracy.
Six weeks out, the operations lead asks how many of the 9,000 registrations will actually walk in. Predicting event no shows at that point usually means one number, a single percentage from last year applied to this year's total, and everyone in the room knows it is a guess dressed up as a plan.
The interesting thing is that you already hold enough to do better, and you have held it since the moment each person completed the form. Every registration record carries a created timestamp, a postcode, a registration type, a price paid and, if you can match the person to prior editions, an attendance history. Five fields. No new data collection, no survey, no extra vendor.
The five fields that are already there
Lead time. The number of days between the registration created timestamp and the opening morning. Somebody who registers 180 days out has made a low cost decision about a diary entry that is still abstract. Somebody who registers eleven days out has usually already cleared the diary.
Distance from the venue. Derived from the postcode on the registration and banded, never used raw. Local, regional, national, international. The band definitions belong with the catchment report so both use the same cut points.
Registration type. Paid delegate, free expo visitor, exhibitor guest pass, invited VIP. These behave differently enough that a single model without this field will be systematically wrong for at least two of them.
Price paid. The actual amount on the record, not the tier name. A registration bought at full price and one bought with a 100 per cent partner code are different commitments even when both say delegate.
Prior edition behaviour. Whether the person registered for the previous edition, and separately whether they attended it. Registered and did not attend is the single most informative state in the file, and it is different from never having registered.
The clinical scheduling literature keeps arriving at the same shortlist. Dunstan and colleagues, writing in Health Care Management Science in 2023 on a paediatric hospital in Chile, reported that the most relevant variables for predicting a no show were those related to patients' historical behaviour, the reservation delay from the creation of the appointment, and variables associated with the most disadvantaged socioeconomic group. Goffman and colleagues, in Military Medicine in 2017, modelled past attendance behaviour with an empirical Markov model based on up to ten previous appointments. Booking delay and prior behaviour, in both papers. A trade show registration is a different animal from a clinic appointment in almost every respect, and two of the fields that predict it are the same.
Why does a rule not work here?
Somebody will suggest a rule. Everyone who registered in the last three weeks and paid full price is likely to attend, everyone who took a free code more than four months out is not.
Rules are readable, which is their only advantage here, and they fail in a specific way. They force each field to act alone, so they cannot express that a long lead time is bad evidence for a free badge and almost meaningless for a paid delegate who booked flights the same week. They also produce a yes or no where you need a number, because the operations decision is not which individuals will be absent. It is how many, and with what spread.
Logistic regression gives you a probability per registration and a coefficient per field that a person can read out loud. There are stronger classifiers, and on this problem their advantage is usually small and their cost in explicability is large. When the show director asks why a registrant scored the way they did, you want to be able to answer in one sentence.
Fitting on one edition and scoring the next
The training set is the previous edition, with the outcome known: for every registration live at show open, did that person attend. The scoring set is the current edition, using only fields that exist at the moment of registration.
That last constraint is where teams give themselves a fake result. If your training table includes whether the person downloaded the mobile app, or opened the week-before email, or booked a hotel through your housing partner, the model will look excellent and be useless six weeks out, because none of those fields are populated yet for most of the current file. Build the table as it looked on the day each person registered.
Fit the model on the prior edition. Score the current file. Refit once the current edition closes, and keep the coefficients from every fit, because the way they move between editions is itself a report.
Two registrants, scored by hand
Coefficients are easier to trust once you have pushed two records through them with a calculator. Take a fitted model with these terms, all illustrative.
The intercept is minus 1.60. Lead time contributes plus 0.006 for every day between registration and show open. A free expo badge contributes plus 0.85 against a paid delegate baseline. Living inside the local band contributes plus 0.35. Having attended the previous edition contributes minus 0.70. Being in the international band contributes minus 0.30.
First registrant. Free expo badge, registered 140 days out, home postcode 22 miles from the venue, no record of attending the previous edition.
The linear score is minus 1.60, plus 0.006 times 140 which is 0.84, plus 0.85 for the free badge, plus 0.35 for local. That sums to 0.44. Converting a log odds of 0.44 to a probability gives e to the 0.44, which is 1.553, divided by 2.553, which is 0.608. A 61 per cent chance of not turning up.
Second registrant. Paid delegate, registered 21 days out, 400 miles away, attended the previous edition.
The linear score is minus 1.60, plus 0.006 times 21 which is 0.126, minus 0.30 for the international band, minus 0.70 for prior attendance. That sums to minus 2.474. Converting gives one divided by one plus e to the 2.474, which is one over 12.87, which is 0.078. Just under eight per cent.
Sixty-one per cent against eight per cent, from five fields, both of which were in the file the day the person registered. That gap is the whole value of the exercise, and it is invisible in any report that quotes one turnout percentage for the show.
Why is accuracy the wrong number to check?
The number people ask for is accuracy, and it is close to meaningless here. On a file with a 26 per cent no show rate, a model that predicts everybody attends is 74 per cent accurate and worth nothing.
Rank the file by predicted no show probability, cut it into ten equal groups, and look at what actually happened in each. On a scored edition of 9,000 registrations with 2,340 actual no shows, an overall rate of 26.0 per cent, the top decile is 900 registrations. If 468 of them failed to attend, that decile ran at 52.0 per cent, which is 2.0 times the base rate. If the bottom decile produced 108 no shows, it ran at 12.0 per cent.
The number worth quoting to an operations lead is the concentration. If the top three deciles, 2,700 registrations, contain 1,161 of the 2,340 no shows, then 30 per cent of the file accounts for 49.6 per cent of the absence. That is a sentence somebody can act on, and it is honest about what the model does and does not know, because it also says that half the absence is spread evenly through the rest of the file and cannot be targeted at all.
Check the calibration separately. Group the file by predicted probability in bands of ten points and compare the predicted rate to the observed rate in each band. If the model says 60 per cent for a group that turns out at 45 per cent absent, the ranking may still be useful while the numbers are not, and you should not be multiplying those probabilities by anything.
What the score is allowed to change
The safe uses are operational. Sum the probabilities across the file to get an expected attendance as a distribution instead of a point, and give catering and badge stock the range. That sum is an input to the attendance forecast published before doors, which combines it with turnout by registration type. Size the on site registration desk against the tail, since Maritz's Registration Insights Report 2024, drawn from more than 360,000 registration records across 30 trade shows, found 62 per cent of attendees living within 250 miles of the venue registering in the final four weeks against 39 per cent of those who flew, and that late group arrives with the least warning.
The marketing use is a genuine reminder programme, weighted towards high risk registrants, which is defensible because the message is the same one everyone else gets and it costs nothing to send it earlier.
The use I would refuse is anything that changes what a registrant is offered. Suppressing a high risk registrant from a hosted buyer invitation, or quietly deprioritising them for a limited session, converts a statistical guess into a decision about an individual, and the model's error rate then falls entirely on people who were going to come. It also has a nasty property. Distance, price paid and registration type are correlated with company size and seniority in ways you have not audited, so a suppression rule built on them will have a demographic shape nobody intended.
Where this stops
The model is fitted on people who registered. It knows nothing about the population that did not, so it cannot tell you whether a low predicted no show rate reflects a committed audience or a small one. It also has nothing to say about the denominator the headline rate is computed on, which is a definitional argument the scores cannot settle, and any attendee analytics pack should carry both.
It also assumes the next edition resembles the last, and the failure mode is not gentle. A venue change, a date move into a holiday week, a transport strike, or a competing show launching against your dates will shift the base rate for everybody at once, and the model will be confidently wrong in the same direction for the whole file. Coefficients from a normal year applied to an abnormal one produce a forecast with no warning attached.
The prior attendance field, which carries the most weight, is only as good as your ability to recognise the same person across editions, and email changes break that quietly. A person who attended three of the last four editions under a previous employer's address looks like a first time registrant, and the model will treat them as one.
Start this week by building the training table for one show's previous edition: one row per registration live at show open, with lead time in days, a distance band, registration type, price paid, prior registration and prior attendance, and the attended flag. Before fitting anything, just cross-tabulate the attended rate by lead time in thirty day bands. If the rate is flat across those bands on your show, the strongest predictor in the literature does not apply to you, and that is worth knowing before you spend a fortnight on a model.
Questions people ask about predicting event no shows
- What data do you need to predict event no shows?
- Five fields that a registration platform already records: the created timestamp, a postcode or country, the registration type, the amount actually paid, and whether the person registered for or attended the previous edition. Nothing else is required. The training outcome is whether each registration live at the previous show open resulted in an attendance.
- How accurate is a no show prediction model?
- Accuracy is the wrong measure. On a file with a 26 per cent no show rate, a model predicting that everybody attends scores 74 per cent accurate and changes nothing. Rank the file by predicted probability, cut it into deciles, and report how much of the absence sits in the top deciles. Check calibration separately.
- Can you use a no show score to decide who gets invited?
- Treat that as out of bounds. Distance, price paid and registration type correlate with company size and seniority in ways nobody has audited, so a suppression rule built on them acquires a demographic shape that was never intended. Operational uses are safe: expected attendance for catering, badge stock, and sizing the on site desk.
Related reading
- Measuring trade show no show rate on a denominator you can defend
- Getting a final attendance forecast from registrations that survives show day