Every missed appointment is a slot that nobody else could use. Clinics, public offices, car workshops and salons lose capacity, revenue and waiting-list time to people who simply do not turn up. A no-show model learns from booking history which appointments are likely to be missed. Its score is then used selectively: the risky minority gets an extra reminder, a call or a better slot, and a calibrated number of back-up bookings fills the gaps that remain. The aim is fuller schedules without the overtime and long waits that blanket overbooking causes.
Problem & value
- Today: reminders go out to everyone by the same SMS/e-mail rule, and overbooking (if any) is a flat rule of thumb per session. Both waste effort on reliable attendees and do little for the people who actually miss appointments.
- Scale in healthcare: NHS England puts the national cost of missed appointments at about £1.2 billion a year [2]. The NHS Innovation Accelerator profile of Deep Medical cites 8 million missed and 4 million short-notice-cancelled outpatient appointments a year (vendor-reported problem figures) [3].
- Evidence from deployments:
- UCLH (London), MRI. A gradient-boosting model trained on 22,318 appointments reached a test AUC of 0.852. At a threshold that caught 90% of no-shows, a targeted call needed about 5.3 calls per prevented no-show instead of 11 for untargeted calls. These figures come from a simulation, not a prospective trial [1].
- Mid and South Essex NHS FT with Deep Medical. A six-month pilot (2023) reported about 30% fewer DNAs, 377 DNAs prevented and 1,910 additional patients seen. Afterwards NHS England announced an expansion to ten more trusts [2]. The £27.5 m annual saving and the 30:1 benefit-cost ratio are projections, not realised results [3].
- Value: more people seen with the same capacity, shorter waiting lists, less idle time for staff and equipment, and fewer reminder calls aimed at reliable attendees.
Variants
- Hospital outpatients & diagnostics (merged healthcare variant): EHR/PAS-integrated risk scores, targeted SMS/calls, back-up booking. Reference cases are UCLH MRI and the Mid and South Essex / Deep Medical pilot [1][2][4].
- GP, dental and specialist practices (SMB): risk flags in the practice software or booking platform. Actions are an extra reminder, prepayment or a deposit for repeat no-shows, and a small waitlist backfill.
- Public offices (Bürgeramt, registration, immigration, job centres): in-person appointment slots. The focus is on releasing slots that will not be used and on backfill from waitlists. Penalising individuals is not appropriate here (see Risks).
- Car workshops, salons, physiotherapy, gyms, restaurants: booking-platform scores, deposits or card guarantees for high-risk bookings, and overbooking of short services.
- Field-service appointments & parcel delivery windows: predicting "customer not home". Combines with OPT-019 routing.
- Private use: not a typical consumer use case. Individuals only see the reminder side (CONV-008).
How it works
- booking events (PAS/EHR, practice software, booking platform)
- feature pipeline (history, lead time, slot, channel, distance, weather, reminders)
- calibrated classifier: P(no-show), P(late cancellation) per appointment
- intervention policy (uplift model: who responds to a call/SMS/slot offer?)
- schedule optimiser / simulator (how many overbookings per session, where in the day)
- actions via workflow engine: reminder, call list, slot swap offer, back-up booking
- booking staff review & override (human-in-the-loop)
- outcome logging
- monitoring of accuracy, calibration and subgroup fairness
- Prediction: gradient-boosted trees (LightGBM, XGBoost, CatBoost) or logistic regression on tabular features. The appointment-level no-show history is by far the strongest predictor in most studies. Calibration matters more than AUC, because the overbooking maths uses the probabilities directly [5].
- Intervention targeting: a high risk score is not the same as being reachable. Uplift modelling (causal-inference) estimates who will actually attend because of a call. A/B holdouts are needed to prove the effect.
- Overbooking: a stochastic scheduling problem. It trades idle time against overtime and waiting time. In practice this means discrete-event simulation or a mixed-integer or stochastic model, solved per clinic session. A simple version places the extra booking in a session whose summed no-show probabilities exceed a threshold.
- LLM layer (optional): personalised, multilingual reminder texts, and classification of free-text replies ("can't make it, need a later date") into reschedule actions together with CONV-003/CONV-008.
- Human-in-the-loop: booking teams approve call lists and overbooking proposals. Clinical priority always overrides the model, and nobody is refused care because of a score.
Data preparation
The model needs appointment history (booked, attended, cancelled, no-show), lead time, appointment type, and optionally reminder responses and weather or season. This usually lives in the booking tool, practice or workshop management software, a calendar, or in the worst case a paper appointment book. Typical gaps are no-shows not recorded as such (cancelled and missing look the same), duplicate client records, free-text appointment types, and missing history after a software change.
Preparation steps: export booking data (PREP-005), digitise paper books only if more than a year of history is needed (PREP-006), define status values clearly (attended, cancelled in time, late cancellation, no-show) with the front desk (PREP-019), harvest them from existing records (PREP-020) and pseudonymise client identifiers before modelling (PREP-022). Where medical data is involved, keep diagnoses out of the feature set unless truly needed (PREP-025).
Rough share of effort: about 30 percent of the project. A few thousand clean appointments are enough to start, so cleaning status values matters more than volume. See GUIDE-003 for a readiness check.
Implementation paths
Which path for whom
- SMB: Path A. Booking and practice-management tools with no-show reminders and overbooking suggestions exist with EU hosting; a small practice rarely has data-science skills for its own model.
- Enterprise: Path B. Multi-site providers have enough appointment volume and own scheduling systems, so a model on their data behind cloud APIs integrates better than a generic product.
- Developer: Path C. A simple tabular model on appointment history runs on HW1 with open-source tools and keeps patient or client data in-house.
- Public: Path C. Citizen and patient appointment data is sensitive and procurement favours self-hosted or German sovereign cloud.
Path A — Buy (off-the-shelf)
- Healthcare (UK/EU): Deep Medical (UK, NHS deployments) [3]. Some EHR/PAS vendors ship built-in no-show models, for example Epic's predictive-model library in EHR deployments. In Germany, patient-communication and booking platforms (Doctolib, samedi, Dr. Flex) offer automated reminders, online rescheduling and waitlists. Ask each vendor whether it offers risk-based targeting or only uniform reminders.
- SMB service businesses: booking systems for salons, workshops and studios (e.g. Shore [DE], Phorest [IE], Treatwell [EU]) offer reminders, deposits, card guarantees and no-show fees. Predictive scoring is rarer, and the deposit rule often does most of the work.
- Choose A when: you use a standard PAS/EHR or booking platform and the vendor already owns the booking events. Check EU hosting, the DPA, and whether the scores can be audited per subgroup.
Path B — Build on cloud APIs
- AutoML / tabular services in EU regions: Azure Machine Learning AutoML (West Europe / Germany West Central), Google Vertex AI tabular (europe-west3), Amazon SageMaker Autopilot (eu-central-1), or Databricks AutoML. Each trains and hosts a calibrated classifier from a booking-history extract.
- Optional LLM for messaging: Mistral (EU), or Azure OpenAI / Claude via EU data-zone endpoints, for reminder text and reply classification. Never send diagnoses, only appointment metadata.
- Integration: HL7 v2 SIU / FHIR
Appointmentresources from the PAS. A nightly batch scoring job writes risk tiers back. n8n or Power Automate triggers SMS/voice via CONV-008.
Path C — Self-host (open source)
- Modelling: scikit-learn (logistic regression, calibration with
CalibratedClassifierCV), LightGBM / XGBoost / CatBoost. TabPFN (Prior Labs, Freiburg) is an option for small practices with little data. Newer TabPFN weights carry a non-commercial licence, so production use needs the enterprise edition [6]. - Uplift & fairness: CausalML or scikit-uplift for targeting, and Fairlearn for subgroup metrics.
- Overbooking: SimPy for discrete-event clinic simulation, and OR-Tools / HiGHS for slot allocation.
- Ops: MLflow for model registry and drift monitoring, Airflow/Dagster or n8n for scheduling, Postgres feature tables.
- Hardware: HW1. A CPU server or VM is enough; no GPU is needed, even for millions of appointments.
Path D — Custom training
In this use case "custom" is the normal case. A useful model has to be trained on your own booking history, because no-show behaviour is local to the population, specialty, channel and reminder regime. You need at least one year of appointment-level history with outcomes (attended, DNA, late cancel), ideally several thousand appointments per service. Retrain whenever the reminder process changes, since a successful intervention shifts the label distribution. Transfer from public datasets (e.g. the Brazilian Kaggle no-show set) is useful only for prototyping.
State of the art (2026)
- Models: well-tuned gradient boosting remains the default. Reported AUCs mostly range from about 0.7 to 0.85, and a systematic review found that few published models beat a naive "everyone attends" baseline on accuracy [5]. Tabular foundation models (TabPFN-3.5 handles up to 1 M rows) reduce tuning effort on small and medium datasets [6]. Deep sequence models add little over well-engineered history features.
- What changed in 2024–2026:
- The focus moved from pure prediction to the intervention policy: reschedule offers instead of reminders only (the Deep Medical approach [4]), uplift-targeted calls and back-up booking.
- Fairness is now a central requirement. Research showed that no-show-based overbooking can systematically push disadvantaged groups into overbooked slots with longer waits, and proposed fairness-aware scheduling as a fix [7].
- Failure modes:
- The class imbalance is severe (DNA rates are often 5–15%).
- Interventions change the labels themselves (feedback loops).
- Overbooking based on uncalibrated scores causes overtime.
- Socio-economic proxies such as postcode or deprivation index can encode discrimination.
- For first-time patients there is no history (cold start).
Shared resources & combinations
- Same tabular-ml stack (CPU, HW1): PRED-003 churn, PRED-020 return prediction, PRED-021 payment behaviour, HLTH-020 readmission risk. One feature store, MLflow registry and scoring job can serve all of them.
- Upstream/downstream:
- PRED-011 / HLTH-008 forecast aggregate demand and capacity, and this use case adjusts the individual slot.
- OPT-003 rostering uses the expected attendance after overbooking.
- CONV-003 (booking assistant), CONV-008 (outbound reminders) and CONV-002 (inbound voicebot) carry out the actions and collect confirmations.
- AGENT-012 handles calendar rebooking.
- OPT-004 covers revenue management in hospitality (the same overbooking maths as hotels and airlines).
- Shared building blocks: booking-event pipeline (FHIR/HL7 or booking-platform API), causal-inference / A-B testing framework, workflow engine (n8n), SMS/voice gateway.
Effort, cost & KPIs
- Path A: weeks if the booking platform already has the feature. Cost is a SaaS licence, often per appointment or per site.
- Path B/C: 2–4 months, of which data extraction and the reminder/call workflow take most of the time. The modelling itself is small. Run cost is negligible (CPU).
- Cost drivers: PAS/EHR integration, booking-staff time for calls, SMS/voice cost, governance (DPIA, fairness review).
- KPIs: DNA rate and short-notice cancellation rate (versus a holdout), slot utilisation, patients or customers seen per session, overtime minutes, in-clinic waiting time, calls per prevented no-show, calibration (Brier score), and subgroup gaps in overbooking exposure and waiting time.
People & change
Involve management and the department lead (practice manager or service head) first: overbooking changes how clients are treated, and fairness has to be decided by people. Front-desk staff are the daily users and know why people miss appointments, so bring them in during design. IT connects the booking system; the data protection officer clears the legal basis, the AVV and a DPIA, which is likely because appointment data can reveal health information (special category data, Art. 9 GDPR). Clients must be informed in the privacy notice.
Works council: depends. If the tool only predicts client behaviour, co-determination is usually not triggered, but schedules and utilisation figures can monitor staff and then §87(1) no. 6 BetrVG applies; §90(1) no. 3 requires timely information. Public bodies involve the Personalrat.
Pilot at one location or with one appointment type and compare against the current no-show rate. Typical concerns are unfair treatment of certain groups and fear of being overbooked. Address them by excluding sensitive attributes, capping overbooking, never refusing appointments on a score alone, and letting staff override. Offer a short AI literacy session (AI Act Art. 4). See GUIDE-004, GUIDE-005 and GUIDE-008.
Risks, regulation & compliance
- EU AI Act: in typical use (internal scheduling support, targeted reminders) the system is minimal risk. AI literacy duties apply (Art. 4), and Art. 50 transparency applies if an AI voice agent makes the calls. It may become high-risk under Annex III 5(a) if a public authority, or a body acting on its behalf, uses the score to grant, reduce or revoke access to essential public services including healthcare. Examples are refusing bookings or deprioritising patients on the waiting list [8][9]. No Art. 5 prohibition applies, but such scores must never become a general "reliability score" about a person used across unrelated contexts, which would move towards social scoring.
- MDR: software for purely administrative scheduling is not a medical device under MDCG 2019-11 [10]. This stops being true once the tool influences clinical prioritisation.
- GDPR: appointment data in healthcare reveals health information (Art. 9). The legal basis is usually Art. 9(2)(h) together with national health-care law. Further steps:
- Run a DPIA.
- Minimise data: no diagnoses, no ethnicity, and justify every socio-economic proxy.
- Art. 22 applies if decisions with significant effect (refused bookings, fees) are fully automated. Keep a human decision.
- Tell patients and customers that reminders are risk-based.
- Consumer and contract law (SMB): no-show fees and deposits need clear terms up front. For German medical practices, charging missed-appointment fees is legally contested.
- Mitigations:
- Use the score only for supportive actions (help to attend) rather than punitive ones.
- Apply fairness constraints in overbooking [7].
- Keep a holdout group to measure the true effect.
- Recalibrate after each process change.
Getting started
- Extract 12–24 months of appointment history with outcomes (attended, DNA, late cancel). Measure the baseline DNA rate per service, weekday and lead time.
- Fix the cheap levers first: a reminder sequence (e.g. the 14-day + 4-day pattern reported by Mid and South Essex), easy online cancel/reschedule, and a waitlist for backfill.
- Train a calibrated LightGBM/logistic model. Validate it on a later time period and check calibration and subgroup errors.
- Pilot one intervention (targeted calls or slot-swap offers) for high-risk tiers against a randomised holdout. Add overbooking only after calibration is proven.
- Run a DPIA and a fairness review, set up monitoring, and extend service by service.
Sources
- Nelson A. et al. (2019): Predicting scheduled hospital attendance with artificial intelligence, npj Digital Medicine (UCLH MRI) — https://pmc.ncbi.nlm.nih.gov/articles/PMC6550247/
- pharmaphorum (2024): NHS will expand use of waiting-list-busting AI after pilot (Mid and South Essex / Deep Medical results; NHS cost of missed appointments) — https://pharmaphorum.com/news/nhs-will-expand-use-waiting-list-busting-ai-after-pilot ; NHS England announcement — https://www.england.nhs.uk/2024/03/nhs-ai-expansion-to-help-tackle-missed-appointments-and-improve-waiting-times/
- NHS Innovation Accelerator — Deep Medical profile — https://nhsaccelerator.com/innovations/deep-medical/
- HTN (2023): Mid and South Essex pilots prediction tech to reduce did-not-attend rate — https://htn.co.uk/2023/02/27/mid-and-south-essex-pilots-prediction-tech-to-reduce-did-not-attend-rate/
- Carreras-García D. et al. (2020): Patient No-Show Prediction: A Systematic Literature Review, Entropy 22(6):675 — https://pmc.ncbi.nlm.nih.gov/articles/PMC7517206/
- Prior Labs — TabPFN repository (models, size limits, licences) — https://github.com/PriorLabs/TabPFN
- Samorani M. et al.: Overbooked and Overlooked: Machine Learning and Racial Bias in Medical Appointment Scheduling, Manufacturing & Service Operations Management — https://doi.org/10.1287/msom.2021.0999
- EU AI Act, Annex III (high-risk use cases) — https://artificialintelligenceact.eu/annex/3/
- Regulation (EU) 2024/1689 (AI Act) — https://eur-lex.europa.eu/eli/reg/2024/1689/oj
- MDCG 2019-11: Guidance on qualification and classification of software under MDR/IVDR — https://health.ec.europa.eu/system/files/2020-09/md_mdcg_2019_11_guidance_qualification_classification_software_en_0.pdf