Skip to main content
MilestonePyMC-Marketing 1.0 is here. The first stable API after two years of 0.x. Read our take on what changed and what it means for your MMM.Read the post
Live · pymc-marketing 1.1.0 · released 13d ago

PyMC-Marketing powered MMM

Enterprise marketing mix modeling built on PyMC-Marketing

PyMC-Marketing gives teams a transparent Bayesian modeling engine. SIMBA turns that engine into a practical platform for uploading data, fitting models, reviewing ROI, and optimizing budgets.

PyMC-Marketing pulse

A living, well-maintained open-source project

These numbers reflect public activity in the upstream PyMC-Marketing repository — not SIMBA customer data. We track it so you can see, at a glance, that the engine under SIMBA is moving forward every week.

snapshot Sep 9, 2026

Latest version
1.1.0
released 13d ago
GitHub stars
1.3k
454 open issues
Contributors (90d)
18
83 PRs merged in 30d
Downloads / month
147.2k
via PyPI
PyPI downloads (last 5 complete months)
172.2k-6.2% vs prev. month
peak 183.5k
low 116.4k
Apr 26Aug 26

What's new

Releases & news

Stay current with upstream PyMC-Marketing releases and our own writing on PyMC-Marketing-powered MMM.

1.1.0
Aug 27, 2026

1.1.0

Major Changes 🛠: refactor(budget-optimizer): allocate_budget returns BudgetOptimizationResult. New Features 🎉: feat(mmm): parametrise GeometricAdstock by half-life · refactor(budget-optimizer): BudgetOptimizer accepts pm.Model + DataTree directly · Expand mmm.summary for front…

Read release notes

1.0.0
Aug 7, 2026

1.0.0

PyMC-Marketing v1.0.0 is out. After two years of 0.x releases, this is our stable API. Multidimensional MMM is now the MMM. Geo, product, and channel dimensions are first-class, with one xr.Dataset carrying all inputs. · ~1.5x faster sampling, thanks to model freezing and a stat…

Read release notes

0.19.4
May 6, 2026

0.19.4

New Features 🎉: Add Zarr save/load support to ModelIO (zarr>=3 shim) · Load models without fit data. Documentation 📖: Adding Consideration Sets Model to Mixed Logit · fix grammar in causal approach notebook · fix(docs): convert Resources section from raw HTML to markdown headi…

Read release notes

0.19.3
Apr 16, 2026

0.19.3

