Acera Labs
// Core concepts

Bring Your Own Marketing Mix Model

Plug in your existing MMM. Acera Labs reads your saturation curves every night. Your model stays yours.

Why BYOMM

Marketing Mix Models encode years of your organisation's priors: channel definitions, saturation shapes, seasonality adjustments, and confidence intervals. Acera Labs does not replace that work. We read your output curves and use them to inform the Media Strategy Agent's recommendations.

Your model stays in your environment. We do not rebuild it or access your raw data.

What we read

Acera Labs reads the following from your MMM output:

  • Saturation curves per channel: the Hill function response shape, the half-saturation point (the spend level where returns are 50% of maximum), and the upper bound
  • Confidence intervals: the uncertainty range around each curve estimate
  • Model refresh date: so the Media Strategy Agent knows how stale the curves are
  • Channel contribution estimates: each channel's attributed revenue contribution for the modelled period

What stays with you

  • Your raw transaction and media data
  • Your modelling code and parameter choices
  • Your model's priors and variable definitions
  • Your vendor relationship (if you use a third-party MMM provider)

Supported formats

Mutinex

Native API integration. Coming soon. Connect via Settings then Connections once the Measurement connector is available.

Recast

CSV export on a weekly cadence. Upload your Recast output CSV via the MMM settings page. The expected columns are documented in the custom JSON schema below.

Robyn

R output file on a weekly cadence. Export the channel-level saturation curve data from Robyn and upload via the MMM settings page.

Northbeam

Native API integration. Coming soon. Connect via Settings then Connections once the Measurement connector is available.

Google Meridian

Python output file. Export the posterior saturation curve estimates and upload via the MMM settings page.

Custom JSON

If you use a proprietary MMM or a vendor not listed above, you can supply a JSON file matching the following schema:

json
{
  "model_id": "string",
  "refreshed_at": "ISO 8601 datetime",
  "channels": [
    {
      "channel_name": "string",
      "display_name": "string",
      "saturation_half_point": 50000,
      "saturation_max": 200000,
      "contribution_mean": 1200000,
      "contribution_lower": 980000,
      "contribution_upper": 1450000,
      "spend": 800000
    }
  ],
  "total_revenue": 8500000,
  "date_range": {
    "start": "2024-01-01",
    "end": "2024-12-31"
  }
}

Upload the JSON file via Marketing Mix Model then Settings then Upload model output.

Refresh cadence

The Media Strategy Agent reads your latest saturation curves at the start of each overnight cycle (02:14 in your workspace timezone). If you re-fit your model weekly, the agent picks up the new curves automatically on the next cycle.

If you refresh monthly, the agent uses the same curves for up to 31 days. That is acceptable but reduces sensitivity to seasonal shifts. Most teams refresh weekly.

Using the built-in MMM

If you do not have an existing MMM, you can run one directly in Acera Labs from Marketing Mix Model then New Model Run. The built-in model requires at least 52 weeks of spend and conversion data across your connected ad platforms. It uses a Bayesian hierarchical model with Hill saturation functions.

The built-in MMM is the same as BYOMM from the agent's perspective. The Media Strategy Agent reads the output curves regardless of whether they came from your model or ours.