05. Marketing Mix Modeling (MMM)
1. What is MMM?
Marketing Mix Modeling (MMM) is a statistical technique that analyzes how much various marketing channels (TV, SNS, search ads, etc.) contributed to sales. In the cookie-less era, it’s regaining attention as it can measure macroscopic performance without personal information.
2. Core Concepts: Adstock & Saturation
Adstock (Ad Carryover Effect)
A TV ad you saw yesterday still influences your purchase decision today. This is called Adstock (memory retention effect).
Saturation (Diminishing Returns)
Spending 2x on advertising doesn’t double your sales. At some point, efficiency drops, and this is called Saturation.
3. Modeling (Regression)
❓ Problem 1: Channel Contribution Analysis
Q. Use regression analysis to understand the impact of TV, Social, and Search advertising spend on sales.
Theory Reference: Regression Analysis
Python (Statsmodels)
import statsmodels.api as sm
import pandas as pd
# Load data (synthetic data)
df = pd.DataFrame({
'TV': [100, 150, 200, 130],
'Social': [50, 60, 55, 70],
'Sales': [1000, 1400, 1800, 1350]
})
# Add constant term (Intercept)
X = df[['TV', 'Social']]
X = sm.add_constant(X)
y = df['Sales']
# OLS Regression Analysis
model = sm.OLS(y, X).fit()
print(model.summary())OLS Regression Results
==============================================================================
Dep. Variable: Sales R-squared: 0.995
Model: OLS Adj. R-squared: 0.986
Method: Least Squares F-statistic: 109.1
Date: Fri, 19 Dec 2025 Prob (F-statistic): 0.0675
Time: 20:20:12 Log-Likelihood: -17.487
No. Observations: 4 AIC: 40.97
Df Residuals: 1 BIC: 39.13
Df Model: 2
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const -58.0906 169.818 -0.342 0.790 -2215.837 2099.656
TV 7.6618 0.527 14.552 0.044 0.972 14.352
Social 5.6958 2.592 2.198 0.272 -27.234 38.626
==============================================================================
Omnibus: nan Durbin-Watson: 2.496
Prob(Omnibus): nan Jarque-Bera (JB): 0.895
Skew: -1.103 Prob(JB): 0.639
Kurtosis: 2.289 Cond. No. 1.42e+03
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
[2] The condition number is large, 1.42e+03. This might indicate that there are
strong multicollinearity or other numerical problems.💡 Insight
The purpose of MMM is to find the most efficient channel (highest ROI) through regression coefficients (Coef) and reallocate the budget accordingly.