
Customer lifetime value (CLV) is the revenue, or better, the gross profit, that a customer generates across their relationship with your brand. It is the number that tells you what a customer is worth after you have paid to acquire them, and therefore how much you can afford to spend acquiring the next one.
Most guides stop at the textbook formula. We work weekly with eight and nine figure Shopify brands, and the formula is rarely the problem. The problem is that "lifetime" is an unfinished number nobody can act on. This guide gives you the formula, the five metrics underneath it, and the fixed-window version we use to run retention day to day.
What customer lifetime value is (and what LTV means)
CLV and LTV are the same thing. Some teams say customer lifetime value, some say lifetime value, and the calculation is identical: the total value one customer brings over the time they keep buying from you.
There are two versions of the number, and the difference matters more than any formula.
- Revenue-based CLV adds up what the customer spends. It is easy to pull from Shopify and easy to overstate, because it treats a $100 order at 30% margin the same as a $100 order at 70% margin.
- Profit-based CLV multiplies by gross margin, so it reflects what is actually left to reinvest. This is the version we recommend, and if you cannot get to gross profit yet, start with revenue and upgrade later.
Why does it matter? Once you have spent $50 acquiring a customer, ROAS, email revenue and conversion rate have done their job. The only question left is how many further purchases you can extract from that customer. If you do not know your customer acquisition cost, work that out first, because CLV only means something in relation to it.
The customer lifetime value formula
The basic formula multiplies three things together.
CLV = average order value × purchase frequency × customer lifespan
Take a brand with a $50 AOV whose customers buy 2.5 times a year and stay for two years on average. Revenue-based CLV is $50 × 2.5 × 2 = $250.
To get the profit-based version, multiply by gross margin. At a 60% gross margin the same customer is worth $250 × 0.60 = $150 in gross profit. That is the number to compare with CAC. If you paid $50 to acquire that customer, you have a 3:1 ratio, which is the widely used minimum for a healthy Shopify store.
Subscription and replenishment businesses can skip the lifespan estimate, because churn gives it to you directly.
Subscription CLV = (average revenue per customer per month ÷ monthly churn rate) × gross margin
At 5% monthly churn a subscriber stays about 20 months (1 ÷ 0.05). At $100 a month and 40% margin, that is ($100 ÷ 0.05) × 0.40 = $800. Push churn to 8% and the same subscriber is worth $500. Nothing else changed.
| Formula | Calculation | Use it when |
|---|---|---|
| Revenue CLV | AOV × purchase frequency × lifespan | You need a first number quickly and margin data is not clean yet |
| Profit CLV | AOV × purchase frequency × lifespan × gross margin | You are setting CAC targets or ad budgets (recommended) |
| Subscription CLV | (monthly revenue per customer ÷ monthly churn) × gross margin | Most of your revenue is recurring |
| 90-day customer value | Gross profit per customer in the 90 days after acquisition | You want a number you can compare quarter to quarter and act on |
The five metrics behind customer value
CLV is an output. The inputs are five metrics, and every one of them is something you can measure and move. Kris breaks each one down, with the calculation, in this chapter of the retention masterclass; the rest of the five metrics chapter is on the resource page.
Average order value (AOV)
Total revenue divided by total orders, for all time or for a period. $500,000 across 10,000 orders is a $50 AOV. AOV alone tells you nothing about margin, so read it alongside average gross profit per order. If you want the full picture, we have a separate guide to average order value.
Repeat purchase rate (RPR)
The percentage of customers who bought once and then came back for a second order. If 10,000 first-time customers produce 3,000 second orders, RPR is 30%. Measure it inside a fixed window rather than all time: three, six or twelve months at most. We prefer 90 days because it lines up with quarters, so you can compare this quarter with last quarter and with the same quarter last year. Our repeat purchase rate guide covers how to pull it from Shopify.
Time to second purchase
The gap between a customer's first and second order. Use the median, not the average. Line up every gap and take the middle value; do not add them all up and divide. Five customers who return after 20, 25, 30, 35 and 600 days have an average of 142 days, which is meaningless because of the 600-day outlier. The median is 30 days, which is when customers are actually returning. We explain why this is the most underrated metric in retention in our post on time to second purchase.
Purchase frequency
The number of purchases per customer over a fixed period. A one-year window gives the most accurate read, because it smooths out seasonality.
90-day customer value
What a customer is worth after acquisition, measured in the 90 days that follow their first order. Ideally this is gross profit, not revenue. If you cannot get to gross profit, start with revenue and refine later.
| Metric | How to calculate it | Window | Example |
|---|---|---|---|
| AOV | Total revenue ÷ total orders | Period or all time | $500,000 ÷ 10,000 orders = $50 |
| Repeat purchase rate | Customers with a second order ÷ first-time customers | 90 days (max 12 months) | 3,000 ÷ 10,000 = 30% |
| Time to second purchase | Median gap between first and second order | Per cohort | Gaps of 20, 25, 30, 35, 600 days = 30 days |
| Purchase frequency | Orders ÷ customers | 12 months | 23,000 orders ÷ 10,000 customers = 2.3 |
| 90-day customer value | Gross profit per customer in the 90 days after acquisition | 90 days | $90 gross profit against a $50 CAC |
Why a 90-day window beats "lifetime"
We measure 90-day (and 180-day) customer value instead of lifetime value for three reasons.
First, lifetime never finishes. A customer acquired last year is still mid-lifetime, so any lifetime figure is either a projection or a number from cohorts old enough to be irrelevant. A 90-day window closes, and you can compare it quarter to quarter.
Second, revenue hides margin. Two customers can generate identical revenue and very different gross profit. If you want to know how much you can reinvest in acquisition, measure gross profit.
Third, it ties straight back to CAC. Picture two brands, both paying $50 to acquire a customer. Brand A generates $90 of gross profit per customer in 90 days. Brand B generates $150. Same CAC, vastly different businesses: Brand B can afford a higher CAC, bid more aggressively and scale further, while Brand A is constrained in what it can reinvest. That is the customer value versus CAC argument, and it is the reason this metric matters more than ROAS.
Step by step: calculate CLV from Shopify data
Shopify does not have a single CLV report, but everything you need is in Analytics.
- Find AOV. Analytics > Reports > Finance > Sales. Set the date range to the last 12 months and note the average order value.
- Count orders and customers. Total orders is in the same Sales report. For unique customers, use Customers over time and add new and returning customers for the period.
- Work out purchase frequency. Divide total orders by unique customers. 2,400 orders from 960 customers is a frequency of 2.5.
- Choose a window instead of guessing lifespan. Take the customers acquired in a single month (Shopify's cohort analysis under Customers does this), then add up everything they bought in the following 90 days.
- Apply gross margin. Margin lives outside Shopify: (selling price minus cost of goods) ÷ selling price. Use a blended figure across the catalogue if you sell many products.
Here is a complete 90-day example. A brand acquires 1,000 new customers in January. Over the following 90 days those customers place 1,500 orders at a $100 AOV, which is $150,000 of revenue and a 90-day purchase frequency of 1.5. At a 60% gross margin that is $90,000 of gross profit, or a 90-day customer value of $90. Against a $50 CAC the brand is comfortably profitable on the first quarter alone, and every purchase after day 90 is upside.
Run that for each monthly cohort and you will see immediately whether customer value is rising or falling, months before a lifetime figure would tell you anything.
The Shopify loyalty program growing brands trust
See how Mage helps Shopify brands lift repeat purchase rate with loyalty, referrals and store credit.
Book a demoHow the metrics fit together: the customer value tree
Customer value sits at the top of the tree. Directly below it are the three behaviours that produce it: purchase frequency, repeat purchase rate and AOV. Below those sits time to second order, because how quickly a customer comes back determines how many orders fit into any window.
- Customer value (90-day or 180-day gross profit)
- Purchase frequency, repeat purchase rate and AOV: how customers buy
- Time to second order: how fast the second purchase arrives
The top four are behaviours. Time to second order and 90-day value are economic outcomes. Moving any of the five in the right direction is improving retention, whatever your email open rates say.
The compounding is bigger than it looks. Two brands with 10,000 customers and an identical $50 AOV: Brand A averages 2.3 orders per customer per year, Brand B 2.0. That 0.3 difference is 3,000 extra orders and $150,000 of extra revenue, from two brands that look the same on RPR and AOV alone. The full explanation of how the metrics fit together is on the masterclass page.
“I looked into so many different integrations for loyalty and referrals for our Shopify Store, but no one impressed me more than Mage on human connection, customer service, and value.”


Read the Reelie case study →
Mistakes we see in CLV calculations
- Using revenue when you mean profit. Revenue-based CLV makes every customer look valuable and leads to acquisition overspend.
- Averaging time to second purchase. One 600-day customer skews the whole figure. Use the median.
- Blending every segment together. Customers acquired at full price behave nothing like customers acquired in a Black Friday sale. Calculate by channel, first product and acquisition period.
- Measuring "lifetime". The window never closes, so the number cannot be compared or acted on. Fix it at 90 or 180 days.
- Ignoring the second-order gap. Two brands with the same RPR and different time to second purchase are different businesses.
What to do with the number
Once you have a 90-day customer value per cohort, three decisions get easier. You know how much you can pay to acquire a customer and still hold a 3:1 ratio. You can see which acquisition channels produce high-value customers rather than cheap first orders. And you can pick the constraint to work on: if RPR is fine but time to second purchase is 120 days, the fix is different from a brand where nobody comes back at all.
If you would rather not build the spreadsheet, our customer lifetime value calculator does the arithmetic. Then move on to the levers: our guide on how to increase customer lifetime value covers the three ways to grow it, and a well-designed Shopify loyalty program is how most of the brands we work with move RPR and frequency at the same time.
Frequently Asked Questions
What is the difference between CLV and LTV?
There is none. Customer lifetime value and lifetime value describe the same metric, and the formulas are identical. The distinction that does matter is revenue-based versus profit-based, and whether you measure across a lifetime or inside a fixed window.
Should I calculate CLV on revenue or gross profit?
Gross profit, wherever possible. Profit-based CLV is what you can actually reinvest in acquisition, and it is the only version that compares cleanly with CAC. If your cost of goods data is not clean yet, start with revenue, but treat it as an interim number.
How often should I recalculate CLV?
Every quarter, by monthly acquisition cohort, using a 90-day window. That gives you a like-for-like comparison against last quarter and the same quarter last year. Recalculate monthly while you are testing something specific, such as a new loyalty program or a change to your second-order incentive.
Graeme is the co-founder at Mage Loyalty. He heads product development, from complex loyalty migrations and large-scale data handling to building the features shaping the future of loyalty on Shopify.
















