This guide follows the project sidebar top to bottom — the sidebar order is the workflow order. Each section explains what a screen does and the concepts behind it. If you haven't built a model yet, start with the shorter get started path first.
On this page
- Dimensions
- Cockpit
- Data & health
- Data review
- Variables & transformations
- Models
- Results
- Compare
- Reports & optimizer
- Importer
- Team & roles
- Plans & GPU limits
Dimensions
Dimensions define the axes and hierarchies your business is measured on — geography, brand, product line — so data can land on existing cells and coverage can be tracked. The sub-pages: Coverage shows how completely your uploaded data fills the dimensional space, Extracts produce filtered slices, and Funnel relates KPIs across levels. Optional for a single-slice project; essential once you model per market or brand.
Cockpit
The Cockpit is the grid those axes span: one cell per combination of dimension values, showing data and modeling status and the KPI funnel at a glance. Use it as mission control when you run many models across markets — it answers which slices have data, which have models, which are stale.
Data & health
Upload CSV or Excel; every column is profiled (type, missing values, non-zero median). When you map the date and KPI columns and finalize, the platform freezes a validated snapshot, sorted by date — the canonical source every model reads. The raw file is kept verbatim but never modeled on, so results are reproducible even if you re-upload later. Health surfaces data-quality signals — gaps, freshness, refresh cadence — so whoever stewards the data can sign off before modeling starts.
Data review
Pre-modeling diagnostics on the frozen data, one tab per question:
- Correlation — collinear predictors are the classic MMM trap; two channels that always move together can't be separated by any model.
- VIF — variance inflation factors quantify that multicollinearity; a high VIF means the model cannot tell two variables apart.
- Seasonality — recurring patterns you may need to control with dummies.
- Time series — every variable plotted over time, for eyeballing gaps, spikes, and scale problems.
Use this page to decide which controls and dummies you need before touching the model builder.
Variables & transformations
The taxonomy attaches meaning to columns. Per variable: role flags (control, expected-positive,
excluded), up to four nested group layers (layer 1 Paid Media, layer 2
Search…) that drive every roll-up in results and reports, and a spend
mapping that names the column carrying the money, for ROI. Appearance sets each
group's color and sort order everywhere it's charted.
Transformations hold MMM's two key nonlinearities:
- Adstock (carryover) — advertising keeps working after the week it ran. Geometric decay:
adstocked[t] = x[t] + rate · adstocked[t−1]. A rate of0.3means 30% of this week's effect carries into next week. - Hill (saturation) — doubling spend doesn't double the effect. An S-curve where
alphais the half-saturation point andbetathe steepness; either at0skips the curve.
A media column enters the regression as hill(adstock(x)) — that is how a linear
model captures lagged, saturating advertising. One boundary worth knowing: the taxonomy only
classifies columns; transform parameters live on each model's recipe, so the same
column can be transformed differently in two models.
Models
A model is a recipe: which variables go in, the transform parameters for each, optional pinned coefficients, the intercept, the modeling window, and the engine.
OLS
Ordinary least squares on the transformed design matrix. The live builder refits as you edit, giving instant feedback on fit and coefficients; launching produces a durable background run. Fast, free of GPU quota, and the right place to iterate on specification.
Bayesian (Meridian)
Google's Meridian fit on a managed remote GPU, returning posterior distributions and credible intervals instead of point estimates. Runs take minutes and count against your plan's monthly GPU allowance.
Channel priors
Encode what you already know before a Bayesian run: enter a channel's expected CPA and a confidence level, and the builder converts it into a LogNormal ROI prior for Meridian — from a tight, calibrated prior to an uninformative one.
Grid search
You rarely know the right adstock and saturation values. Grid search sweeps rate × alpha × beta for one variable, refits the whole model for every combination, scores each by the variable's absolute t-statistic, and lets you adopt the best into the recipe.
Launching freezes the recipe into an immutable run (queued → running → succeeded, with live progress). A succeeded run is a saved model — editing the builder never rewrites history. The Registry lists all runs and tracks their lifecycle, including promotion and review handoffs.
Results
Diagnostics for one succeeded run: fit statistics (R², adjusted R², F, AIC/BIC), the
coefficient table (estimate, standard error, t, p), actual vs. fitted, and the decomposition —
each week's KPI split into per-variable contributions
(contribution = coefficient × transformed value), rolled up to your taxonomy
groups. Summing the contribution columns reproduces the fitted KPI exactly; that identity is
what makes the attribution trustworthy, and it is checked, not assumed.
Compare
Put two or more succeeded runs side by side — fit statistics, coefficients, decompositions — to choose between candidate specifications or to track how a model shifts across data refreshes. Available as soon as a project has at least two succeeded runs.
Reports & optimizer
Reports are the viewer-facing readout of finished runs — including multi-run reports that
aggregate several models into one view. A report carries commentary and sandbox walls:
per-channel spend bounds and locks that define what viewers may touch. Within those walls,
viewers run scenarios — budget reallocations like
TV × 1.3, Search × 0.8 — recomputed as exact counterfactuals through
the fitted saturation curves, so all-1.0 multipliers reproduce the actual model. The
budget-target optimizer searches allocations toward a target within the same
constraints. Share via viewer accounts subscribed to the project or via revocable share links
that need no login.
Importer
The alternative front door: import existing work instead of starting from scratch. Upload your
files and the format is detected automatically — an openMMM (Streamlit) project export (data
CSV, groups, and saved model JSONs), a Meridian saved-model file (.binpb), or an
M720 workbook. The importer reconstructs the dataset, group appearances, and model
configurations in one pass, and you continue in the normal workflow.
Team & roles
Organization members carry roles, and the boundary that matters is editors versus viewers. Editors see the modeling workbench — data, builder, diagnostics. Viewers and stakeholders only ever see published reports shared with them, never the kitchen. Per-project membership, review handoffs, and data-gate sign-offs live under Team.
Plans & GPU limits
OLS modeling is unmetered on every plan. Bayesian (Meridian) runs execute on managed GPUs and draw on a monthly per-plan allowance; beyond it, GPU time is billed at the compute provider's price with no markup. Plans run from Free through Freelancer and Agency to Enterprise — current limits and prices are on the pricing page.