Robyn vs Meridian vs PyMC-Marketing: how the three open-source MMM libraries compare

Robyn, Meridian and PyMC-Marketing are the three most widely used open-source marketing mix modeling libraries, from Meta, Google and PyMC Labs. Robyn uses ridge regression and returns point estimates. Meridian and PyMC-Marketing are Bayesian and return a probability distribution for each channel's effect. All three are free and need a data team to run.

The choice usually comes down to three questions: whether you need to report uncertainty, which language and data stack your team works in, and whether you model many markets at once. This page describes each library in its own words, compares them on seven dimensions, explains why uncertainty is usually the deciding difference, covers how each takes in experiment results, notes what happened to LightweightMMM, and sets out which team each library suits and when a commercial platform is the better choice.

Robyn, from Meta

Robyn describes itself as an experimental, AI/ML-powered and open-sourced marketing mix modeling package from Meta Marketing Science. It uses ridge regression, a regularised form of linear regression, with an automated search over adstock and saturation settings using Meta's Nevergrad optimiser, and Prophet to decompose trend and seasonality.

It produces many candidate models and lets the analyst choose among them, and it can take experiment results as calibration inputs. Its repository states that Robyn is available in R and Python.

Its output is a set of point estimates for each channel, with a budget allocator built on them. It does not return a probability distribution for each effect.

Meridian, from Google

Meridian describes itself as an open-source marketing mix model built by Google, designed for causal inference and for estimating the true causal impact of marketing. It is Bayesian, built in Python on TensorFlow Probability and JAX, and it supports calibration with experiment results across channels.

Its repository describes it as capable of handling large scale geo-level data, while also usable for national-level modeling, and documents the use of reach and frequency data to optimise ad frequency. It replaced Google's earlier LightweightMMM, which is no longer supported.

Its output is a posterior distribution for each channel's effect, with credible intervals and budget optimisation built on them.

PyMC-Marketing, from PyMC Labs

PyMC-Marketing describes itself as an open-source Python library for Bayesian marketing analytics, built and maintained by PyMC Labs, covering marketing mix modeling and customer lifetime value, with full Bayesian uncertainty quantification.

It is built on PyMC, a general probabilistic programming library, which gives the analyst wide control over the model's structure and priors. Its documentation includes a geo-level example, and it can take lift-test results as calibration inputs.

Its output is a posterior distribution for each effect, and it sits alongside customer lifetime value and customer choice models in the same library.

The three compared, dimension by dimension

Statistical approach. Robyn: ridge regression, which is frequentist. Meridian and PyMC-Marketing: Bayesian.

Output. Robyn: point estimates. Meridian and PyMC-Marketing: posterior distributions with credible intervals.

Language. Robyn: R and Python, according to its repository. Meridian: Python with TensorFlow Probability and JAX. PyMC-Marketing: Python with PyMC.

Prior knowledge. Robyn: supplied through calibration constraints and hyperparameter ranges. Meridian and PyMC-Marketing: supplied as priors on each parameter.

Geo modeling. Meridian's documentation emphasises large-scale geo-level data. PyMC-Marketing documents a geo-level example. Robyn's documentation centres on its automated model search.

Flexibility. PyMC-Marketing, built on a general probabilistic programming library, leaves the most room to define the model's structure. Meridian's documentation describes a defined model with many configurable options. Robyn's documentation describes an automated search over many candidate models.

Speed. Robyn fits quickly. The Bayesian libraries use sampling and take longer, especially with many channels and regions.

Why uncertainty is usually the deciding difference

The practical difference that matters most in a planning meeting is what happens when someone asks how confident the model is.

With Robyn, the answer rests on the spread of results across the candidate models the search produced, and on the analyst's judgement in choosing one. With Meridian and PyMC-Marketing, the answer is part of the output: each channel's effect comes as a distribution, so the model can state how likely a channel is to return more than it costs, and a budget plan can show a range of outcomes.

For teams whose results are reviewed by finance or by a client's data team, that difference often decides the choice before language does.

It also changes how results are presented. A point estimate fits a single number on a slide. A distribution needs a range, and a planning process has to be ready to discuss ranges. Teams moving to a Bayesian library often find the reporting change takes longer than the modeling change.

How each takes in experiment results

All three accept experiment results, which matters because a model fitted to history alone can mistake a channel that moved with demand for one that drove it.

Robyn uses experiment results as calibration constraints during its model search, favouring candidate models whose estimates agree with the tests. Meridian and PyMC-Marketing can express a measured lift as a prior or a likelihood term on that channel, so the result shapes the fitted model directly.

