FREEDOM251

Freedom251 › Customer Lifetime Value Software

clvkit

Free plan

Visit clvkit Alternatives

clvkit's own site

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

  1. Open the clvkit GitHub repository.
  2. Use uv or pip to install the library.
  3. Use Python 3.11 or later.
  4. Provide a transaction log with customer ID, date, and amount.
  5. 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

Look at these too