finds.dev← search

// the find

google/lightweight_mmm

★ 1,047 · Python · Apache-2.0 · updated Jun 2025

LightweightMMM 🦇 is a lightweight Bayesian Marketing Mix Modeling (MMM) library that allows users to easily train MMMs and obtain channel attribution information.

A Bayesian Marketing Mix Modeling library from Google, built on JAX and NumPyro, for estimating ROI and optimal budget allocation across advertising channels. Targets data scientists at companies that run multi-channel ad campaigns and want something more principled than last-touch attribution. Officially superseded by Google's own Meridian as of January 2025.

JAX backend means MCMC sampling is fast and can run on GPU/TPU with minimal code changes. Hierarchical geo-level modeling is a real differentiator — national-only models routinely underestimate regional variance. Three adstock/saturation transform options (Adstock, Hill-Adstock, Carryover) let you compare model families rather than committing to one. The budget optimization step is actually integrated into the library rather than left as an exercise for the reader.

Google itself is telling you to migrate to Meridian — the README opens with this. 'Limited support' means issues sit unanswered; PRs are essentially impossible to merge because of internal review coupling. The CustomScaler is a hand-rolled preprocessing utility that doesn't integrate with scikit-learn pipelines, which will annoy anyone with an existing preprocessing stack. No built-in causal validation or counterfactual tooling — you can fit a model and optimize a budget but there's no help reasoning about whether your causal assumptions hold.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →