Explanation: Model Components¶
This document provides a deeper dive into the different components that make up the Abacus Media Mix Model (MMM). Understanding these components is key to interpreting the model’s results and deriving actionable insights.
The core structure of the model can be represented as:
Where:
$y_t$ is the target variable at time $t$.
$\text{Baseline}_t$ captures the base level, trend, and seasonality.
$\text{MediaContribution}_{c,t}$ is the contribution of media channel $c$ at time $t$.
$\text{ControlContribution}_{k,t}$ is the contribution of control variable $k$ at time $t$.
$\epsilon_t$ is the error term.
Let’s break down each component:
1. Baseline Contribution¶
Concept: Represents the expected value of the target variable without any influence from media spend or explicitly modelled control variables. It captures the underlying base level, trends, and seasonal patterns inherent in the target variable. Isolating the baseline is crucial for measuring the true incremental impact of marketing activities.
Components:
Intercept (
intercept): The overall base level of the target variable when all other effects are zero.Trend (Optional): Captures long-term growth or decline (not explicitly included in the base model but could be added via control variables).
Seasonality (Optional): Captures regular fluctuations within a year (e.g., using Fourier modes via
yearly_seasonality) or potentially other cycles (e.g., weekly, if modelled via control variables).
Interpretation: Found in
all_decomp.csvand visualised incomponents_contributions.png. A stable or predictable baseline allows for clearer attribution of changes to media or other factors.
2. Media Channel Contributions¶
Concept: The incremental impact of each marketing channel on the target variable. Abacus models two key effects:
Adstock (Carryover): Marketing effects linger over time. A portion of the effect from spend in period $t$ carries over to $t+1$, $t+2$, etc. Modelled using geometric decay.
Saturation (Diminishing Returns): The impact of additional spend decreases as spend increases. Modelled using either a logistic or Michaelis-Menten function.
Calculation (Conceptual):
contribution = beta_channel * saturation_function(geometric_adstock(spend))Parameters:
beta_channel: The effectiveness coefficient. Represents the maximum potential impact scaling for a channel. Higher values mean more impact per transformed unit of spend.alpha: Adstock decay rate (0 to 1). Higher values mean effects decay faster (less carryover).lam: Saturation parameter. Controls the shape/steepness of the saturation curve (used in both logistic and Michaelis-Menten, though interpretation differs slightly).beta(Michaelis-Menten only): Represents the maximum effect (Vmax).
Interpretation: Found in
all_decomp.csv,media_performance_*.csvfiles, and visualised in contribution plots, ROI plots, and response curves. These are key for understanding channel performance and budget optimisation.
3. Control Variable Contributions¶
Concept: The impact of external factors (included as
control_columns) on the target variable, such as competitor actions, promotions, holidays, or economic indicators. Including relevant controls helps to avoid omitted variable bias and isolate media effects more accurately.Implementation: Typically modelled as linear regressors:
\[contribution = \sum_{k=1}^{K}\gamma_{k}z_{k, t}\]Parameter:
gamma_control: The coefficient representing the impact of a one-unit change in the control variable $z_k$. Can be positive or negative.Interpretation: Found in
all_decomp.csv(if controls are used) and potentially visualised incomponents_contributions.png. Allows quantification of the impact of these external factors.
4. Error Term (epsilon)¶
Concept: Represents the unexplained variance or random noise in the model – the difference between the model’s prediction (sum of baseline, media, and control contributions) and the actual observed target variable.
Implementation: Defined by the
likelihooddistribution in the model configuration (e.g., Normal, StudentT).Parameter:
sigma(for Normal likelihood, or other scale parameters depending on the chosen distribution) represents the magnitude of this unexplained variance.Interpretation: Assessed via posterior predictive checks (e.g., comparing predictions to actuals in
model_fit_predictions.png) and thesigmaparameter’s posterior distribution (model_summary.csv,model_trace.png,posterior_distributions.png). A large or poorly estimated sigma might indicate missing variables, incorrect functional forms, or model misspecification.