Freedom251 › Customer Lifetime Value Software
clvkit

What clvkit is
clvkit is an open-source Python library for estimating customer lifetime value in non-contractual businesses. It uses buy-till-you-die models to estimate future purchasing for customers whose repeat purchases are not tied to a contract. The model set includes BG/NBD, MBG/NBD for customers who may not return after an initial purchase, and Gamma-Gamma for estimating spend per transaction. clvkit combines purchase and spend models to estimate discounted lifetime value, and it supports cohort retention, revenue, and survival analysis. It takes transaction logs containing a customer ID, date, and amount. Prediction results can be converted to pandas DataFrames or JSON and plotted. Installation is available with uv or pip, and the library requires Python 3.11 or later. Its runtime dependencies are numpy, scipy, pandas, and matplotlib; Dask is an optional extra for summarizing large logs. The project reports that Dask becomes faster than pandas at around four million transactions, though its default in-process scheduler used more peak memory in measured benchmarks. The repository lists the BSD-3-Clause license. The stated model scope does not include covariates, Bayesian fitting, or additional model families.
Who it suits
clvkit suits Python users estimating customer lifetime value from transaction histories in non-contractual businesses. It also supports analysts who need cohort retention, revenue, or survival analysis and can work with Python 3.11 or later.
What it does well
- Provides BG/NBD, MBG/NBD, and Gamma-Gamma models.
- Combines purchase and spend models for discounted lifetime value estimates.
- Supports cohort retention, revenue, and survival analysis.
- Accepts transaction logs with customer ID, date, and amount.
- Offers pandas DataFrame and JSON outputs, plus plotting.
What to know first
- Requires Python 3.11 or later.
- Its stated scope excludes covariates, Bayesian fitting, and other model families.
- Dask’s default in-process scheduler used more peak memory in measured benchmarks.
Limits
The stated model scope excludes covariates, Bayesian fitting, and additional model families. For large logs, the project reports that Dask becomes faster than pandas at around four million transactions, while its default in-process scheduler used more peak memory in measured benchmarks.
Getting started
- Open the clvkit GitHub repository.
- Use uv or pip to install the library.
- Use Python 3.11 or later.
- Provide a transaction log with customer ID, date, and amount.
- Convert prediction results to pandas DataFrames or JSON, or plot them.
Verdict
Choose clvkit if you want an open-source Python library for non-contractual customer lifetime value and cohort analysis. Its defined model scope may not suit work requiring covariates, Bayesian fitting, or additional model families.
Questions
Is clvkit free?
Yes. It is listed as free and open source.
What does clvkit estimate?
It estimates customer lifetime value in non-contractual businesses and supports cohort retention, revenue, and survival analysis.
Which models does it include?
The models include BG/NBD, MBG/NBD, and Gamma-Gamma.
What does it need to run?
It requires Python 3.11 or later and lists numpy, scipy, pandas, and matplotlib as runtime dependencies. Dask is an optional extra.
How do I install it?
Installation is available with uv or pip from the project repository.
What is its license?
The repository identifies the license as BSD-3-Clause.
Facts from clvkit's own pages
- CLV and cohorts
- The library composes purchase and spend models to estimate discounted lifetime value and provides cohort retention, revenue, and survival analysis. · github.com, 4 Oct 2026
- Cohort analysis
- CohortMatrix produces retention or revenue cohort tables and heatmaps, while CohortSurvival estimates survival by acquisition cohort. · github.com, 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. · github.com, 4 Oct 2026
- Customer predictions
- Its pipeline predicts expected purchases, expected spend, and discounted customer lifetime value. · github.com, 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. · github.com, 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. · github.com, 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. · github.com, 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. · github.com, 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. · github.com, 11 Oct 2026
- License
- The package metadata identifies its license as BSD-3-Clause. · github.com, 11 Oct 2026
- Limits
- The project says it does not include covariates, Bayesian fitting, or additional model families. · github.com, 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. · github.com, 4 Oct 2026
- Models
- The model roster is BG/NBD, MBG/NBD, and Gamma-Gamma, with CLV composing transaction and spend models. · github.com, 11 Oct 2026
- Outputs
- Prediction results can be converted to pandas or JSON and plotted. · github.com, 11 Oct 2026
- Purpose
- clvkit is a Python library for estimating customer lifetime value and cohort retention from transaction logs for non-contractual businesses. · github.com, 11 Oct 2026
- Python requirements
- Installation is available with uv or pip and requires Python 3.11 or later. · github.com, 4 Oct 2026
- Support
- The project links to its GitHub Issues page for issue reporting. · github.com, 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. · github.com, 11 Oct 2026
Where clvkit stands on Freedom251
- Customer Lifetime Value Software#11 of 37