Skip to content
Matthew Reda
Go back

mmm-framework 0.1.0 Is on PyPI

Edit page

The first public release of mmm-framework is live on PyPI. It’s the library I’ve been writing about across most of this blog — a Bayesian marketing-mix modeling framework built around one stubborn idea: that the hard part of measurement is separating coincidence from contribution, and that the tooling should make the honest path the easy one.

pip install mmm-framework

0.1.0, Apache-2.0, Python 3.12+. Docs here, source on GitHub.

What it is

The framework builds on PyMC-Marketing rather than reinventing it, and adds the guardrails I kept wishing for in production work: declared variable roles, refutation checks, and the discipline of pre-specifying a model before you see what it says about your channels. What’s in this first release:

The premise, briefly

If you’ve read the rest of this blog you know the argument. A marketing-mix model answers a causal question — what would sales have been without this media? — and observational data alone can’t fully answer it. So the framework is organized around pre-specification, generative modeling with real predictive checks, and a closed loop where experiments calibrate the model rather than the model marking its own homework. The 0.1.0 library is the modeling core of that; the experiment-prioritization and calibration machinery is what I’m building on top.

0.1.0 means 0.1.0

This is an early release and I’m treating it as one. The API will move, some of the more experimental pieces (nested/mediated models, multivariate portfolio effects) are still settling, and I’d rather ship something honest than something that pretends to be 1.0. If you try it and something is wrong, open an issue — that feedback is exactly what a 0.1 is for.

If you do marketing measurement and you’re tired of models that report tight numbers they haven’t earned, give it a look.


Edit page
Share this post:

Previous Post
The Assumptions Are the Model
Next Post
Measurement Is a Loop, Not a Report