<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Post-Modeling — Abacus Documentation</title>
    <link>/post-modeling/index.html</link>
    <description>Use this section after fitting PanelMMM.&#xA;It covers posterior predictive checks, diagnostics, contribution analysis, response curves, efficiency metrics, and the tabular summary surfaces that Abacus exposes from fitted InferenceData.&#xA;Pages Posterior Predictive: Sample fitted or future predictions and compare them with observed data where available. Diagnostics: Run design-matrix, MCMC, and predictive diagnostics and export machine-readable reports. Contributions and Decomposition: Inspect channel, baseline, control, seasonality, and event contributions. Response Curves: Sample and summarise posterior saturation and adstock curves, and understand the runner’s forward-pass direct contribution artefacts. ROAS and Metrics: Calculate ROAS, CPA-style metrics, spend tables, and predictive error metrics. Summary and Export: Work with MMMSummaryFactory, HDI settings, time aggregation, and DataFrame export.</description>
    <generator>Hugo</generator>
    <language>en-gb</language>
    <atom:link href="/post-modeling/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Diagnostics</title>
      <link>/post-modeling/diagnostics/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/post-modeling/diagnostics/index.html</guid>
      <description>Abacus exposes diagnostics through mmm.diagnostics.&#xA;Use this surface to check the design matrix, posterior sampling quality, and posterior predictive fit. For fitted-value plots and predictive sampling, see Posterior Predictive.&#xA;Diagnostic surfaces mmm.diagnostics provides three groups of checks.&#xA;Area Summary method Report method What it covers Raw input screening design_summary(X) design_report(X) Collinearity, constants, and near-constant regressors on raw input columns MCMC mcmc_summary() mcmc_report() r_hat, ESS, divergences, BFMI, tree depth, acceptance rate Predictive predictive_summary() predictive_report() RMSE, MAE, NRMSE, NMAE, CRPS, residual moments The summary methods return pandas DataFrames. The report methods return typed report objects with a to_dict() method for JSON-ready export.</description>
    </item>
    <item>
      <title>Posterior Predictive Checks</title>
      <link>/post-modeling/posterior-predictive/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/post-modeling/posterior-predictive/index.html</guid>
      <description>Use posterior predictive draws to check in-sample fit and to generate predictions for new rows that follow the fitted panel layout.&#xA;For diagnostic metrics after sampling, see Diagnostics. For table export, see Summary and Export.&#xA;Sample posterior predictive draws Use PanelMMM.sample_posterior_predictive(...) on a fitted model:&#xA;posterior_predictive = mmm.sample_posterior_predictive( X=X, random_seed=42, progressbar=False, ) sample_posterior_predictive(...):&#xA;requires X uses the fitted posterior stored on mmm.idata reshapes X into the model’s panel xarray layout runs pymc.sample_posterior_predictive(...) returns an extracted xarray.Dataset By default, combined=True, so the returned dataset uses a sample dimension. If you want separate chain and draw dimensions, set combined=False.</description>
    </item>
    <item>
      <title>Contributions and Decomposition</title>
      <link>/post-modeling/contributions-and-decomposition/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/post-modeling/contributions-and-decomposition/index.html</guid>
      <description>Abacus stores additive contribution terms for fitted PanelMMM models and exposes them through the data wrapper, summary tables, and plotting suite.&#xA;Use this page to inspect media, baseline, control, seasonality, and event effects. For channel efficiency ratios built from media contributions, see ROAS and Metrics.&#xA;Contribution surfaces You can work with contributions at three levels.&#xA;Surface Use it for mmm.data Raw xarray contribution samples mmm.summary DataFrames with posterior means, medians, and HDIs mmm.plot Time-series and waterfall visualisations Read raw contribution samples The lowest-level accessor is mmm.data.get_contributions(...):</description>
    </item>
    <item>
      <title>Response Curves</title>
      <link>/post-modeling/response-curves/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/post-modeling/response-curves/index.html</guid>
      <description>Use response curves to inspect the fitted media transformations directly.&#xA;Abacus exposes posterior saturation and adstock curves through both the fitted model and mmm.summary. For decomposition of realised contributions over time, see Contributions and Decomposition.&#xA;Sample saturation curves Use sample_saturation_curve(...) on a fitted PanelMMM:&#xA;saturation_curve = mmm.sample_saturation_curve( max_value=1.0, num_points=100, num_samples=500, random_state=42, original_scale=True, ) The returned xarray.DataArray contains:</description>
    </item>
    <item>
      <title>ROAS and Metrics</title>
      <link>/post-modeling/roas-and-metrics/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/post-modeling/roas-and-metrics/index.html</guid>
      <description>Use this page for channel-efficiency outputs and aggregate predictive metrics.&#xA;Abacus separates these into two surfaces:&#xA;mmm.summary and mmm.data for ROAS and cost-per-target outputs mmm.diagnostics for RMSE, MAE, NRMSE, NMAE, and CRPS For contribution tables that feed these ratios, see Contributions and Decomposition.&#xA;Element-wise ROAS and cost per target The lowest-level efficiency accessors live on mmm.data:&#xA;roas_samples = mmm.data.get_elementwise_roas(original_scale=True) cost_per_target_samples = mmm.data.get_elementwise_cost_per_target( original_scale=True, ) These are direct ratios built from fitted media contributions and channel spend:</description>
    </item>
    <item>
      <title>Summary and Export</title>
      <link>/post-modeling/summary-and-export/index.html</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>/post-modeling/summary-and-export/index.html</guid>
      <description>mmm.summary is the retained tabular summary surface for fitted PanelMMM models.&#xA;It is backed by MMMSummaryFactory and returns pandas or polars DataFrames that you can export with normal DataFrame methods.&#xA;For predictive diagnostics and JSON-ready reports, see Diagnostics.&#xA;Use mmm.summary The simplest path is the bound summary factory on the fitted model:&#xA;posterior_df = mmm.summary.posterior_predictive() contributions_df = mmm.summary.contributions(component=&#34;channel&#34;) roas_df = mmm.summary.roas(frequency=&#34;monthly&#34;) mmm.summary already has access to:</description>
    </item>
  </channel>
</rss>