Learn R Programming

⚠️There's a newer version (0.11.2) of this package.Take me there.

CLVTools (version 0.11.0)

Tools for Customer Lifetime Value Estimation

Description

A set of state-of-the-art probabilistic modeling approaches to derive estimates of individual customer lifetime values (CLV). Commonly, probabilistic approaches focus on modelling 3 processes, i.e. individuals' attrition, transaction, and spending process. Latent customer attrition models, which are also known as "buy-'til-you-die models", model the attrition as well as the transaction process. They are used to make inferences and predictions about transactional patterns of individual customers such as their future purchase behavior. Moreover, these models have also been used to predict individuals’ long-term engagement in activities such as playing an online game or posting to a social media platform. The spending process is usually modelled by a separate probabilistic model. Combining these results yields in lifetime values estimates for individual customers. This package includes fast and accurate implementations of various probabilistic models for non-contractual settings (e.g., grocery purchases or hotel visits). All implementations support time-invariant covariates, which can be used to control for e.g., socio-demographics. If such an extension has been proposed in literature, we further provide the possibility to control for time-varying covariates to control for e.g., seasonal patterns. Currently, the package includes the following latent attrition models to model individuals' attrition and transaction process: [1] Pareto/NBD model (Pareto/Negative-Binomial-Distribution), [2] the Extended Pareto/NBD model (Pareto/Negative-Binomial-Distribution with time-varying covariates), [3] the BG/NBD model (Beta-Gamma/Negative-Binomial-Distribution) and the [4] GGom/NBD (Gamma-Gompertz/Negative-Binomial-Distribution). Further, we provide an implementation of the Gamma/Gamma model to model the spending process of individuals.

Copy Link

Version

Install

install.packages('CLVTools')

Monthly Downloads

579

Version

0.11.0

License

GPL-3

Issues

Pull Requests

Stars

Forks

Maintainer

Patrick Bachmann

Last Published

August 17th, 2024

Functions in CLVTools (0.11.0)

clv.bgnbd.static.cov-class

Result of fitting the BG/NBD model with static covariates
bgnbd

BG/NBD models
bgnbd_PAlive

BG/NBD: Probability of Being Alive
bgnbd_CET

BG/NBD: Conditional Expected Transactions
bgnbd_LL

BG/NBD: Log-Likelihood functions
clv.bgnbd-class

Result of fitting the BG/NBD model without covariates
clv.bootstrapped.apply

Bootstrapping: Fit a model again on sampled data and apply method
bgnbd_expectation

BG/NBD: Unconditional Expectation
cdnow

CDNOW dataset
bgnbd_pmf

BG/NBD: Probability Mass Function (PMF)
clv.fitted.spending-class

Fitted Spending Model
clv.gg-class

Result of fitting the Gamma-Gamma model
clv.fitted.transactions-class

Fitted Transaction Model without covariates
clv.data-class

Transactional data to fit CLV models
clv.fitted.transactions.dynamic.cov-class

Fitted CLV Model with Dynamic covariates
clv.ggomnbd-class

Result of fitting the GGompertz/NBD model without covariates
clv.model.ggomnbd.static.cov-class

CLV Model functionality for GGompertz/NBD with static covariates
clv.model.no.correlation-class

CLV Model without support for life-trans correlation
clv.time-class

Time Unit defining conceptual periods
clv.model.pnbd.dynamic.cov-class

CLV Model functionality for PNBD with dynamic covariates
clv.time.date-class

Date based time-units
clv.data.dynamic.covariates-class

Transactional and dynamic covariates data to fit CLV models
clv.time.datetime-class

POSIXct based time-units
clv.model.pnbd.static.cov-class

CLV Model functionality for Pareto/NBD with static covariates
clv.model.with.correlation-class

CLV Model providing life-trans correlation related functionalities
ggomnbd_CET

GGompertz/NBD: Conditional Expected Transactions
clv.pnbd.static.cov-class

Result of fitting the Pareto/NBD model with static covariates
clv.ggomnbd.static.cov-class

Result of fitting the GGompertz/NBD model with static covariates
clv.model.pnbd.no.cov-class

