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
830 stars 172 forks source link

Adstock and Carryover #185

Open uomodellamansarda opened 1 year ago

uomodellamansarda commented 1 year ago

Maybe I am missing something but why you have a method for calculating carryover effects and adstock effects?

Looking at the documentation the adstock method refer to the wikipedia page of adstock: _"Advertising adstock or advertising carry-over is the prolonged or lagged effect of advertising on consumer purchase behavior. Adstock is an important component of marketing-mix models"_

While reading the paper attached to the carryover method documentation we can read about the adstock function which, if I am not wrong, should be the geometric series used for modelling the adstock effects: image

My question is why having two separate methods? What I am missing? :)

steven-struglia commented 1 year ago

I've been wondering about this as well. Very important to know what the differences between these functions are and what those differences mean for our results.

ibrahim-taher commented 1 year ago

Not a developer but the carryover function allows for delayed peak effects (in the paper you attach the final function in that section is what is implemented for carryover if I understand the code correctly. The training time for a model with just carryover is much longer.

Adstock is generic adstock where the peak impact is found at time 0.

uomodellamansarda commented 1 year ago

@itaher-aclu thank you for the reply :) In these days I had the chance to study more in-depth and you are right. This is what is written in the repo:

image

In general across practitioners they refer to the same thing, but in these library, based also on the Google Paper, in one case they wanted to have the peak at t0 which what happen usually especially with weekly data, in the second case at tx, where x is a lagged time in the future through a convolution.

I will investigate better in the paper and commercial cases when convolution makes sense, because I never encountered in my experience (not so broad and only with FMCG). I also struggle to understand the economic meaning of a delayed peak and it is also counterintuitive from memory decay perspective.

I applied convolution but for modelling other marketing phenomenon.

A very interesting discussion!