Metric

What is no-show rate for booked meetings?

Definition

No-show rate is the share of booked meetings that neither party attended — the invitee did not cancel, did not reschedule, and did not turn up. It is a scheduling-funnel metric, and it is only measurable if your data distinguishes cancellations, reschedules, and actual attendance. Where attendance is not recorded, you can measure cancellation rate honestly, but not no-shows.

Formula: No-show rate = meetings marked no-show / (booked meetings − cancelled − rescheduled) × 100

What data do you need?

  • Scheduled meeting records with booking, start, and status timestamps
  • A status that separates cancelled, rescheduled, completed, and no-show
  • An attendance or check-in signal — join events, host disposition, or a CRM outcome field
  • The rescheduled-from link, so a moved meeting is not counted twice
  • Meeting type, host, and booking source for segmentation

SQL pattern

No-show rate by meeting type and month (PostgreSQL)PostgreSQL
-- Rescheduled bookings are excluded from the denominator: the moved
-- meeting appears again as its own row, and counting both double-counts
-- a single intended meeting.
SELECT
  date_trunc('month', m.starts_at)::date AS month,
  m.meeting_type,
  COUNT(*) FILTER (
    WHERE m.status IN ('completed', 'no_show')
  ) AS meetings_due,
  COUNT(*) FILTER (WHERE m.status = 'no_show') AS no_shows,
  COUNT(*) FILTER (WHERE m.status = 'cancelled') AS cancelled,
  ROUND(
    100.0 * COUNT(*) FILTER (WHERE m.status = 'no_show')
    / NULLIF(COUNT(*) FILTER (
        WHERE m.status IN ('completed', 'no_show')
      ), 0), 1
  ) AS no_show_rate_pct,
  ROUND(
    100.0 * COUNT(*) FILTER (WHERE m.status = 'cancelled')
    / NULLIF(COUNT(*), 0), 1
  ) AS cancellation_rate_pct
FROM scheduled_meetings m
WHERE m.starts_at >= CURRENT_DATE - INTERVAL '12 months'
  AND m.starts_at < CURRENT_DATE
  AND m.rescheduled_to_id IS NULL
GROUP BY 1, 2
ORDER BY 1, no_show_rate_pct DESC;

Common pitfalls

Treating every non-completed booking as a no-show.→ Cancellations and reschedules are different behaviors with different fixes. If your data cannot tell them apart, report cancellation rate and say so rather than inventing a no-show number.
Counting a rescheduled meeting and its replacement separately.→ Follow the reschedule link and count the intended meeting once, at its final slot.
Assuming attendance is in the scheduling data.→ Scheduling tools know a meeting was booked, not that anyone showed up. Attendance comes from a conferencing join event, a host disposition, or a CRM field — pick one source and document it.
Comparing no-show rates across meeting types without segmenting.→ Inbound demos, paid onboarding sessions, and internal QBRs have structurally different rates. Segment by type, host, and lead time before drawing conclusions.

Where does this metric apply?

This metric commonly uses data from Calendly, Cal.com, Google Calendar, Salesforce, HubSpot, plus any warehouse models built on account, subscription, and product-usage tables at the same grain.

Dashboards

Integrations

Metrics

Analytics

FAQ

Can Metabase read no-show data straight from Calendly?
No — Metabase queries SQL databases and warehouses, not SaaS APIs. Sync the scheduling data into your warehouse with an ELT tool or the vendor's export, then point Metabase at the resulting tables.
Does booking lead time affect no-show rate?
In most books of business it does, so keep lead time (booked-at to starts-at) as a column and segment by it. Whether the effect is large enough to act on is an empirical question for your own data, not a rule to assume.