Plots
Purpose
This section documents every plot the DSAMbayes runner produces. Each page covers one pipeline stage, describes what the plot shows, explains when and why the runner generates it, and gives practical interpretation guidance. The target reader is a modelling operator or analyst who needs to assess run quality without reading source code.
Pipeline stages
The runner writes artefacts into timestamped directories under results/. Plots are organised into six stages, each with its own subdirectory:
Stage
Directory
Role
Page
Pre-run
10_pre_run/
Data quality and input sanity checks before fitting
Pre-run plots
Model fit
20_model_fit/
Posterior summaries and fitted-vs-observed visualisations
Model fit plots
Post-run
30_post_run/
Response decomposition and predictor contributions
Post-run plots
Diagnostics
40_diagnostics/
Residual analysis, boundary monitoring, posterior predictive checks
Diagnostics plots
Model selection
50_model_selection/
LOO-CV diagnostics for model comparison and calibration
Model selection plots
Optimisation
60_optimisation/
Budget allocation, response curves, efficiency comparisons
Optimisation plots
Plot catalogue
All plots listed below map to files in docs/images/ and to actual runner output filenames.
Pre-run (10_pre_run/)
Filename
Description
Type
media_spend_timeseries.png
Stacked area chart of channel spend over time
Descriptive
kpi_media_overlay.png
KPI and total media spend on dual axes
Descriptive
vif_bar.png
Variance inflation factor per predictor
Diagnostic
Model fit (20_model_fit/)
Filename
Description
Type
fit_timeseries.png
Observed vs fitted response over time with credible band
Descriptive
fit_scatter.png
Observed vs fitted scatter with 45-degree reference
Descriptive
posterior_forest.png
Coefficient estimates with 90% credible intervals
Descriptive
prior_posterior.png
Prior-to-posterior shift for media coefficients
Descriptive
Post-run (30_post_run/)
Filename
Description
Type
decomp_predictor_impact.png
Total contribution per model term (bar chart)
Descriptive
decomp_timeseries.png
Stacked media contribution over time
Descriptive
Diagnostics (40_diagnostics/)
Filename
Description
Type
ppc.png
Posterior predictive check fan chart
Diagnostic
residuals_timeseries.png
Residuals over time
Diagnostic
residuals_vs_fitted.png
Residuals vs fitted values
Diagnostic
residuals_hist.png
Residual distribution histogram
Diagnostic
residuals_acf.png
Residual autocorrelation function
Diagnostic
residuals_latent_acf.png
Latent-scale residual ACF (log-response models)
Diagnostic
boundary_hits.png
Share of posterior draws near coefficient boundaries
Diagnostic/Gating
Model selection (50_model_selection/)
Filename
Description
Type
pareto_k.png
Pareto-k diagnostic scatter from PSIS-LOO
Diagnostic/Gating
loo_pit.png
LOO probability integral transform histogram
Diagnostic
elpd_influence.png
Pointwise ELPD contributions over time
Diagnostic
Optimisation (60_optimisation/)
Filename
Description
Type
budget_response_curves.png
Channel response curves with current/optimised points
Decision
budget_roi_cpa.png
ROI or CPA comparison (current vs optimised)
Decision
budget_impact.png
Spend reallocation and response impact diverging bars
Decision
budget_contribution.png
Absolute response comparison by channel
Decision
budget_confidence_comparison.png
Posterior credible intervals for allocations
Decision
budget_sensitivity.png
Sensitivity of optimised allocation to budget changes
Decision
budget_efficient_frontier.png
Efficient frontier across budget levels
Decision
budget_kpi_waterfall.png
KPI waterfall from reference to optimised allocation
Decision
budget_marginal_roi.png
Marginal ROI curves at the optimised point
Decision
budget_spend_share.png
Spend share comparison (current vs optimised)
Decision
Source code references
Plot generation is implemented across three files:
R/runner_fit_plots.R — pre-run, fit, diagnostics, and model selection plots
R/optimise_budget_plots.R — budget optimisation plots
R/run_artifacts.R — stage map and orchestration
R/run_artifacts_enrichment.R — wiring for fit-stage and pre-run plots
R/run_artifacts_diagnostics.R — wiring for diagnostics and model selection plots