Meridian can be re-parameterized so the ROI of each channel is a model parameter. This lets you incorporate prior ROI information, such as incrementality experiments, industry benchmarks, or other domain knowledge. Alternatively, less informative priors can be used. ROI priors provide a way to treat all media channels equally. Additionally, ROI priors provide a way to apply equal regularization across channels in cases where regularization is needed to achieve better model convergence, or goodness of fit. For more information about this calibration method, see Media Mix Model Calibration with Bayesian Priors.
You have the option to either set prior distributions on the \(\text{ROI}_m\)
parameters or the \(\beta_m\) parameters. The
PriorDistribution
object has arguments for both parameters, but only one will be used depending on
the value of the boolean argument use_roi_prior
in the
ModelSpec
. The
re-parameterization is derived in the use case use_roi_prior=True
(which is
the default, and is strongly recommended).
For any media channel \(m\), the incremental sales driven by that channel is
where the term $M_{g,t,m}$ is defined as
and \(s = \sqrt{\frac{1}{GT-1} \sum\limits_{g,t} \left( y^\dagger_{g,t}-m \right)^2}\) is the standard deviation of the population-scaled KPI values as defined in Input data.
The relationship between $\beta_{g,m}$ and $\text{ROI}_m$ is given by the following equation:
Now $\beta_{g,m}$ can be re-parameterized as
where \(Z_{g,m}\) has a standard normal prior distribution that is independent of all other model parameters. Substituting this expression for \(\beta_{g,m}\) results in the following equation:
Therefore, $\beta_m$ is a function of \((\text{ROI}_m, \alpha_m, \text{slope}_m, ec_m, \{Z_{g,m}\}^G_{g=1})\). There is a one-to-one correspondence between $\beta_m$ and $\text{ROI}_m$ if all of the other values are fixed. As a result, the model can be re-parameterized using $\text{ROI}_m$ in place of $\beta_m$. Some important points to note:
- Any user-specified prior distribution can be placed on the $\text{ROI}_m$ parameters.
- Even though $\beta_m$ is no longer a model parameter, it can still be calculated for every Markov Chain Monte Carlo (MCMC) prior or posterior draw because it is a function of the other parameters.
- When
media_effects_dist = Normal
, $\text{ROI}_m$ can take any value in \((-\infty, +\infty)\). Whenmedia_effects_dist = LogNormal
, $\text{ROI}_m$ can take any value in \((0, +\infty)\).
Reparameterizing the model in terms of ROI only changes the model in terms of how the prior distributions are defined. When the ROI parameterization parameterization is used, independent prior distribution are placed on \((\text{ROI}_m, \alpha_m, \text{slope}_m, ec_m)\) rather than on \((\beta_m, \alpha_m, \text{slope}_m, ec_m)\). In both cases, the \(\{Z_{g,m}\}^G_{g=1}\) parameters are assigned standard normal priors that are independent of each other and all other model parameters. The ROI parameterization implicitly induces a prior distribution on the \(\beta_m\); however, this distribution is no longer independent of \((\alpha_m, \text{slope}_m, ec_m, \{Z_{g,m}\}^G_{g=1})\).
By default, Meridian defines the ROI prior numerator,
$IncrementalSales_m$, as a sum taken over all geos and time periods. However, it
can alternatively be defined as a sum over a subset of time periods using the
roi_calibration_period
and rf_roi_calibration_period
arguments. There can be
special cases where it is preferable to consider only a subset, for example,
when calibrating the ROI prior with an experiment that covers a specific time
window within the MMM modeling window. For more information, see section 3.4 in
Media Mix Model Calibration with Bayesian
Priors.
In most cases, we recommend defining the prior over all time periods and using
any available experiment results as one decision making factor within a more
holistic strategy, as discussed in ROI priors and
calibration.
The same re-parameterization can be done for channels with reach and frequency data by setting
Everything else is the same, so the derivation is not repeated.