Open-source MMM libraries compared: Robyn, Meridian, PyMC-Marketing and more

Every serious open-source marketing mix modeling library, checked against its own repository in October 2026, with a filterable table and a five-question picker for where to start.

Mike Taylor By Mike Taylor · Updated · 8 min read

The main open-source MMM libraries in October 2026 are Google’s Meridian, PyMC Labs’ PyMC-Marketing and Meta’s Robyn, with Uber’s Orbit as a specialist option for effects that change over time and Google’s LightweightMMM now archived. Meridian and PyMC-Marketing are Bayesian Python libraries that handle regional data and experiment calibration; Robyn is an R package built on ridge regression with an automated hyperparameter search, and it’s the one most marketers met first.

When I built the Vexpower MMM path, I taught Robyn in R and then LightweightMMM and Orbit in Python, which seemed like the obvious line-up at the time. One of those three has since been archived and another has slowed right down, which tells you something about this corner of open source: The code is free, but the libraries are maintained by marketing science teams whose priorities move, and you’re the one left holding a model when they do. So rather than list features from memory, I went through each repository, its PyPI or CRAN page and its changelog on 24 October 2026 and wrote down what’s actually there. If you’re new to the method itself, start with what marketing mix modeling is and come back.

The open source MMM tools side by side

The table covers the six libraries that fit a marketing mix model and the seven that run or analyze the experiments you’ll want to calibrate the model with. Filter by what your team needs, sort by release date to see who is still shipping, and tap any row for the adstock and saturation options, optimizer and license.

Interactive
Compare the open-source MMM libraries

Filter and sort thirteen libraries for marketing mix models and the experiments that calibrate them. Tap a row for adstock, saturation, optimiser and licence details.

Language Method Geo Calibration Status
Facts checked against each project's GitHub repository, PyPI and CRAN on 24 October 2026. Stars are GitHub stars on that date. “Maintenance” means fixes but no recent release; “Inactive” means no commits for over a year. For experiment tools, “calibration support” means the tool hands its result to an MMM directly. Dates are the latest release, or the last commit where a project has never tagged a release.
Picker
Which library should I start with?

Five questions about your team and your data. The recommendation updates as you answer.

  1. Which language does your team work in?

  2. What level is your sales and spend data?

  3. Do you have lift tests or geo experiments to calibrate with?

  4. How do you feel about Bayesian modeling (priors, MCMC diagnostics)?

  5. What matters most right now?

A rule-of-thumb scoring of the libraries above, not a benchmark of model accuracy. Every library here can produce a bad model with bad data.

A few things jump out once you sort by latest release. Meridian, PyMC-Marketing and GeoX all shipped in the last two months, Orbit in May, and everything else is in some form of maintenance or retirement. GitHub stars are a poor guide here: Orbit has the most, but most of those people came for the forecasting, not the marketing mix modeling, and CausalImpact’s count reflects a decade of use far outside marketing.

Meridian: Google’s Bayesian geo-level MMM

Meridian is Google’s official MMM, released publicly in January 2025 and now on version 2.1.0 (17 September 2026). It’s a Bayesian model sampled with NUTS (the No-U-Turn Sampler, the standard MCMC algorithm for this kind of model), built to run either nationally or as a hierarchical geo model where each region gets its own estimates that are pulled towards a shared average. Adstock is geometric or binomial decay and saturation is a Hill curve, which keeps the shapes interpretable. What sets it apart is the calibration story: you can set priors directly on ROI, marginal ROI or contribution, and version 2.0 added calibration from incrementality experiments, including the new Meridian GeoX library for designing and analyzing geo tests. It also handles reach and frequency data, and there’s a Scenario Planner for budget conversations.

The trade-offs are practical rather than statistical. Meridian’s README recommends at least one GPU, version 2.0 switched the default backend from TensorFlow to JAX with a handful of breaking changes, and Google says it answers GitHub questions in weekly batches and rarely merges outside pull requests because the code is tied to internal systems. From what I’ve seen, the teams who do best with Meridian are Python teams with regional data and at least one experiment to anchor the priors. If that’s you, it’s the strongest default in 2026.

PyMC-Marketing: the flexible Bayesian toolbox

PyMC-Marketing is maintained by PyMC Labs, the consultancy around the PyMC probabilistic programming project, and it shipped version 1.3.0 on 22 October 2026. Its MMM started from the same Google paper as Meridian (Jin et al. 2017), but it has grown into a toolbox where nearly every part is swappable. Reading the source, the adstock options are geometric, delayed, binomial and two Weibull forms, and the saturation options include logistic, Hill, Michaelis-Menten, tanh, root and log curves, or one you write yourself. It supports lift-test calibration and ROAS or cost-per-acquisition calibration, time-varying baselines and media effects, multidimensional models across geos or any other split, and a budget optimizer.

