Upload a CSV, drag the models you want onto the canvas, and run them at the same time. The benchmark puts them on the same axes: fit, ROAS, and each model's optimized budget.
Swipe to see the whole flow →
Every project is a canvas. The nodes are the pieces of your model: the dataset, the variables, the period, each Robyn or Meridian run, each budget allocation, and the benchmark that compares them.
No R, no Python, no environment to set up, nothing running on anyone's laptop. Upload a CSV or Excel in whatever shape it already has and map your columns on screen: KPI, media spend, organic, controls, and geo and population if you have them.
That mapping becomes the Dataset and Variables nodes, and every model you hang off them uses it. Change it once and it changes for all of them.
Robyn
MeridianNine node types in the palette. Drop one on the canvas and drag a wire from whatever feeds it: a model hangs off a period, an allocator off a model, the benchmark takes as many as you connect to it.
No form asks which dataset this model uses — the wire already said so. Repoint the wire and the node reconfigures itself. Six months later you open the project and see what fed what.
Hang as many models as you want off the same period and press Run. You don't wait for one to finish to start the next: they train at the same time, and the ring around a node means that model is training right now.
Anything over your plan's concurrency waits in a queue and starts by itself when a slot frees up. Close the tab; the canvas is where you left it when you come back.
Informed priors
Fixed budget
R² .91
3.7×
Baseline
Max response
R² .89
3.4×
Longer adstock
Target efficiency
R² .87
3.1×
Wide priors
R² .84
2.9×
Both engines agree Paid Social is underinvested by ~12%. Their allocators disagree on TV — that's where to dig.
Wire models and allocators into the benchmark node and it puts Robyn and Meridian on the same axes: fit, ROAS, contribution per channel — with each budget allocation sitting next to the model that produced it, not in a separate tool. Which channels the two engines agree on, and which they don't, is visible in the same table.
Marking a winner doesn't publish anything. When you publish the flow, whoever has the link sees that winner and its optimized budget, read only, without an account.
Publish a flow and you get one link. Leave it open to anyone who has it, or restrict it to the emails you invite. What opens is the winner you marked and its optimized budget, read only, with no account to create — and the eight models you tried and discarded stay where they are.
Inside, a project is open to the whole team or to the people you name, and everyone who has it can create and run models. There's no read-only seat to hand out, because a link already does that: nobody has to be added to your team to see a result.
Every parameter below is one you set yourself, in the model node, before the run. The second list is what isn't supported today.
Robyn
Meta · R
Meridian
Google · Python
None of these are supported today. If one of them is a dealbreaker, better to know before you upload anything.
calibration_input isn't wired up.Good — then you know a single run is the easy part. What Meryn adds is the tenth run, and the thing that compares all ten. Your data scientists keep their workflow. Your media analysts, strategists and clients stop queuing behind them for every variation.
Yes — each model trains in its own isolated container, so they don't share memory, disk or each other's files. Your plan sets how many run at once: 1 on Free, 3 on Pro, 10 on Enterprise. Anything beyond that waits in a queue and starts by itself the moment a slot frees up. You don't have to be watching.
Can you see the priors they set? Can you rerun the model next quarter with updated spend? If the pipeline lives in their environment, you don't own your measurement. On a canvas the whole thing is one diagram you can reopen, rewire and rerun — whether the agency built it or you did.
You set the parameters yourself, so you know every assumption going in. The engine is Meridian and Robyn — the same code published by Google and Meta on GitHub. And you don't have to take one run's word for it: when several models with different priors point at the same channel, that's not a dashboard telling you what to believe. That's evidence.
We're onboarding teams one at a time. Leave your email and we'll reach out.
Join the waitlist →Runs Meridian and Robyn · Export everything