learn
/
mmm
Free Marketing Mix Modeling Software: Three Open Source Tools and Cassandra
Free MMM software: Google Meridian, Meta Robyn and PyMC-Marketing, what each needs in data and skills, and a hosted option that does the work for you.
By Gabriele Franco, co-founder of Cassandra


Get one practical idea every week to grow with the same team
By Gabriele Franco, founder of Cassandra. Updated 22 October 2026.
What marketing mix modeling is
Marketing mix modeling (MMM) is a statistical method that estimates how much each marketing channel added to sales or another business result. It works on totals over time, such as weekly spend per channel and weekly sales, not on tracking single users. Teams use the results to decide how to split the next budget across channels.
If you search for free MMM software, you will find three well known open source projects: Google Meridian, Meta Robyn and PyMC-Marketing. Each is free to use under its license, and each asks for data, skills and time. Below, each tool is described from its own documentation, read on 22 October 2026. None of the three gives a build time.
Three open source MMM tools
Google Meridian
What it is: Google describes Meridian as "an MMM framework that enables advertisers to set up and run their own in-house models." Its documentation says a Bayesian model sits at its core, and it includes optimization and scenario planning. It can model reach and frequency for video, and it works with geo level or national data.
License and language: Apache 2.0, written for Python. The repository says Python 3.11 to 3.13 is required, and you install it with pip.
Data: The data guide recommends geo level data, with at least two years of weekly data for geo level models and three years for national models. You need a KPI such as sales, media exposure and spend for each channel, and control variables. Revenue per KPI and population per region are optional. The dataset must have no missing values.
Skills and hardware: You work in Python code. The repository recommends at least one GPU and says it was tested on a T4 GPU with 16 GB of RAM.
Experiments: Results from experiments such as geo tests can be turned into ROI priors for the model. The documentation notes there is "no single formula" for that step, so it takes judgement.
Links: Meridian documentation and Meridian on GitHub.
Meta Robyn
What it is: Robyn is an experimental, semi automated MMM package from Meta Marketing Science. It uses ridge regression and an evolutionary algorithm to tune its settings, and it includes a budget allocator. Its documentation says it calibrates models with ground truth results such as geo tests and lift studies.
License and language: MIT, written in R. You install it from CRAN, and it also needs the Python library Nevergrad. A Python API is in beta and still needs the R package installed.
Data: The analyst guide asks for at least two years of weekly data. It recommends about ten observations for every variable in the model, so more channels need more history.
Skills: The guide says an in-house model needs analytical or data science skills, and that analysts still play a key role in fine tuning the settings.
Experiments and refresh: The guide recommends running incrementality studies on a regular basis. Robyn takes a single number from each study as its calibration input. A refresh function adds new data to an existing model.
Links: Robyn documentation and Robyn on GitHub.
PyMC-Marketing
What it is: A Python library for Bayesian marketing analytics, built and maintained by PyMC Labs. Its MMM covers carryover effects (adstock), diminishing returns (saturation), your own priors, effects that change over time, calibration with lift tests, budget optimization and forecasts with credible intervals.
License and language: Apache 2.0, and the project says it will always be free for commercial use. It needs Python 3.12 or later, and you install it with pip.
Data: The learning path notes that two years of weekly data is about 104 rows. It warns that if your media plan barely changed, the model will mostly return your priors, and it suggests grouping small or closely related channels before you model.
Skills: The learning path assumes you can write basic Python and have seen a regression. It says you do not have to become a statistician, but you do need a few core ideas, such as priors.
Links: PyMC-Marketing documentation and PyMC-Marketing on GitHub.
What doing it yourself involves
All three tools are code libraries. The software is only one part of the work. These are the steps a team goes through with any of them.
Prepare the data. Pull spend and exposure for every channel, your sales or leads, and the things that also move sales, such as price, promotions and holidays. Put them all on the same weekly grid for two years or more. Map campaign names and currencies, and fill or explain every gap.
Set the priors. A Bayesian model starts from what you already believe, for example a plausible return range for each channel or how long an ad keeps working. These choices shape the result, most of all when spend on a channel barely changed.
Check the model. Test it on weeks it has not seen and ask whether each channel result makes sense for the business. Expect a few rounds.
Calibrate with experiments. A model fitted on history can mix up channels that always moved together. A geo experiment, where you hold out some regions and compare them with the rest, gives an independent read. You then feed that result back into the model as a prior or a calibration input, and run new tests as plans change.
Turn it into a budget plan. Run the optimizer with limits that fit your business, such as a minimum spend per channel, then decide what to change and make the changes in each ad account.
Refresh. New weeks, new channels and new prices mean the model needs updating, and sometimes rebuilding. Someone has to own that.
A team with an analyst or data scientist who has time for these steps can run any of the three tools. Pick by language first: Meridian and PyMC-Marketing are Python, Robyn is R. A team without that time may prefer a hosted option.
Cassandra: an option that does it for you
Cassandra is an AI marketing brain for growth teams. It builds a Bayesian marketing mix model, checks it with live geo experiments, then plans budgets and does the work in your ad accounts within the rules your team sets.
The model: Cassandra trains the model on your spend, your sales and what it already knows about your business, and keeps it up to date on its own. It also offers its own implementation of Google Meridian.
The experiments: It designs the geo experiment, launches it in your ad accounts within your rules, reads the result and feeds it back into the model.
The budget plan: The budget allocator turns the model into a plan and, after your approval, applies the new budgets in your ad accounts.
The rules: Your team decides what runs on its own and what waits for approval. Reading data and making changes are separate permissions.
How to start
You can start for free with your website and your data. Add your website so Cassandra learns your brand and products, connect your ad, sales and analytics accounts, and ask for your first growth plan. Paid plans scale with your yearly ad spend: the pricing page asks for last year's media spend and shows the price for each plan.
A customer result
Spedire.com, which its case study describes as "one of the biggest shipping services in Italy," built a marketing mix model in Cassandra and used the Budget Allocator to move budget from Meta ads into Google Search and Google Video. The case study sums up the result in one line: "Same spend. New distribution. +19% transactions, +42% profit." Read the Spedire.com case study.
Frequently asked questions
Is there free marketing mix modeling software?
Yes. Google Meridian, Meta Robyn and PyMC-Marketing are open source and free to use under their licenses: Apache 2.0 for Meridian and PyMC-Marketing, MIT for Robyn. The cost is the time of the people who prepare the data, build the model and keep it up to date.
How much data do I need for a marketing mix model?
The Meridian documentation recommends at least two years of weekly data for a geo level model and three years for a national model. The Robyn guide also asks for at least two years of weekly data, with about ten observations for every variable in the model.
Do I need to code to use the open source MMM tools?
Yes. Meridian and PyMC-Marketing are Python libraries, and Robyn is an R package that also needs the Python library Nevergrad. The PyMC-Marketing learning path assumes you can write basic Python and have seen a regression.
Can I try Cassandra for free?
Yes. You can start for free by adding your website and connecting your ad, sales and analytics data, then asking for your first growth plan. Paid plans scale with your yearly ad spend.