Multivariate testing

Also called: MVT, multivariate test

Last updated:

Multivariate testing (MVT) runs an experiment with three or more variations, or with combinations of several independent changes tested together, rather than the two-way split of an A/B test. It measures which variation (or which combination of elements) moves the target metric the most.

How it differs from an A/B test

An A/B test compares one control against one treatment. Multivariate testing either compares many discrete variations (A/B/C/D) or factorially combines elements (say two headlines crossed with two button colors, giving four cells) to measure both the individual effects and how they interact. The trade-off is sample size: more cells split your traffic thinner, so each needs more users to reach significance, which is why MVT suits higher-traffic surfaces.

How feature flags deliver it

A multivariate flag serves one of several variations (string, number, or JSON) to each user, assigned by a deterministic hash so the split stays stable for the life of the test (the same percentage rollout bucketing, divided into more than two buckets), and the rollout strategies guide covers the serving model. The flag controls assignment, and your analytics measures each cell. Featureflip handles the delivery side and leaves the statistics to your analytics stack, the same division of labor described under experimentation.

How many combinations a multivariate test creates

Every element you add multiplies the cells rather than adding to them. Three headlines crossed with two images and two button colors produces twelve variations, because the test serves every combination. Compute that number before anything else. A full factorial design covers all twelve cells and can tell you whether the headline and the button interact, which is the question a sequence of A/B tests cannot answer. A fractional factorial design samples a subset of the cells and infers the rest, trading some of that interaction detail for a test that actually finishes.

How much traffic multivariate testing needs

Traffic decides whether this technique is available to you at all. Each cell needs enough users to reach significance on its own, so a twelve-cell test needs roughly twelve times the sample of a two-arm test aimed at the same effect size. On a page taking a few hundred sessions a week, that runs well past the point where the answer would still be useful, and seasonality starts to contaminate the result. Work out the per-cell sample first, divide your weekly traffic by the number of cells, and read off how many weeks the design implies. If the answer is more than about four, run sequential A/B tests on the elements you believe matter most and accept that you will learn less about how they interact.

When to run one instead of sequential A/B tests

Reach for a multivariate test when you suspect the elements affect each other. A bolder headline might pay off only next to the larger hero image, and a run of single-element tests would miss that, because each one holds everything else fixed at whatever the current design happens to be. Sequential tests win when traffic is tight, when the changes are plainly independent, or when you need an answer this month. The experimentation discipline is identical either way. Only the design and its traffic cost differ.

Want the full picture? Read the concept guide: Rollout strategies →

Try it in your own app

The Free plan covers 10 flags and 2 environments. No credit card, no demo call — sign up and ship.