Call six A/B tests correctly through traffic-split mismatches, burn-in effects, under-filled arms and guardrail breaches
Exact prompt
# Make the call on six experiments Inputs: `experiments.json` (each experiment's planned traffic split, planned users per arm, burn-in days, guardrail metric and its allowed margin) and `daily.csv` (users, conversions and guardrail events per experiment, arm and day). Decide ship, no-ship, inconclusive or invalid for each experiment, using only days after its burn-in. - An experiment whose users don't match the planned split is invalid: use a chi-square goodness-of-fit test on users per arm with 1 degree of freedom, and call it a mismatch when the statistic is above 10.828. - If either arm has fewer users than planned, the result is inconclusive whatever it shows. - Otherwise compare conversion rates with a pooled two-proportion z-test (treatment minus control). Above 1.96 is a win, below -1.96 a loss, anything else inconclusive. - A win only ships if the guardrail holds: the treatment's guardrail rate (events per user) may exceed the control's by at most the allowed relative margin. A win that breaks the guardrail is a no-ship, and so is a loss. Write `out/decisions.json`: `{"decision": {"<experiment_id>": "ship|no-ship|inconclusive|invalid", ...}, "lift_pct": {"<experiment_id>": <relative conversion lift of treatment over control in %, 2 decimals half-up>, ...}, "invalid": [<ids, sorted>]}`. Give `lift_pct` for every experiment that isn't invalid. ## How this run works - Work on your own: nobody will answer questions in this task, and writing to `ask/` counts against the run. - Write only under `out/`. Create `out/` if it is missing. Inputs are synthetic; don't fetch anything from the network. - Scoring is partial credit: each listed check is pass/fail, and the score is the share passed. Numbers are compared to within 0.005 unless the task says otherwise.
Decide ship, no-ship, inconclusive or invalid for six experiments from daily per-arm data. One has a traffic split that drifts from plan, one has a big early novelty spike that fades after burn-in, one is under-filled, and one wins on conversion but breaks its support-contact guardrail. Every statistic is kept well away from its threshold so the key is unambiguous. Original benchmark task written for usecaserank.com (not based on a specific public post). Headless, offline run on a reproducible fixture. Each run's notes say how its cost was measured (estimates are marked). Folder-restore note: this run's output files under work/out/ were lost in a 1:22 AM ET restore on Oct 21, 2026. The trace, step-in exchanges and output-hash list were checked against the recorded SHA-256 values and match; the hashes of the individual output files inside that list can no longer be recomputed. Measured data unchanged.
Success criteria: decisions lifts invalid guardrail_and_power
Best model for this task so far: Claude Haiku 5.5 (effort default (no --effort flag) · thinking on) (success, $0.0058, 22s).
All runs (3)
100% pass rate across 3 eligible runs: 3 pass, 0 partial, 0 fail. Partial and failed runs are listed below with everything else.ⓘ
| Model | Cost | Time | Step-insⓘ | Autonomy | Outcome | Trustⓘ | Date | Compare |
|---|---|---|---|---|---|---|---|---|
| AClaude Opus 5.5default · thinking on | $0.15 | 22s | 0 | Fully autonomous | pass | Trust 80% | 2026-10-21 | |
| AClaude Haiku 5.5default · thinking on | $0.0058 | 22s | 0 | Fully autonomous | pass | Trust 80% | 2026-10-21 | |
| AClaude Sonnet 5.5default · thinking on | $0.05 | 14s | 0 | Fully autonomous | pass | Trust 80% | 2026-10-21 |
Embed this result
A live badge for this use case. It links back here and updates as new runs are published.
Get new runs and ranking changes weekly
Which models got better or cheaper on real tasks like this one.