skip to content

What do experiment layers do in an A/B platform running many tests at once?

level: juniorimportance: must knowfreq 62%

answer

  1. many tests, one pool of traffic
  2. not slices — full population each time
  3. independent assignment per layer
  4. the other test balances across my arms
  5. balance, not isolation

basics

~20 s

Layers let many experiments share the same traffic at the same time. Each layer randomizes users independently, so a user's arm in one layer says nothing about their arm in another, and concurrent tests do not confound one another.

solid answer

~50 s

A layer is an independent randomization of the whole eligible population. A user passes through every layer and is assigned an arm in each one separately, so the same person can be in the treatment of a search-ranking test and the control of a pricing test simultaneously. Because the assignments are independent, every other running experiment is split roughly evenly across *my* treatment and *my* control, so its effect lands equally on both sides and cancels out of my difference. The alternative — carving traffic into disjoint slices, one experiment per slice — wastes sample size and forces experiments to queue. Layering is how a platform gets from a handful of tests a quarter to hundreds. Two experiments that must never be seen together by the same user are instead placed in the *same* layer, which makes them mutually exclusive.

go deeper

for a junior

Be ready to state plainly that layers let many experiments run on the same users at once, and that each layer assigns arms independently so the tests do not contaminate each other.

for a middle

Explain the mechanics: every eligible user gets an arm in every layer, independence means the other test splits evenly across your treatment and control, and its effect therefore cancels from your difference.

for a senior

Show you know the limits. Independence buys balance, not additivity, and it does not stop two treatments from rendering an incoherent combined page — that is what same-layer placement is for.

for a principal

Own the framing that a layered platform reports effects averaged over the current experiment landscape, and argue why that is usually the decision-relevant quantity rather than a defect to be engineered away.

## The problem layers solve An organisation that runs one experiment at a time is limited to a few dozen decisions a year. The obvious fix — cut the traffic into slices and give each experiment its own slice — is worse than it looks. Every experiment now runs on a fraction of the users, so every experiment needs proportionally longer to reach the sample size it needs, and the total number of decisions per unit of traffic does not improve at all. Traffic is the scarce resource, and slicing does not create more of it. ## What a layer is A **layer** (sometimes called a domain or a universe) is one complete, independent randomization of the entire eligible population. A platform defines several layers, and **every eligible user is assigned an arm in every layer**. If there are three layers, a user simultaneously holds three assignments: perhaps treatment in the ranking layer, control in the pricing layer, and treatment in the onboarding layer. The assignments are drawn independently of one another, which is why a single user can be exposed to several experiments at once without the experiments becoming entangled. The key property is **statistical independence between layers**. Knowing that a user is in the treatment arm of layer 1 tells you nothing about which arm they hold in layer 2 — the conditional distribution of the layer-2 arm is the same as its unconditional distribution. ## Why independence makes each test readable Suppose I am running a ranking experiment and, at the same time, a pricing experiment is running in a different layer. My treatment group contains some users who are also in the pricing treatment and some who are in the pricing control — and because the layers are independent, the proportion is the same in my control group. Whatever the pricing change does to the metric, it does it to roughly the same share of users on each side of *my* comparison. It therefore contributes equally to both of my group means and cancels when I take the difference. My estimate stays unbiased for the effect of my change, averaged over the world in which the pricing test is running. That last clause matters. A layered platform does not estimate the effect of my change in a pristine, experiment-free world; it estimates the effect **averaged over the mix of other experiments running at the time**. Usually that is exactly the quantity a shipping decision needs, because the future world will also contain other changes. ## What layers do not do Independence is about *balance*, not *isolation*. Two orthogonal experiments can still genuinely interact: if a treatment that hides shipping cost and a treatment that enlarges the checkout button both push on the same behaviour, the combined effect need not be the sum of the two individual effects. Layering guarantees that the interaction is spread evenly across arms, so each main effect is still estimated without bias — it does not guarantee the interaction is zero, and it does not report it to you unless you go looking. The estimate you get is the average effect over the other test's arms. Layering also does not prevent a **broken combined experience**. If two experiments both rewrite the same page region, a user assigned to both may see something neither team designed and nobody ever reviewed. Independence is no comfort there — the fix is to place those two experiments in the same layer so they are mutually exclusive. ## The small cost of concurrency Running a concurrent experiment in another layer does not reduce your sample size — you still analyse all the traffic. But if the other treatment genuinely moves the metric, that movement becomes extra variation among users *within* each of your arms. The metric's variance goes up a little, so your standard error and confidence interval widen a little. This is a precision cost, not a bias, and in practice it is usually small relative to the natural user-to-user variation in metrics like revenue per user. ## What an interviewer wants to hear A good answer names three things: layers are independent randomizations over the *same* full traffic rather than disjoint slices of it; independence buys balance, so each test's estimate is unbiased even with dozens of concurrent tests; and same-layer placement is the deliberate escape hatch for experiments that must not co-occur.

  • Does layering guarantee two concurrent experiments cannot affect each other's results?
    No. It guarantees the other experiment is balanced across my arms, so my estimate is unbiased — it does not make the two effects additive. If the treatments genuinely interact, what I measure is my effect averaged over the other test's arms. That average is often the right number for a ship decision, but it is not the effect in isolation.
  • Does a concurrent test in another layer cost my experiment statistical power?
    It does not cost sample size — I still analyse every user. But if the other treatment moves the metric, that movement becomes extra within-arm variation, so the metric's variance and my standard error rise slightly. The confidence interval widens a little; the point estimate stays unbiased. In practice the effect is small next to natural user-to-user variance.
  • Where do you put two experiments that both rewrite the same page section?
    In the same layer, which makes them mutually exclusive: a user can be in one or the other, never both. Independent layers would let a user receive both rewrites at once and see a combined experience nobody designed. The price is that the two experiments share that layer's traffic and each runs longer.

Think of each layer as a separate lottery drawn from the same crowd. Winning one draw tells you nothing about the next, so each draw's winners and losers look alike on every other draw.

saying these in an interview costs you the question

  • Says each layer gets its own disjoint slice of users
  • Claims layering makes interactions between experiments impossible
  • Thinks a user can only be in one experiment at a time
  • Believes concurrent tests must always run sequentially
  • Assumes layering fixes a broken combined user experience

context