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.
https://lightweight-mmm.readthedocs.io/en/latest/index.html
Apache License 2.0
829 stars 172 forks source link

Nested modeling #246

Open ar-asur opened 9 months ago

ar-asur commented 9 months ago

Hi,

After building the MMM model, I realized that it tends to underestimate the effect of some top-of-funnel channels which are mainly used for acquisition (Paid Social , TV) and overestimates lower funnel channels mainly paid/branded search camapigns. I suspect the reason being funnel effects, a TV campaign driving more search queries, which in turn increase volume of paid search ads. In assessing the ROI of TV, the model does not account for the changes in paid search ads caused by TV.

I was wondering if there are suggestions to mitigate this issue. It looks like Nested Modeling is a way to go which accounts for internal effects between channels. Has anyone tried nested modeling previously and able to share the methodology? Thanks!

JasonHSchwartz commented 9 months ago

This is a well known phenomenon with MMM models. You might want to read this article published by Google Research about possible approaches to addressing this: https://research.google/pubs/pub46861/

nikisix commented 8 months ago

Two approaches we're looking at to address this are:

https://towardsdatascience.com/python-stan-implementation-of-multiplicative-marketing-mix-model-with-deep-dive-into-adstock-a7320865b334

https://www.pymc-labs.com/blog-posts/causal-analysis-with-pymc-answering-what-if-with-the-new-do-operator/