Post-Fit Facades
After fitting, PanelMMM exposes most read and reporting operations through
bound properties:
mmm.datammm.summarymmm.diagnosticsmmm.plot
These are the preferred entry points when you already have a fitted model.
mmm.data
mmm.data returns MMMIDataWrapper.
Direct import path:
You can also create it explicitly with:
Main methods:
| Method | Purpose |
|---|---|
get_target(original_scale=True) |
Return observed target data |
get_channel_spend() |
Return observed channel spend |
get_posterior_predictive(original_scale=True) |
Return posterior predictive samples |
get_errors(original_scale=True) |
Return residual samples |
get_channel_contributions(original_scale=True) |
Return media contribution samples |
get_contributions(...) |
Return channels, baseline, controls, seasonality, and events |
get_elementwise_roas(original_scale=True) |
Contribution-over-spend ratios |
get_elementwise_cost_per_target(original_scale=True) |
Spend-over-contribution ratios |
get_channel_scale() |
Return stored channel scaling factors |
get_target_scale() |
Return stored target scaling factors |
to_original_scale(...) |
Convert a posterior variable or array to original scale |
to_scaled(...) |
Convert an original-scale array back to model scale |
mmm.summary
mmm.summary returns MMMSummaryFactory.
Direct import path:
If you instantiate it manually, pass model=mmm when you need transform-backed
curve summaries:
Main methods:
| Method | Purpose |
|---|---|
posterior_predictive(...) |
Predictive summary table with observed target |
contributions(...) |
Tidy contribution summaries |
mean_contributions_over_time(...) |
Wide decomposition table |
roas(...) |
ROAS summary |
cost_per_target(...) |
Cost-per-target summary |
efficiency(...) |
Target-type-aware efficiency summary |
channel_spend(...) |
Raw spend table |
saturation_curves(...) |
Saturation curve summary table |
adstock_curves(...) |
Adstock curve summary table |
total_contribution(...) |
Totals by component type |
change_over_time(...) |
Percentage change in channel contributions |
MMMSummaryFactory also exposes:
hdi_probsoutput_formatefficiency_metricefficiency_metric_label
mmm.diagnostics
mmm.diagnostics returns MMMDiagnosticsFactory.
Direct import path:
Main methods:
| Method | Purpose |
|---|---|
design_summary(X, ...) |
Per-variable design checks |
design_report(X, ...) |
Machine-readable design report |
mcmc_summary(...) |
Parameter-level MCMC diagnostics |
mcmc_report(...) |
Machine-readable MCMC report |
predictive_summary(...) |
Aggregate predictive metrics |
predictive_report(...) |
Machine-readable predictive report |
The report methods return typed dataclass objects with to_dict().
mmm.plot
mmm.plot returns MMMPlotSuite.
Direct import path:
PanelMMM binds this automatically to the model’s idata, but the class also
supports compatible custom InferenceData objects.
Main methods:
| Method | Purpose |
|---|---|
posterior_predictive(...) |
Plot fitted or sampled predictive series |
prior_predictive(...) |
Plot prior predictive series |
residuals_over_time(...) |
Plot residual trajectories |
residuals_posterior_distribution(...) |
Plot residual posterior distributions |
contributions_over_time(...) |
Plot time-series contributions |
posterior_distribution(...) |
Plot posterior violin distributions |
channel_parameter(...) |
Plot channel-level parameter posteriors |
prior_vs_posterior(...) |
Compare prior and posterior distributions |
saturation_scatterplot(...) |
Plot spend-versus-contribution scatter views |
saturation_curves(...) |
Plot sampled saturation curves |
waterfall_components_decomposition(...) |
Plot waterfall decompositions |
media_contribution_over_time(...) |
Plot stacked media contributions |
channel_contribution_share_hdi(...) |
Plot contribution share intervals |
budget_allocation(...) |
Plot optimisation allocation outputs |
allocated_contribution_by_channel_over_time(...) |
Plot simulated allocation contributions |
Direct idata utilities
The abacus.data.idata package also exports schema and utility helpers:
| Import | Purpose |
|---|---|
MMMIdataSchema |
Expected structure for retained MMM InferenceData |
VariableSchema |
Variable-level schema helper |
InferenceDataGroupSchema |
Group-level schema helper |
filter_idata_by_dates(...) |
Filter idata on a date window |
filter_idata_by_dims(...) |
Filter idata on non-date dimensions |
aggregate_idata_time(...) |
Aggregate idata over time |
aggregate_idata_dims(...) |
Aggregate idata over non-time dims |
subsample_draws(...) |
Subsample posterior draws |