Live demo
Two onboarding flows. Same conversion rate, different physics.
An 1,800-trial book with real start dates, so 520 of these trials are still running right now. Every hazard, curve, and p-value below is computed in your browser from the per-trial records, with in-flight trials censored at their current day rather than counted as failures.
Control is not converting anyone through the product. It is converting them with the expiry email on day 13, which is a deadline making the decision. Guided setup resolves on day 3, which is the product making it. Those two flows want opposite onboarding sequences and the end-of-trial percentage says they are the same.
Comparing variants mid-flight
The completed-trials test cannot answer. The log-rank test can.
Guided setup shipped eighteen days ago to half the traffic. Only 100 of its 360 trials have finished, which is all the completed-trials-only calculation is allowed to look at. The survival estimate uses all 360.
Three numbers, one question
Your dashboard is reading 24.6%. It is 30.1%.
520 of 1800 trials have not finished. Counting them in the denominator without their future conversions understates the rate. Removing them throws away the users the dashboard exists to report on. Censoring keeps them at their current day, which is the only option that uses what they have actually told you.
| Variant | Trials | In flight | Live rate | Completed only | Kaplan-Meier |
|---|---|---|---|---|---|
| Control onboarding | 1440 | 260 (18.1%) | 24.4% | 28.3% on 1180 | 28.2% |
| Guided setup | 360 | 260 (72.2%) | 25.3% | 36.0% on 100 | 32.0% |
| Everything | 1800 | 520 (28.9%) | 24.6% | 28.9% on 1280 | 30.1% |
The gap between the live rate and the real one scales with how fast you are growing, because growth is what puts trials in flight. So the number is least trustworthy in exactly the week you are watching it hardest, and it recovers on its own the moment signups flatten, which reads as a conversion problem that fixed itself.