
How Marketing Mixed Modeling Can Improve Your ROI
How to plan your marketing spend while measuring the true effect of any marketing activity on your bottom line? The answer lies in Marketing Mix Modeling (MMM).

R-squared is the share of variance in the outcome that a model accounts for, from zero to one. It measures how closely the fitted values track the observed ones in the data the model was fitted on, and nothing more than that.
R²R-squared compares two quantities: how much the outcome varies around the model's predictions, and how much it varies around its own mean. If the model explains nothing, those are equal and R² is zero. If it predicts perfectly, the residual variation is zero and R² is one. So it is a summary of fit — how closely the fitted line tracks the points it was fitted to — and every limitation it has follows from that being all it is.
The first limitation is that it never falls. Adding any predictor, including a column of random numbers, can only reduce the residual sum of squares, so R² rises mechanically with model size. This makes it useless for comparing specifications, and it is why adjusted R² exists: it penalises each additional parameter and can fall when a predictor earns nothing. Even adjusted R² is a weak comparator, and out-of-sample performance is the honest test.
The second is that what counts as a good value is entirely domain-dependent. An R² of 0.95 on weekly sales data is unremarkable, because both the outcome and the predictors trend and share seasonality — a model with nothing in it but a time trend and month dummies will often reach 0.8. An R² of 0.15 predicting individual customer behaviour may be genuinely strong, because individual behaviour is mostly idiosyncratic. Quoting the number without the context is close to quoting nothing.
The third, and the expensive one, is that R² says nothing about whether the coefficients mean anything. A model can fit at 0.9 and carry a badly biased estimate on the single variable you care about, because the fit is being carried by seasonality while the marketing coefficient absorbs confounding. It is entirely normal for R² to rise while the coefficient of interest changes by half, and when that happens the fit statistic is the less informative of the two movements.
A related trap is reading R² as a causal share. "Marketing explains 30% of the variance" is not "marketing drives 30% of revenue" — the first is about variance in this sample, the second about levels in the world, and they are not convertible. Nor is a high R² protection against overfitting: a model with enough parameters can reproduce any dataset exactly and predict nothing. The number worth reporting is out-of-sample error, and the numbers worth arguing about are the coefficients and their intervals.
One ratio, one penalised version of it, and the out-of-sample measure that should usually replace both.
R² = 1 − SS_res / SS_tot = 1 − Σ(yᵢ − ŷᵢ)² / Σ(yᵢ − ȳ)²The share of variation around the mean that the model accounts for. Bounded in [0, 1] for ordinary least squares with an intercept.
R²_adj = 1 − (1 − R²) · (n − 1) / (n − k − 1)Penalises parameters, so it can fall when a predictor adds nothing. Use it whenever comparing models of different size — never plain R².
R² = r² (simple regression only)With one predictor, R² is the squared correlation. r = 0.5 gives R² = 0.25, which is usually less impressive than the correlation sounded.
R²_oos = 1 − Σ(yᵢ − ŷᵢ)² / Σ(yᵢ − ȳ_train)² on held-out dataCan be negative, which is informative: a model worse than the training mean is worse than useless. This is the number that should be reported.
Two candidate models for weekly revenue over 104 weeks. Model A contains a time trend and month dummies and nothing else. Model B adds spend across six marketing channels. Both are evaluated in-sample and on a held-out final 26 weeks.
Model B fits better in-sample and predicts worse out of sample. The marketing variables improved the fit and cost real predictive accuracy.
The first thing to notice is Model A: a trend and twelve month dummies reach 0.82 with no marketing information at all, which sets the bar. Any headline R² on data like this has to be read against that baseline, and 0.91 is a much less impressive number once you know 0.82 was free. The second thing is the reversal out of sample. Model B's six correlated spend series gave it enough flexibility to fit historical noise, and that flexibility did not survive the holdout — a textbook case of [overfitting](/glossary/overfitting) that neither R² nor adjusted R² caught, since both rose. This is the argument for holding data out as a matter of routine rather than reporting in-sample fit and moving on.

How to plan your marketing spend while measuring the true effect of any marketing activity on your bottom line? The answer lies in Marketing Mix Modeling (MMM).


Robyn, Meridian, Orbit, or custom-made MMM? In this blog post, we compare leading free, paid or custom MMM tools, to help you decide which best fits your needs.

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.