openMMM cloud turns a spreadsheet of weekly marketing data into an attribution model: upload your data, label what each column means, and fit models — fast OLS regressions or Bayesian models on managed GPUs — that decompose your KPI into per-channel contributions. From there you publish reports and run budget what-ifs. The core is the open-source openMMM engine; the numbers are parity-tested against it.
One mental model carries you through the whole product: everything revolves around a
single dataframe. Rows are time periods (usually weeks), columns are variables — one
column is the KPI you want to explain (Sales, REVENUE), some columns
are media you control (TV_SPEND, SEARCH_SPEND), some are controls you
don't (PRICE, a XMAS dummy), and one is the date. Every screen either
describes those columns, transforms them, or shows what came out the other side.
On this page
- 1. Sign up and try the demo
- 2. Create a project
- 3. Dimensions — or skip them
- 4. Upload your data
- 5. Tag your variables
- 6. Run your first OLS model
- 7. Read the results
- 8. Try a Bayesian run on GPU
- Where to go next
1. Sign up and try the demo
Create an account with Try the demo, name your organization, and you land on the dashboard. The Free plan needs no card; plan limits are on the pricing page. The dashboard's attention feed stays empty until you have projects — so the first move is always the same: create one.
2. Create a project
A project scopes everything — data, variable taxonomy, models, reports, team. When you open it you get a sidebar that runs top to bottom in workflow order: Overview, Dimensions, Cockpit, Data, Data review, Variables, Models, Results, Compare, Reports. The sidebar is the tutorial: work it downwards and each step unlocks the next.
3. Dimensions — or skip them
Dimensions describe the axes your business is measured on (market × brand, for example) so data coverage and the Cockpit grid can track many modeling cells at once. For a first model on a single national dataset, skip this step entirely — Data works without it, and you can define axes later when you scale to multiple markets.
4. Upload your data
Go to Data and upload a CSV or Excel file: one row per week, one date column,
one KPI column, one column per media channel (spend and/or activity, like
TV_SPEND), and your controls (PRICE, promo or seasonal dummies).
Map the date and KPI columns, review the per-column profile (types, missing values), and
finalize. Finalizing freezes a validated, date-sorted snapshot — the canonical copy every model
reads; the raw file is kept but never modeled on.
Already have models elsewhere? The project's Import flow reconstructs an existing openMMM project (data, groups, and saved models) instead of starting from scratch — see the user guide.
5. Tag your variables
Go to Variables. Every numeric column except the date and KPI is a modeling
candidate, and the taxonomy gives each one meaning: is it a control rather than a paid channel?
Should its coefficient be positive? Which group does it roll up to (layer 1
Paid Media, layer 2 Search, up to four levels)? Which column
carries its spend, for ROI? Grouping is what makes results readable — contributions of every
column tagged Paid Media are summed into one line. Exclude junk columns here.
6. Run your first OLS model
Go to Models and create a model with the OLS engine. Pick your media and control variables, keep the default transforms for a first pass, set the modeling window, and launch. OLS runs finish in seconds and don't touch your GPU allowance. Watch the run go queued → running → succeeded — a succeeded run is an immutable saved model, so editing the builder afterwards never changes it.
7. Read the results
Open Results for the run. The headline is the actual-vs-fitted chart and the decomposition: how much of each week's KPI came from each group — baseline, media, controls. Check R², coefficient signs, and p-values; a channel with the wrong sign or a weak t-statistic usually needs a better transform (that's what grid search is for — see the user guide). The contributions sum exactly to the fitted line, week by week: that identity is what makes the attribution trustworthy.
8. Try a Bayesian run on GPU
Switch the engine to Meridian for a Bayesian model with credible intervals instead of point estimates. These runs execute on managed remote GPUs and count against your plan's monthly GPU allowance (see pricing), and they take minutes rather than seconds. Before launching you can set channel priors from CPAs you already know — encoding your prior knowledge instead of starting flat.
Where to go next
- The user guide covers every step of the workflow in depth — diagnostics, grid search, priors, reports, and the optimizer.
- The pricing page lists plan limits and GPU allowances.
- The open-source core lives on GitHub.