PyMC-Marketing allows for custom adstock and saturation transformations in the MMM class since version 0.7.0
from pymc_marketing.mmm import (
MMM,
GeometricAdstock,
MichaelisMentenSaturation,
)
mmm = MMM(
adstock=GeometricAdstock(l_max=4),
saturation=MichaelisMentenSaturation(),
...,
)
The full list of out-of-box transformation are found:
These include WeibullCDF and WeilbullPDF
Custom transformations can also be implemented easily by inheriting from either AdstockTransformation or SaturationTransformation and defining both function and default_priors. See some examples in the documentation