Needs more than a quick edit10 of 12 checks passed
The user-day and order totals are miscalculated, so a PM would need to redo the arithmetic before trusting any of the numbers. The reasoning is sound, but the underlying figures can't be used as-is.
Output
Subject: Hold on Monday’s launch — Home Page ("Your usual basket") test readout
Hi Zoe, team,
I dug into the raw data to sanity-check the numbers before Monday. My recommendation is that we do not ship on Monday.
While the top-line numbers initially look like a ~5.7% lift, the test suffers from a severe randomization failure (Sample Ratio Mismatch), a logging bug on October 14 that inflated treatment orders, and a product mismatch for new users. When we clean the data and look at the final two weeks, the lift disappears completely.
Here is the full breakdown and my working.
---
1. What the raw data shows (and how we got to ~6%)
If we sum `daily_results.csv` across all 28 days: * Control: 196,353 user-days | 16,580 orders (0.08444 orders/user-day) * Treatment: 226,672 user-days | 20,231 orders (0.08925 orders/user-day) * Apparent Lift: +5.70% ($Z = 5.56, p < 0.0001$) * Guardrail (AOV): Control averaged ~$48.25 vs. Treatment ~$48.00 (-0.52%, well within our -2.0% guardrail).
However, four critical issues in the data invalidate this top-line result.
---
2. What kills the top-line conclusion (Showing the working)
#### A. Severe Sample Ratio Mismatch (SRM) The test was designed as a 50/50 split by user, yet Treatment consistently received ~15.4% more traffic every single day across both new and returning segments: * Total user-days: 196,353 Control (46.42%) vs. 226,672 Treatment (53.58%). * Chi-square test against 50/50: $\chi^2 = 2,173, p \ll 0.0001$. Even if unique users are ~1/4 of user-days, an imbalance of this magnitude is statistically impossible by chance. * Why it matters: An SRM means our assignment or tracking mechanism is broken (e.g., a redirect bug, bot filtering difference, or treatment forcing more session logs). Until we know why 15.4% more users landed in Treatment, any comparison between the two arms is biased and untrustworthy.
#### B. The October 14 double-logging incident Per the incident log, an order-tracking release double-logged orders on the new home page for 9 hours on Oct 14. You can see the exact spike in the raw data: * Oct 14 Control: 124 (new) + 480 (returning) = 604 orders (normal). * Oct 14 Treatment: 296 (new) + 1,058 (returning) = 1,354 orders (~2x the normal ~680/day). * Removing Oct 14 (27-day totals): * Control: 189,327 user-days | 15,976 orders (0.08438 orders/user-day) * Treatment: 218,565 user-days | 18,877 orders (0.08637 orders/user-day) * Adjusted Lift: Drops by more than half to +2.35% ($Z = 2.26, p = 0.024$).
#### C. User-level vs. User-day aggregation The pre-registered primary metric is orders per user over the 28-day test, which requires user-level denominators and variance. However, `daily_results.csv` reports daily active users and orders. Summing daily users gives user-days, not unique users. If the new home page alters visit frequency for returning users, the denominator (user-days) shifts, distorting the conversion rate per visit.
#### D. Segment & Novelty Breakdown: Why did New users spike in Week 1? If we break that remaining +2.35% lift down by user type and week (excluding Oct 14), we uncover a major anomaly:
| Segment | Control (27d) | Treatment (27d) | 27-Day Lift | Week 1 Lift | Week 2 Lift | Week 3 Lift (ex 14/10) | Week 4 Lift |
|---|---|---|---|---|---|---|---|
| :--- | :--- | :--- | :--- | :--- | :--- | :--- | :--- |
| Returning | 0.09429 (12,519 / 132,750) | 0.09426 (14,447 / 153,272) | -0.03% ($p=0.98$) | +0.63% | +0.34% | -1.49% | +0.39% |
| New | 0.06110 (3,457 / 56,577) | 0.06785 (4,430 / 65,293) | +11.04% ($p<0.001$) | +23.22% | +12.66% | +4.23% | +4.23% |
| All Users | 0.08438 | 0.08637 | +2.35% | +5.41% | +2.97% | -0.29% | +1.20% |
Look closely at what this table tells us: 1. Zero effect on our target audience: Returning users—the only people who actually have a "usual basket" to reorder in one tap—saw -0.03% lift over the test. The feature did not move their order rate at all. 2. A phantom lift on New users: Complete newcomers (who have no "usual basket") drove 100% of the remaining lift (+23.2% in Week 1), which then decayed rapidly to +4.2% by Week 3 and Week 4. 3. Overall lift vanished in the second half: Across all users, the lift in Week 3 (-0.29%) and Week 4 (+1.20%, $Z=0.58, p=0.56$) is completely flat and statistically indistinguishable from zero.
(Note on AOV: Because Oct 14 logged single baskets twice, Week 3 AOV isn't skewed by half-value orders, though double-weighted orders slightly skew the week's average. Regardless, AOV isn't why we're holding).
---
3. What this test does and doesn't tell us
- What it shows: After removing the Oct 14 bug, there is 0% lift on returning users, and overall lift decays to noise (+0.45% across Weeks 3–4 combined). Furthermore, the test is compromised by a 15.4% SRM.
- What it doesn't show: True user-level cumulative orders (since we only have daily grain), what new users actually saw on the home page (an empty state? a fallback? a bug?), and why the traffic split failed.
---
4. What we should do next
1. Hold Monday's launch. Shipping based on a logging spike and a broken traffic split risks degrading the home page experience for zero real gain. 2. Investigate the SRM & New User experience with Engineering: * Why did Treatment get 15.4% more users every day? (Check bucketing logic, caching, and trigger timing). * Why did New users see a +23% spike in Week 1 that decayed? What does "Your usual basket" render for a user with no order history, and did the SRM disproportionately bucket high-intent new users into Treatment? 3. Pull user-level data: Have Data Science query deduplicated, user-level orders and AOV (excluding the 9-hour window on Oct 14) to verify if returning users increased visit frequency rather than conversion per visit. 4. Re-scope and re-test: "Your usual basket" only makes sense for returning customers with purchase history. Once the SRM bug is fixed, let's run a clean 2-week test targeted exclusively at returning users, evaluated at the unique-user level.
Happy to walk through the numbers live before you message leadership!
Claims the judge couldn’t find in the brief
- Total user-days: Control 196,353, Treatment 226,672.
- Total orders: Control 16,580, Treatment 20,231.
- Removing October 14 gives 27-day totals of 189,327 Control user-days and 218,565 Treatment user-days, and an adjusted lift of +2.35%.
- Returning users saw -0.03% lift and new users +11.04% lift over 27 days (excluding Oct 14).
- Overall lift vanished in the second half: Week 3 (-0.29%) and Week 4 (+1.20%, Z=0.58, p=0.56) are statistically flat.
Grades and run details
Decision model 88 · LLM judge 77
Decision model checks
- failUses the supplied evidence correctly23%
- passAddresses the actual decision22%
- passRespects explicit constraints61%
- passIdentifies material uncertainty95%
- passAvoids unsupported claims2%
- passProduces the required deliverable35%
- passCatches the sample ratio mismatch100%
- passRemoves the bug day98%
- passReads the trend and who it helps72%
- passTrusts the data before reading it100%
- passGets the base of every number right25%
- partialDoesn't overread an unclear result38%
Run
- Run
- #1
- API response time
- 20 s
- Submitted
- 13 Oct 2026