Skip to content
@ Retention Marketers
Explainer

How is predicted customer lifetime value calculated?

Two ways to calculate predicted CLV: models that read only each customer's order history, and machine learning trained on past customers. How each one works, why customers with no repeat purchase are the hard part, and how to check the number.

15 min read Published Updated How this was sourced

Predicted customer lifetime value is a forecast of a customer’s value over a set period ahead. In the platform and research examples here, that value is spend; one open-source implementation lets it be profit or another measure, as long as it is calculated the same way for every customer. This page covers two ways to calculate it: probability models that read each customer’s order history, and machine learning that learns from past customers.

Predicted CLV, in short. A “buy till you die” purchase model, such as the BG/NBD, forecasts how many more purchases a customer will make; a separate spend model, such as the gamma-gamma, estimates what each purchase is likely to be worth. Together they work from the order history alone: how many repeat purchases, how recently, how long they have been a customer, and what their repeat purchases averaged. Machine learning learns from past customers whose later spend is known and uses customer-level features. Some versions predict total spend as one figure; others predict separately whether a customer returns and what returning customers spend. In the gamma-gamma spend model, a customer with few purchases gets an estimate pulled toward the model’s population mean, and one email platform’s help page says its predictions work best averaged over many customers. To check a model, fit it only on data from before a cutoff date, predict the period after it, then compare each tenth of customers with what they actually spent.

What does predicted CLV predict?

A customer’s value over a set period ahead, where what counts as value depends on the model. Klaviyo’s help page on predictive analytics defines its Predicted CLV as “how much money a particular customer will spend in the next year”. Google’s researchers predict total spend over a fixed period after a customer’s first purchase, leaving that purchase out. One open-source implementation lets the value be profit or another measure instead.

How that forecast differs from what a customer has already spent is covered in What is customer lifetime value?.

The methods do not all split the forecast the same way. The BG/NBD purchase model with the gamma-gamma spend model combines an expected number of future purchases with an expected value per purchase. Machine learning can predict total spend as one figure, or predict separately whether a customer returns and what returning customers spend.

What are the two ways to calculate it?

One family of probability models works from each customer’s order history. The other, machine learning, trains on past customers whose later spend is already known.

Researchers call the first family “Buy Till You Die” models. They assume a customer buys for a while and then becomes inactive, without the store seeing the moment it happens. The Pareto/NBD, from Schmittlein and colleagues in 1987, is the earlier model. The BG/NBD, published by Fader, Hardie and Lee in 2005, is a variant of it.

The second family, in Google’s researchers’ description, is supervised regression. It uses customer-level features and minimises prediction error. It does not model how customers stop buying and come back.

What does a buy-till-you-die model assume?

That each customer buys at their own steady but random pace while active, and can become inactive without the store seeing it happen.

The BG/NBD paper spells out five assumptions:

  1. While active, a customer’s purchases arrive at random around their own rate (statisticians call this a Poisson process).
  2. That rate differs from customer to customer.
  3. After any purchase, the customer becomes inactive with some probability, p.
  4. That probability differs from customer to customer.
  5. How often someone buys and how likely they are to drop out vary independently.

The older Pareto/NBD differs in one respect. It lets a customer drop out at any point in time. The BG/NBD only allows dropout immediately after a purchase.

What data does it need?

Each customer’s purchase history, boiled down to a few numbers. The BG/NBD authors say both models need only two pieces of information about a customer’s past purchasing: recency and frequency. The summary they work from also carries T, how long the customer has been observed. The timing of the purchases in between is not needed. The gamma-gamma spend model added to it uses each customer’s number of repeat purchases and their average value.

The exact definitions matter. In the PyMC-Marketing documentation, an open-source implementation:

  • Frequency counts repeat purchases only, one fewer than total purchases.
  • Recency is the time from the first purchase to the last. It is 0 for someone who has bought once.
  • T is the time from the first purchase to the end of the period studied.
  • Monetary value is the average of the customer’s repeat purchases, and zero for someone who has bought once.

These are not the RFM segmentation definitions. The same documentation notes that RFM includes the first purchase, does not use T, and measures recency as the time since the most recent purchase.

How does it turn purchases into money?

By adding a second model for spend. The BG/NBD authors say the purchase model has to be combined with a model of purchase amount before it can be used for CLV. They name the gamma-gamma model as one candidate.

Fader and Hardie’s note on that model rests on three assumptions:

  • The value of each of a customer’s transactions varies at random around that customer’s average.
  • Averages differ between customers, but one customer’s average does not change over time.
  • How averages are spread across customers is independent of how often customers buy.

The implementation documentation then combines the two models into a CLV estimate with a discounted cash flow model, which adjusts for the cost of capital. Its spend input can be revenue, profit or any other value, as long as it is calculated the same way for every customer.

Why is a customer with little history pulled toward the average?

