clvkit
clvkit is a free, open-source Python library for estimating customer lifetime value in non-contractual businesses.
What clvkit is
clvkit is a free, open-source Python library for estimating customer lifetime value in non-contractual businesses. Its buy-till-you-die models include BG/NBD, MBG/NBD for customers who may not return after an initial purchase, and Gamma-Gamma for spend per transaction. The library combines purchase and spend models to estimate discounted lifetime value, while CohortMatrix provides retention or revenue tables and heatmaps and CohortSurvival estimates survival by acquisition cohort. It accepts transaction logs containing customer ID, date, and amount. Predictions cover expected purchases, expected spend, and discounted lifetime value, with results convertible to pandas DataFrames or JSON and available for plotting. Installation uses pip or uv and requires Python 3.11 or later. Runtime dependencies are numpy, scipy, pandas, and matplotlib; Dask is optional for large logs. The stated scope excludes covariates, Bayesian fitting, and additional model families. The repository uses the BSD-3-Clause license.
Good
- Free and open source
- Includes BG/NBD and Gamma-Gamma
- Provides cohort retention analysis
- Outputs pandas, JSON, and plots
- Optional Dask for large logs
Watch out
- Requires Python 3.11 or later
- Excludes covariates and Bayesian fitting
- Limited to listed model families
- Dask used more peak memory in benchmarks
Who it suits
clvkit suits analysts who want a focused maximum-likelihood workflow using transaction logs and a CSV. It is intended for Python users comfortable with the listed models and dependencies.
Verdict
clvkit offers a narrow, transparent toolkit for predictive CLV and cohort analysis with familiar Python outputs. Its limited model scope and current Python requirement matter for broader or older analytical environments.
The facts
Each one read from clvkit's own pages, with the date it was checked.
What it does
- CLV and cohorts
- The library composes purchase and spend models to estimate discounted lifetime value and provides cohort retention, revenue, and survival analysis.checked 4 Oct 2026
- Cohort analysis
- CohortMatrix produces retention or revenue cohort tables and heatmaps, while CohortSurvival estimates survival by acquisition cohort.checked 11 Oct 2026
- Core models
- Its models include BG/NBD, MBG/NBD for customers who may never return after their first purchase, and Gamma-Gamma for spend per transaction.checked 4 Oct 2026
- Customer predictions
- Its pipeline predicts expected purchases, expected spend, and discounted customer lifetime value.checked 11 Oct 2026
- Dependencies
- The project lists numpy, scipy, pandas, and matplotlib as its four runtime dependencies, with Dask available as an optional extra for summarizing large logs.checked 4 Oct 2026
- Input and output
- It accepts transaction logs with customer ID, date, and amount, and prediction results can be converted to pandas DataFrames or JSON and plotted.checked 4 Oct 2026
- Install requirements
- The package installs with pip or uv, requires Python 3.11 or later, and has four runtime dependencies: numpy, scipy, pandas, and matplotlib.checked 11 Oct 2026
- Intended users
- The README describes it as a narrower tool for analysts who want model parameters and a CSV through a maximum-likelihood workflow.checked 11 Oct 2026
- Large logs
- An optional Dask extra supports transaction-log summarization, with the README reporting a performance crossover at about 4 million transactions.checked 11 Oct 2026
- License
- The package metadata identifies its license as BSD-3-Clause.checked 11 Oct 2026
- Limits
- The project says it does not include covariates, Bayesian fitting, or additional model families.checked 11 Oct 2026
- Maintainer
- The README says the author is building customer-analytics work on top of clvkit and intends the library to remain installable and correct.checked 4 Oct 2026
- Models
- The model roster is BG/NBD, MBG/NBD, and Gamma-Gamma, with CLV composing transaction and spend models.checked 11 Oct 2026
- Outputs
- Prediction results can be converted to pandas or JSON and plotted.checked 11 Oct 2026
- Purpose
- clvkit is a Python library for estimating customer lifetime value and cohort retention from transaction logs for non-contractual businesses.checked 11 Oct 2026
- Python requirements
- Installation is available with uv or pip and requires Python 3.11 or later.checked 4 Oct 2026
- Support
- The project links to its GitHub Issues page for issue reporting.checked 11 Oct 2026
- Validation
- CI checks reproduced published BG/NBD and Gamma-Gamma estimates on the CDNOW sample on pushes, pull requests, and before releases.checked 11 Oct 2026
Alternatives to clvkit
- 1

RevenueCat
Open sourceAndroidiOSWebAPI8.1 - 2

Pushwoosh
Free planAndroidiOSWebWindows7.8From $5 a month - 3
Oracle Responsys
AndroidiOSWebAPI7.3From $2 a year - 4

Klaviyo
Free planWeb7.0Free plan - 5

TrueProfit
AndroidiOSWebExtension7.0From $35 a month - 6

Reaktion
AndroidiOSWeb6.8From $169 a month
