Skip to content

AMMM Output Schema

This schema documents canonical AMMM V2 outputs and their stage locations.

results/
├── 00_run_metadata/
├── 10_pre_diagnostics/
├── 20_model_fit/
├── 30_model_assessment/
├── 40_decomposition/
├── 50_diagnostics/
├── 60_response_curves/
├── 70_optimisation/
└── 80_interpretation/

Defined in src/utils/file_utils.py:

  • STAGE_RUN_METADATA = "00_run_metadata"
  • STAGE_PRE_DIAGNOSTICS = "10_pre_diagnostics"
  • STAGE_MODEL_FIT = "20_model_fit"
  • STAGE_MODEL_ASSESSMENT = "30_model_assessment"
  • STAGE_DECOMPOSITION = "40_decomposition"
  • STAGE_DIAGNOSTICS = "50_diagnostics"
  • STAGE_RESPONSE_CURVES = "60_response_curves"
  • STAGE_OPTIMISATION = "70_optimisation"
  • STAGE_INTERPRETATION = "80_interpretation"
StageRepresentative artefacts
00_run_metadata/config.txt, git_sha.txt, model_metadata.json, output.txt
10_pre_diagnostics/stationarity_summary.csv, vif_summary.csv, transfer_entropy_summary.csv, prior_predictive_check.png
20_model_fit/model.nc, model.dill, model_summary.csv, model_trace.png, posterior_forest.png
30_model_assessment/model_fit_predictions.png, model_fit_metrics.csv, posterior_predictive_check.png
40_decomposition/all_decomp.csv, waterfall_plot_components_decomposition.png, media_contribution_per_spend.csv
50_diagnostics/convergence_report.json, calibration_report.json, pareto_k_summary.json, rank_trace.png
60_response_curves/response_curves.png, all_response_curves.csv, response_curve_fit_combined.csv
70_optimisation/optimization_results.csv, budget_scenario_results.csv, multiperiod_optimization_results.csv
80_interpretation/ammm_report.md, business_report.md, llm_interpretations.json
FileFieldMeaning
50_diagnostics/convergence_report.jsonconvergedconvergence gate outcome
50_diagnostics/calibration_report.jsonwell_calibratedcalibration gate outcome
50_diagnostics/pareto_k_summary.jsonokPareto-k reliability outcome

diagnostics_gating (config) supports:

  • strict
  • warn
  • off

strict halts pipeline progression on failed convergence diagnostics in the workflow executor.

  • Filenames are source-truth values and should be treated as stable output contracts for downstream tooling.
  • Diagnostic adequacy does not establish causal validity.

For the full authoritative catalogue, see docs/results_schema.md.