Skip to content

What is Meta Robyn?

Meta Robyn is a free, open-source marketing mix modeling package from Meta's Marketing Science team. It sets weekly sales against spend, promotions and seasons to estimate what each channel added. It needs no cookies, but usually two years of weekly data and an analyst.

By , Founder & CEOUpdated 6 min read

Meta Robyn is a free, open-source marketing mix modeling package from Meta's Marketing Science team, written in R with a Python beta. It reads weekly sales next to weekly ad spend, promotions and seasons, then estimates what each channel added. It needs no cookies, but usually wants two years of weekly data and an analyst.

That is the short version, and it holds up. Robyn is a regression model with a lot of automation bolted on. Meta's docs list the parts. Ridge regression fits the model, the Nevergrad library tunes it, and the Prophet library splits out trend, season and holidays.

On top sits a budget allocator that suggests a new split across channels. Robyn also exports a one-page summary for every model on its shortlist, so you can compare them side by side.

Two things set it apart from the reports you already read. It works on weekly totals, so it needs no personal data, pixels or cookies. And it treats a podcast, a TV spot and a Meta ad alike: as weekly spend or exposure set against weekly sales.

Meta is also clear about who it is for. Its docs call Robyn especially suitable for digital and direct response advertisers with rich data sources. That last phrase matters more than the price tag. The latest stable release on CRAN, version 3.12.1, came out in July 2025.

What one store's data shows

One store's anonymised GA4 export, 1 January 2024 to 21 August 2026. It holds shares of revenue only: no ad spend, no order counts.

What the export showsShare of revenueSource cell
Touched view, every channel added up110.4%Channels sheet, Touched column total
Paid Social, in last click, first click and touched views0.0%Channels sheet, Paid Social row

The first lesson is blunt: this export could not feed Robyn at all. It holds shares of revenue, with no spend column. Robyn requires a spend column for every paid channel before it fits anything.

The second is about arithmetic. On the Channels sheet, the touched view sums to 110.4%, because a journey that touched two channels counts in both. A mix model splits one total instead. Robyn's waterfall chart gives each input a share of revenue, and those percentages sum up to 100%.

Attribution asks which journeys each channel touched. A mix model asks how much of each week's sales each input explains. Those are different questions, so expect different answers.

The third is Paid Social, at 0.0% of revenue on the Channels sheet in every view. The export cannot say whether this store spent anything on Meta. If a store does spend there while GA4 shows nothing, clicks are not catching the effect.

A mix model would look for that effect in weekly sales, because its inputs are spend and impressions, not clicks. So Robyn and GA4 can disagree about Meta and both be doing their jobs.

What the export cannot tell you is what Robyn would find. Without weekly spend, a model has nothing to set sales against.

Why is a free model not cheap?

The code is free, the weeks are not. Meta's guide says to allocate at least 4 weeks for data collection alone. Then come review, tuning and choosing, and those take people.

It does not choose the answer for you. Robyn returns a shortlist of Pareto-optimal models, and Meta deliberately leaves the final pick to the user. Its guide argues that a handful of statistics cannot choose a model for every business. Someone has to know yours well enough to reject the silly ones.

It needs history and movement. The guide asks for a minimum of two years of historical weekly data. It also needs spend that changed. If a channel's spend stayed flat while sales moved, the model has nothing to compare.

The allocator carries a warning label. Meta does not guarantee that the allocator's predicted response will meet business expectations. Its guide asks you to validate the output before you act on it.

What can Robyn not tell you?

Which ad worked. Robyn models the inputs you give it, so one Meta column gets one answer. Split it, say into prospecting and retargeting, if you want two.

Anything about one customer. It sees weekly totals, not journeys, so it cannot say which channels a buyer passed through.

Cause, on its own. Robyn's docs recommend calibrating with experiments, and name Meta's Conversion Lift and Google's Conversion Lift as examples. Without a test, you get a careful fit, not a controlled comparison.

Robyn is not the only free option. Google's Meridian does a similar job with a Bayesian model.

What to do this week

  1. Count your weeks of Meta spend. In Meta Ads Manager, open the Reports drop-down, choose Create custom report and add the Week breakdown under Time. Pass: two full years of weekly spend and impressions. Fail: less than that, while Robyn's guide asks for at least two years of weekly data.
  2. Check that spend moved. In Google Ads, open the Campaigns table, click the segment icon, then Time and Week. Pass: some weeks are clearly higher or lower than others. Fail: a flat line, which leaves a model nothing to compare.
  3. Confirm two years of sales. In Shopify, go to Analytics > Reports and open Total sales over time. Set the date range to the last two years and pick week as the time unit. Pass: every week has a row. Fail: gaps from a migration or a late launch, which you would have to explain before modeling.

Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework

Sources, 1 October 2026: Robyn (Meta); Welcome to Robyn (Meta); Key Features (Meta); An Analyst's Guide to MMM (Meta); Robyn package page (CRAN); An introduction to Meridian (Google); Export and share reports in Meta Ads Reporting (Meta); About breakdowns, metrics and filtering in Meta Ads Reporting (Meta); Use segments in your tables (Google); Setting and comparing time ranges for your reports (Shopify)

Frequently asked questions

  • Is Meta Robyn biased towards Meta ads?
    Its code is open, so anyone can check how it splits credit. It runs the same adstock and saturation steps on every media input. Its docs name both Meta's and Google's Conversion Lift as ways to calibrate it. Your data and settings matter more than who wrote it.
  • What is the difference between Robyn and Meridian?
    Both are free, open-source mix models. Robyn is Meta's, fitted with ridge regression and tuned by an evolutionary optimiser. Meridian is Google's, built on a Bayesian model that takes your prior knowledge, and it supports geo-level data. Both need clean data and someone to run them.
  • Can Robyn measure TV or podcast ads?
    Yes, if you have a weekly spend or exposure series for them. Robyn's guide names gross rating points as the usual input for TV and radio. Meta's docs also note the common view that offline channels carry over longer, so expect higher adstock settings than for digital.

Go deeper: Causal attribution, explained.

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Keep reading

Terms in this article

Browse the full glossary

Your platforms guess.
We run the math.

Upload a GA4 export and see what each channel caused, next to last-click, in 1–2 minutes. The read is yours to keep.

Free, in your browser: your file is not uploaded. The full read is €99, refundable within 30 days. Prices exclude VAT.
Or book a 30-min call.