Disentangling Effects: The Secret Behind Marketing Mix Models

R
ggplot
tidyverse
bargain
saving money
loyalty points
Author

Christian Jaehnert

Published

November 14, 2023

The Magic of Variance in Marketing Mix Modeling

Marketing Mix Modeling (MMM) is a statistical technique in econometrics that quantifies the impact of various marketing and sales activities on sales. It also incorporates external factors that are typically beyond a company’s control, such as weather, holidays, or competitive activities.

Since I work in the area of MMM, I’m often asked a similar question:

How can MMM disentangle the effects of various factors, like advertising campaigns across multiple channels, POS promotions, or weather?

The answer lies in the concept of variance. By capturing and analyzing the variation in data, MMM can attribute changes in sales to specific factors like advertising, price changes, or external conditions such as weather. In turn this explains why a MMM is typically very greedy on data!

Variance is essentially the “spread” or “dispersion” in data. When factors such as advertising spend, product pricing, and weather fluctuate, they create unique “patterns” in the data. These patterns allow MMM to distinguish the unique contribution of each factor to the overall sales. The model then estimates each variable’s impact by looking at how variations in these variables align with variations in sales over time.

To demonstrate this in a simple example, let’s take an ice cream company and see how MMM might work to disentangle the effects of advertising, temperature, and price.

Example: Ice Cream Sales and the Magic of Variance

In this example, we’ll simulate weekly ice cream sales data over three years (152 weeks) along with three explanatory variables: advertising spend, average weekly temperature, and the price of ice cream.


Call:
lm(formula = Sales ~ Temperature + Ad_Spend + Price, data = data)

Residuals:
     Min       1Q   Median       3Q      Max 
-282.075  -62.825   -4.733   73.525  233.725 

Coefficients:
              Estimate Std. Error t value Pr(>|t|)    
(Intercept)  6.071e+02  6.864e+01   8.845 2.53e-15 ***
Temperature  1.658e+01  1.754e+00   9.451  < 2e-16 ***
Ad_Spend     2.671e-02  6.806e-03   3.925 0.000133 ***
Price       -1.514e+02  1.768e+01  -8.564 1.30e-14 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 94.63 on 148 degrees of freedom
Multiple R-squared:  0.5662,    Adjusted R-squared:  0.5574 
F-statistic: 64.39 on 3 and 148 DF,  p-value: < 2.2e-16

1+1