Skip to content
Back to skills

Mmm Greenfield Vs Brownfield

ASecurity

Greenfield vs brownfield MMM decision guide. Use when the user asks about starting a new MMM from scratch vs improving an existing one, or when designing the modeling strategy for a company with prior MMM experience.

  • 4 stars
  • 0 votes
  • 0 copies
  • 3 views
  • Added May 26, 2026
datapythonaws

Works with

  • cli

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add Yakoub-ai/agent-mmm --skill mmm-greenfield-vs-brownfield --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Mmm Greenfield Vs Brownfield?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Mmm Greenfield Vs Brownfield
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/yakoub-ai-mmm-greenfield-vs-brownfield/badge)](https://www.skillsdirectory.com/skills/yakoub-ai-mmm-greenfield-vs-brownfield)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: mmm-greenfield-vs-brownfield
description: |
  Greenfield vs brownfield MMM decision guide. Use when the user asks about starting a new MMM from scratch vs improving an existing one, or when designing the modeling strategy for a company with prior MMM experience.
---

# Greenfield vs Brownfield MMM

## Definitions

**Greenfield**: Building an MMM from scratch with no prior fitted model. All priors are data-driven estimates from the channel type catalog. Wider priors to let the data speak.

**Brownfield**: Improving or auditing an existing MMM. A prior fitted model (InferenceData `.nc` file) is available. Posteriors from the previous run can be used to tighten priors for the next run.

## Decision Guide

| Signal | Likely Answer |
|--------|--------------|
| First time running MMM | Greenfield |
| Have an existing `.nc` idata file | Brownfield |
| Previous model had convergence issues | Brownfield (refit from better priors) |
| Changing channels or target variable | Greenfield (different model structure) |
| Same model, different time period | Brownfield |
| Different agency, same company | May be Brownfield if prior model spec is available |

## Greenfield Strategy

1. Wide priors from `prior_catalog.yaml` channel type defaults
2. Widen further if data is sparse (`data_quality_tier = WARN`)
3. Prior predictive check: 90% interval should contain observed target range
4. Tournament across `l_max`, saturation type, Fourier modes
5. Final fit with `SAMPLER_FINAL` config (draws=2000, tune=3000, chains=4, target_accept=0.99)

## Brownfield Strategy

1. Load existing `idata.nc` → extract posterior summary stats (mean, std per parameter)
2. Use posterior mean as new prior mu, `posterior_std * 0.7` as new sigma (tightening factor)
3. Apply moment-matching to convert (mu, sigma) back to distribution parameters
4. This is also what `/mmm-improve` does in the posterior-informed refinement step
5. Key check: are the new tightened priors still scientifically plausible? Don't over-tighten.

## Prior Tightening Code (Brownfield)

```python
from agent_mmm.iter_loop import tighten_priors_from_posterior
import arviz as az

idata = az.from_netcdf("mmm-workspace/runs/best-run/idata.nc")
posterior_stats = {
    var: {"mean": float(idata.posterior[var].mean()), "std": float(idata.posterior[var].std())}
    for var in ["adstock_alpha", "saturation_lam"]
    if var in idata.posterior
}
tight_config = tighten_priors_from_posterior(existing_model_config, posterior_stats, tighten_factor=0.7)
```

## Series A/B/C Funnel Design

For comprehensive marketing analysis, run independent models per funnel stage. Each uses its own `spec.yaml`:

| Series | Target | Channels | Notes |
|--------|--------|---------|-------|
| A (Sales) | Revenue or conversions | All media spend | Primary business outcome |
| B (Awareness) | Search volume (GQV) | Non-SEM channels only | SEM excluded — it's circular |
| C (SEM Funnel) | SEM clicks | Non-SEM channels | Include search volume as control |

A channel's true ROI can be understated in Series A if it works through awareness intermediation (Meta → search interest → SEM clicks → sales). Series B/C models reveal this indirect effect.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.