Customer Lifetime Value Formula for eCommerce: Use Gross Profit, Not Revenue

The customer lifetime value formula for a store: AOV times orders per customer times gross margin, measured by first-order cohort, with a worked example.

Jordan HayesJordan Hayes12 min read
A laptop on a wooden desk shows a rising stacked bar chart in navy and amber beside a grid of grey and amber blocks, with a kraft notebook, a coffee mug, and blurred plants and a navy bookshelf behind.
On this page

The customer lifetime value formula for a store is average order value times orders per customer times gross margin. Measure it over a set window, for customers who first bought in the same month. Hayes Media, an eCommerce growth agency for DTC and Shopify brands, calls this number lifetime gross profit and judges marketing on lifetime gross profit to CAC. Use gross profit rather than revenue, because you pay for new customers out of margin.

Many CLV formulas online divide revenue by a churn rate, which suits subscription software where customers cancel on a known date. A store doesn't work like that. This guide covers the simple formula, the cohort method to use instead of guessing a lifespan, where Klaviyo's and Shopify's own CLV numbers fit, and how the result tells you what you can pay to acquire a customer.

What is customer lifetime value?

Customer lifetime value (CLV) is what one customer is worth to your business across every order they place with you. MIT Sloan Management Review defines it as "the present value of cash flows from a customer relationship".

CLV, CLTV and LTV mean the same thing in most conversations. What changes from one formula to the next is what gets counted as value. Hayes Media counts gross profit: the margin one customer returns across their whole life with you, after product cost and the cost of getting each order to them.

What's the customer lifetime value formula for an eCommerce store?

Here's the simple version.

Lifetime gross profit per customer = average order value × orders per customer × gross margin

Each part has a plain definition:

Average order value (AOV). Net revenue divided by the number of orders. Use revenue after discounts and refunds, and leave out sales tax, since that money was never yours.

Orders per customer. Total orders divided by the number of customers, counted over the window you picked. A customer who bought once counts as one order.

Gross margin. The share of each sale left after product cost, the shipping you pay, and payment fees. Decide once what goes in, then keep it the same every time you run the number.

The window. The period you measure, counted from each customer's first order. Without a window, a lifetime has no end date and the number can't be checked.

Multiply AOV by orders per customer and you get revenue per customer. Multiply that by gross margin and you get the amount you can actually spend from.

Why should CLV use gross profit instead of revenue?

Because you pay for new customers out of what you keep, not what you take in. Revenue includes the cost of the product, the box, the shipping label and the card fee. None of that money is available to spend on ads.

Take two brands, with made-up numbers. Each has $100 of revenue per customer. One keeps 70% after costs and the other keeps 35%. The first can pay twice as much to win a customer and still break even, yet a revenue CLV shows them as the same business.

This matters because the tools most stores use report spend. Klaviyo's Historic CLV is "the total value of an individual's previous orders", and Shopify's customer reports show the total amount spent "including taxes, discounts, shipping, and any refunds". Both are useful. Neither is margin, so multiply by your gross margin before you compare either one with CAC.

Why doesn't the churn rate formula fit a store?

Churn formulas assume you can see the day a customer leaves. A subscriber cancels. A shopper just stops buying, and you can't tell whether they're gone or simply between orders.

MIT Sloan Management Review makes the same point in the notes to its article on CLV. It says CLV "can be extremely difficult to project" for customers without a contract or a regular amount of revenue, because it's hard to know whether an irregular buyer is still a customer.

The same problem affects formulas that multiply yearly revenue by an assumed lifespan in years. The lifespan is a guess, and the whole number moves with it. Real orders from customers who've already had time to reorder are a safer base.

If part of your business is a pure subscription with fixed billing, a churn formula can work for that part. For everything else, use cohorts.

How do you calculate CLV by cohort?

A cohort is a group of customers who placed their first order in the same period. You follow what that group spends from then on. Work through these steps in order.

Pick the cohort. All customers whose first order fell in one month.

Pick the window. For example, 6 and 12 months from each customer's first order. Choose lengths that cover several of your product's normal reorder cycles.

Add up their orders. Take every order those customers placed inside the window, including the first one, and total the net revenue.

Take out the costs. Subtract product cost, the shipping you paid and payment fees on those orders. What's left is the cohort's gross profit.

