Draft. Publication approval has not been verified. Saved evidence passed validation; SQL was not rerun. Recorded reviews are listed below. (attestation 0: source unverified_note is not trusted)
New users who got the onboarding checklist came back more often
For: Non-technical product owner · From: Dana Okafor · Generated 2026-07-20T14:05:00Z · Revision 1
Answer
Yes. New users who saw the onboarding checklist came back within a week more often than new users who did not, and the difference is big enough to keep the checklist.
This is a fair comparison only because the two groups were assigned at random. If the checklist had gone to a particular kind of user (for example only iPhone users), the difference could be about those users, not the checklist. And the gap is one experiment's measurement: the 3 pp3 pptarget · not a measurement1TargetExperiment plan for the onboarding checklist: the checklist is worth its maintenance cost if it lifts 7-day retention by at least 3 percentage points.declared2Where it is written downdocument docs/experiments/onboarding-checklist-plan.md, dated 2026-05-29, owner Dana OkaforWritten in memo.md as {{ext:keep_threshold}}. If any step changes, the recorded reviews no longer apply. bar is a rule the team agreed in advance for acting on it, not a promise that the gap stays that size.
Decision it informs
Whether to keep the onboarding checklist for all new users or remove it. Dana owns the decision. Before the experiment, the team agreed the checklist earns its place if it lifts the share of new users who come back within a week by at least 3 pp3 pptarget · not a measurement1TargetExperiment plan for the onboarding checklist: the checklist is worth its maintenance cost if it lifts 7-day retention by at least 3 percentage points.declared2Where it is written downdocument docs/experiments/onboarding-checklist-plan.md, dated 2026-05-29, owner Dana OkaforWritten in memo.md as {{ext:keep_threshold}}. If any step changes, the recorded reviews no longer apply..
Evidence
New users who saw the checklist came back within a week more often than new users who did not: 34.8%34.8%retention_by_arm · checklist · retained_7d_rate1Saved resultresults/retention_by_arm.json, row checklist, column retained_7d_rate (a share, shown as a percentage)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_arm.checklist.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply. compared with 28.5%28.5%retention_by_arm · control · retained_7d_rate1Saved resultresults/retention_by_arm.json, row control, column retained_7d_rate (a share, shown as a percentage)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_arm.control.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply..
The numbers behind this chart
| arm | signups | retained | retained 7d rate |
|---|---|---|---|
| checklist | 624624retention_by_arm · checklist · signups1Saved resultresults/retention_by_arm.json, row checklist, column signups (a count of users)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashedWritten in memo.md as {{ref:retention_by_arm.checklist.signups}}. If any step changes, the recorded reviews no longer apply. | 217217retention_by_arm · checklist · retained1Saved resultresults/retention_by_arm.json, row checklist, column retained (a count of users)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_arm.checklist.retained}}. If any step changes, the recorded reviews no longer apply. | 34.8%34.8%retention_by_arm · checklist · retained_7d_rate1Saved resultresults/retention_by_arm.json, row checklist, column retained_7d_rate (a share, shown as a percentage)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_arm.checklist.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply. |
| control | 653653retention_by_arm · control · signups1Saved resultresults/retention_by_arm.json, row control, column signups (a count of users)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashedWritten in memo.md as {{ref:retention_by_arm.control.signups}}. If any step changes, the recorded reviews no longer apply. | 186186retention_by_arm · control · retained1Saved resultresults/retention_by_arm.json, row control, column retained (a count of users)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_arm.control.retained}}. If any step changes, the recorded reviews no longer apply. | 28.5%28.5%retention_by_arm · control · retained_7d_rate1Saved resultresults/retention_by_arm.json, row control, column retained_7d_rate (a share, shown as a percentage)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_arm.control.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply. |
Who is counted: every person who signed up between the first of June and the twelfth of July (New York time) and was randomly given one of the two onboardings, 1,2771,277sum · 2 values1CalculationThe sum of 624 (retention_by_arm.checklist.signups) and 653 (retention_by_arm.control.signups)computed at render2Saved resultresults/retention_by_arm.json, row checklist, column signups (a count of users)hash 3c78…27763Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99154Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashedWritten in memo.md as {{derived:total_signups}}. If any step changes, the recorded reviews no longer apply. people in all. "Came back" means they opened the app on at least one of the seven days after the day they signed up.
Compared with what: the people who were randomly given the old onboarding at the same time.
The gap is 6.3 pp6.3 ppdifference · 2 values1CalculationThe difference of after 34.8% (retention_by_arm.checklist.retained_7d_rate) against baseline 28.5% (retention_by_arm.control.retained_7d_rate). Checklist rate minus control rate, in percentage points.computed at render2Saved resultresults/retention_by_arm.json, row checklist, column retained_7d_rate (a share, shown as a percentage)hash 3c78…27763Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99154Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed5Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{derived:lift}}. If any step changes, the recorded reviews no longer apply., above the 3 pp3 pptarget · not a measurement1TargetExperiment plan for the onboarding checklist: the checklist is worth its maintenance cost if it lifts 7-day retention by at least 3 percentage points.declared2Where it is written downdocument docs/experiments/onboarding-checklist-plan.md, dated 2026-05-29, owner Dana OkaforWritten in memo.md as {{ext:keep_threshold}}. If any step changes, the recorded reviews no longer apply. the team agreed on before the experiment. Out of 624624retention_by_arm · checklist · signups1Saved resultresults/retention_by_arm.json, row checklist, column signups (a count of users)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashedWritten in memo.md as {{ref:retention_by_arm.checklist.signups}}. If any step changes, the recorded reviews no longer apply. people who saw the checklist, 217217retention_by_arm · checklist · retained1Saved resultresults/retention_by_arm.json, row checklist, column retained (a count of users)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_arm.checklist.retained}}. If any step changes, the recorded reviews no longer apply. came back. Out of 653653retention_by_arm · control · signups1Saved resultresults/retention_by_arm.json, row control, column signups (a count of users)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashedWritten in memo.md as {{ref:retention_by_arm.control.signups}}. If any step changes, the recorded reviews no longer apply. who saw the old onboarding, 186186retention_by_arm · control · retained1Saved resultresults/retention_by_arm.json, row control, column retained (a count of users)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_arm.control.retained}}. If any step changes, the recorded reviews no longer apply. came back.
| Onboarding | New users | Came back within 7 days | Share who came back |
|---|---|---|---|
| checklist | 624624retention_by_arm · checklist · signups1Saved resultresults/retention_by_arm.json, row checklist, column signups (a count of users)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashedWritten in memo.md as {{ref:retention_by_arm.checklist.signups}}. If any step changes, the recorded reviews no longer apply. | 217217retention_by_arm · checklist · retained1Saved resultresults/retention_by_arm.json, row checklist, column retained (a count of users)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_arm.checklist.retained}}. If any step changes, the recorded reviews no longer apply. | 34.8%34.8%retention_by_arm · checklist · retained_7d_rate1Saved resultresults/retention_by_arm.json, row checklist, column retained_7d_rate (a share, shown as a percentage)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_arm.checklist.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply. |
| control | 653653retention_by_arm · control · signups1Saved resultresults/retention_by_arm.json, row control, column signups (a count of users)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashedWritten in memo.md as {{ref:retention_by_arm.control.signups}}. If any step changes, the recorded reviews no longer apply. | 186186retention_by_arm · control · retained1Saved resultresults/retention_by_arm.json, row control, column retained (a count of users)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_arm.control.retained}}. If any step changes, the recorded reviews no longer apply. | 28.5%28.5%retention_by_arm · control · retained_7d_rate1Saved resultresults/retention_by_arm.json, row control, column retained_7d_rate (a share, shown as a percentage)hash 3c78…27762Query that produced itqueries/retention_by_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99153Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_arm.control.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply. |
Left out: people who signed up before the first of June or after the twelfth of July were not part of the experiment and are not counted.
Limits: "came back" says nothing about what they did in the app. Six weeks of early-summer signups; a different season could behave differently.
- Who is counted
- Every user who signed up between 2026-06-01 and 2026-07-12 (New York time) and was randomly assigned to one of the two onboardings; 1,2771,277sum · 2 values1CalculationThe sum of 624 (retention_by_arm.checklist.signups) and 653 (retention_by_arm.control.signups)computed at render2Saved result
results/retention_by_arm.json, rowchecklist, columnsignups(a count of users)hash 3c78…27763Query that produced itqueries/retention_by_arm.sql(duckdb), run 2026-09-15 against the retained copy of the datasql 6357…99154Data it ran oninputs/users.csv,inputs/events.csv, captured 2026-07-20hashedWritten inmemo.mdas{{derived:total_signups}}. If any step changes, the recorded reviews no longer apply. users in total. - Compared with
- Users assigned the checklist compared with users assigned the old onboarding, assigned at random when they signed up.
- When
- 2026-06-01 to 2026-07-12 (America/New_York)
Who was left out, and the limits of this claim
- Users who signed up before 2026-06-01 or after 2026-07-12 were not part of the experiment and are not counted.
- "Came back" means opened the app on any of the next seven days; it says nothing about what they did in the app.
- Six weeks of signups in early summer; a different season could behave differently.
How this was calculated
ref:retention_by_arm.checklist.retained_7d_rate= 34.8%ref:retention_by_arm.control.retained_7d_rate= 28.5%ref:retention_by_arm.checklist.signups= 624ref:retention_by_arm.control.signups= 653derived:lift= 6.3 ppext:keep_threshold= 3 pp- Definition
retained_7dversion 2 (metric, recorded as approved) liftis the difference of afterref:retention_by_arm.checklist.retained_7d_rateagainst baselineref:retention_by_arm.control.retained_7d_rate: Checklist rate minus control rate, in percentage points.keep_thresholdis a target from a document dated 2026-05-29: Experiment plan for the onboarding checklist: the checklist is worth its maintenance cost if it lifts 7-day retention by at least 3 percentage points.
Question or flag this claim (reference: fnd_7k2m9q4w1xzb r1 c1)
The difference shows up on phones and not on the web: 8.7 pp8.7 ppdifference · 2 values1CalculationThe difference of after 37.0% (retention_by_platform_arm.mobile_checklist.retained_7d_rate) against baseline 28.3% (retention_by_platform_arm.mobile_control.retained_7d_rate)computed at render2Saved resultresults/retention_by_platform_arm.json, row mobile_checklist, column retained_7d_rate (a share, shown as a percentage)hash 9315…28ec3Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93464Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed5Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{derived:mobile_lift}}. If any step changes, the recorded reviews no longer apply. on mobile against -1.3 pp-1.3 ppdifference · 2 values1CalculationThe difference of after 27.7% (retention_by_platform_arm.web_checklist.retained_7d_rate) against baseline 29.0% (retention_by_platform_arm.web_control.retained_7d_rate)computed at render2Saved resultresults/retention_by_platform_arm.json, row web_checklist, column retained_7d_rate (a share, shown as a percentage)hash 9315…28ec3Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93464Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed5Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{derived:web_lift}}. If any step changes, the recorded reviews no longer apply. on the web.
| Where they signed up | Onboarding | New users | Share who came back |
|---|---|---|---|
| mobile | checklist | 476476retention_by_platform_arm · mobile_checklist · signups1Saved resultresults/retention_by_platform_arm.json, row mobile_checklist, column signups (a count of users)hash 9315…28ec2Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93463Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashedWritten in memo.md as {{ref:retention_by_platform_arm.mobile_checklist.signups}}. If any step changes, the recorded reviews no longer apply. | 37.0%37.0%retention_by_platform_arm · mobile_checklist · retained_7d_rate1Saved resultresults/retention_by_platform_arm.json, row mobile_checklist, column retained_7d_rate (a share, shown as a percentage)hash 9315…28ec2Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93463Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_platform_arm.mobile_checklist.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply. |
| mobile | control | 460460retention_by_platform_arm · mobile_control · signups1Saved resultresults/retention_by_platform_arm.json, row mobile_control, column signups (a count of users)hash 9315…28ec2Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93463Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashedWritten in memo.md as {{ref:retention_by_platform_arm.mobile_control.signups}}. If any step changes, the recorded reviews no longer apply. | 28.3%28.3%retention_by_platform_arm · mobile_control · retained_7d_rate1Saved resultresults/retention_by_platform_arm.json, row mobile_control, column retained_7d_rate (a share, shown as a percentage)hash 9315…28ec2Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93463Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_platform_arm.mobile_control.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply. |
| web | checklist | 148148retention_by_platform_arm · web_checklist · signups1Saved resultresults/retention_by_platform_arm.json, row web_checklist, column signups (a count of users)hash 9315…28ec2Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93463Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashedWritten in memo.md as {{ref:retention_by_platform_arm.web_checklist.signups}}. If any step changes, the recorded reviews no longer apply. | 27.7%27.7%retention_by_platform_arm · web_checklist · retained_7d_rate1Saved resultresults/retention_by_platform_arm.json, row web_checklist, column retained_7d_rate (a share, shown as a percentage)hash 9315…28ec2Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93463Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_platform_arm.web_checklist.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply. |
| web | control | 193193retention_by_platform_arm · web_control · signups1Saved resultresults/retention_by_platform_arm.json, row web_control, column signups (a count of users)hash 9315…28ec2Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93463Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashedWritten in memo.md as {{ref:retention_by_platform_arm.web_control.signups}}. If any step changes, the recorded reviews no longer apply. | 29.0%29.0%retention_by_platform_arm · web_control · retained_7d_rate1Saved resultresults/retention_by_platform_arm.json, row web_control, column retained_7d_rate (a share, shown as a percentage)hash 9315…28ec2Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93463Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_platform_arm.web_control.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply. |
This split was not planned before the experiment. It is a follow-up look, so treat it as a lead to test, not a settled fact. On phones, 37.0%37.0%retention_by_platform_arm · mobile_checklist · retained_7d_rate1Saved resultresults/retention_by_platform_arm.json, row mobile_checklist, column retained_7d_rate (a share, shown as a percentage)hash 9315…28ec2Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93463Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_platform_arm.mobile_checklist.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply. of checklist users came back against 28.3%28.3%retention_by_platform_arm · mobile_control · retained_7d_rate1Saved resultresults/retention_by_platform_arm.json, row mobile_control, column retained_7d_rate (a share, shown as a percentage)hash 9315…28ec2Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93463Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_platform_arm.mobile_control.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply. of the others. On the web the two groups are small, so the web number moves a lot with a handful of people: 27.7%27.7%retention_by_platform_arm · web_checklist · retained_7d_rate1Saved resultresults/retention_by_platform_arm.json, row web_checklist, column retained_7d_rate (a share, shown as a percentage)hash 9315…28ec2Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93463Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_platform_arm.web_checklist.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply. against 29.0%29.0%retention_by_platform_arm · web_control · retained_7d_rate1Saved resultresults/retention_by_platform_arm.json, row web_control, column retained_7d_rate (a share, shown as a percentage)hash 9315…28ec2Query that produced itqueries/retention_by_platform_arm.sql (duckdb), run 2026-09-15 against the retained copy of the datasql 02b2…93463Data it ran oninputs/users.csv, inputs/events.csv, captured 2026-07-20hashed4Definition it usesretained_7d version 2, recorded as approved; approval recorded by dana-okafor on 2026-05-28recorded, not verified hereWritten in memo.md as {{ref:retention_by_platform_arm.web_control.retained_7d_rate}}. If any step changes, the recorded reviews no longer apply..
- Who is counted
- The same users, split by whether they signed up on the iPhone or Android app (mobile) or in a browser (web).
- Compared with
- Checklist versus old onboarding, inside each platform group. This split was not planned before the experiment; it is a follow-up look. (a follow-up look, not planned before the analysis)
- When
- 2026-06-01 to 2026-07-12 (America/New_York)
Who was left out, and the limits of this claim
- Nothing was left out.
- This split was decided after seeing the overall result, so it is a lead to test, not a settled fact.
- The web groups are small, so the web number moves a lot with a handful of users.
How this was calculated
ref:retention_by_platform_arm.mobile_checklist.retained_7d_rate= 37.0%ref:retention_by_platform_arm.mobile_control.retained_7d_rate= 28.3%ref:retention_by_platform_arm.web_checklist.retained_7d_rate= 27.7%ref:retention_by_platform_arm.web_control.retained_7d_rate= 29.0%derived:mobile_lift= 8.7 ppderived:web_lift= -1.3 pp- Definition
retained_7dversion 2 (metric, recorded as approved) mobile_liftis the difference of afterref:retention_by_platform_arm.mobile_checklist.retained_7d_rateagainst baselineref:retention_by_platform_arm.mobile_control.retained_7d_rateweb_liftis the difference of afterref:retention_by_platform_arm.web_checklist.retained_7d_rateagainst baselineref:retention_by_platform_arm.web_control.retained_7d_rate
Question or flag this claim (reference: fnd_7k2m9q4w1xzb r1 c2)
How we checked
These are separate facts. Passing checks mean the arithmetic and the references hold; they do not by themselves make the conclusion right.
- ✓Checks passed No user is counted twice. · The two groups are about the same size, as random assignment should produce. · The count of users who came back matches the approved retained_7d definition computed a second way. · The checklist arm is at least 3 percentage points ahead with at least 500 users in each arm.
- !Definition retained_7d, version 2, recorded as approved (approval recorded by dana-okafor on 2026-05-28; a recorded lifecycle is not a verified approval).
- ✓Method review Recorded 2026-09-15 by fixture: hand review by the exemplar author (CrimsonLotus, claude-fable-5-1).
- ×Publication approval None verified. This is a draft.
- ✓Data Retained inputs are kept: artifact replay and analysis rerun are possible.
- –Covers Signups from June 1 to July 12, 2026, and their app opens through July 19. Nothing after July 19 is included.
- No user is counted twice (Check unique_users).
- The two groups are about the same size, as random assignment should produce (Check arm_balance).
- The count of people who came back matches the approved definition of "came back within a week" computed a second way (Check retained_7d_reconcile).
- Definition used: retained_7d v2. An approval by Dana dated the twenty-eighth of May is recorded in the team's records; this draft has not verified it.
- Data: a retained copy of the users and app-open events for the experiment window. Anyone can replay these numbers from the saved results and rerun the queries against the retained copy.
- Method review: recorded by the exemplar author. No human has approved this Finding for publication; it is a draft.
What would change our mind
If the checklist group were not at least 3 pp3 pptarget · not a measurement1TargetExperiment plan for the onboarding checklist: the checklist is worth its maintenance cost if it lifts 7-day retention by at least 3 percentage points.declared2Where it is written downdocument docs/experiments/onboarding-checklist-plan.md, dated 2026-05-29, owner Dana OkaforWritten in memo.md as {{ext:keep_threshold}}. If any step changes, the recorded reviews no longer apply. ahead of the other group, with at least five hundred people in each group, the checklist did not help enough to keep (Check falsifier_lift, expected to pass).
On a re-check, the main claim is re-tested on the same six weeks of signups with the same definition; it holds if the gap is still at least 3 pp3 pptarget · not a measurement1TargetExperiment plan for the onboarding checklist: the checklist is worth its maintenance cost if it lifts 7-day retention by at least 3 percentage points.declared2Where it is written downdocument docs/experiments/onboarding-checklist-plan.md, dated 2026-05-29, owner Dana OkaforWritten in memo.md as {{ext:keep_threshold}}. If any step changes, the recorded reviews no longer apply.. It cannot be re-tested if the definition changes or if there is no longer a group without the checklist. The phone-versus-web claim is a judgement for the next experiment, not a number to re-test; Dana decides.
Question or flag this Finding
If the button does nothing on this device, write to dana@loop.example and quote fnd_7k2m9q4w1xzb r1. Your message carries only these ids, never the numbers.
Appendix
- Queries: retention_by_arm (primary comparison), retention_by_week_arm (stability by signup week), retention_by_platform_arm (exploratory split), under queries/.
- Results: retention_by_arm, retention_by_week_arm, retention_by_platform_arm, under results/.
- Retained inputs: inputs/users.csv, inputs/events.csv, hashes in the manifest.
- Parameters: analytical timezone America/New_York; window first of June to twelfth of July.