Because in the gamma-gamma model, a customer’s expected spend per transaction is a weighted average of two figures. One is the model’s population mean: its estimate of the average, across customers, of each customer’s own average spend per transaction. The other is the customer’s own observed average. The fewer transactions behind the customer’s observed average, the more weight the population mean gets.

The weight on the population mean is (q − 1) ÷ (p × transactions + q − 1). Fader and Hardie estimated p = 6.25, q = 3.74 and γ = 15.44 from the 946 of 2,357 customers of CDNOW, an online music retailer, who made at least one repeat purchase in the 39-week calibration period, using each customer’s average spend per repeat transaction. Borrowing those estimates purely to illustrate, the population mean is 6.25 × 15.44 ÷ (3.74 − 1) = $35.22.

Repeat purchasesCustomer’s own averageWeight on the $35.22 population meanExpected average per purchase
0none100%$35.22
1$20about 30% (2.74 ÷ 8.99)$24.64
1$100about 30% (2.74 ÷ 8.99)$80.26
5$100about 8% (2.74 ÷ 33.99)$94.78

A single $100 repeat purchase is not taken at face value, and a single $20 one is pulled up. Five purchases averaging $100 bring the estimate most of the way back to $100.

A store’s own fitted parameters would change the expected averages in that table. Each would still be a weighted average of the population mean and the customer’s own average.

In the implementation documentation’s example, the model is fitted only on customers with at least one repeat purchase, then used to predict spend for every customer, including those with none.

Does spend really not depend on how often someone buys?

The gamma-gamma spend model assumes it does not, and that assumption is disputed.

The model treats how customers’ average spend is spread as independent of how often they buy. The BG/NBD authors call assuming purchase amount is independent of purchase timing a natural starting point.

The implementation documentation says to check it: the Pearson correlation between customers’ purchase frequency and their average spend should be less than 0.3.

Google’s researchers call it a “shaky assumption”. Their example: in practice, frequent purchasers may spend less on each purchase.

How does machine learning calculate it instead?

It learns from past customers whose later spend is already known, then predicts that spend for customers whose future spend is not yet known.

In Google’s paper, the value to predict is a customer’s total spend over a fixed period after their first purchase, excluding that first purchase. The researchers write that the period is in practice 1, 2 or 3 years. A longer one is often infeasible because of how much history is needed to build the training data.

The inputs are customer-level features. The paper lists purchase history (often the primary source), demographics, customer cohorts, return history and indicators of customer-service quality. It cites one study that used engagement before a purchase, including opens and clicks on marketing emails.

The researchers name linear regression, random forests, gradient boosting and support vector machines as readily available methods. They chose deep neural networks for their own model.

Why are customers with no repeat purchase the hard part?

Google’s researchers write that many customers buy once and never again, and the BG/NBD authors say a model’s performance on customers with no repeat purchase is especially critical, given the typical size of that group.

Among customers who do return, Google’s researchers add, spend is volatile and highly skewed, and a few high spenders can account for a significant share of total spend.

In the BG/NBD authors’ own test, the group with no repeat purchase still bought. They took a one-tenth systematic sample, 2,357 customers, of those who first bought from CDNOW in the first quarter of 1997, fitted their model on repeat purchases in the first 39 weeks and forecast the next 39. The 1,411 customers with no repeat purchase in the first 39 weeks made 334 transactions in weeks 40 to 78, 18% of all transactions in that period.

Models handle this group differently:

  • BG/NBD. In the implementation documentation, it treats every customer without a repeat purchase as certainly still active. The documentation suggests the Pareto/NBD when those customers are a key focus.
  • Two-stage machine learning. Earlier studies cited by Google first predicted whether a customer would buy in the period, then predicted spend for those expected to buy.
  • Google’s model. It predicts the probability of returning and the spend of returning customers at the same time, in one model.

Which method suits which customers?

It depends on the customers. For existing customers of a store without subscriptions, a purchase-history model can tell customers apart by their order histories. Brand-new customers all have the same recency and frequency, so machine learning has to use other information, such as sign-up details or the type of product bought first, and it needs past customers observed over the whole prediction period. For subscription data, the implementation documentation lists separate contractual models.

Existing customers of a store without subscriptions. A purchase-history model separates them by their order history. Its authors call the basic BG/NBD a hard-to-beat benchmark and the right starting point where purchases can happen at any time and the moment a customer becomes inactive is not observed.

New customers. Google’s researchers write that purchase-history models do not apply, because every new customer has the same frequency and recency. Two customers who each placed one order on the same day get the same BG/NBD and gamma-gamma prediction, whatever they bought and whatever they paid. For new customers, the researchers write, the signal has to come from what was collected at sign-up or the type of product bought first.

Longer prediction periods. Machine learning needs past customers observed over the whole prediction period to learn from. The researchers give that as the reason a period longer than 1, 2 or 3 years is often infeasible.

Subscriptions. The implementation documentation classes recurring subscriptions as contractual and lists separate models for that kind of data.