That flexibility is the reason to choose it and the reason to be careful. You have to make more decisions than with Meridian or Robyn, and every one of them is a prior or a functional form that changes the answer. It also requires Python 3.12 or later and PyMC 6, so it won’t drop into an older environment. If your team already knows PyMC, or wants to model something the other libraries don’t (a funnel where awareness drives search, say), this is where I’d start.

Robyn: Meta’s semi-automated R package

Robyn is the library that made open-source MMM mainstream in marketing departments. It’s an R package from Meta Marketing Science that fits a ridge regression and uses Nevergrad, Meta’s gradient-free optimization library, to search adstock and saturation hyperparameters against two objectives at once: NRMSE for prediction error and DECOMP.RSSD, which penalizes models whose share of effect strays far from share of spend. Add experiment results and a third objective, MAPE.LIFT, pulls the model towards them. Adstock can be geometric or one of two Weibull shapes, saturation is Hill, and the budget allocator answers either “best split for this budget” or “what budget hits this target ROAS”.

Robyn hands you a Pareto front of models that trade fit against plausibility, and you pick one. I like that, because it makes the analyst’s judgment visible instead of hiding it in a default. However, development has slowed: The latest CRAN version is 3.12.1 from 2 July 2025, and the main branch hasn’t changed since June 2025. There’s a Python port (robynpy, still in beta) whose own README says it was translated from R using LLMs such as Llama, so I’d treat it as experimental. Robyn also models one national series, so regional data has to be aggregated or modeled region by region.

Orbit KTR: when channel effects drift over time

Orbit is Uber’s Bayesian forecasting library, and it’s on this list because of one model: Kernel-based Time-varying Regression (KTR), described in a paper by Edwin Ng, Zhishi Wang and Athena Dai with marketing mix modeling as the application. Instead of one coefficient per channel for the whole period, KTR lets the coefficient move smoothly over time, which is closer to how a channel really behaves when creative, targeting and competition change. It’s fitted with variational inference through Pyro, and you can add time-windowed priors on a coefficient (coef_prior_list), which is a neat way to tell the model what a lift test found in a particular month.

Orbit is actively maintained (version 1.1.5.1, 22 May 2026) but it’s not an MMM package. There’s no adstock, no saturation, no decomposition plot and no budget optimizer, so you build those yourself or around it. I taught Orbit on Vexpower because it forces you to think about time-varying effects, and that’s still the reason to reach for it.

LightweightMMM and MaMiMo: read them, don’t build on them

Google’s LightweightMMM was the go-to Bayesian MMM in Python from 2022 until Meridian arrived. The repository is now archived, the README says it’s no longer supported and recommends switching to Meridian, and the last release was 0.1.9 in May 2023. If you have an LMMM model in production, Google publishes a migration guide, and the LightweightMMM page maps the concepts across.

MaMiMo, by Robert Kübler, is a small Python library that packages carryover and saturation as scikit-learn transformers, so you can drop them into a pipeline with any regressor. It’s very readable and a good way to understand how the pieces fit together. However, it hasn’t had a release since June 2023 and the repository doesn’t declare a license, which in practice means you shouldn’t put it in a work codebase without asking the author.

The experiment libraries that keep your model honest

An MMM is an observational model, so it can be confidently wrong when spend and demand move together. Experiments are how you check it, and the open-source options split by language. In Python, Meridian GeoX (Google, version 1.0.1, September 2026) designs and analyzes geo tests, including multi-cell designs, and hands the result to Meridian as an ROI prior. CausalPy from PyMC Labs covers synthetic control, difference-in-differences, interrupted time series and more, Bayesian by default with an OLS option. Google’s older matched_markets (time-based regression) and trimmed_match (the Trimmed Match estimator for paired geo experiments) are both labeled “for research purposes only”, and trimmed_match hasn’t changed since 2023.

In R, Meta’s GeoLift uses augmented synthetic control to pick test markets, run power analysis and read out a geo lift test; it gets fixes but hasn’t tagged a release since May 2023. Google’s CausalImpact (version 1.4.1 on CRAN, September 2025) remains the standard way to ask what would have happened without an intervention, and tfp-causalimpact is its Python port. Whichever you use, the output is a lift estimate with an interval, which is exactly what Robyn, Meridian and PyMC-Marketing know how to consume.

Which open-source MMM should you start with?

Most of the choice comes down to five things: the language your team writes, whether your data is national or regional, whether you have experiments to calibrate with, how comfortable you are with Bayesian diagnostics, and what you need first. Work through the picker with your own answers.

In my experience the library matters less than people expect and the data matters more. A Robyn model and a Meridian model fitted to the same clean data with sensible controls usually tell a similar story about which channels are strong and which are saturated; the differences show up in the intervals and the edge cases. A badly specified model in any of them, with seasonality left out or a promotion missing, will be wrong in the same direction. That’s why I’d always fit a simple model from scratch first, in Python, R or even Excel, so you know what a reasonable answer looks like before a package hands you one.

