Skip to main content
Research Hub
First-party production data

Who's In Event Benchmarks

RSVP fill rate, no-shows, waitlist promotion and time to first RSVP, computed directly from Who's In production event records by a read-only script. This is the one canonical page for first-party statistics: every cell shows its N, and any cell under 30 events is marked “insufficient N — do not cite” rather than pooled or guessed. Generated 22 August 2026.

By Craig Pollard, Founder & CEO · Reviewed August 2026

14.0%
Median RSVP fill rate, capped events with at least one RSVP
median · N = 231
24 min
Median time from event creation to first RSVP (excluding the organiser)
median · N = 224
n/a
Median no-show rate, events that used check-in
insufficient N — do not cite (N = 3)
n/a
Median waitlist promotion rate, events that had a waitlist
insufficient N — do not cite (N = 10)

Medians, not means: RSVP counts are heavily right-skewed, so a mean would be dominated by a handful of large events. Amber cells have too few events to cite; their N is shown so you can judge the gap yourself.

Methodology

Source. First-party: the production database behind whos-in.app, read by scripts/compute-event-benchmarks.mjs (read-only; it never writes). Generated 22 August 2026. The page renders straight from the script's JSON output, so no figure here is typed by hand.

Window. Events whose start date falls between 23 February 2026 and 22 August 2026 (180 days, past events only). The script scanned 790 event records and kept 435 as eligible after the exclusions below.

ExclusionRuleEvents
recurring instanceisRecurringInstance === true (auto-materialised series occurrences; same convention as the platform health checks)183
system seededorganizerId in {system-curator} (platform-seeded listings, not organiser-created)92
cancelledstatus === "cancelled"45
demo or test flagisDemoData / isDemo / demo / testEvent === true18
test titletitle matches /\btest(?:ing|s)?\b|\bdemo\b|\(test\)|\(demo\)/i17
  • Citation threshold. A cell is citable only when it covers at least 30 events. Below that it is published with its N and the marker “insufficient N — do not cite”. The threshold is a fixed constant in the script, applied identically to every cell.
  • Statistics. Median with 25th and 75th percentiles (linear-interpolation quantiles). No means, no trimming, no smoothing.
  • Categories. The 8 most common event categories in the eligible set are named; everything else is grouped as “all other categories”. “Other” is the organiser's own uncategorised choice, reported separately.
  • No-show gate. 1 − checkedIn / confirmed, counted from each event's RSVP documents. Gate: the event has at least one RSVP with checkedIn === true and is not virtual. Events whose organiser never scanned anyone are excluded, not counted as 100% no-show.
  • Waitlist gate. promoted / (promoted + still waitlisted), from RSVP documents (promotedFromWaitlist === true vs status === "waitlisted"), for events with any waitlist activity (waitlistCount > 0 or a promoted RSVP).
  • Sampling cap. Time to first RSVP needs one RSVP query per event, so it is computed on the 300 most recent (by startDate) eligible events with confirmedCount >= 1 (cap 300; actual sample 273). Fill rate and RSVP counts use the event counters and cover every eligible event, no sampling. 274 per-event RSVP queries were issued in total.
  • Organiser self-RSVP. The organiser's own RSVP is ignored when timing the first RSVP (it is often a self-test) but counts toward fill rate and attendance, because the organiser is a real attendee.
  • Limitations. These are community events hosted on one platform, skewed toward free, small, social and fitness events. They are not a survey of the events industry; for published industry benchmarks see the other reports in the Research Hub.

RSVP fill rate (capped events)

confirmedCount / maxCapacity for events with maxCapacity > 0. Raw and unclamped (a value above 1 means confirmed RSVPs exceeded the capacity set at the time). 37% of capped events in the window had zero confirmed RSVPs — typically pages that were created and never shared — which pulls the all-events median down. The second table restricts to events with at least one RSVP.

All capped events (N = 367)

BreakdownBucketNMedianP25P75Status
OverallAll eligible events3673.3%0.0%30.0%Citable
Paid vs freeFree events3342.0%0.0%24.3%Citable
Paid vs freePaid events3325.0%7.1%50.0%Citable
CategoryOther (uncategorised)833.3%0.0%28.3%Citable
CategoryParty580.0%0.0%7.0%Citable
CategorySocial312.0%0.0%55.0%Citable
CategoryFitness3628.1%7.8%56.3%Citable
CategorySports247.5%0.0%31.3%insufficient N — do not cite
CategoryTraining2619.2%0.3%83.3%insufficient N — do not cite
CategoryYoga150.0%0.0%6.5%insufficient N — do not cite
CategoryPadel122.8%0.0%33.9%insufficient N — do not cite
CategoryAll other categories (grouped)821.5%0.0%11.9%Citable

Capped events with at least one confirmed RSVP (N = 231)

Same ratio, restricted to capped events where confirmedCount >= 1 — removes pages that were created but never shared.

BreakdownBucketNMedianP25P75Status
OverallAll eligible events23114.0%3.3%54.8%Citable
Paid vs freeFree events20311.5%3.3%56.5%Citable
Paid vs freePaid events2828.1%13.1%50.0%insufficient N — do not cite
CategoryOther (uncategorised)5610.0%3.3%50.8%Citable
CategoryParty288.0%2.0%40.8%insufficient N — do not cite
CategorySocial2019.0%3.0%66.8%insufficient N — do not cite
CategoryFitness2941.7%25.0%58.3%insufficient N — do not cite
CategorySports1711.5%6.7%46.7%insufficient N — do not cite
CategoryTraining1950.0%4.5%100.0%insufficient N — do not cite
CategoryYoga510.0%8.0%20.0%insufficient N — do not cite
CategoryPadel728.6%15.0%75.0%insufficient N — do not cite
CategoryAll other categories (grouped)507.6%3.3%32.3%Citable