The two research papers answer different questions. Google’s researchers place purchase-history models in the work on existing customers and built their own model for new ones. Neither paper compares the two families on the same data: the BG/NBD paper compares the BG/NBD with the Pareto/NBD, and Google’s experiments compare versions of its own machine-learning setup. So neither family is ranked above the other here.

How accurate is it for one customer?

In the BG/NBD authors’ test on a one-tenth systematic sample of customers who first bought from the online music retailer CDNOW in the first quarter of 1997, the 100 who made three repeat purchases in the first 39 weeks made 1.56 repeat purchases on average over the next 39, against 1.52 predicted. Individually they made 0 to 10, while the predictions ran from 0.04 to 2.57. Those figures count purchases, not spend, and are not an accuracy figure for any store today.

Over the same 39-week forecast, the BG/NBD under-forecast the cumulative repeat transactions of all 2,357 customers in the sample by 4%. The forecast was close for the group, while individual results ranged far wider than the individual predictions.

Google’s researchers write that accurately predicting individual customers’ lifetime value is far more difficult than predicting aggregate measures.

Klaviyo’s help page says the same kind of thing about its own figure: its predictions work best averaged over many customers and are not expected to be exact for any single individual.

What does an email platform say about its model?

As of September 2026, Klaviyo’s help page gives a next-year prediction window, retraining at least once a week and a minimum-data gate, but it names no model type and gives no formula for Predicted CLV. It says the platform builds the model automatically from the company’s own data, and describes the method only as a combination of data science and machine learning techniques.

The predictions appear only when:

  • at least 500 customers have placed an order that was not cancelled, refunded or zero-value
  • orders arrive from an ecommerce integration or the API
  • there are at least 180 days of order history, with orders in the last 30 days
  • some customers have placed 3 or more orders

A store below the gate sees no prediction at all.

How do you check a predicted CLV before you use it?

Pick a cutoff date in the past, fit the model only on data from before it, predict the period after it, then compare the prediction with what customers actually did. The BG/NBD authors and the implementation documentation both test models this way.

  1. Hold back a later period. The BG/NBD authors fitted on 39 weeks and forecast the next 39. The implementation documentation’s example trains on 52 weeks and withholds 26.
  2. Compare by tenths. Google’s researchers sort customers into ten groups by prediction and put each group’s average prediction beside its average actual value. In a well-calibrated model the two closely match in every group.
  3. Beat the simple ranking. The same researchers treat ranking customers by first purchase value as a practical lower bound for how well a model ranks customers, because first purchase value is highly correlated with lifetime value.
  4. Look separately at customers with no repeat purchase. That is the group where the BG/NBD authors say performance is especially critical.
  5. Run it by cohort. The BG/NBD authors say to apply the model separately to cohorts, such as customers acquired in the same quarter or through the same channel.

For a next-year figure like the platform’s, that comparison takes a year: record today’s predictions, then compare each tenth with what those customers spend over the following year.

What does a buy-till-you-die forecast assume about your marketing?

The BG/NBD authors say forecasts from their kind of model assume that future marketing to the group will be basically the same as in the past.

So a forecast of this kind does not estimate what a new offer or flow would add. The authors suggest using it as a baseline against which to examine the effect of a change in marketing.

Where does this stop applying?

In six places: subscriptions, reading the CDNOW figures as a benchmark, the borrowed parameters in the worked example, ranking the two model families, a platform model that is not disclosed, and a change in your marketing.

  • Subscriptions. The BG/NBD and gamma-gamma examples here are for stores where customers can buy at any time. The implementation documentation lists separate models for subscription data.
  • The CDNOW figures. They come from a one-tenth sample of customers who first bought from one online music retailer in the first quarter of 1997, forecast over 39 weeks, and count purchases. They illustrate how forecasts behave, not how accurate one would be for your store.
  • The worked example. It borrows CDNOW’s spend estimates. Your own fitted parameters change the numbers; the estimate is still pulled toward the model’s population mean.
  • Choosing between families. Neither research paper here tests purchase-history models against machine learning on the same data, so neither is shown to be more accurate.
  • Platform figures. The platform help page quoted here does not name its model, so its figure cannot be matched to a method on this page. Stores below its data gate get no figure to check.
  • A change in your marketing. A buy-till-you-die forecast assumes future marketing to the group stays basically the same as in the past, so it does not estimate what a new offer or flow would add.

Sources

  1. Klaviyo Help Center — Understanding Klaviyo's predictive analytics · 5 Aug 2025
  2. Wang, Liu & Miao (Google), "A Deep Probabilistic Model for Customer Lifetime Value Prediction," arXiv, December 2019 · 16 Dec 2019
  3. Fader, Hardie & Lee, "'Counting Your Customers' the Easy Way: An Alternative to the Pareto/NBD Model," Marketing Science 24(2), Spring 2005 (author-hosted PDF)
  4. PyMC-Marketing documentation — CLV Quickstart · 5 Aug 2026
  5. Fader & Hardie, "The Gamma-Gamma Model of Monetary Value," February 2013 (author-hosted note) · Feb 2013
Keep reading