None of the three designs or runs experiments. The team has to plan the tests, run them and translate the results into the form each library expects.

That translation is where errors creep in. A lift measured over a four-week test in a set of regions has to be converted into an effect the model can compare with its own estimate for the same period and spend level. Getting the units and the period right matters more than which library receives it.

If you built on LightweightMMM

LightweightMMM was an earlier Google library. Its repository notes that as of 29 January 2025 Google released Meridian as its official Bayesian marketing mix model, that LightweightMMM is no longer supported, and that switching is highly recommended. It also notes that LightweightMMM was not an official Google product.

Teams still on it should plan a move. Meridian is the direct successor, and PyMC-Marketing is the other Bayesian option.

Meridian's repository points LightweightMMM users to a migration guide. The main work is re-expressing the priors and data structure, then running the old and new models on the same period to see where estimates differ and why. A model that is no longer supported still runs, which is what makes delaying the move tempting and the eventual break harder to plan for.

When an open-source library is the better choice

An open-source library is the better choice when the team has modeling skills and engineering time, wants full control over the method and the code, and can maintain the model for years. It is also the cheapest way to learn how marketing mix modeling works on your own data.

Robyn suits R teams that want quick, automated model search and are comfortable with point estimates. Meridian suits Python teams in the Google data ecosystem with many regions to model. PyMC-Marketing suits Python teams that want the most control over model structure and priors, or customer lifetime value models alongside.

When a commercial platform is the better choice

A commercial platform is the better choice when the team does not have spare modeling capacity, when results are needed quickly, or when the model has to keep working after the person who built it leaves. None of the three libraries ships a user interface, platform connectors or a support contract, and those are the parts that take most of the effort over time.

Many teams combine the two: an open-source model maintained by an analyst for exploration, and a platform for the numbers that go into planning. The open-source model then acts as an independent check on the platform.

What none of the three provides

None of the three ships a user interface, platform connectors or a support contract. Data pipelines, scheduled refreshes, reporting and maintenance are the team's work.

None of them designs or runs experiments, although all three can use the results. Choosing regions, protecting a test window and reading the outcome are the team's work on every one of them.

And none of them makes a model causal on its own. All three learn from historical variation, and experiments are what separate cause from coincidence.

How to choose

You need to report uncertainty, or results face outside review: Meridian or PyMC-Marketing.

You work in R and want fast, automated model search: Robyn.

You model many regions in the Google data stack: Meridian.

You want the most control over model structure and priors: PyMC-Marketing.

You have no spare modeling capacity: a commercial platform.

How Cassandra relates to these libraries

Cassandra is a marketing mix modeling platform whose production engine is Bayesian: the same side of the fork as PyMC-Marketing, which is the library the engine is built on. It is not built on Meridian.

What differs from the libraries is the layer around the model: connectors, scheduled refreshes, planning tools and support. Geo experiments run in the same system and their results constrain the model. Reads sit at campaign level, in the planning layer.

A price is published, which is the number to weigh against the cost of building on a library.

Moving between libraries

Moving from Robyn to a Bayesian library is the most common switch, usually because the business wants uncertainty in its reports. The cleaned data carries over, and Robyn's results give a reference point. Expect wider ranges for thin channels, and explain them before the first review.

Moving between Meridian and PyMC-Marketing is mostly a matter of re-expressing the model structure and priors. Run both on the same period and compare channel by channel before retiring the old one.

Keep a record of every experiment in a form that does not depend on any library, so the evidence survives a change of tool.

Budget for a parallel period of at least one full planning cycle. The first question after any switch is why a channel's number moved, and the answer is much easier to give when both models have run on the same weeks and the difference can be traced to a specific assumption.

Questions

Is Robyn Bayesian?

No. Robyn uses ridge regression with an automated hyperparameter search, and returns point estimates. Meridian and PyMC-Marketing are Bayesian.

What is the difference between Meridian and PyMC-Marketing?

Both are Bayesian Python libraries. Meridian is Google's, built on TensorFlow Probability and designed for geo-level data. PyMC-Marketing is from PyMC Labs, built on PyMC, and gives more control over model structure.

Is LightweightMMM still supported?

No. Its repository states that LightweightMMM is no longer supported and recommends switching to Meridian.

Which open-source MMM library is best?

It depends on the team. Robyn suits R teams wanting fast model search, Meridian suits geo-level modeling in the Google stack, and PyMC-Marketing suits teams wanting maximum control over a Bayesian model.

Do open-source MMM libraries run experiments?

No. All three can use experiment results for calibration, but designing and running the tests is left to the team.