How to analyze a conversion funnel and find meaningful drop-offs
A reliable funnel analysis defines one entity, one entry event, ordered stage rules, and a conversion window before calculating anything. Measure both stage-to-stage and entry-to-stage conversion, add median time between stages, compare acquisition and time cohorts, and inspect loss reasons so the largest numerical drop is not automatically treated as the best opportunity.
The decisions that matter
- Define whether the funnel follows users, accounts, leads, or opportunities.
- remove duplicates from repeated events without deleting legitimate re-entry.
- Use time-to-stage and cohort quality beside conversion rate.
- Prioritize recoverable, high-value losses rather than the largest raw drop.
Useful funnel measures
| Measure | Best use | Limitation |
|---|---|---|
| Stage-to-stage rate | Locate local friction | Hides earlier losses |
| Entry-to-stage rate | Track total journey yield | Needs a stable entry population |
| Time to stage | Find delays | Requires reliable timestamps |
| Loss reason share | Form hypotheses | Often incomplete or subjective |
Where the difficulty begins
Event tables contain retries, repeated visits, skipped stages, backfills, and records observed for unequal lengths of time. A simple count by status can compare different populations and overstate both starts and conversions.
Doing these steps in Prepyr
Upload a CSV working copy in Prepyr. Describe the result you need: Analyze a conversion funnel without mixing user, event, cancellation, and no-show records. Check the columns selected, preview any proposed changes, and compare the output with the source before applying or exporting it.
Prepyr steps used here: Cohort analysis · Funnel charts · Segmentation · Follow Up questions
From the field · Clinic operations manager
Separate booking drop-off from cancellations and appointment no-shows
A booking journey records page views, slot selections, completed bookings, cancellations, reschedules, and attended appointments. Counting event rows as people inflates early stages and treats a no-show as the same problem as checkout abandonment.
Columns used in the example
person_id · session_id · event · event_time · booking_id · appointment_time · status · channel
Follow it with your own file
- Define the entity and eligibility rule for every stage.
- Order events within sessions and connect bookings to later cancellation or attendance outcomes.
- Calculate conversion and time-to-advance with explicit denominators.
- Segment only after the total funnel reconciles and tracking gaps are identified.
Check: A person or booking must not be counted twice in the same stage unless the metric explicitly measures events. Reconcile stage counts, excluded records, and status transitions before diagnosing a drop-off.
Denominators decide whether the funnel is true
Stage counts are meaningful only when they refer to the same eligible population. Entry-to-stage conversion answers a different question from stage-to-stage conversion, so label both clearly.
Recent cohorts need enough time to complete the journey. Either restrict to mature cohorts or use survival methods for censored observations.
The biggest drop is not always the priority
A high-volume early-stage drop may include low-intent visitors, while a smaller late-stage loss may contain high-value accounts blocked by one fixable issue. Combine volume, recoverability, customer value, and effort.
Latency matters too: stable conversion with a doubling of time to advance can signal an emerging operational problem.
Build the result step by step
- Write the funnel contract: Define entity, entry event, stage order, success, exclusions, re-entry, and conversion window.
- Construct one journey per entity: Order events, handle retries and skipped stages explicitly, and keep timestamps needed for latency.
- Calculate rates and time: Compute stage-to-stage, cumulative conversion, median elapsed time, and mature-cohort denominators.
- Segment and investigate: Compare source, market, device, plan, or owner, then read representative loss reasons and records.
What may be distorting the answer
- Later stages contain more records than earlier ones.
- Recent cohorts appear to convert poorly because they have not matured.
- Conversion changes when the observation window changes.
- The same entity is counted several times at one stage.
Check the source before you publish
- Entity defined
- Stage order documented
- Repeated events handled
- Cohorts matured
- Time window stated
- Loss reasons sampled
A funnel diagnosis that identifies where qualified entities stall, how long they wait, which cohorts differ, and what evidence should be checked next.
Questions readers usually ask next
Can a funnel allow skipped stages?
Yes, but document valid paths and do not force events into stages they never passed.
Why did recent conversion fall?
The cohort may be immature. Compare only entities with equal opportunity to convert.
How many segments should I compare?
Start with hypotheses and material dimensions; exhaustive slicing creates noisy false discoveries.