ContNonContract#

class pymc_marketing.clv.distributions.ContNonContract(name: str, *args, rng=None, dims: str | Sequence[str | None] | None = None, initval=None, observed=None, total_size=None, transform=UNSET, default_transform=UNSET, **kwargs)[source]#

Individual-level model for the customer lifetime value.

See equation (3) from Fader et al. (2005) [1].

\[f(\lambda, p | x, t_1, \dots, t_x, T) = f(\lambda, p | t_x, T) = (1 - p)^x \lambda^x \exp(-\lambda T) + \delta_{x > 0} p (1 - p)^{x-1} \lambda^x \exp(-\lambda t_x)\]

Support

\(t_j > 0\) for \(j = 1, \dots, x\)

Mean

\(\mathbb{E}[X(t) | \lambda, p] = \frac{1}{p} - \frac{1}{p}\exp\left(-\lambda p \min(t, T)\right)\)

References

[1]

Fader, Peter S., Bruce GS Hardie, and Ka Lok Lee. ““Counting your customers” the easy way: An alternative to the Pareto/NBD model.” Marketing science 24.2 (2005): 275-284.

Methods

ContNonContract.__init__(*args, **kwargs)

ContNonContract.dist(lam, p, T, **kwargs)

Get the distribution from the parameters.

ContNonContract.logp(lam, p, T)

Log-likelihood of the distribution.

Attributes

rv_op