← Blog
FIELD NOTE

Multicollinearity Before MMM: How to Read High VIF

An MMM result shows negative Search contribution and implausibly large Social contribution. The model may not be broken. If Search and Social budgets always rose and fell together, the data does not contain enough independent movement to tell which channel drove the outcome. That is the practical problem of multicollinearity.

Channel spend moving together and a VIF check

This is not another explanation of MMM equations. It is an operating check before using an MMM result for budget decisions: can this data actually separate channel contribution?

Why marketing data creates multicollinearity

Teams often move campaigns in bundles. Search, Social, and Display budgets rise together at the beginning of a month and fall together at quarter end. Promotion weeks lift several channels at once. Revenue can move, but there is too little variation to separate who caused what.

A regression still tries to fill that gap. Coefficients can flip signs, or contribution can change sharply when you shift the analysis window. A number being produced is not the same as that number being fit for allocation.

What VIF tells you

VIF, or variance inflation factor, measures how well one channel's spend can be explained by the other channels. If the remaining channels can almost predict it, that channel has little independent signal.

  • Below 5: no large overlap signal in the observed data. This still does not prove causality.
  • 5 or higher: review the periods and channel pairs that moved together.
  • 10 or higher, or not computable: do not use channel coefficients as an allocation basis.

VIF is not a pass stamp. It is a warning light for how far a regression coefficient can be interpreted.

A 10-minute MMM preflight

1. Make a weekly channel-spend table

Use one row per week and channel, with a consistent period and currency. Daily data works too, but weekly aggregation is often easier to connect to budget decisions. If you have many channels and very few periods, VIF itself will not be stable.

2. Read VIF beside the strongest channel correlations

A high VIF alone does not tell you what to change. Find the channels that rise and fall together. If Brand Search and Retargeting draw almost the same curve, a neat split of their contribution should not be over-interpreted.

Upload date, channel, and cost to the VIF Multicollinearity Check to make this preflight in your browser.

3. Choose the right response

State What you can say Next step
Low VIF Channel signals are relatively separable in this period Form an MMM hypothesis and plan a small scale test
Warning Some channel contribution may be unstable Group linked channels or narrow the interpretation
Severe There is not enough evidence to separate channel contribution Create independent variation before tuning the model

What to change before changing model options

High VIF can look better after dropping variables or changing regularization. That does not reveal which channel created results. In operations, use this order instead:

  1. Move one priority channel by a small amount while holding the others steady.
  2. Split by region, audience, or campaign and leave a comparison group.
  3. If separation is impossible now, interpret a linked bundle such as “Search + Retargeting” rather than each channel.
  4. Validate a high-stakes conclusion with Incrementality Analysis.

The goal is not simply to lower VIF. It is to create observations where channels genuinely move differently.

Three common mistakes

High correlation means one channel has no effect. No. Both may work; the current data simply cannot precisely divide their credit.

Low VIF proves causality. No. Promotions, price, and seasonality may still be missing variables. VIF checks only one failure mode.

If MMM cannot split channels, nothing is usable. You can still make bundle-level decisions, review saturation, run a small scale test, and use a holdout. Reduce the uncertain unit and add validation.

Wrap-up

MMM organizes hypotheses within what the data can support. When multicollinearity is high, it is better to say “we cannot separate this yet” than to decorate an unstable channel number.

Start with the VIF Multicollinearity Check, send suitable data to Marketing Response Analysis, and validate important budget moves with an experiment.

Try this today

One. Before running MMM again, put channel spend through a VIF check and look at which pairs come back high. That single pass usually explains the "negative coefficient" that prompted the question in the first place.

Two. Look at your last 12 weeks of channel budgets and ask whether any channel moved independently of the others. If everything scaled up and down together, the next MMM run will have the same problem no matter which model you choose. Staggering one channel's changes by a week or two is what makes the following quarter estimable.

Let's be honest

High VIF does not mean the model is wrong. It means this data cannot separate these channels — a statement about the data, not about the channels' real effects. A channel with a negative coefficient under collinearity has not been shown to hurt; it has been shown to be unidentifiable.

The wrong response is to keep changing model settings until a plausible-looking number appears. Numbers produced that way are artifacts of the specification, not estimates. Merge the channels that cannot be separated, report them as one bucket, and note the limitation — that is more useful to a budget decision than a confident number nobody can reproduce.

Frequently asked questions

What VIF is too high for MMM?
In practice, VIF 5 or higher is commonly treated as a warning and 10 or higher as a severe multicollinearity signal. It is a starting point for judging whether channel coefficients are fit for decisions.
Can I run MMM with high VIF?
You can calculate a model, but channel contribution and coefficients may not be reliable. Create periods where linked channels move independently, then re-check before using the result for allocation.