Tools for Customer Lifetime Value Estimation
Overview
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.
NEW FEATURES
newcustomer()prediction: Include the initial transaction in the predicted number of orders
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-05
- NOTE12 OK, 1 NOTE2026-08-01
- OK12 OK2026-04-25
- ERROR11 OK, 2 NOTE, 1 ERROR2026-03-30
- NOTE11 OK, 3 NOTE2026-03-10
Documentation
- Help pages
- 90 (38 internal)includes a package overview page
- Examples that run
- 4%1 run in a plain check · 22 only when donttest examples are enabled (R CMD check --as-cran) · 1 never run
- Exported functions with examples
- 100%
- Documented parameters
- 100%
- Return-value docs
- 75%
- Help pages citing references
- 26%
Downloads
Repository
- PRs merged (all time)
- 96%
- Median days to close, 50 most recently updated closed issues
- 112
- Median days to close, 50 most recently updated closed PRs
- 2
Stars over time
Forks over time
Releases over time
Issues over time
PRs over time
8 development-tooling and community-health practices detected across 5 families in the upstream repository
Checks run against github.com/bachmannpatrick/clvtools on 2026-10-18.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
GitHub Pages site last deployed 2025-11-06 · The repository has a site deploy workflow
Show all practicesHide 1 practice
Dependencies
Installing CLVTools adds 48 packages (23 with compiled code, 33 MB of source tarballs). Heaviest: ggplot2 6.0 MB, data.table 5.7 MB, optimx 2.2 MB.
Code & Tests
Datasets
People & History
Pick two releases to compare their code metrics.
- RR 4.6.0 released · 2026-04-24
- 0.12.1Latest
- 0.12.02025-09-22 · diff ↗
- RR 4.5.0 released · 2025-04-11
- 0.11.2
- 0.11.12024-10-13 · diff ↗
- 0.11.02024-08-17 · diff ↗ ·
added 4 exports
clv.bootstrapped.apply, newcustomer, newcustomer.dynamic, newcustomer.static - RR 4.4.0 released · 2024-04-24
- 0.10.0
- RR 4.3.0 released · 2023-04-21
- RR 4.2.0 released · 2022-04-22
- 0.9.0
- 0.8.12021-10-19 · diff ↗
- RR 4.1.0 released · 2021-05-18
- 0.8.02021-03-23 · diff ↗
- 0.7.02020-08-26 · diff ↗
Package metadata
- First published
- 2020-05-08
- Total releases
- 12 / 6 yrs
- License
- GPL-3 OSI
- Minimum R
- ≥ 3.5.0
- Bundled data
- 104 KB / 5 files
- Download size
- 2.1 MB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("CLVTools")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-20, which the citation names so these numbers can be found later. More on citing and the projects behind them.