ShiftedBetaGeometric#

class pymc_marketing.clv.distributions.ShiftedBetaGeometric(name, *args, **kwargs)[source]#

Shifted Beta-Geometric distribution.

This mixture distribution extends the Geometric distribution to support heterogeneity across observations.

Hardie and Fader describe this distribution with the following PMF and survival functions in [1]:

\[\begin{split}\mathbb{P}(T=t|\alpha,\beta) = (\frac{B(\alpha+1,\beta+t-1)}{B(\alpha,\beta}),t=1,2,... \\ \begin{align} \mathbb{S}(t|\alpha,\beta) = (\frac{B(\alpha,\beta+t)}{B(\alpha,\beta}),t=1,2,... \\ \end{align}\end{split}\]

Support

\(t \in \mathbb{N}_{>0}\)

Parameters:
alphatensor_like of float

Scale parameter (alpha > 0).

betatensor_like of float

Scale parameter (beta > 0).

References

[1]

Fader, P. S., & Hardie, B. G. (2007). How to project customer retention. Journal of Interactive Marketing, 21(1), 76-90. https://faculty.wharton.upenn.edu/wp-content/uploads/2012/04/Fader_hardie_jim_07.pdf

Methods

ShiftedBetaGeometric.__init__(*args, **kwargs)

ShiftedBetaGeometric.dist(alpha, beta, ...)

Create a tensor variable corresponding to the cls distribution.

ShiftedBetaGeometric.logcdf(alpha, beta)

Adapted from Expression (6) on p.6 of Fader & Hardie (2007).

ShiftedBetaGeometric.logp(alpha, beta)

From Expression (5) on p.6 of Fader & Hardie (2007).

ShiftedBetaGeometric.support_point(size, ...)

Calculate a reasonable starting point for sampling.

Attributes

rv_op(*args[, size, name, rng, dtype])