Supported Scenario Surface
Use abacus.scenarios for statistical scenario planning. AMMM3 does not
include a dashboard, UI launcher or dashboard compatibility facade.
Entry points
| Entry point | Purpose |
|---|---|
ScenarioPlanner(mmm) | Evaluate scenarios against a fitted model |
load_planner_run_context(results_dir) | Rebuild a saved fitted run |
WorkspaceService | Persist drafts, evaluations and revisions locally |
run_scenario_recipe(...) | Evaluate and retain a versioned recipe |
python -m abacus.scenarios --results-dir <run> --recipe <yaml> | Run a recipe from the command line |
Existing statistical imports under abacus.scenario_planner remain available.
Estimator restrictions
Time-series scenarios support historical, manual and fixed-budget optimised plans where the corresponding operation contracts are met. FE and CRE support historical and manual media-contribution scenarios for complete fitted-unit panels. They do not support unseen units, calibration or fixed-budget optimisation. CRE interventions retain the fitted between-unit summaries. Named RE remains release-gated.
See the estimator support matrix.
Fitted-run inputs
A saved run needs run_manifest.json and its fit-stage idata artefact. The
loader reconstructs the scenario model only from the retained fitted model.
It does not read the dataset or rebuild the graph from configuration. A missing
or incompatible retained model fails before scenario evaluation; AMMM3 never
falls back to mutable external training inputs.
Configuration is retained as provenance and workflow context. The loader reports it in this order:
00_run_metadata/config.resolved.yaml.00_run_metadata/config.original.yaml.- The copied configuration under
00_run_metadata/. - The manifest’s original
config_path.
External data paths in those files do not affect a complete retained fit. A complete run with in-run metadata and its fit artefact remains usable after the original dataset or configuration has moved or been removed.
External application contract
A retained recipe writes scenario_payload.json. Consumers must:
- Validate
contract_versionagainstSCENARIO_CONTRACT_VERSION. - Preserve
totals,channels,contributions_over_time,allocationsandmetadata. - Check the validation record, estimator manifest and artefact checksums.
- Preserve the declared scale, horizon, history policy and estimand.
- Describe FE/CRE results as posterior media contributions. They are not total outcomes, profits, causal identification evidence or model approval.
The library owns the statistical contract. The separate wrapper owns presentation, authentication, deployment and application persistence.
Local workspace persistence
| Path under a fitted run | Contents |
|---|---|
scenario_planner/workspaces/ | Workspace records and manifests |
scenario_planner/cache/ | Evaluation cache |
scenario_planner/exports/ | Retained export bundles |
scenario_planner/recipes/ | Immutable recipe evidence |
WorkspaceService runs synchronously by default. Its job interfaces allow
custom orchestration; the library does not provide a hosted job service.