Free software isn’t free MMM

None of these libraries charges a license fee, but that’s rarely the expensive part. The cost is the weeks spent assembling clean weekly spend and sales data, choosing controls, checking the decomposition against what the business knows, and refreshing the model every quarter. That’s why plenty of companies that start on open source end up paying a vendor or a consultancy to run the model for them. The build vs buy page has a calculator for that trade-off, and the MMM software directory covers the commercial tools.

I’ve left a few things out on purpose. Commercial platforms aren’t open source, even when they publish example code, so they’re in the vendor directory instead, and abandoned tutorial repositories with a few hundred stars aren’t libraries you’d run a budget on. If you want to try two of the libraries above side by side, the practice dataset below is small enough to fit in any of them in minutes.

csv
MMM practice dataset104 weeks of synthetic revenue, search, social and video spend and a promotion flag. Invented data for learning.
Download

If you’d rather learn the method by building it, the Vexpower MMM course walks through one invented brand from brief to budget decision, and the open-source libraries make a lot more sense once you’ve seen every step done by hand.

Downloads

csv
Practice dataset (CSV)104 weeks of synthetic revenue, three channels and a promotion flag, for trying any of these libraries side by side.
Download

Frequently asked questions

What is the best open source MMM library?

There isn't one best library, because they make different trade-offs. In October 2026 the three most active are Google's Meridian (Bayesian, geo-level, Python), PyMC-Marketing (Bayesian, the most flexible, Python) and Meta's Robyn (ridge regression with automated hyperparameter search, R). Pick on your language, whether you have regional data, and whether your team is comfortable with Bayesian diagnostics.

Is Robyn or Meridian better?

Robyn suits an R team with national weekly data that wants a semi-automated first model and is happy choosing from a set of candidate models. Meridian suits a Python team with regional data, experiment results to use as ROI priors, or reach and frequency data. Meridian is under heavier development in 2026; Robyn's last CRAN release was in July 2025.

Is LightweightMMM still supported?

No. Google archived the LightweightMMM repository and its README says the library is no longer supported, recommending Meridian instead. The last release was version 0.1.9 in May 2023.

Can I do marketing mix modeling in Python for free?

Yes. Meridian, PyMC-Marketing and Orbit are free, open-source Python libraries under the Apache 2.0 license, and you can also build a simple MMM from scratch with numpy, pandas and scipy. The cost is your team's time to prepare data, check the model and act on it, not the software.

What is Uber Orbit used for in MMM?

Orbit is Uber's Bayesian time-series library. Its Kernel-based Time-varying Regression (KTR) model lets coefficients change over time, which Uber has written about for marketing mix modeling. Orbit has no built-in adstock or saturation, so you transform the media inputs yourself before fitting.

References

  1. Robyn, GitHub repository and README (Meta Marketing Science) Ridge regression, Nevergrad, Python beta port, MIT licence, contacts.
  2. Robyn features documentation Geometric and Weibull adstock, Hill saturation, NRMSE / DECOMP.RSSD / MAPE.LIFT objectives, allocator scenarios.
  3. Robyn on CRAN Version 3.12.1, published 2 July 2025.
  4. Meridian, GitHub repository, README and CHANGELOG (Google) Version 2.1.0 (17 September 2026); JAX default backend and experiment calibration in 2.0.0.
  5. Meridian documentation
  6. Meridian GeoX, GitHub repository (Google) Version 1.0.1, 3 September 2026.
  7. PyMC-Marketing, GitHub repository and README (PyMC Labs) Version 1.3.0, 22 October 2026; adstock and saturation classes read from the source.
  8. LightweightMMM, GitHub repository (Google, archived)
  9. Orbit, GitHub repository (Uber) Version 1.1.5.1, 22 May 2026; KTR uses Pyro SVI and supports time-windowed coefficient priors.
  10. Ng, Wang and Dai, Bayesian Time Varying Coefficient Model with Applications to Marketing Mix Modeling (arXiv 2106.03322)
  11. MaMiMo, GitHub repository (Robert Kübler)
  12. GeoLift, GitHub repository (Meta)
  13. CausalImpact on CRAN and GitHub (Google)
  14. tfp-causalimpact, GitHub repository (Google)
  15. CausalPy, GitHub repository (PyMC Labs)
  16. matched_markets, GitHub repository (Google)
  17. trimmed_match, GitHub repository (Google)
Mike Taylor
Mike Taylor

I've built marketing mix models for Monzo Bank, Booking.com, Time Out, The AA and others, advised Google, Appsflyer and Recast on MMM, and teach marketing mix modeling on LinkedIn Learning. Before that I co-founded a 50-person growth marketing agency. I write the Vexpower MMM course.

Keep reading

Learn MMM by doing itThe Vexpower course walks through thirty lessons on one invented brand, with simulators, Python labs and a decision case you can defend.
See the course