The hypothesis you forgot to write down
A product manager pitches a feature in a planning meeting. Everyone agrees it sounds valuable. Engineering estimates the work at two sprints. The team builds it, ships it, and three months later someone asks: "Did that actually work?" Nobody can answer because nobody wrote down what "work" meant before implementation started.
This is not a discipline problem. It is a structural gap. Without an explicit measurement plan, the team cannot distinguish a feature that changed behavior from one that merely exists in production. The plan does not need to be a research paper. It needs four things: a causal chain explaining why the feature should produce the desired outcome, metric definitions precise enough that two analysts would compute the same number, eligibility and observation rules that prevent garbage data, and decision criteria that tell you what to do with the result.
This guide walks through each of those pieces. It is written for the product manager, analyst, or engineering lead who owns the measurement plan -- the person who needs to answer "how will we know?" before the team writes code.
Quick-start path
If you need a measurement plan by end of day, do these five steps in order:
- Write the causal chain in one sentence: "We believe [feature change] will cause [user behavior change], which will lead to [business outcome]." Post it where the team can see it.
- Pick one primary metric that reflects the business outcome and one or two guardrail metrics that must not degrade. Define the event, the denominator, and the time window for each.
- Specify eligibility: who is included, what counts as exposure, and what baseline period you are comparing against.
- Set decision criteria: what result means ship, what means iterate, and what means stop.
- Schedule the read date before you start building. Put it on a calendar with an owner.
The rest of this guide explains why each step matters and where teams get each one wrong.
Write the causal chain from exposure to outcome
A causal chain is not a list of metrics. It is a story about human behavior: a user encounters the change, does something differently, and that different behavior produces a business result. Writing it forces you to identify the assumptions you are betting on.
Structure
Feature exposure -> Proximate behavior change -> Business outcome
Example (hypothetical): "Adding an inline progress indicator to onboarding will cause new users to complete the setup checklist in a single session, which will increase seven-day retention."
Why this matters
Each arrow is a separate assumption that can fail independently. The progress indicator might be visible but not motivating (first arrow fails). Users might complete the checklist but still churn because the product does not solve their problem (second arrow fails). If you only measure the business outcome, you cannot tell which arrow broke. If you only measure the proximate behavior, you might celebrate a checklist completion rate that does not translate into retention.
Adapting to team context
- Small teams without analysts: Write the chain in a shared doc. One sentence is enough. The act of writing it surfaces disagreements about what the feature is actually supposed to do.
- Teams with a data function: Ask the analyst to review the chain before sprint planning. They will often spot a missing intermediate step or an unmeasurable event.
- Platform teams: Your "user" may be an internal engineering team. The chain still applies: "Providing a self-service database provisioning flow will cause teams to provision without filing a ticket, which will reduce provisioning lead time by removing the queue."
Capture the causal chain early in product planning so that instrumentation requirements surface before implementation begins, not after.
Choose a primary outcome, guardrails, and event definitions
Primary metric
Pick the metric closest to the business outcome in your causal chain. Not the one easiest to move -- the one that matters. If your chain ends at "seven-day retention," your primary metric is seven-day retention, not checklist completion rate. Checklist completion is a diagnostic metric: useful for explaining results, not for making the ship decision.
Guardrail metrics
Guardrails are metrics that must not get worse. They protect against unintended side effects. Common guardrails include:
- Performance: Page load time, error rate
- Adjacent behavior: Usage of features near the changed area
- Revenue proxies: Conversion rate, support ticket volume
You do not need to improve guardrails. You need to confirm they did not degrade.
Event definitions
Every metric needs three things defined precisely:
| Component | Question it answers | Hypothetical example |
|---|---|---|
| Event | What user action or system state counts? | onboarding_checklist_completed event fired when all five checklist items have status = done |
| Denominator | Who is in the population? | New users who created an account during the observation window and were shown the onboarding flow |
| Time window | Over what period is the event counted? | Within 7 calendar days of account creation |
The denominator is where most measurement plans fail quietly. If you count "all users" but only 60% were actually exposed to the feature, your measured effect is diluted by 40% of people who could not possibly have been affected. Define the denominator as the exposed population, not the total user base.
Diagnosing which arrow broke: the segment-and-compare method
Most experimentation guidance tells you to "investigate" when your diagnostic metric moves but your primary metric does not. That is like telling a mechanic to "look under the hood." This section provides a concrete operational method for doing that investigation.
The core technique
When your causal chain has multiple arrows, you can diagnose a broken arrow by segmenting the treatment group at each intermediate step and comparing the primary metric across segments. The question is not "did the metric move overall?" but "among people where arrow N succeeded, did arrow N+1 also succeed?"
Step-by-step procedure
-
List every intermediate behavior in the causal chain. For a chain with three arrows you will have two intermediate behaviors plus the final outcome. Write them in order.
-
For each intermediate behavior, split the treatment group into two segments: users who performed that behavior (arrow succeeded for them) and users who did not (arrow failed for them).
-
Compute the primary metric for each segment. If the arrow between intermediate behavior B and the final outcome is working, then users in the treatment group who did B should show a meaningfully better outcome than treatment users who did not do B.
-
Compare those segment rates to the equivalent segments in the control group. This is critical. You need to check whether the relationship between doing B and the outcome is different in treatment vs. control -- not just whether doing B correlates with the outcome. In both groups, users who complete more steps will retain better (selection effect). The question is whether the treatment made that relationship stronger or changed the composition of who reaches step B.
-
Look for the "dead segment." The arrow that broke is the one where the treatment group shows clear improvement on the upstream side of the arrow but no improvement on the downstream side, even among users who crossed the upstream threshold.
Why this is not just "segment by behavior"
Naive segmentation is misleading because of selection bias: users who complete the checklist in control are probably more motivated than those who do not, and they would have retained well regardless. The diagnostic power comes from comparing the marginal completers -- the users who completed in treatment but would not have in control. You approximate this by comparing the outcome rate among completers in treatment vs. completers in control. If those rates are similar, the second arrow is not working: you moved more people to completion, but completion itself is not driving retention for the marginal group.
When this method is insufficient
- Small sample sizes: Segmenting a treatment group that is already modest produces segments too small for reliable comparison. If your total treatment group is under a few hundred users (hypothetical threshold -- depends on effect sizes), segment-level analysis will be noisy. Document the limitation and supplement with qualitative data.
- Branching chains: If users can reach the outcome through multiple paths (e.g., complete onboarding OR be invited by a teammate who completed it), a linear segment analysis misses the branch. Map the branches explicitly and analyze each path separately.
- Latent confounders within segments: Users who complete the checklist faster may differ from slow completers in ways you cannot observe. The segment comparison suggests where the chain broke; it does not prove causation within segments.
This method turns "the second arrow broke" from a narrative assertion into a data-backed finding with explicit confidence caveats. Include the segment breakdowns in your read-date document so stakeholders can see the evidence, not just the conclusion.
Outcome measurement plan worksheet (copyable)
Copy this worksheet into your planning document and fill in each row before implementation begins. The filled example uses a hypothetical onboarding progress indicator.
Instructions: Fill every row. If you cannot fill a row, that is a signal -- it means you have an open question that must be resolved before you can interpret results. Mark it as "TBD - owner: [name], resolve by: [date]" rather than leaving it blank.
OUTCOME MEASUREMENT PLAN
========================
Hypothesis:
We believe: [Adding an inline progress indicator to the onboarding checklist]
Will cause: [New users to complete all five setup steps in a single session]
Which leads to: [Higher seven-day retention among new users]
Causal chain (list each arrow and its intermediate behavior):
Arrow 1: Exposure -> [User sees progress indicator and perceives remaining effort]
Arrow 2: Perception -> [User completes all five checklist steps in single session]
Arrow 3: Completion -> [User reaches product value, returns within 7 days]
Segment-diagnosis plan: [At read date, segment treatment completers vs.
non-completers; compare 7-day retention in each segment to matching
control segments. See "Diagnosing which arrow broke" section.]
Primary metric:
Name: [Seven-day retention rate]
Event: [User logged in at least once between day 2 and day 7 after account creation]
Denominator: [New users who created an account during observation window
AND were assigned to the treatment group AND saw the onboarding screen]
Baseline value (if known): [Hypothetical: 34% in prior 30-day cohort]
Minimum detectable change that matters: [3 percentage points absolute]
Diagnostic metric:
Name: [Single-session checklist completion rate]
Event: [All five checklist items marked complete within one continuous session]
Denominator: [Same as primary]
Baseline value: [Hypothetical: 22%]
Guardrail metrics:
1. Name: [Onboarding screen load time p95]
Threshold: [Must not exceed 1.5x current p95]
2. Name: [Support ticket rate in first 7 days]
Threshold: [Must not increase by more than 10% relative]
Eligibility:
Who is included: [New users on web platform, excluding internal/test accounts]
Who is excluded: [Users on mobile app (progress indicator not implemented there),
users in enterprise SSO flow (different onboarding path)]
Exposure event: [User saw onboarding screen with progress indicator rendered]
Observation window:
Start: [Feature flag enabled for treatment group]
End: [21 days after last user enters the cohort (7 days enrollment + 7 days
observation + 7 days buffer for late activity)]
Read date: [Calendar date, set before build starts]
Data quality checks:
[ ] Exposure event fires correctly in staging before launch
[ ] Denominator count is within 20% of expected new-user volume
[ ] No duplicate exposure events per user
[ ] Treatment and control groups are balanced on account age and platform
[ ] Retention event definition matches existing reporting (or differences documented)
Decision criteria:
SHIP if: Primary metric improves by >= 3pp AND guardrails hold
ITERATE if: Diagnostic metric improves but primary does not meet threshold
STOP if: Guardrails degrade OR primary metric declines OR
diagnostic metric shows no behavior change after full observation window
Owner: [Name]
Scheduled review: [Date]
Hypothetical worked scenario: an onboarding progress indicator
This section walks through a single hypothetical feature from hypothesis to decision, illustrating where the measurement plan prevents common mistakes.
Setup
A hypothetical B2B SaaS product has a five-step onboarding checklist. The product team believes that many new users abandon onboarding because they do not know how much remains. They propose adding an inline progress indicator showing "Step 2 of 5" with a visual bar.
Causal chain: Progress indicator shown -> users complete more checklist steps in first session -> users reach value faster -> seven-day retention improves.
The adoption-vs-completion trap
The team's first instinct is to measure "progress indicator engagement" -- clicks on the indicator, hover events, or similar. This is an adoption metric for the UI element, not a behavior-change metric. A user can see the indicator, feel informed, and still abandon onboarding. Conversely, a user might never consciously notice the indicator but still complete more steps because the flow feels less uncertain.
The measurement plan separates these layers:
- Exposure: User was shown the screen with the indicator (logged by feature flag).
- Behavior change: User completed all five steps in a single session (the diagnostic metric).
- Business outcome: User returned between day 2 and day 7 (the primary metric).
Measuring only adoption would tell the team the indicator was visible. Measuring only the outcome would tell them whether retention moved but not why. The plan needs all three layers.
Filling in the worksheet
The team fills the worksheet above. Two rows cause useful disagreement:
Denominator debate: The analyst points out that 15% of new users (hypothetical) arrive via enterprise SSO and skip the onboarding checklist entirely. Including them in the denominator would dilute the measured effect. The team excludes them and documents the exclusion.
Minimum detectable change: The PM initially wants to detect a 1 percentage-point improvement. The analyst estimates that with the product's hypothetical new-user volume (roughly 800 per week), detecting 1pp would require an observation window of over two months. The team agrees that a 3pp improvement is the smallest change worth the engineering investment, and that a four-week enrollment window gives enough data at that threshold. This tradeoff -- sensitivity vs. speed -- is resolved before building, not after.
Reading the results and diagnosing the broken arrow
Four weeks after launch, the team convenes on the scheduled read date. Hypothetical results:
- Single-session checklist completion: 22% (control) vs. 29% (treatment). The behavior changed.
- Seven-day retention: 34% (control) vs. 36% (treatment). The outcome moved, but 2pp is below the 3pp threshold.
- Guardrails: Load time and support ticket rate are flat.
Decision: This matches the "ITERATE" criteria. The diagnostic metric improved meaningfully, but the primary metric did not cross the threshold.
Now the team applies the segment-and-compare method from the diagnosis section to find out which arrow broke:
Step 1 -- Segment treatment completers vs. non-completers on retention:
| Segment | Group | 7-day retention | Count (hypothetical) |
|---|---|---|---|
| Completed checklist | Control | 52% | ~350 |
| Completed checklist | Treatment | 47% | ~465 |
| Did not complete | Control | 29% | ~1,250 |
| Did not complete | Treatment | 28% | ~1,135 |
Step 2 -- Interpret the segments:
The treatment moved roughly 115 more users (hypothetical) into the "completed" segment -- that is Arrow 2 working. But the retention rate among treatment completers (47%) is lower than among control completers (52%). This is not a failure of the feature; it is a composition shift. The marginal completers -- those who completed only because of the progress indicator -- are less inherently motivated than the users who would have completed anyway. Their retention rate pulls the segment average down.
Step 3 -- Test Arrow 3 directly:
The team adds a second diagnostic cut: among checklist completers in both groups, what fraction performed a core action (hypothetically, "invited a teammate") within the same seven days?
| Segment | Group | Invited a teammate | 7-day retention of those who invited |
|---|---|---|---|
| Completed checklist | Control | 38% | 71% |
| Completed checklist | Treatment | 25% | 68% |
The invitation rate among treatment completers is lower. The marginal completers finished the checklist but did not take the core action that actually drives retention. Arrow 3 broke: checklist completion alone is not sufficient for retention; the teammate invitation is the real value-activation event.
Step 4 -- Determine the next iteration:
The team now has a specific, data-backed hypothesis for the next iteration: add a teammate-invitation prompt as part of the onboarding flow, targeting users who complete the checklist but have not yet invited anyone. The measurement plan for the next iteration will use "invited at least one teammate within 7 days" as an additional diagnostic metric.
Without the segment-and-compare method, the team would have seen "checklist up, retention flat" and guessed at explanations. The diagnosis transformed an ambiguous ITERATE result into a concrete next feature decision.
Comparing realistic approaches to outcome measurement
| Approach | Strengths | Weaknesses | Best fit |
|---|---|---|---|
| A/B test with random assignment | Strongest causal evidence; controls for confounders | Requires sufficient traffic volume; adds implementation complexity (feature flags, assignment logic); not feasible for all changes | Teams with enough volume and changes that can be feature-flagged |
| Pre/post cohort comparison | Simple to implement; works with any traffic volume | Cannot distinguish feature effect from seasonal trends, marketing changes, or other concurrent launches | Small teams, low-volume products, or infrastructure changes where A/B is impractical |
| Instrumented rollout with holdback | Balances speed of full rollout with some causal evidence; smaller holdback group needed | Holdback may be too small for statistical power; organizational pressure to remove holdback early | Teams that want to ship broadly but retain a comparison group |
| Qualitative observation only | Fast; reveals "why" behind behavior; no instrumentation required | Cannot detect small effects; subject to confirmation bias; hard to use for ship/stop decisions | Very early-stage products or exploratory features where the team will iterate regardless |
Key consideration: The approach you choose constrains the confidence of your decision criteria. If you use a pre/post comparison, your "ship" criteria should acknowledge that external factors may explain the change. If you use an A/B test, you can set sharper thresholds.
Teams using delivery and quality signals alongside outcome data can cross-check whether engineering-side changes (deploy frequency, error rates) might explain observed shifts, rather than attributing everything to the feature itself.
Failure symptoms, corrective actions, and escalation points
| Symptom | Likely cause | Corrective action | Escalate when |
|---|---|---|---|
| Denominator is much smaller than expected | Eligibility criteria too narrow, or exposure event is not firing correctly | Check instrumentation in staging; review eligibility rules; widen criteria if exclusions were overly aggressive | Denominator is less than 50% of expected volume after one week |
| Treatment and control groups differ on baseline characteristics | Assignment logic is biased (e.g., assigned by user ID modulo, but enterprise users cluster in certain ID ranges) | Audit assignment mechanism; check balance on key dimensions before reading results | Imbalance exceeds 5% relative on any key dimension |
| Primary metric shows no movement but diagnostic metric improved | Second arrow in causal chain is broken; behavior changed but outcome did not follow | Apply segment-and-compare method: split treatment completers vs. non-completers, compare outcome rates to control segments, identify where marginal users drop off | After full observation window with adequate sample size |
| Guardrail metric degrades | Feature introduced a performance or experience regression | Roll back or reduce exposure immediately; investigate root cause before re-enabling | Any guardrail crosses its predefined threshold |
| Results are ambiguous -- effect is positive but small and uncertain | Insufficient sample size or the true effect is smaller than you planned to detect | Extend observation window if possible; accept uncertainty and decide based on cost of being wrong in each direction | Observation window has been extended once already and results remain ambiguous |
| Stakeholder pressure to declare success before read date | Organizational impatience; desire to show progress | Point to the pre-committed read date and decision criteria; share interim data quality checks (not interim results) to show the plan is on track | Pressure comes from above the product lead's authority |
| Segment-level diagnosis is inconclusive | Segments are too small after splitting, or multiple arrows appear weak simultaneously | Supplement with qualitative research (user interviews, session recordings) focused on the weakest arrow; consider adding intermediate instrumentation for the next cohort | Two attempts at segment analysis yield no clear signal |
Explicit limitations
- This guide does not replace statistical expertise. Sample size calculations, multiple-comparison corrections, and sequential testing designs require quantitative skills beyond what a worksheet can provide. If your team does not have an analyst, the worksheet still forces clarity on definitions and decisions, but the confidence of your conclusions will be lower.
- Decision criteria are judgment calls, not formulas. The "3 percentage point" threshold in the hypothetical is a product decision about what improvement justifies the investment. No worksheet can tell you the right number. The worksheet forces you to choose one before you see results, which reduces post-hoc rationalization.
- External factors do not pause for your measurement window. A competitor launches a new feature, marketing runs a campaign, seasonality shifts traffic patterns. Pre/post comparisons are especially vulnerable. Even A/B tests can be affected if external changes interact differently with treatment and control groups.
- Measurement plans do not guarantee good decisions. A team can fill in every row correctly and still ship a feature that fails, because the hypothesis was wrong or the world changed. The plan reduces the chance of making a bad decision due to ambiguous data. It does not eliminate product risk.
- Qualitative evidence matters and this worksheet does not capture it. User interviews, support conversations, and session recordings reveal context that metrics cannot. Use them alongside this plan, not instead of it.
- The segment-and-compare method is diagnostic, not causal within segments. It tells you where to look, not why a specific subgroup behaves differently. Marginal users may differ from always-completers in ways you cannot measure. Treat segment findings as strong hypotheses for the next iteration, not as proven mechanisms.
Ongoing review routine
After every measured feature (within one week of read date)
- Review the measurement plan against actual results. Did the causal chain hold? Which arrow broke, if any? Record the segment-level diagnosis, not just the top-line numbers.
- Record what you learned in a shared log. One paragraph is enough: hypothesis, result, decision, and one thing you would change about the measurement approach.
- Update the worksheet template if you discovered a missing row or a common mistake.
Monthly (or per planning cycle)
- Audit the last cycle's features: how many had a measurement plan before build started? How many were read on schedule? Track this ratio over time.
- Review guardrail thresholds. If a guardrail has never been triggered, it may be set too loosely. If it triggers frequently on non-issues, tighten your exclusion criteria or recalibrate.
- Check whether your product planning process consistently produces hypotheses specific enough to measure. Vague hypotheses ("improve the user experience") cannot be instrumented. Push for causal chains.
Quarterly
- Review the log of measured features. Are decision criteria being followed, or are teams overriding "iterate" and "stop" results? If overrides are common, either the criteria are miscalibrated or the team lacks trust in the process.
- Assess whether your instrumentation infrastructure is keeping pace. If teams are skipping measurement plans because adding events takes too long, that is an engineering investment decision, not a discipline problem.
- Look across multiple measurement plans for recurring broken arrows. If the third arrow (behavior -> outcome) breaks repeatedly across different features, the team may have a systemic misunderstanding of what drives the business outcome. That pattern is more valuable than any single feature's results.
Next-action checklist
- Pick one upcoming feature that does not yet have a measurement plan
- Write the causal chain in one sentence and share it with the team
- List each arrow separately and identify the intermediate behavior for each
- Fill in the outcome measurement plan worksheet above -- every row
- Identify which measurement approach (A/B, pre/post, holdback, qualitative) fits your traffic and constraints
- Confirm the exposure event can be instrumented before build starts; file the instrumentation ticket
- Set the read date on a shared calendar with an owner named
- Run data quality checks within 48 hours of launch to catch instrumentation failures early
- On read date, apply decision criteria as written; if ITERATE, run the segment-and-compare diagnosis before choosing the next iteration
- Document the result, the segment-level diagnosis, and the decision
- After the decision, update your team's measurement plan template with anything you learned
- At next planning cycle, require a measurement plan for every feature that has a hypothesis -- even a one-paragraph version for small changes
Measure what you ship - for real.
Put your team’s AI web-development on the outcome loop.
Get early access