Media Mix Modelling

Hi folks, i have a few questions about implementing mmm.

  1. How do you know which function to choose for saturation curve?

  2. How do you know which interaction terms to include in mmm?

Those are very general questions. It may be more helpful if you share what your current thinking into it is.

So I am starting with a new project of building mmm model. I have following channels - TV, Google, Meta, Bing, Pinterest, Youtube, Email. I want to understand how do I get started with knowing which interaction terms should I include for building model. If I try and test, there will be lot of combinations, so was wondering how to proceed.

Reply by Claude


Since you’re building an MMM, the fastest path is pymc-marketing, which has a ready-made MMM class rather than making you wire everything up in raw PyMC. A few docs that answer your questions directly:

On your specific questions:

Saturation curve — don’t pick by intuition. Fit a couple of candidates (LogisticSaturation is the usual default; MichaelisMenten / HillSaturation are common alternatives) and compare with posterior predictive checks and LOO/WAIC. Let the data and prior knowledge about diminishing returns decide.

Interaction terms — you don’t need the full combinatorial explosion. Standard MMM practice is to start with the additive model (each channel gets its own adstock + saturation, no interactions) and only add an interaction where you have a real business reason to expect one (e.g. TV lifting search response). Testing every combination will overfit and isn’t how MMMs are usually specified.

Start with the example notebook, get a baseline additive model running on your data, then iterate. Happy to help with something more specific once you’ve got that going.