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:
xtensor

Input tensor.

alphafloat, by default 0.0

Retention rate of ad effect. Must be between 0 and 1.

l_maxint, by default 12

Maximum duration of carryover effect.

normalizebool, by default False

Whether to normalize the weights.

axisint

The axis of x along witch to apply the convolution

modeConvMode, 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.After.

  • 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:
tensor

Transformed tensor.

References

[1]

Jin, Yuxue, et al. “Bayesian methods for media mix modeling with carryover and shape effects.” (2017).