A/B Testing
Intermediate 14 min read A/B Testing

Running the Experiment

The boring, decisive work between launch and readout

Deploying with feature flags, monitoring SRM and exposure, letting the pre-planned duration pass, and resisting peeking — the operational craft between design and verdict.

feature flagexposurepeekingrampmonitoringholdoutexperiment ops
Prerequisites: Experiment Design
Before we start

What you will learn

  • Launch experiments safely behind feature flags with a ramp plan
  • Monitor exposure, SRM and guardrails during the run
  • Explain peeking and early-stopping rules and follow them
In 60 seconds

Running an experiment means delivering variants behind flags, watching exposure and SRM, letting the full pre-planned duration elapse, and never staring at p-values week to week.

Introduction

What is this?

Running the experiment is the operational phase: the treatment ships behind a feature flag that is assigned consistently (your bucketing + the flag are the same story), the pipeline logs exposure, and dashboards monitor balance (SRM), exposure counts and guardrails in near-real time. The analytics discipline during the run is restraint — you do not peek and stop early, because early stopping is the fastest path to false positives. At the fixed end you read the pre-registered tests.

Motivation

Why do you need it?

  • A flag misconfigured mid-run (or whole segments flag-on for both groups) quietly ruins the comparison.
  • SRM and exposure monitors catch machinery failures while they're fixable, not at the post-hoc review.
  • Peeking converts the 5% alpha into a rolling firehose of false discoveries.
  • Ramps protect users and the data: a full blast on hardware that can't handle it distorts every metric.
Think about it

Mental model

Imagine

A chef's timer

Think of

The experiment duration

You set the timer when you start cooking and trust it. Opening the oven every minute to see if it's done doesn't cook faster — it makes the roast's doneness unknowable.

Mechanics

How it works

  • Ship behind a flag; the bucketing hash and the flag use the same user identity so assignments are stable and consistent.
  • Verify exposure: count users receiving each variant daily; logs must reflect actual deliveries, not target splits.
  • Monitor balance and guardrails with dashboards, but keep the primary metric behind an 'analysts only' door to stop peeking-by-default.
  • Let the planned duration elapse in full — no early stop for significance; use sequential designs only if pre-planned.
  • At the end, run the pre-registered analysis, then follow a holdout or long-term tracking lane for the biggest decisions.

The running-in phase checklist.

Flag & bucket
Ramp
Monitor
Don't peek
Fixed readout
Real world

In production

  • A checkout experiment ramps 1%→100% over four days, and the exposure monitor catches a Safari-only flag bug at 12:30, pausing the run.
  • An experimentation platform auto-pauses a test when SRM p<0.001, forcing the owner to diagnose before re-running.
  • A mission-critical monetization change ships with a 30-day holdout of 1% of users for long-term effect checking.
Guidelines

Best practices

  • Ramp deliberately — small doses first to catch bugs, then scale; shutdown is cheaper than recovery.
  • Log exposure at assignment-time and at event-time; the two differ is a monitoring signal itself.
  • Pre-commit the stopping rule: fixed duration, or a pre-registered sequential design with spending boundaries.
  • Keep a run log: launches, ramps, incidents, config changes — the review needs the trail.
Watch out

Common mistakes

  • Stopping the moment a p dips below 0.05, then 'rerunning' when it wobbles back — the p-hacking treadmill.
  • Turning the feature flag off mid-run 'just for that one incident' without resetting the experiment clock.
  • Reading results before verifying both groups actually received their variant (exposure blindness).
  • Running a week with no weekend, month with no end-of-month activity — missing the seasonality the sample-size plan assumed.
When things break

Debugging tips

  • Exposure flat while traffic grows? The flag may be evaluated post-redirect, losing users at a checkpoint.
  • SRM on a single device type points to bucketing by user_id colliding with device-derived identities.
  • Guardrail moving early usually means a partial rollout bug, not the product change — verify features first.
  • If the platform shows 'significant' daily but the pre-registered test disagrees, trust the pre-registered test.
Interviews

Interview checkpoint

Test yourself

Quick quiz

0/2
1

The main anti-pattern during a running experiment is:

2

An experiment should be stopped as soon as its primary metric becomes significant.

Go deeper

Official documentation