Skip to content

Experimentation Engineering

A/B Test Design

10 min+100 XPStep 1/10

The randomization unit is a claim

Choosing what gets randomized — user, session, request, device, cluster, region — is an assertion about how effects propagate:

  • User-level — clean, stable, the default; a user sees one consistent experience
  • Session/request-level — more 'sample size' per user, but the same human sees both variants; carryover and inconsistency leak
  • Cluster-level — randomize the interacting group (team, household, city) when units contaminate each other; power collapses to the cluster count
  • Mismatch is the bug — randomizing users when effects flow through shared resources (marketplaces) doesn't reduce bias, it hides it

Rule: the unit must be independent under your interference model and aligned with the decision — you ship to users, so user-level metrics usually lead.

insight

Randomizing by session when users share an account is a 'big N' illusion: the effective sample size is still the number of independent units, and the interference just went underground.