Confirmed RSVPs per event (uncapped events)

Distribution of confirmedCount for events with no capacity limit (maxCapacity empty or 0). Includes events with zero RSVPs. 38% of uncapped events had zero confirmed RSVPs. N = 68.

BreakdownBucketNMedianP25P75Status
OverallAll eligible events681011Citable
Paid vs freeFree events681011Citable
Paid vs freePaid events0insufficient N — do not cite
CategoryOther (uncategorised)14008.5insufficient N — do not cite
CategoryParty252011insufficient N — do not cite
CategorySocial8609.5insufficient N — do not cite
CategoryFitness1666insufficient N — do not cite
CategorySports5118insufficient N — do not cite
CategoryTraining1131313insufficient N — do not cite
CategoryYoga0insufficient N — do not cite
CategoryPadel0insufficient N — do not cite
CategoryAll other categories (grouped)140.504insufficient N — do not cite

No-show rate (events that used check-in)

1 − checkedIn / confirmed, counted from each event's RSVP documents. Gate: the event has at least one RSVP with checkedIn === true and is not virtual. Events whose organiser never scanned anyone are excluded, not counted as 100% no-show. Only 3 eligible events in the window recorded a check-in, so N = 3: every cell below is published for transparency and none of it is citable. For published no-show benchmarks see No-Show Rates by Industry.

BreakdownBucketNMedianP25P75Status
OverallAll eligible events30.0%0.0%47.8%insufficient N — do not cite
Paid vs freeFree events30.0%0.0%47.8%insufficient N — do not cite
Paid vs freePaid events0insufficient N — do not cite
CategoryOther (uncategorised)195.7%95.7%95.7%insufficient N — do not cite
CategoryParty0insufficient N — do not cite
CategorySocial10.0%0.0%0.0%insufficient N — do not cite
CategoryFitness0insufficient N — do not cite
CategorySports0insufficient N — do not cite
CategoryTraining0insufficient N — do not cite
CategoryYoga0insufficient N — do not cite
CategoryPadel0insufficient N — do not cite
CategoryAll other categories (grouped)10.0%0.0%0.0%insufficient N — do not cite

Waitlist promotion rate (events that had a waitlist)

promoted / (promoted + still waitlisted), from RSVP documents (promotedFromWaitlist === true vs status === "waitlisted"), for events with any waitlist activity (waitlistCount > 0 or a promoted RSVP). N = 10 events had any waitlist activity in the window.

BreakdownBucketNMedianP25P75Status
OverallAll eligible events10100.0%100.0%100.0%insufficient N — do not cite
Paid vs freeFree events10100.0%100.0%100.0%insufficient N — do not cite
Paid vs freePaid events0insufficient N — do not cite
CategoryOther (uncategorised)1100.0%100.0%100.0%insufficient N — do not cite
CategoryParty250.0%25.0%75.0%insufficient N — do not cite
CategorySocial1100.0%100.0%100.0%insufficient N — do not cite
CategoryFitness1100.0%100.0%100.0%insufficient N — do not cite
CategorySports0insufficient N — do not cite
CategoryTraining1100.0%100.0%100.0%insufficient N — do not cite
CategoryYoga0insufficient N — do not cite
CategoryPadel1100.0%100.0%100.0%insufficient N — do not cite
CategoryAll other categories (grouped)3100.0%100.0%100.0%insufficient N — do not cite

Hours from event creation to first confirmed RSVP

createdAt of the earliest confirmed RSVP from someone other than the organiser, minus the event's createdAt, in hours. The organiser's own RSVP is ignored (often a self-test). Negative values (RSVP older than the event record) are dropped as import artefacts. Sample: the 300 most recent (by startDate) eligible events with confirmedCount >= 1; N = 224 after dropping events whose only confirmed RSVP was the organiser.

BreakdownBucketNMedianP25P75Status
OverallAll eligible events22424 min6 min21.5 hCitable
Paid vs freeFree events19718 min6 min6.5 hCitable
Paid vs freePaid events2733.6 h2.4 h85.5 hinsufficient N — do not cite
CategoryOther (uncategorised)4918 min6 min54 minCitable
CategoryParty3718 min6 min2.1 hCitable
CategorySocial222.8 h12 min105.6 hinsufficient N — do not cite
CategoryFitness3048.2 h36 min89.0 hCitable
CategorySports156 min0 min20.1 hinsufficient N — do not cite
CategoryTraining1836 min12 min1.6 hinsufficient N — do not cite
CategoryYoga512 min6 min49.4 hinsufficient N — do not cite
CategoryPadel56 min6 min12 mininsufficient N — do not cite
CategoryAll other categories (grouped)4336 min6 min21.6 hCitable

Download the data

Every cell on this page, including the non-citable ones, as one flat CSV (metric, breakdown, bucket, N, median, P25, P75, citable flag) with the generation date and window in the footer.

whos-in-event-benchmarks.csv

Licence. Creative Commons Attribution 4.0 (CC BY 4.0). You may reuse the citable figures and the CSV with attribution to “Who's In (whos-in.app)” and a link to this page. Please do not cite cells marked “insufficient N — do not cite”.

Last updated: 22 August 2026.

Published industry benchmarks