geometric_adstock#

pymc_marketing.mmm.transformers.geometric_adstock(x, alpha=0.0, l_max=12, normalize=False, axis=0, mode=ConvMode.After)[source]#

Geometric adstock transformation.

Adstock with geometric decay assumes advertising effect peaks at the same time period as ad exposure. The cumulative media effect is a weighted average of media spend in the current time-period (e.g. week) and previous l_max - 1 periods (e.g. weeks). l_max is the maximum duration of carryover effect.

(Source code, png, hires.png, pdf)

../../_images/pymc_marketing-mmm-transformers-geometric_adstock-1.png
Parameters:
  • x (tensor) – Input tensor.

  • alpha (float, by default 0.0) – Retention rate of ad effect. Must be between 0 and 1.

  • l_max (int, by default 12) – Maximum duration of carryover effect.

  • normalize (bool, by default False) – Whether to normalize the weights.

  • axis (int) – The axis of x along witch to apply the convolution

  • mode (ConvMode, optional) –

    The convolution mode determines how the convolution is applied at the boundaries of the input signal, denoted as “x.” The default mode is ConvMode.Before.

    • ConvMode.After: Applies the convolution with the “Adstock” effect, resulting in a trailing decay effect.

    • ConvMode.Before: Applies the convolution with the “Excitement” effect, creating a leading effect

      similar to the wow factor.

    • ConvMode.Overlap: Applies the convolution with both “Pull-Forward” and “Pull-Backward” effects,

      where the effect overlaps with both preceding and succeeding elements.

Returns:

Transformed tensor.

Return type:

tensor

References