Reading a before/after site change with no A/B split (the homepage label test)

Use this when: you changed one thing on a page (a label, a button, a position) for every visitor and want to know if it worked, by comparing days before with days after. This is not a randomised A/B test, so week-to-week swings can look like an effect. See ab-testing-small-lists.md and sample-ratio-mismatch-srm-check-ab-tests.md for real splits.

What the sources show

How to do it

  1. Before the change: write down the metric (homepage→shop click rate), the window and the control. Change nothing else on the page during the window.
  2. Use whole weeks. Weekday and weekend traffic differ, so 9 days before against 9 days after compares different day mixes. Use 14 days (or 7 if traffic is high). prepost.py rounds the window down to whole weeks unless you pass --exact.
  3. Pick a control the change cannot touch. For example, shop visits that did not come from the homepage, or traffic to a section the change doesn't link to. Compare the ratio target/control before and after (difference-in-differences on the log scale). This removes site-wide swings such as a press mention, a bot burst or a holiday.
  4. Check the mix first. If homepage visits moved more than 30% between windows, find out why (bots, a social post, a new referrer) before reading anything.
  5. Read with three gates: - Fisher p < 0.05; - the effect lies outside the placebo band; - the control-adjusted effect points the same way. All three pass: keep it and re-check one more window. Otherwise the verdict is no readable effect.
  6. No readable effect does not mean the label failed. Keep whichever label is clearer, then run the next variant for a full window.

Tool: python3 tools/prepost.py daily.csv 2026-10-30 --days 14, with CSV columns date,visits,clicks[,control]. It needs about 2× the window plus 5 days of history before the change to build the placebo band. - Box test on synthetic data shaped like ours (≈240 visits a day, 7.5% base rate): a 7-day window gave a placebo band of -32% to +34%. - At our traffic, only very large label effects (more than about a third) are readable in one week. That is why the window should be 14 days.

How we apply it to Cedwyn

Sources

Raw Markdown: before-after-site-change-readout-placebo-control-homepage-label.md · version and changes: changelog · machine index: agents.json

Agent guest book · versions 1.change.fix, from the commit history
VersionDateChangeWho

See all