How to Calculate Customer Lifetime Value on Shopify
Three ways to calculate customer lifetime value on one example Shopify store, where the simple formula misleads a young brand, and where to find each input.
Quick answer: Customer lifetime value (CLV) is what a customer is worth to your store over the whole relationship. Shopify’s own guide gives the basic formula as average order value × annual purchase frequency × average customer lifespan, with a margin-adjusted version that multiplies by gross margin. If your store is under about two years old, the lifespan input is a guess, so use cohorts instead: group customers by the month of their first order, add up what each group has actually spent, and decide on the value realised so far (for example at 12 months), with any forecast clearly labelled as an assumption.
The formula in Shopify’s own guide ends in a number that can look too good to be true. For a store that is 12 to 24 months old, it can be. The formula multiplies three inputs, and one of them (how long a customer stays) has not happened yet.
This guide runs three methods on the same made-up store so you can see how far apart the answers land: the simple formula, the margin-adjusted version and the cohort method. Then it shows where each input lives in Shopify’s own reports, what to do when you have thin history, and what to check before you trust any number.
One boundary first. Prism3 sells Shopify SEO, GEO and CRO. We do not run ads, email or SMS, and retention flows belong to whoever runs your email. Lifetime value still sits in the middle of our work, for two reasons. It tells you what a lift in first-order conversion is worth, and it only means something if your order data is measured correctly. So this post is about the arithmetic and the measurement, using Shopify’s and Klaviyo’s own documentation as at 30 October 2026, and it is explicit about where I am giving judgement rather than fact.
What you are actually calculating
Shopify’s guide to customer lifetime value (updated 8 October 2026) defines CLV as the total amount a customer spends with your business over the entire relationship. It is also written CLTV or LTV. Two distinctions matter before any arithmetic.
Historical against predicted. The same guide separates historical CLV, which uses past order history and excludes future purchases, from predicted CLV, which forecasts future purchases and retention from purchase history. Klaviyo’s help centre draws the same line: historic CLV is the total value of an individual’s previous orders, predicted CLV is a prediction of what the customer will spend during a prediction period (one year by default), and total CLV is the sum of the two.
For a young store this is the most useful split in the whole topic. Historical value is a fact. Predicted value is a model, and a model built on 12 months of data is a thin one.
Revenue against margin. Revenue-based CLV counts what customers paid. Margin-adjusted CLV counts what is left after your product costs. Shopify’s guide gives both formulas. Margin is what you pay your acquisition costs out of, so margin is what you should compare with your cost per customer.
The three methods below run from the quick one to the one I would actually use.
The example store
Everything below uses an invented store so you can follow the arithmetic and then redo it with your own figures. These numbers are illustrative. They are not benchmarks, not averages for any category and not results from any real store.
| Input | Illustrative value |
|---|---|
| Store age | 18 months |
| Orders in the last 12 months | 4,200 |
| Unique customers who ordered in the last 12 months | 3,000 |
| Average order value (AOV) | A$85 |
| Margin left after product cost, shipping you pay and payment fees | 45% |
| Blended cost to acquire a first-time customer (CAC) | A$48 |
| Oldest full monthly cohort | 240 customers who first bought 15 months ago |
All A$ values are merchandise revenue after discounts, excluding tax and shipping. How to count CAC honestly is covered in what counts as CAC on a Shopify store, so I take A$48 as given.
Method 1: the simple formula
Shopify’s guide gives the formula as:
CLV = Average order value × Annual purchase frequency × Average customer lifespan (in years)
Its inputs are defined as follows: AOV is total revenue divided by total orders. Annual purchase frequency is orders during the year divided by unique purchasing customers during that year. Average customer lifespan is the sum of customer relationship lengths divided by the number of customers measured.
On the example store:
- AOV: A$85
- Annual purchase frequency: 4,200 orders ÷ 3,000 customers = 1.4
- Lifespan: the store is 18 months old, so nobody has been a customer for three years. Say the founder guesses 3 years, because that sounds reasonable.
CLV = A$85 × 1.4 × 3 = A$357.
It took two minutes, and it is tempting to stop here. The number is not entirely wrong. It is just far less certain than it looks.
Where the simple formula misleads a young brand
1. One of the three inputs is invented. The lifespan was typed in, not measured. Because the formula multiplies, the answer moves in a straight line with the guess:
| Lifespan guess | CLV (revenue) |
|---|---|
| 2 years | A$238 |
| 3 years | A$357 |
| 5 years | A$595 |
Same store, same orders, a 2.5 times spread, from a number nobody observed. Shopify’s own guide says to estimate lifespan using customer groups with enough purchase history to reveal repeat buying patterns. An 18-month-old store does not have that for years two and three.
2. It assumes year one repeats forever. A frequency of 1.4 orders a year, multiplied by three years, implies 4.2 orders per customer over their life. That is a claim about behaviour in years two and three, made from data that is almost all year-one behaviour. You can sanity-check it against your oldest cohort, as I do in method 3. In the example, that cohort has spent about A$133 by month 12, which is roughly 1.6 orders if a typical order is near A$84, and the curve is flattening.
3. The frequency input blends customers of different ages. Orders in the last 12 months divided by customers in the last 12 months mixes people who joined 11 months ago with people who joined last week. In a growing store, many of those customers have had almost no time to reorder yet, so the figure describes your customer base’s age mix as much as its behaviour. Shopify’s guide makes a related point about cohorts: compare them over equal periods, so older groups do not look more valuable simply because they have had longer to buy.
4. An average hides the split that matters. The formula treats every customer as typical. A store can have a large group who bought once and a smaller group who keep returning, and two stores can share the same average with very different risk. Shopify’s Returning customers and One-time customers reports (both covered below) let you see the split.
5. It is revenue, not money you can spend. An A$357 “lifetime value” compared with an A$48 acquisition cost looks like 7.4 to 1. Revenue is not cash left over. That is why method 2 exists.
Shopify’s guide also states the assumptions behind its other variants: the discount-rate formula assumes constant gross profit, retention and discount rates, and the subscription formula assumes stable monthly revenue, margins and churn. That is a lot to assume for a young brand.
Method 2: the margin-adjusted formula
Shopify’s guide gives the margin-adjusted version as the same formula multiplied by gross margin, entered as a decimal.
CLV = A$85 × 1.4 × 3 × 0.45 = A$160.65 (and A$107.10 on a 2-year guess).
Which margin to use matters more than the formula does. Shopify’s profit reports calculate gross margin as (net sales − cost) ÷ net sales × 100, and they report profit only for products and variants that had a cost recorded at the time they were sold. That is a start. For deciding what you can afford to spend on a customer, I would use a contribution margin: revenue less product cost, less the shipping you pay, less payment fees. The profit reports page describes two of the profit reports (Average profit margin by market and Profit margin by order) as including shipping costs, duties and import taxes paid by your store. It does not mention payment processing fees, so add those from your own records. The 45% in the example is that kind of all-in figure, made up for illustration.
Method 2 fixes problem 5. It leaves problems 1 to 4 untouched, because the lifespan is still a guess. It is a better number built on the same weak input.
Method 3: the cohort method
A cohort is a group of customers who made their first purchase in the same period. Shopify’s Customer cohort analysis report groups customers that way, by the date of their first order, and shows how the group behaves in the weeks, months or quarters that follow. Instead of guessing how long customers stay, you read how much each group has actually spent.
Here is the example store’s oldest full monthly cohort: 240 customers who first bought 15 months ago. The first column is months since first order. The values are cumulative merchandise revenue per customer, and the third column applies the 45% margin.
| Months since first order | Cumulative revenue per customer | Cumulative contribution (45%) |
|---|---|---|
| 0 | A$84 | A$37.80 |
| 3 | A$100 | A$45.00 |
| 6 | A$113 | A$50.85 |
| 9 | A$124 | A$55.80 |
| 12 | A$133 | A$59.85 |
| 15 | A$141 | A$63.45 |
Three things to read off it.
The first order does not cover CAC. A first order of A$84 leaves A$37.80 of contribution against an A$48 acquisition cost. The shortfall is real, and the simple formula never shows it.
Payback is visible, not assumed. Cumulative contribution passes A$48 somewhere between month 3 (A$45.00) and month 6 (A$50.85). So in this made-up store, the average customer pays back their acquisition cost within the first half-year, and by month 12 the observed A$59.85 is about 1.2 times CAC. That is a fact about this cohort, not a forecast.
The curve is flattening. Each quarter added less than the one before: A$16, A$13, A$11, A$9, then A$8. Each of the last four increments was 81% to 89% of the one before it. That is the information method 1 had no way to use, and it makes the simple formula’s 4.2 orders per customer look hard to reach.
Extending the curve: an assumption, labelled as one
If you want a longer-run number, you have to extend the curve, and that is a forecast. A transparent way is to assume each future quarter adds the same share of the previous one that recent quarters did. Taking 85% (a 15% quarterly decline) through to month 36 gives about A$172 of revenue per customer, which is about A$77 of contribution. Taking 90% gives about A$179 of revenue, or A$80 of contribution.
Present it as a range with the assumption stated: “A$77 to A$80 of contribution by month 36 if the decline continues at 10 to 15 per cent a quarter”. Do not present it as a measured lifetime value. Compare that with method 1’s A$357 on the same store: the revenue figure is roughly double what the cohort suggests.
Same store, same CAC, four answers
| Method | Value per customer | Multiple of A$48 CAC |
|---|---|---|
| 1. Simple formula, 3-year guess | A$357 (revenue) | 7.4x |
| 2. Margin-adjusted, same guess | A$160.65 (contribution) | 3.3x |
| 3. Cohort, observed to month 12 | A$59.85 (contribution) | 1.2x |
| 3. Cohort, month 36 on a stated assumption | A$77 to A$80 (contribution) | 1.6x to 1.7x |
The ratios are my arithmetic from the example figures. The gap between the top row and the bottom two is the whole lesson. A founder using row 1 would conclude acquisition is cheap and spend freely. A founder using row 3 would see a store that pays itself back in about half a year, and would plan cash for that wait.
Shopify’s guide describes a 3 to 1 LTV to CAC ratio as a common reference point, and says your target depends on your margins and operating costs. I would not use it as a target here. Two of the rows above clear it and two do not, and the store did not change. What it needs is a spending rule built on payback time, which the cohort table gives you.
Which method for which decision
- How much can I spend to win a customer? Use observed contribution at a fixed age from the cohort table (for example 12 months). Compare it with CAC and read the payback month.
- What is my customer base worth, for planning? Use the cohort curve extended with a stated range, and show the assumption next to the number.
- A fast check on a mature store? The simple formula is fine once you have enough history to measure lifespan. Margin-adjust it.
- Comparing two groups of customers? Cohorts, always. Averages across mixed ages cannot answer this.
If you want to place CLV inside the rest of your numbers, the unit economics spreadsheet walkthrough lays out the other rows, and what to do first when CAC is high and lifetime value is low covers which lever moves which number.
Handling a short history
If your store is 12 to 24 months old, you have thin data, and that changes how you should calculate this. These are the rules I would follow.
1. Report value at fixed ages, not “lifetime”. “Revenue per customer at 3, 6 and 12 months” is something you can measure today. “Lifetime” is not.
2. Do not forecast until you have enough history. Shopify’s own cohort projections show this limit: the Show projections option predicts future amount spent per customer from the previous 24 months of your store’s data, and if 24 months are not available the toggle does not display. Shopify also says projections are not a guarantee of future sales, and the predicted values can be higher or lower than what actually happens. If Shopify will not project from less than two years, be wary of a hand-built projection that pretends to.
3. Use bigger cohorts when the numbers are small. With a few dozen customers in a monthly cohort, one big buyer moves the average. Switch the Intervals menu to quarters, or combine neighbouring months. As a rule of thumb of mine, not Shopify’s, I would not read much into a cohort of fewer than about 100 customers.
4. Separate cohorts that were acquired differently. A cohort won in a big sale can behave differently from one won in a quiet month. That is my judgement, so check it in your own data. Shopify’s cohort report lets you define the cohort by first-order attributes (sales channel, marketing channel, marketing type, product name and subscription), so you can compare, for example, customers whose first order came through one channel with the rest.
5. Be careful with your very first cohort. Early customers are often friends, followers and launch-sale buyers. That is my judgement, not a rule, but check that your oldest cohort resembles today’s customers before you project it forward.
6. Show a range and a date. “A$59.85 contribution at 12 months from the cohort that first bought in July 2025, as at 30 October 2026.” Dated, bounded, repeatable. Redo it every quarter.
7. Leave out industry repeat-purchase benchmarks. I am not quoting a repeat rate for any category, on purpose. Your own cohorts are the only comparison that matches your products and customers.
What prediction tools need
If your email platform shows a predicted CLV per customer, check whether you have enough data for it. Klaviyo’s help centre (the page was last updated 5 August 2025, so check it is still current) lists the conditions for CLV predictions to appear on customer profiles: at least 500 customers have placed an order, at least 180 days of order history with orders in the last 30 days, and at least some customers who have placed three or more orders. It also says predictions work best when averaged over many customers and are not expected to be exact for any single person. It says it builds a CLV model from your data and retrains it at least once a week, but it does not publish the formula. A store below those conditions will not see the numbers, and a store just above them should treat them as rough.
Where to pull each input in Shopify
In your Shopify admin, go to Analytics, then Reports. Shopify’s guide tells you to filter by Customers and open Customer cohort analysis. Report and menu names change, so treat the table below as a map and check the labels in your own admin.
| Input | Where to find it | What to watch |
|---|---|---|
| Average order value | Analytics, in the Reports section. It is also in the cohort report’s Metric menu | Shopify Analytics defines AOV as (gross sales − discounts) ÷ orders. Shopify’s CLV guide writes it as total revenue ÷ orders. Pick one definition and keep it |
| Orders per customer (purchase frequency) | Customer cohort analysis: click an interval cell to see average orders per customer. The Returning customers report lists each customer’s number of orders | The “period 0” column includes repeat orders in the same period as the first order |
| Number of customers | New customers over time and New vs returning customers reports; the cohort report’s Number of customers metric | Use first-time customers, not all customers, when you work with a cohort |
| The cohort curve | Customer cohort analysis. Metrics include number of customers, customer retention rate, gross sales, net sales, average order value and amount spent per customer. Intervals are weeks, months or quarters | Amount spent per customer includes taxes, shipping and refunds (see below) |
| Margin | Profit reports, such as Gross profit by product and Profit margin by order | Profit is reported only for products and variants with a cost recorded at the time of sale. Add payment fees yourself |
| One-time against repeat buyers | Returning customers (two or more orders) and One-time customers (one order) | These are based on each customer’s order history, so treat the split as store-wide, not a cohort rate |
| Lifespan | Not a Shopify field | Read it off the cohort curve instead of typing it in |
A few definitions from Shopify’s analytics fields reference are worth knowing, because they decide whether your numbers are comparable:
- Customer retention rate is the percentage of customers in the given cohort who placed an order in the given period.
- Amount spent per customer is the average cumulative amount customers in the given cohort have spent at your store. Shopify’s changelog says this metric includes taxes, discounts, shipping and any refunds. Because taxes and shipping are in it, expect it not to match the merchandise-revenue figures in this post, and check in your own report how GST appears.
- Net sales is gross sales minus discounts minus sales reversals, so it leaves out shipping and taxes. If you want a cohort number that compares with the A$ figures in this post, build it from net sales divided by the number of customers in the cohort. Shopify’s November 2023 changelog describes a toggle for cumulative net, gross and total sales across cohorts, but the labels in your admin may differ.
A note on plans. Shopify’s own pages do not give one answer on which plan includes which customer report, and I am not going to guess. Shopify’s help page for customer reports does not mention a plan. Shopify’s reports overview says the main Analytics features are available on any plan, and the pricing page lists “200+ real-time reports, plus custom analytics” for Basic, Grow, Advanced and Plus alike. A Shopify changelog entry from 31 January 2024 says predicted spend metrics in cohort analysis are for Advanced plans and above and need at least 24 months of sales data. I could not confirm that entry is still current. As at 30 October 2026, the reliable check is to open Analytics, then Reports, filter by Customers and see what your own admin shows. If cohort analysis is missing, the Returning customers report (which lists each customer’s first and most recent order dates, number of orders and total amount spent, and which Shopify’s help page shows being exported to CSV after filtering) is enough to build a rough table by hand.
Before you trust any of it, check that your orders reconcile. If Shopify and your Google Analytics 4 property disagree about how many orders you had, every input above is suspect. GA4 and Shopify Analytics count differently, and some gap is normal, but an unexplained one needs fixing first. The three numbers Shopify founders watch covers the baseline to write down.
A 60-minute worksheet
- Pick your oldest cohort with at least 100 customers. If no single month qualifies, use a quarter.
- Note the number of customers in it and its first-order net sales.
- Read cumulative net sales at 3, 6, 9 and 12 months (and later if you have them), then divide each by the number of customers.
- Multiply by your contribution margin. Make it all-in: product cost, shipping you pay, payment fees.
- Compare with CAC. Find the month when cumulative contribution passes it. That is your payback time.
- Check the quarterly increments. If each is smaller than the last, write the ratio down. That is your decay assumption.
- Repeat for the next cohort. If payback time moved, find out why before you change your budget.
- Run method 1 as a sense check only, and compare the orders per customer it implies with what the cohort actually shows.
- Save the sheet with the date. Redo it in a quarter.
Lifetime value does not contain conversion rate, but it tells you what an extra customer is worth. If a first-time customer is worth A$59.85 of contribution at 12 months, each extra new customer from the same traffic is worth that much, which is how conversion work shows up in these numbers. More on that in how to grow Shopify revenue without more ad spend and how the whole DTC growth system fits together.
Key takeaways
- Customer lifetime value is the total a customer spends over the relationship. Shopify’s guide gives AOV × annual purchase frequency × average customer lifespan, with a margin-adjusted version.
- In a young store, lifespan is a guess, and because the formula multiplies, a guess of 2 to 5 years moves the answer from A$238 to A$595 on the same illustrative store.
- Compare contribution, not revenue, with your cost per customer. Revenue LTV against CAC overstates the ratio.
- The cohort method reads what groups of customers have actually spent. It gives you payback time, which is more useful for spending decisions than a lifetime figure.
- Report value at fixed ages (3, 6, 12 months). Label any forecast as an assumption, with a range and a date.
- Shopify’s own cohort projections need 24 months of data. Klaviyo’s predictions need at least 500 customers with orders and 180 days of history.
- Check plan access in your own admin, because sources disagree, and check that Shopify and GA4 agree on orders before you trust any input.
- Prism3 does not run ads, email or SMS. We work on conversion after the click, organic and AI-search visibility, and measurement.
FAQs
What is customer lifetime value on Shopify?
It is the total amount a customer spends with your store over the whole relationship (Shopify’s definition), also written CLV, CLTV or LTV. It can be historical, using only past orders, or predicted, which adds an estimate of future orders.
What is the simplest way to calculate CLV?
Multiply average order value by annual purchase frequency by average customer lifespan in years. The trouble for a young store is the lifespan, which cannot be measured yet. Use the cohort method for decisions and the simple formula as a quick check.
Does Shopify calculate customer lifetime value for me?
Shopify gives you the building blocks: customer cohorts, retention rate, amount spent per customer, orders per customer, and returning and one-time customer reports. For stores with 24 months of data, the cohort report can project future amount spent per customer. Shopify’s list of customer reports as at 30 October 2026 has no report named customer lifetime value, so check what your own admin shows.
Should I use revenue or profit for lifetime value?
Use contribution (revenue less product cost, shipping and payment fees) when you compare it with what you spend to acquire a customer. Revenue-based CLV is fine for comparing groups of customers with each other, if you use the same basis each time.
How do I calculate CLV with less than a year of data?
Do not calculate a lifetime figure. Report cumulative contribution per customer at the ages you have (for example 3 and 6 months), compare it with your cost per customer, and note the payback month if you have reached it. Label any forecast as an assumption.
What is a good LTV to CAC ratio?
Shopify’s guide calls 3 to 1 a common reference point and says it does not fit every business, and that your target depends on margins and operating costs. I do not use a fixed target. In the example above, the same store scored between 1.2 to 1 and 7.4 to 1 depending on method. Look at payback time and whether you can fund the wait.
Can I trust the predicted CLV in my email platform?
Treat it as an estimate. Klaviyo’s help centre says predictions work best when averaged over many customers and are not expected to be exact for any single person. It lists conditions for them to appear: at least 500 customers who have ordered, 180 days of history and some customers with three or more orders. It does not publish the formula, so check your cohort numbers against it.
Keep reading
- What to do first when CAC is high and lifetime value is low
- A Shopify unit economics spreadsheet, step by step
- The DTC growth system: how paid, organic, CRO and email fit together
Want a second opinion on your numbers?
Is your first order costing more than it should? Part of your cost per customer is how many visitors buy. Book a free 30-minute diagnostic: we look at where your store loses buyers after the click, using your own numbers, and tell you what to fix first. We do not run ads or email. No pitch. No email gate. If conversion and tracking are where your numbers point, see how our Shopify CRO service works.
Free 30-min diagnostic
Seen enough?
Book a free diagnostic.
We'll look at where your store loses buyers after the click and what to fix first. No pitch. No email gate. 30 minutes.
More from Prism3
Afterpay vs Zip vs Shop Pay Instalments: Shopify AU
Afterpay, Zip and Shop Pay Instalments compared for Australian Shopify stores: merchant fees, payouts, approval, checkout placement and a worked margin example.
AI-Referred Orders on Shopify: What Is Real and What Is Hype
What Shopify has disclosed about AI-referred orders, why the 13x headline needs context, how to find AI traffic in GA4 and Shopify, and what to do now.
AI Visibility Tools for Shopify: What They Measure and Miss
What AI visibility tools for Shopify stores really count: mentions, share of voice and citations, where the data is sampled or unstable, and how to use them.