Articles
    8 min readBy Runa AshkovellUpdated

    Measuring Delayed Retention Effects in Onboarding Experiments

    An onboarding change can lift activation in week one and still cost you users a month later. The early push wears off. The habit either forms or it does not. To see that, you have to measure retention over a period long enough for the habit to show after the novelty is gone.

    A first-week lift can conceal later loss

    Here is the basic method. Split eligible users into groups at random. Decide in advance which return action counts as a real return. Then compare the groups over the whole decision period. Finishing setup, reaching first value and returning in week one are useful clues. On their own, they say little about a long-term win.

    A change can remove friction and lift activation while weakening habits, setting the wrong expectations or storing up support problems for later. The opposite also happens. A longer setup can lower early completion but produce users who understand the product and come back more reliably. Your evidence must show who was assigned, who saw the change, who came back and how each group did over time. Before you ship on an early result, ask: does the difference last, flip, or appear only once users have had time to form a habit?

    A retention curve is a behavioral claim

    Retention needs an action and a clock. The action should show that the user got real value, which a convenient log entry rarely does. A collaboration tool might count finishing a shared task. A finance app might count checking the account after the first deposit. App opens, email views and passive page views are usually too weak.

    For retention on an exact day, with a fixed definition of when a day starts and ends:

    N-day Retention = users who perform the critical event on day N / users eligible at cohort entry

    Use the same eligibility rules in both groups. Sometimes users are assigned at signup but see the change only after a device check. Then record both: when they were assigned and when they actually saw it. The main analysis should usually count everyone as assigned, whether or not they saw the change (analysts call this intent-to-treat), because that keeps the random split intact. Looking only at users who finished onboarding can spoil the comparison, because the change itself affects who finishes.

    Start the clock at a clear point in the user's life, usually assignment or first exposure. Weekly calendar reports can give a Monday signup and a Friday signup different numbers of days before a Day 28 comparison. Cohorts line them up. Choose in advance a window long enough for the effect you expect. A daily-use product might use Day 28 or Day 56. A product people use monthly needs a window that matches how often they come back.

    Why early metrics move for the wrong reasons

    Early metrics can move because the change affects the first session, not the reason to come back. Guided onboarding can raise completion by steering users to an easy action and still give no lasting value if the product does not support their regular work. A shorter flow can pull low-intent users into activation counts whom the old flow would have filtered out.

    New prompts, content or navigation can cause a real but short burst of activity. Stop the test early and you mistake that burst for a new habit.

    The denominator is another trap. Day 14 retention among activated users, tutorial finishers or first buyers compares groups formed after the change. If the change affects who gets into those groups, the two versions are no longer comparable. Use such cuts to understand user paths, and keep them out of the main conclusion.

    Checking every day invites false wins. Look often enough and noise will eventually give a good-looking result. A team that stops on the first one has quietly raised its chance of a false positive. Before launch, write down the decision window, which early looks are just for information and what effect is too small to justify a rollout.

    Create a proof artifact before launch

    Decision rules kept in a chat thread get renegotiated the week the numbers disappoint. Put them in one short document that exists before the first user is assigned. Include:

    • The claim: what you change, why it should improve retention, the main window and the plausible downside later on.
    • Who is in the test: eligibility, what gets randomized, the traffic split, what counts as seeing the change, exclusions and dates.
    • How you measure: the return action, when the clock starts, how long without activity counts as churn, attribution and data checks.
    • Decision metrics: one main long-term outcome, early clues and guardrails such as support contacts, errors, opt-outs, refunds or the quality of later revenue.
    • How you will read it: the smallest effect worth acting on, how old cohorts must be, the analysis method, segments planned in advance and the rules for ship, iterate or stop.

    The claim should help you find the cause if results flip. "A shorter flow should improve retention" gives nobody anything to check. "Removing a mandatory setup screen should help more users reach first value, but may raise support requests later because users put off setup" names both the gain and how it could fail.

    Keep evidence, assumptions and decisions apart. Assignment logs and cohort results are evidence. Theories about user confusion are assumptions until behavior, session recordings or research back them up. A rollout decision is a judgment made under that uncertainty, and the document should say so.

    Survival curves keep unfinished cohorts honest

    One retention number on one fixed day squeezes a changing pattern into a single point. Survival analysis looks at the whole curve. First you define churn, for example not doing the key action for a set number of days that fits your product. Then you estimate the share of users who have not churned by each day t:

    S(t) = probability a user has not churned before time t

    The curve shows an early advantage that fades, a late benefit that grows or a loss that stays. It also handles users whose story is not finished yet. Someone assigned 12 days ago cannot tell you about Day 28. But their 12 days still count toward the curve up to day 12. Labeling them retained or churned at Day 28 would skew the result.

    A curve cannot fix a bad churn definition. A 24-hour absence means nothing for a product people use every few days. A 60-day limit hides real loss in a tool people use daily. Base the limit on how often people actually use the product. If usage is irregular, "came back within a set period" may work better than time until churn.

    Add clear checkpoints to the curve. Day 7 can show onboarding problems. Day 28 can drive the launch decision. Day 56 can confirm there is no decline. Report differences in percentage points and as relative change. A big relative change on a small base may be worth very little.

    A synthetic readout shows the reversal

    Consider a synthetic test with 10,000 assigned users per variant. Treatment removes a configuration screen and adds a later reminder. Day 28 meaningful retention is primary; configuration completion, support contact rate, and Day 7 retention are diagnostics.

    Metric Control Treatment Treatment difference
    Day 1 activation 42.0% 46.0% +4.0 percentage points
    Day 7 retention 26.4% 27.2% +0.8 percentage points
    Day 28 retention 15.1% 13.9% -1.2 percentage points
    Support contacts by Day 28 5.2% 6.7% +1.5 percentage points

    The early story is good, but the main result flips by Day 28. More support contacts fit the likely explanation: users who put off setup may later be unable to do their regular work. This does not prove that setup confusion caused the churn. It does remove any basis for shipping on a claim that retention improved.

    Look at what users actually did. Did treated users get the reminder? Did they try setup, hit errors or give up on their regular work? Interviews or session recordings may explain why. A new test could keep the shorter first session and offer setup at the moment users need it. Report a range (a confidence interval) or a test result for the main metric, not just the single numbers. If Day 28 cannot tell a real loss from noise, call it inconclusive. Higher activation does not turn an unclear result into a good one.

    Work out the ranges for these made-up numbers and the story gets sharper. With 10,000 users per group, the standard error (typical noise) of the Day 28 difference is the square root of 0.151 × 0.849 / 10,000 + 0.139 × 0.861 / 10,000, about 0.50 points. So the 95% range for -1.2 points runs from about -2.2 to -0.2. The loss is real, if small.

    The Day 7 gain of +0.8 points has a standard error of about 0.63, so its range runs from -0.4 to +2.0. That early "win" never rose above noise at all. Only the Day 1 activation lift is solid: +4.0 points, with a range of about 2.6 to 5.4. A team reading Day 7 off a dashboard would have shipped a change whose only proven long-term effect is negative.

    Longer windows expose operational flaws

    Longer tests run into more trouble: tracking changes, notification campaigns sent to one group only, people switching devices or plans, and partial rollouts that show both versions to the same user. In social products, one user's version can also change another user's experience, so the groups are no longer cleanly separate.

    Where you can, store for every event who was assigned, who saw the change, the app version, the event time and the test status. Users who were assigned but never got the change stay in the main analysis. They show how reliably the change is delivered.

    Large tests tempt you to slice by channel, device, tenure and past intent. Some slices show real differences between groups. Many just produce fake winners. Plan the slices in advance and link them to your hypothesis. Show the sample size for each. Treat surprising splits as ideas for the next test, and never roll out to a subgroup based on one noisy chart.

    Use two speeds. Quick metrics catch broken flows and delivery failures. Mature windows decide retention. Past cohorts can show whether early signals predict later retention in your product. But check that link for your product, and check it again after big changes.

    Treat rollout as a monitored decision

    A clean result still describes only the people who were in the test. A full rollout changes the traffic mix, the support load and how the change interacts with other releases. Keep the cohort definitions after launch. Keep watching the main metric, the guardrails and the metrics that show whether the expected mechanism works.

    All this patience has a price. Eight weeks of waiting for Day 56 is eight weeks without the activation gain, and a competitor shipping weekly will not wait. For a cheap change you can undo, waiting is often the wrong call.

    A long-term holdout keeps the evidence without that cost. Ship to 90-95% of new users and keep the rest on the old version for a quarter. Say 40,000 users sign up each month and 5% stay in the holdout. That is 2,000 control users a month. With 15% retention, one month of holdout can detect a difference of about 2.3 points at standard power. Three months can detect about 1.3 points.

    So the rule is simple. If the change is easy to undo and its likely downside is smaller than what the holdout can detect, ship with a holdout. If it is expensive to undo, such as a price change or removing a feature people rely on, wait for the full window.

    The result worth defending is the one that holds up in later cohorts, with a different traffic mix and after someone checks who was counted. If first value improves but returns weaken, the team learns where onboarding's promise breaks. That beats an early win, because it shows what to fix before growth spending makes the loss bigger.

    Why early effects mislead, and how to borrow from the long run

    Two well-known effects explain why a first-week result so often flips. The novelty effect pushes early numbers up, because people try anything new and then drift back once the shine wears off. The primacy effect does the opposite: experienced users need time to adjust to a changed flow, so early numbers dip. The cure for both is the one this piece argues for. Run the test long enough for the effect to settle, and look at new users separately from long-time users, since only newcomers meet the change with a clean slate.

    A practical tell: if the gap between groups is widest on day one and shrinks every week, suspect novelty before celebrating. If it starts flat and grows, suspect primacy before giving up.

    Waiting for a Day 56 window is expensive, so teams try to predict the long-term result from early signals. There is a rigorous way to do it. Susan Athey, Raj Chetty, Guido Imbens and Hyunseung Kang describe it as the surrogate index ("The Surrogate Index," NBER Working Paper 26463, 2019). A set of early signals can stand in for the long-term result only if the change affects the long-term result entirely through those signals. You have to check that on past cohorts. You cannot just assume it.

    When it holds, a set of Day 7 behaviors can forecast Day 56 retention. When it does not, the shortcut produces exactly the false win a full window would have caught. Treat a predicted long-term effect as a hypothesis with a stated error, never as a measured result.

    That is why the survival curve and the surrogate belong together. The curve records what mature cohorts actually did. A checked surrogate estimates what young cohorts will probably do before their window closes. Used honestly, it speeds up the read without replacing the confirmation. The ship decision still waits for cohorts old enough to prove it.

    A decision table for the readout

    Write the reading rules as a small decision table before launch, tied to the checkpoints above:

    • Day 7 up, Day 28 flat or down by more than the smallest effect that matters (as in the example): do not ship. Keep the shorter first session as a hypothesis and test a version that moves setup to the moment users need it.
    • Day 7 flat, Day 28 up: a primacy effect may be working in your favor. Confirm on the Day 56 cohort before rollout.
    • Both up, and guardrails such as support contacts hold: ship, and keep the cohort tracking running.
    • The Day 28 range includes zero: report the result as inconclusive, whatever happened to activation.

    Agreeing on these four rows takes an afternoon before launch. Arguing about them after a disappointing Day 28 costs far more.

    Share:XLinkedInTelegramWhatsAppEmail