Needs more than a quick edit6 of 13 checks passed
The spec is strong but needs a sample ratio check, explicit guardrail thresholds, and a rule for the guardrail‐decline outcome before a PM can use it without rework.
Output
Experiment Spec: Upfront Delivery Fee in Basket
To: Ravi (Eng), Ines (Analytics), Chloe (Head of Growth) From: Checkout PM Subject: Experiment Spec – Showing Delivery Fee in Basket
1. Background & Hypothesis
Last quarter, 12% of support contacts were complaints about unexpected delivery fees. Currently, our £3.99 fee (free on orders >£60) is hidden until the final checkout step.
- Hypothesis: Showing the delivery fee in the basket will build trust and reduce support contacts without hurting overall conversion, rather than scaring users away early.
2. Scope & Variants (Fixing the Draft)
Chloe suggested adding a "Free delivery over £60" banner to the variant. Recommendation: Hold this for a follow-up test. If we test the fee and the promotional banner together, we won’t know if a change in conversion came from fee transparency (friction) or the £60 threshold incentive (upsell). However, because our delivery fee is dynamic, the variant line item must accurately reflect the £60 rule so users aren't misled.
- Control: Current basket experience (no delivery fee shown until final checkout step).
- Variant: Add a single, standard-text line item to the basket summary:
- If basket < £60: “Estimated Delivery: £3.99 (Free over £60)”
- If basket ≥ £60: “Estimated Delivery: FREE”
- (Note for Chloe: If we want to test a high-visibility promotional banner/progress bar to drive AOV, let's fast-follow with that as V2).
3. Metrics (Fixing the Draft)
The draft plan used Checkout Completion Rate (Orders ÷ Checkout Starts) as the primary metric. We must change this. Moving the fee to the basket will likely cause sticker-shock drop-offs to happen in the basket rather than at the end of checkout. This will shrink the number of "Checkout Starts" and artificially inflate Checkout Completion Rate, even if total orders drop.
Because the intervention happens in the basket, our denominator must be basket viewers:
- Primary Metric: Basket-to-Order Conversion Rate (Unique customers placing an order ÷ Unique customers viewing the basket). Baseline: 8.0%.
- Secondary Metrics:
- Average Order Value (AOV): To see if the subtle text nudges baskets over £60. Baseline: £47.
- Basket-to-Checkout Start Rate & Checkout Completion Rate: To observe the shift in where drop-off occurs.
- Support Contacts (Delivery Fee): Tracked via contact form tags/UTMs where possible.
- Guardrail Metric: Net Revenue per Basket Viewer (ensuring total revenue doesn't drop even if conversion holds).
4. Randomization & Targeting (Fixing the Draft)
The draft plan splits traffic 50/50 by session. We must change this to a 50/50 split by Customer/User ID (or persistent device cookie for logged-out users). Groceries are a high-consideration purchase; 50% of our weekly traffic consists of returning users. Splitting by session means a single customer could see the fee in the morning, and not see it in the evening, causing confusion and polluting our data.
- Trigger: User lands on `/basket`.
5. Sample Size & Duration (Fixing the Draft)
The draft plan suggests checking daily and stopping when significant. We cannot do this ("peeking" skyrockets false-positive rates). We need a fixed horizon.
- Minimum Detectable Effect (MDE): Chloe set our threshold at 0.5 percentage points (an absolute shift from 8.0% to 8.5% or 7.5%).
- Sample Size Needed: At an 8% baseline, 80% power, and 95% significance (two-tailed), detecting a 0.5pp change requires ~46,200 unique users per variant (~92,400 total).
- Duration: 4 Weeks (Fixed).
- Traffic math: We get 40,000 unique basket viewers in Week 1, and ~20,000 net-new viewers each subsequent week (since 50% are repeat visitors). We will hit ~100,000 unique users across the test at the end of Week 4. Running in full weekly increments also accounts for weekend vs. weekday shopping cycles.
6. Decision Criteria
After 4 weeks, Ines will run the readout (segmented by New vs. Returning users): * Ship Variant: If Basket-to-Order CR is flat (within ±0.5pp) or significantly positive, AND AOV/Revenue guardrails do not significantly decline. * Rollback: If Basket-to-Order CR drops by ≥ 0.5pp.
Sign-offs Needed: * Chloe: Approve scope (holding the promo banner for V2) and 4-week runtime. * Ines: Confirm sample size math and user-level tracking. * Ravi: Confirm engineering effort for user-level bucketing on `/basket`.
Claims the judge couldn’t find in the brief
- Groceries are a high-consideration purchase.
Grades and run details
Decision model 81 · LLM judge 43
Decision model checks
- passUses the supplied evidence correctly1%
- partialAddresses the actual decision73%
- passRespects explicit constraints23%
- passIdentifies material uncertainty48%
- partialAvoids unsupported claims23%
- passProduces the required deliverable64%
- passTests one change at a time100%
- passFixes the duration up front98%
- partialAn unambiguous primary metric72%
- passDecision rule written before the test33%
- passSized from the real traffic58%
- partialGuardrails with thresholds88%
- partialSays why a test is worth it here95%
Run
- Run
- #1
- API response time
- 13 s
- Submitted
- 13 Oct 2026