Divide by the number of customers in the cohort. That's lifetime gross profit per customer for that window.

Repeat for every month. Lay the cohorts side by side. If newer cohorts sit above older ones at the same age, something you changed is working.

Shopify's Customer cohort analysis report does much of the grouping for you. By default it groups customers "based on the date that they placed their first order", and its metric menu includes gross sales, net sales, average order value and amount spent per customer. Those are revenue figures, so apply your margin on top. For a closer read of the cohort table itself, see our guide to cohort analysis for eCommerce.

Leave CAC out of the number itself. MIT Sloan Management Review argues CLV is more useful when acquisition cost isn't subtracted before it's reported, since for customers you already have, that cost is "sunk". Keep the two numbers apart and compare them.

A worked example with made-up numbers

These numbers are made up to show the method.

A store's March cohort has 1,000 new customers. Over the 12 months after each customer's first order, they place 1,600 orders worth $96,000 in net revenue.

AOV. $96,000 divided by 1,600 orders is $60.

Orders per customer. 1,600 orders divided by 1,000 customers is 1.6.

Revenue per customer. $60 × 1.6 is $96.

Gross margin. After product cost, shipping and payment fees, the store keeps 55%.

Lifetime gross profit per customer. $96 × 55% is $52.80.

Now say the store pays $45 to acquire a customer. On revenue, $96 against $45 looks comfortable. On gross profit, the cohort has returned $52.80 against $45 after a full year, so only $7.80 per customer is left to cover everything else.

The first order tells you more. One $60 order at 55% margin is $33 of gross profit, so the store is $12 down on every new customer until they reorder. All of this cohort's profit comes from repeat orders.

Where do Klaviyo's predicted CLV and Shopify's projections fit?

They're good for deciding which customers get which messages. They're weaker for setting what you pay to acquire a customer.

Klaviyo shows three CLV fields on a profile. Historic CLV covers past orders, "accounting for refunds and cancellations". Predicted CLV is what a customer is expected to spend during your account's prediction period, "which is 1 year by default". Total CLV is the two added together.

Klaviyo only shows these predictions once an account has "At least 500 customers" who have placed an order, at least 180 days of order history with orders in the last 30 days, and some customers who've placed 3 or more orders. It also says predictions "work best when averaged over many customers" and aren't expected to be exact for any one person.

Shopify's cohort report can show projections of future amount spent per customer. Shopify says these use your store's data "compiled over the previous 24 months for each cohort", and the option doesn't display without 24 months of data. Its Predicted spend tier report places each customer in a predicted value tier.

Use both to decide who gets what, such as a VIP flow for customers with high predicted spend. For the CAC decision, use the cohort gross profit you've measured. Both predictions are spend rather than margin, and a prediction hasn't been earned yet.

How do email, SMS, loyalty and subscribe-and-save raise CLV?

Each one moves a part of the formula, and retention work is how you raise lifetime gross profit without touching your ad account.

Orders per customer. Post-purchase flows, replenishment reminders timed to your product's reorder cycle, and win-back emails give one-time buyers a reason to return. Our guide to repeat purchase rate covers how to measure and move it.

Average order value. Bundles and add-ons offered in your flows can lift the size of each order. We cover the trade-offs in our guide on how to increase average order value without wrecking margin.

Subscribe-and-save. A subscription turns irregular reorders into scheduled ones, which raises orders per customer and makes the number easier to plan around.

Loyalty programs. Points and tiers give customers a reason to buy from you again instead of from a competitor.

Gross margin. This one can go backwards. A discount-heavy campaign can add orders and still lower lifetime gross profit. Measuring in gross profit shows you that, while measuring in revenue hides it.

Retention isn't only what happens after checkout. Loyalty is earned across the whole buying experience, before and during the first order, and the second order is where it shows up in the numbers.

Hayes Media builds email, SMS, loyalty programs and subscribe-and-save programs for eCommerce brands, and judges that work on lifetime gross profit to CAC. Our guide to eCommerce retention marketing explains how those pieces fit together.

How does CLV tell you what you can pay for a customer?

Lifetime gross profit is the most you can pay to acquire a customer and break even over that window. Pay more and you lose money on the average customer. Pay less and the difference is your profit, before overheads.

Two numbers matter here. First-order gross profit tells you how much cash you need to fund growth, because it's what you get back straight away. Lifetime gross profit by cohort tells you where you end up once customers have had time to reorder.

