Incrementality#
- class pymc_marketing.mmm.incrementality.Incrementality(model, idata=None, data=None)[source]#
Incrementality and counterfactual analysis for MMM models.
Computes incremental channel contributions by comparing predictions with actual spend vs. counterfactual (perturbed) spend, accounting for adstock carryover effects. See the
module docstringfor the full mathematical formulation and design rationale.- Parameters:
- model
MMM Fitted MMM model instance.
- idata
az.InferenceData, optional InferenceData containing posterior samples and fit data. Mutually exclusive with
data.- data
MMMIDataWrapper, optional Pre-built data wrapper. When provided,
idatais taken fromdata.idataand no re-wrapping occurs. Mutually exclusive withidata.
- model
- Attributes:
- model
MMM The fitted MMM model.
- idata
az.InferenceData Posterior samples and fit data.
- data
MMMIDataWrapper Data wrapper for accessing model data.
- model
- Raises:
ValueErrorIf both
idataanddataare provided, or neither is.
Examples
>>> incr = mmm.incrementality >>> roas = incr.contribution_over_spend(frequency="quarterly") >>> cac = incr.spend_over_contribution(frequency="monthly")
Methods
Incrementality.__init__(model[, idata, data])Compute incremental channel contributions using counterfactual analysis.
Incrementality.contribution_over_spend(frequency)Compute incremental contribution per unit of spend.
Compute marginal contribution per additional unit of spend.
Incrementality.spend_over_contribution(frequency)Compute spend per unit of incremental contribution.