Abacus Documentation

ABACUS is a Bayesian MMM library built on PyMC and PyTensor.

The public PanelMMM API includes released named presets for one aggregate time series, one-unit fixed effects (FE), and one-unit correlated random effects (CRE). Start with Choose an Estimator before preparing a panel model. The random-effects (re) preset remains release-gated.

Start with a task

These Markdown pages describe the Abacus checkout they accompany. Open the section indexes directly in your repository viewer or editor; keep the library and documentation at the same revision.

Task Start here
Fit a first model in Python Python quickstart
Execute a small disk-backed run Bounded runner smoke
Choose an estimator and check its restrictions Estimator selection
Evaluate predictions on a held-out time window Blocked holdout validation
Check available scenario operations Supported scenario surface
Run contributor checks Local verification

The YAML builder returns a built model for subsequent fitting and analysis. The runner executes a staged workflow and writes artefacts to disk. Their configuration surfaces differ; use the tutorial for the route you intend to run.

Documentation Sections

  • Getting Started — Installation, quickstarts, first model
  • Data Preparation — Input data requirements and layout
  • Model Specification — Estimator choice, PanelMMM equation, transforms, priors, and calibration
  • Model Fitting — Fitting, prior predictive checks, save/load
  • Post-Modeling — Diagnostics, contributions, response curves, export
  • Optimization — Budget allocation and interpretation
  • Scenario Planning — Scenario specifications, Python and CLI workflows, comparison outputs
  • Pipeline Runner — Structured runner, YAML config, staged outputs
  • FAQ — Econometrics explainers for practitioners
  • Contributing — Architecture, development setup, testing
  • API Reference — Module and class reference