Bell Statistics

What is a multivariate test?

A multivariate test varies several elements simultaneously and measures every combination, so it can estimate how those elements interact as well as their individual effects. That interaction estimate is the reason it exists and the reason it needs so much traffic.

Also called
MVT, full factorial test, multivariate testing, factorial experiment
Allon Korem

Written by Allon Korem

Chief Executive Officer

Last updated

In plain English

A multivariate test varies more than one element at a time. Two headlines crossed with two images crossed with two button colours produces eight combinations, and every user sees one of them. Its purpose is not merely to test eight designs — an A/B/n test does that more cheaply — but to separate the effect of each element from the effects of the others, and to measure how they interact.

That separation is a genuine capability. A full factorial design lets you estimate the headline's effect averaged across both images, the image's effect averaged across both headlines, and crucially the interaction between them: whether headline B works better with image X than with image Y. No sequence of A/B tests recovers that, because each test holds the other elements fixed at one setting and cannot see what happens at the others.

The cost is that interactions are expensive to estimate. An interaction is a difference of differences, so four separate estimates each contribute their noise, and detecting one reliably takes roughly four times the sample of a main effect of the same size. With eight arms splitting the traffic as well, a 2 × 2 × 2 test designed to detect interactions can easily need an order of magnitude more traffic than the equivalent A/B test. That arithmetic is why multivariate testing has a reputation for being impractical, and the reputation is largely earned.

The honest question before running one is whether you actually need the interaction. Most product teams do not: they want to know which of several designs performs best, and the elements plausibly do not interact much. In that case an A/B/n test on the handful of complete designs worth considering is faster and needs far less traffic. Multivariate earns its place when the elements genuinely might conflict — two things competing for the same attention, or a change whose effect you suspect depends on another change shipping at the same time.

There is a middle option worth knowing. Fractional factorial designs test a deliberately chosen subset of combinations, estimating main effects and selected interactions while leaving others confounded with each other. That cuts the arm count substantially — a 2⁴ design reduced from sixteen arms to eight — at the price of not being able to distinguish certain interactions. For screening which of many elements matter at all, it is often the right tool.

The formula

The arm count and the sample requirement are what decide feasibility, and both grow faster than intuition suggests.

Number of arms
arms = Π (levels of each factor)

Three factors at two levels each gives eight. Adding a fourth doubles it to sixteen.

The model
Y = β₀ + Σ βᵢ·factorᵢ + Σ βᵢⱼ·(factorᵢ × factorⱼ) + …

Main effects plus interaction terms. The interaction terms are what an A/B/n test cannot supply.

Cost of an interaction
n_interaction ≈ 4 × n_main effect

A difference of differences: four noisy estimates combined — see interaction effect.

Traffic per arm
n_arm = N / arms

Eight arms means an eighth each, on top of the fourfold interaction penalty — see the ANOVA calculator.

Worked example

A landing page team wants to test two headlines, two hero images and two call-to-action labels. Baseline conversion is 5.4% and they have 400,000 visitors available over a month. They compare a full factorial design against the alternative of an A/B/n on the three most promising complete designs.

Full factorial arms
2 × 2 × 2 = 8
Traffic per arm
50,000
Detectable main effect
6.8% relative
Detectable two-way interaction
13.6% relative
A/B/n on 3 designs + control, per arm
100,000
A/B/n detectable effect
4.9% relative

The factorial design can resolve main effects of 6.8% and interactions only above 13.6%. The A/B/n resolves 4.9% on the designs that matter.

The interaction row is where the decision sits. A 13.6% relative interaction is enormous — it would mean one headline works dramatically better with one image than the other — and effects that large between page elements are uncommon. So this factorial design is very likely to spend a month establishing that no interaction is detectable, which is a weak conclusion rather than an informative one. The A/B/n alternative uses the same traffic to resolve 4.9% effects on the three designs anyone would actually ship. The case for going factorial anyway is if there is a specific reason to expect conflict — say the headline and the call-to-action both make an urgency claim, and running both might read as pushy. That is a real hypothesis about an interaction, and it is worth the traffic. Absent such a reason, the multivariate design is buying a capability the team has no use for.

Common misconceptions

A multivariate test is more efficient than several A/B tests because it tests everything at once.
It is more efficient in wall-clock time and much less efficient per user. Traffic splits across every combination, and interaction estimates carry a fourfold sample penalty. If the goal is simply picking the best design, an A/B/n on the complete candidates uses the same traffic far better.
Multivariate testing tells you the best combination of elements.
It estimates the effect of each element and their interactions; identifying the single best combination is a selection over many arms and carries the winner's curse. With eight arms the highest-performing one is systematically overstated, and its measured lift is an optimistic forecast of what shipping it delivers.
You need a multivariate test whenever you change several things at once.
Only if you need to attribute the effect to individual elements or measure their interaction. Shipping three changes together and testing the bundle against control is a perfectly valid A/B test — it just answers the question "is the bundle better" rather than "which part did the work".

Frequently asked questions

When is a multivariate test worth running?
When you have a specific reason to expect the elements to interact — two changes competing for the same attention, or a design where one element's value plausibly depends on another. Absent that, an A/B/n test on the complete designs is faster and far more sensitive. The question to ask is what you would do differently if a large interaction were found; if there is no answer, the interaction estimate is not worth its traffic.
What is a fractional factorial design?
A deliberately chosen subset of the full combination set, which estimates all main effects and some interactions while leaving others confounded with each other. It cuts the arm count substantially — sixteen arms down to eight for four factors — at the cost of not distinguishing certain interaction terms. It is the right tool for screening which of many elements matter at all before testing the survivors properly.
How much traffic does a multivariate test really need?
Enough to split across every combination and still detect an interaction, which needs roughly four times the sample of a main effect of the same size. In practice a 2 × 2 × 2 aiming at interactions frequently needs an order of magnitude more traffic than the corresponding A/B test. Do that calculation before designing anything — a great many multivariate tests are launched without the traffic to answer their own question.

Related terms

  • A/A test

    Testing nothing against nothing to check the instrument — and it should be significant about five per cent of the time.

  • A/B/n test

    Several complete alternatives against one control — and each extra arm costs twice: less traffic and another chance to be wrong.

  • Interaction effect

    When two changes stop being independent — the reason concurrent tests can both read as wins and lose money together.

  • Switchback test

    Randomise the clock instead of the users — the answer when everyone shares one supply pool.

Calculate it

  • One-way ANOVA

    Three or more independent groups on one continuous outcome — size it, then run the F test.

  • A/B test sample size

    Size a two-proportion experiment before you launch, then read the lift and its interval once it lands.

Knowing the term is the easy part

Applying it to a live measurement problem is the part that goes wrong. If you are designing an experiment, reading a result you do not trust, or trying to work out what your marketing actually caused, that is the work we do.

References