That's why Hayes Media judges marketing on one scoreboard, lifetime gross profit to CAC. How to improve that ratio from both sides is in our guide on how to improve LTV to CAC, and the full set of numbers around it is in our guide to eCommerce unit economics.

When does this not apply?

Very new stores. Without customers who've had time to reorder, a cohort can't show much. Plan on first-order gross profit and check your cohorts as they fill in.

Products people buy once. If your product rarely needs replacing, CLV is close to first-order gross profit. Don't budget on repeat orders your product doesn't produce.

Pure subscription businesses. With fixed billing and a clear cancel date, a churn-based formula is reasonable, as long as you use gross profit per month rather than revenue.

Wholesale accounts. A retailer buying from you is a different relationship with its own terms. Keep those accounts out of your DTC cohorts.

How does Hayes Media help brands raise lifetime gross profit?

Hayes Media's email and SMS retention practice builds and runs email, SMS, loyalty programs and subscribe-and-save programs, and you can take any one of them on its own. We work in Klaviyo for most accounts and have experience in most other email and SMS platforms.

On our retention site, email.hayesmedia.co, we publish one account at "0% to 59% of Revenue from Retention", "+140% Total Revenue YoY" and "54% Returning Customer Rate". Worth saying plainly: Hayes publishes its case studies on its own sites, and we've no third-party review profile or Klaviyo partner listing to check them against.

Hayes Media typically works with brands doing at least $100K per month in revenue. That's a guideline, not a gate: a smaller brand with a clear budget set aside to scale and real order volume can still be a fit.

Book a discovery call and we'll calculate lifetime gross profit by cohort from your own order data, then show which part of the formula is holding it back. No onboarding fees. No lock-in contracts. No junior marketers.

Sources

MIT Sloan Management Review, How Should You Calculate Customer Lifetime Value?, by Neil T. Bendle and Charan K. Bagga: https://sloanreview.mit.edu/article/how-should-you-calculate-customer-lifetime-value/

Klaviyo Help Center, Understanding Klaviyo's predictive analytics: https://help.klaviyo.com/hc/en-us/articles/360020919731

Shopify Help Center, Customers reports: https://help.shopify.com/en/manual/reports-and-analytics/shopify-reports/report-types/default-reports/customers-reports

Frequently asked questions

What is the formula for customer lifetime value?
For a store, multiply average order value by orders per customer and by gross margin, over a set window counted from each customer's first order. That gives lifetime gross profit per customer. Measure it for groups of customers who first bought in the same month, so you're working from real orders rather than an assumed lifespan or a churn rate.
Is CLV the same as LTV?
Yes. In most conversations CLV, CLTV and LTV mean the same thing: the value of one customer across all their orders. The real difference between formulas is what they count as value. Some count revenue and some count gross profit. For deciding what you can pay to acquire a customer, use gross profit, because ad spend comes out of margin.
Should customer lifetime value use revenue or gross profit?
Gross profit. Revenue includes product cost, shipping and payment fees, and none of that can be spent on winning customers. Two stores with the same revenue per customer can keep very different amounts, so a revenue figure can make a thin-margin store look as healthy as a strong one. Klaviyo and Shopify report spend, so multiply their numbers by your margin.
What time window should I use for CLV?
Pick windows counted from each customer's first order that cover several of your product's normal reorder cycles, for example 6 and 12 months. A consumable that runs out gets reordered more often than furniture, so the right window depends on what you sell. Keep the same windows every time so your cohorts can be compared fairly.
How accurate is Klaviyo's predicted CLV?
Klaviyo says its predictions work best when averaged over many customers and aren't expected to be exact for any single person. Predictions only appear once an account has at least 500 customers with orders, 180 days of order history and some customers with 3 or more orders. Use it to segment customers, and use measured cohort gross profit for budget decisions.
Should I subtract CAC from customer lifetime value?
No. Keep them as two separate numbers and compare them. MIT Sloan Management Review argues CLV is easier to understand when acquisition cost isn't subtracted first, because for customers you already have, that money is already spent. Subtracting it can make a highly profitable customer who cost more to win look no better than a less profitable one.

Want this run for your brand?

Hayes Media builds direct response creative, buys the media, and runs the email & SMS behind it.

Book a discovery call

Keep reading