New Features 🎉: Update serialization process (#2379) · Support fixed/user-defined scaling factors for stable model refreshes. Bugfixes 🐛: Fix Serialization LogNormal from YAML · Fix: Latex rendering in new Adstock guide. Documentation 📖: Porting causal identification notebook…

Read release notes

0.19.2
Mar 31, 2026

0.19.2

Bugfixes 🐛: Fix MaskedPrior with non-scalar Prior parameters · Fix: IndexError in MultiDimensionalBudgetOptimizerWrapper. Documentation 📖: Adstock documentation - Guide to Adstock Transformations in PyMC-Marketing. Maintenance 🔧: Bump version to 0.19.2

Read release notes

Geo MMM
Marketing Mix Modeling

Should You Build a Geo MMM When Media Is Bought Nationally?

Regional sales do not make national media regional. When a geo MMM adds causal information, why population-apportioned spend fails, and a quick diagnostic.

Aug 28, 2026·14 min read

Bass Diffusion
New Product Launch

Forecasting a Product Launch With No Sales History

A Bass model needs p, q and M before a new product has sold anything. Learn them from previous launches, then update as the first weeks of sales arrive.

Aug 28, 2026·17 min read

Budget Optimisation
Customer Lifetime Value

When Should Your Budget Optimiser Use LTV?

Budget optimisation has two sensible modes. Without a trusted value per acquisition, hold spend fixed and maximise acquisitions. With one, let the budget move.

Aug 28, 2026·10 min read

Marketing Mix Modeling
Hierarchical Models

When Your MMM Won't Mix: Predict the Better Prior Before You Refit It

Compress a reference posterior into Gaussian likelihood messages, solve candidate priors analytically, and predict NUTS ESS before paying for the refit.

Aug 20, 2026·16 min read

Marketing Mix Modeling
Adstock

Half-Life Is Still the Parameter: Extending the Idea to Delayed Adstock

Delayed adstock trades pure decay for build, peak and decay. Keep the half-life parameterisation, and the two questions it lets your team argue about.

Aug 18, 2026·12 min read

Marketing Mix Modeling
Attribution

Who Gets the Credit? Decomposing Multiplicative Marketing Mix Models

Why channel removal effects overlap in a multiplicative MMM, how Shapley and Aumann-Shapley allocate that overlap, and what benchmark tests tell us about the trade-offs.

Aug 13, 2026·14 min read

Built on PyMC-Marketing

Open-source transparency, productionised

PyMC-Marketing gives you the modeling primitives. SIMBA wraps them in a workflow your whole team can use without leaving Bayesian rigour behind.

Priors you can actually inspect

Configure Bayesian priors without writing PyMC code

PyMC-Marketing exposes priors for adstock, saturation, and every coefficient. SIMBA turns that into a typed UI: pick distributions, see live previews, and ship the same model PyMC-Marketing would fit from a notebook.

  • Distribution previews update as you change parameters
  • Smart defaults seeded from your historical spend
  • Every prior is auditable and exportable

Prior builder

PyMC-Marketing
Variable
Distribution
Mean
Decay
Meta_spend
InverseGamma
2.5
0.30
TV_GRPs
TruncatedNormal
1.2
0.45
Search_clicks
HalfNormal
1.8
0.20
OOH_impressions
InverseGamma
0.8
0.15

Each row maps 1:1 to a PyMC-Marketing prior — no translation layer.

Saturation & adstock

tanh + geometric
SpendResponse
Linear assumption
tanh saturation
Real consumer behaviour, not straight lines

Saturation, adstock, and seasonality come built-in

PyMC-Marketing ships first-class transformations for diminishing returns and carry-over effects. SIMBA exposes them in your model spec so you never have to invent your own response curves.

  • Tanh, logistic, and Hill saturation curves
  • Geometric and Weibull adstock for memory decay
  • Fourier seasonality and external regressors

DIY PyMC-Marketing vs SIMBA

AreaDIY PyMC-MarketingSIMBA
Modeling engineOpen-source PyMC-Marketing codePyMC-Marketing powered models in a guided workflow
UsersData scientists and Python usersMarketing science, analytics, and business teams
OutputsCustom notebooks and chartsReusable ROI, response curve, scenario, and optimization views
New

Drive PyMC-Marketing through your AI assistant

The SIMBA MCP Server lets Claude, Cursor, and other MCP-compatible clients fit PyMC-Marketing models, inspect results, and run scenarios using natural language.

Frequently asked questions

Is SIMBA a replacement for PyMC-Marketing?

No. SIMBA is a platform built on PyMC-Marketing for teams that want the transparency of the open-source modeling approach with a product workflow around it.

Can technical teams still inspect assumptions?

Yes. The point of the SIMBA approach is to keep model assumptions visible while making the workflow easier for non-notebook users.

Which version of PyMC-Marketing does SIMBA run?

SIMBA tracks recent stable releases of PyMC-Marketing closely. The PyMC-Marketing pulse on this page shows the upstream version we are aligned with, and we expose the exact version used for any given model run inside the platform.

Is SIMBA a fork of PyMC-Marketing?

No. We use upstream PyMC-Marketing as a dependency — the same package you would install from PyPI. That means our model logic stays in lockstep with the open-source library and you can reproduce a SIMBA model in a Python notebook if you ever need to.

Does SIMBA contribute back to PyMC-Marketing?

Yes. We work closely with PyMC Labs and contribute fixes, examples, and documentation upstream. Building on a well-maintained open-source foundation only works if we help keep it healthy.

Build a more transparent MMM workflow

Talk through your current data, modeling process, and where SIMBA can help.

Book a Strategy Call