Supported surface

Select an interface by its actual model and operational contract. AMMM3 examples are useful methodological references, but their classes, options and saved artefacts cannot be assumed to work in AMMM4.

NeedAMMM4 routeBoundary
Aggregate or dimensioned MMMammm.mmm.MMMPriors define sharing and hierarchy
Multiplicative LogNormal responseOrdinary MMM(link="log")Experimental; median/mean semantics and calibration restrictions
Unit fixed effectsFixedEffectsMMMBalanced unit-only model; narrower operations
Correlated random effectsCorrelatedRandomEffectsMMMExperimental posterior qualification
Experimental calibrationOrdinary MMM calibration methodsSupported contrast, link and persistence only
Python budget optimisationmodel.budget_optimizerConditional local constrained optimum
Retained manual scenariosVersion-1 scenario recipesCompleted runner model; supported labels and windows
YAML optimisation stageNo validated configuration blockReserved directory does not imply execution
Prior sensitivityStage 05 planning, optional stage 75 fitsNot equivalent to an input sweep
AI reviewOptional local/provider evidence reviewNo automatic causal or decision approval
PIESeparate PIEModelAlpha transport prediction across campaigns

Use current plot namespaces (model.plot, optimizer.plot, cv.plot) and the current optimiser result interface. Do not restore removed wrapper classes or legacy module paths to make an old example run. Model loading has no promised AMMM3 compatibility; retain the originating environment or rebuild and refit.

This guide describes support, not comparative accuracy or production capacity. Such claims require a declared workload, evidence design and measured results.

Move a workflow deliberately

Reconstruct the statistical task and its evidence, then select the AMMM4 interface. The mapping below is not a list of compatibility aliases: AMMM4’s explicit public exports are defined at src/ammm/mmm/__init__.py:10.

Previous taskAMMM4 routeMigration check
Ordinary panel MMMMMM(dims=("geo",)) with explicit priorsVerify dimensions, learned pooling versus fixed hyperparameters, signed-max scales and likelihood
Unit fixed effectsFixedEffectsMMM(unit="geo", ...)Check balanced known-unit panel, within estimability and excluded operations; inspect contrast priors and level predictions
Correlated random effectsCorrelatedRandomEffectsMMM(unit="geo", ...)Use the transformed-summary basis and experimental qualification limits; do not transplant old flags or a Wald-test rule
Log-response specificationExperimental ordinary MMM(link="log") through PythonVerify support and median/mean estimand; retained YAML runner rejects it
YAML fittingrunme.py and current typed blocksRebuild trusted class paths and nested priors; verify input/output path resolution and overrides
Saved model reuseMMM.load only for a supported AMMM4 persistence recordNo general AMMM3-to-AMMM4 saved-model converter is provided
Current/manual plansVersion-1 ScenarioRecipe and retained run modeHorizon totals differ from per-period Python budgets; verify history/carryover
Legacy workspaces, job protocol or categorical-time FENo equivalent supported surface in these AMMM4 interfacesRetain the originating runtime or redesign the task explicitly; do not rename classes and assume parity
Budget optimisationOrdinary Python budget_optimizerRecheck objective, bounds, additional variables and monetary conversion; no YAML optimiser block
Exported curve intervalseti_94_lower, eti_94_upper in runner stage 60Update consumers and preserve interval type; do not relabel old HDI columns mechanically

Operation boundaries are implemented at src/ammm/mmm/fixed_effects.py:104, src/ammm/mmm/correlated_random_effects.py:188, src/ammm/pipeline/stages/core.py:130, src/ammm/mmm/scenarios.py:160, src/ammm/mmm/budget_optimizer.py:704 and src/ammm/pipeline/stages/core.py:951. See the changelog for version-specific breaks and the API signatures for the current call surface.

For an unsupported saved format, archive the original environment, source commit, model file and canonical data. Reconstruct channels, controls, labels, dates, transforms, priors, scaling, calibration records and preprocessing; inspect prior predictions, refit, then verify save/load and labelled predictions. Compare estimands and uncertainty under a stated numerical/statistical tolerance rather than requiring identical posterior draws. AMMM4 persistence format 1 validates canonical data and calibration replay; disabling an identity check does not bypass that contract (src/ammm/mmm/persistence.py:62, src/ammm/mmm/mmm.py:970).

Implementation reference at 7cb7f20: src/ammm/mmm/init.py:1, src/ammm/pipeline/stages/core.py:969.