// the find
google/lightweight_mmm
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.