CLV Model functionality for Pareto/NBD without covariates
clv.pnbd-class

Result of fitting the Pareto/NBD model without covariates
ggomnbd

Gamma-Gompertz/NBD model
ggomnbd_expectation

GGompertz/NBD: Unconditional Expectation
newcustomer

New customer prediction data
ggomnbd_PMF

GGompertz/NBD: Probability Mass Function (PMF)
gg

Gamma/Gamma Spending model
clv.fitted.transactions.static.cov-class

Fitted Transaction Model with Static covariates
clv.pnbd.dynamic.cov-class

Result of fitting the Pareto/NBD model with dynamic covariates
clv.data.static.covariates-class

Transactional and static covariates data to fit CLV models
ggomnbd_LL

GGompertz/NBD: Log-Likelihood functions
ggomnbd_PAlive

GGompertz/NBD: Probability of Being Alive
clv.model.gg-class

CLV Model functionality for the Gamma-Gamma spending model
clv.model.ggomnbd.no.cov-class

CLV Model functionality for GGompertz/NBD without covariates
clv.model-class

CLV Model providing model related functionalities
pnbd_LL

Pareto/NBD: Log-Likelihood functions
nobs.clv.fitted

Number of observations
gg_LL

Gamma-Gamma: Log-Likelihood Function
plot.clv.data

Plot Diagnostics for the Transaction data in a clv.data Object
clv.time.days-class

Time unit representing a single Day
pnbd_PAlive

Pareto/NBD: Probability of Being Alive
nobs.clv.data

Number of observations
predict.clv.fitted.spending

Predict customers' future spending
clv.time.hours-class

Time unit representing a single hour
pnbd_expectation

Pareto/NBD: Unconditional Expectation
pnbd_pmf

Pareto/NBD: Probability Mass Function (PMF)
clv.time.years-class

Time unit representing a single Year
clv.time.weeks-class

Time unit representing a single Week
lrtest

Likelihood Ratio Test of Nested Models
pnbd_CET

Pareto/NBD: Conditional Expected Transactions
latentAttrition

Formula Interface for Latent Attrition Models
predict.clv.fitted.transactions

Predict CLV from a fitted transaction model
pnbd_DERT

Pareto/NBD: Discounted Expected Residual Transactions
summary.clv.fitted

Summarizing a fitted CLV model
vec_gsl_hyp2f0_e

GSL Hypergeometric 2F0 for equal length vectors
summary.clv.data

Summarizing a CLV data object
vec_gsl_hyp2f1_e

GSL Hypergeometric 2F1 for equal length vectors
clvdata

Create an object for transactional data required to estimate CLV
subset.clv.data

Subsetting clv.data
spending

Formula Interface for Spending Models
clv.fitted-class

Fitted model without covariates
clv.model.bgnbd.static.cov-class

CLV Model functionality for BG/NBD with static covariates
clv.model.bgnbd.no.cov-class

CLV Model functionality for BG/NBD without covariates
fitted.clv.fitted

Extract Unconditional Expectation
plot.clv.fitted.transactions

Plot Diagnostics for a Fitted Transaction Model
pmf

Probability Mass Function
plot.clv.fitted.spending

Plot expected and actual mean spending per transaction
pnbd

Pareto/NBD models
print.clv.time

Summarizing a CLV time object
vcov.clv.fitted

Calculate Variance-Covariance Matrix for CLV Models fitted with Maximum Likelihood Estimation
as.data.frame.clv.data

Coerce to a Data Frame
as.clv.data

Coerce to clv.data object
CLVTools-package

Customer Lifetime Value Tools
SetStaticCovariates

Add Static Covariates to a CLV data object
SetDynamicCovariates

Add Dynamic Covariates to a CLV data object
apparelDynCov

Time-varying Covariates for the Apparel Retailer Dataset
as.data.table.clv.data

Coerce to a Data Table
apparelStaticCov

Time-invariant Covariates for the Apparel Retailer Dataset
bgbb

BG/BB models - Work In Progress
apparelTrans

Apparel Retailer Dataset