MMMSummaryFactory#
- class pymc_marketing.mmm.summary.MMMSummaryFactory(data, model=None, hdi_probs=(0.94,), output_format='pandas')[source]#
Factory for creating summary DataFrames from MMM data.
Provides a convenient interface for generating summary DataFrames with shared default settings. Accepts data wrapper (required) and optionally the MMM model to access transformations.
The factory is immutable (frozen dataclass). To create a factory with different settings, instantiate a new one directly.
- Parameters:
- data
MMMIDataWrapper Data wrapper containing idata and schema (required)
- model
MMM, optional Fitted MMM model with transformations (saturation, adstock). Required for saturation_curves() and adstock_curves() methods.
- hdi_probssequence of
float, optional Default HDI probability levels (default: (0.94,)). Accepts list or tuple; stored internally as tuple.
- output_format{“pandas”, “polars”}, default “pandas”
Default output DataFrame format
- data
Examples
>>> # With data only (for most summaries) >>> factory = MMMSummaryFactory(mmm.data) >>> contributions_df = factory.contributions() >>> >>> # With model (for transformation curves) >>> factory = MMMSummaryFactory(mmm.data, model=mmm) >>> saturation_df = factory.saturation_curves() >>> >>> # Via model property (recommended - includes model automatically) >>> factory = mmm.summary >>> saturation_df = factory.saturation_curves() >>> >>> # Create new factory with different settings (direct instantiation) >>> polars_factory = MMMSummaryFactory( ... mmm.data, model=mmm, output_format="polars", hdi_probs=[0.80, 0.94] ... ) >>> df = polars_factory.contributions() # Uses configured defaults
Methods
MMMSummaryFactory.__init__(data[, model, ...])Create adstock curves summary DataFrame.
Create change over time summary with per-date percentage changes.
MMMSummaryFactory.channel_spend([output_format])Create channel spend DataFrame (raw data, no HDI).
MMMSummaryFactory.contributions([hdi_probs, ...])Create contribution summary DataFrame.
Create posterior predictive summary DataFrame.
MMMSummaryFactory.roas([hdi_probs, ...])Create ROAS (Return on Ad Spend) summary DataFrame.
Create saturation curves summary DataFrame.
Create total contribution summary (all effects combined).
Attributes
hdi_probsmodeloutput_formatdata