Advertising Adstock with Maximum Period Decay

Current advertising adstock transformations in all their forms assume an infinite decay function. This means 1 week of advertising can have an impact 100 weeks for initial airing. This is unrealistic.  In this article I’ll discuss a variation on advertising adstock called maximum period decay effect.

A typical decay factor for advertising adstock looks like the figure on the right. Typical Advertising AdstockThe graph will lead you to believe that after week 10 the adstock values are small, close to zero and can be treated as zeros. WRONG! These values are, indeed, close to zero but they aren’t zero. A human can ignore them but a computer won’t. In a regression analysis framework this will also causes a multicollinearity problems with multiple sequential variables as the adstock will continue after advertising is over and will function as two identical decreasing trend variables.

In my previous article on Advertising Adstock – Concept & Formula, advertising adstock was defined as
At = Xt + r·At-1 ; where r is the advertising adstock rate.

Mathematically speaking this formula can be rewritten as
At = Xt + r·Xt-1 + r2·Xt-2 + r3·Xt-3 + … + rn·Xt-n ; where n is the maximum number of weeks available, i.e. n = t.

The mathematical short-hand notation is
At = Σ ri·Xt-i ; 0 ≤ i ≤ maximum number of weeks available.

I redefine the maximum number of weeks available to be the maximum periods that week t will learn from the previous n weeks. So if we define n as 5, then the current advertising adstock will learn from the previous 5 weeks. This has many benefits as we limit the total effect of advertising. Coupons for example, aren’t expected to have unlimited decay. We also remove that ever-decaying trend factor and solve the multicollinearity problem for sequential variables.

The files below show this improvement of advertising adstock transformation with maximum period decay:
Excel
• SAS
• R
• Python

Advertisements

7 thoughts on “Advertising Adstock with Maximum Period Decay

  1. NG

    Hi Gabriel, can you kindly please give some recommendations on text books and/or papers, that give an introduction on ad stock, and how to estimate it? Also any good text recommendations on marketing mix models and how to fit and estimate them would be welcome. Thanks!

    Reply
  2. Anna

    Hi Gabriel,
    this is an awesome blog. It helped me already a lot. Still, I have two questions in my mind:

    1) Don’t we make a structural mistake if we transform the marketing variables as proposed? Usually, we take a snapshot (one to three years) of sales time series data starting with the first week of a certain year. The transformation proposed assumes that there was no advertising in the weeks before the first week of observation, which is not true in most of the cases. Thus, the Adstock values of the first data points in the time series are underestimating their real Adstock amount. This becomes especially apparent if AdStock rates are chosen relatively high. Is there any way to adjust for this? I guess limiting the maximum decay is one way, however, it’s still not perfect.

    2) In another blog post you proposed to estimate the optimal AdStock rate directly from the data. The question is how to choose the maximum period decay optimally?

    Thank you!

    Reply
    1. AnalyticsArtist Post author

      The answer to your first question is simple. Start adstocking few months prior to the modeling period. Your second question involves mixed integer programming, which involves non-linear programming as well as integer programming. I found the maximum decay idea super helpful when I try non-overlapping ads but because of adstock they become overlapping. This caused one variable to significant on it’s own but non-significant when we include both with high adstock, i.e. the initial variable got destabilized. An easy, but not-mathematically driven solution, is to “assume” a maximum decay of some weeks. Non-durable goods can have a short maximum decay period and durable/expensive goods need a higher one. Alternatively, you can compute a magnitude of decay periods and try them one-by-one or use stepwise regression or some kind of train/test holdout.

      Reply
  3. FJ Rad

    Hi Gabriel,

    This is an awesome blog! One question I have if whether is appropriate (or not) to use Adstocked variables using Bayesian or deterministic methods (such as Agent-based Modeling) instead of regression approaches?
    Keep up the good work! Your blog has been bookmarked!

    FR

    Reply
  4. Alex

    Hi Gabriel,

    This is really an great blog!

    I’m building a MMM with adstock variable, and trying to optimize the resources allocation among different channels. I met a problem with the cost of adstock. For example TV adstock: Adstock(t) = lambda*Adstock(t-1) + GRP. I know the cost per GRP, but it’s difficult to calculate the cost per adstock at period t. Can you please kindly give some suggestions on how to calculate the cost of Adstock? Or is there any articles that I can refer to?

    Thanks!

    Alex

    Reply

Leave a comment

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s