saturation#

Saturation transformations for the MMM model.

Each of these transformations is a subclass of pymc_marketing.mmm.components.saturation.SaturationTransformation and defines a function that takes media and return the saturated media. The parameters of the function are the parameters of the saturation transformation.

Examples#

Create a new saturation transformation:

from pymc_marketing.mmm import SaturationTransformation

class InfiniteReturns(SaturationTransformation):
    def function(self, x, b):
        return b * x

    default_priors = {"b": {"dist": "HalfNormal", "kwargs": {"sigma": 1}}}

Plot the default priors for a saturation transformation:

from pymc_marketing.mmm import HillSaturation

import matplotlib.pyplot as plt

saturation = HillSaturation()
prior = saturation.sample_prior()
curve = saturation.sample_curve(prior)
saturation.plot_curve(curve)
plt.show()

Define a hierarchical saturation function with only hierarchical parameters for saturation parameter of logistic saturation.

from pymc_marketing.mmm import LogisticSaturation

priors = {
    "lam": {
        "dist": "Gamma",
        "kwargs": {
            "alpha": {
                "dist": "HalfNormal",
                "kwargs": {"sigma": 1},
            },
            "beta": {
                "dist": "HalfNormal",
                "kwargs": {"sigma": 1},
            },
        },
        "dims": "channel",
    },
    "beta": {
        "dist": "HalfNormal",
        "kwargs": {"sigma": 1},
        "dims": "channel",
    },
}
saturation = LogisticSaturation(priors=priors)

Classes

HillSaturation([priors, prefix])

Wrapper around Hill saturation function.

LogisticSaturation([priors, prefix])

Wrapper around logistic saturation function.

MichaelisMentenSaturation([priors, prefix])

Wrapper around Michaelis-Menten saturation function.

SaturationTransformation([priors, prefix])

Subclass for all saturation transformations.

TanhSaturation([priors, prefix])

Wrapper around tanh saturation function.

TanhSaturationBaselined([priors, prefix])

Wrapper around tanh saturation function.