Customer Lifetime Value on Shopify, Plainly
Customer lifetime value for Shopify merchants: a simple formula on margin, the cohort report that feeds it, and how offers that acquire buyers change it.
Customer lifetime value is the number that tells you how much a buyer is worth after the first order, and it is easy to compute badly. The common version multiplies revenue by order count and stops there, which overstates what a customer is worth when you discount to win them. This page uses a version on margin, shows where Shopify's reports supply the inputs, and then uses it to compare two ways of rewarding a new customer: a one-time first-order discount and a subscription price that changes by delivery.
Every figure in the examples is an assumption chosen for arithmetic. There is no benchmark lifetime value in this post, and none should be copied into your plan.
Lifetime value on margin, not revenue
Revenue lifetime value counts what the customer pays. Margin lifetime value counts what you keep. The second is the one to compare with what it cost to acquire the customer, because acquisition is paid from margin.
Use contribution per order: net sales minus the cost of the products, minus shipping you pay, minus payment fees. Then:
Lifetime value = first-order contribution + (expected repeat orders × contribution per repeat order)
Pick a horizon, such as 12 months, and compute the repeat orders per customer inside it. A discount enters the formula on the order where it is given, which is why it lowers lifetime value by exactly its dollar amount unless it changes who buys or how often.
Getting the inputs from Shopify
Shopify's Help Center describes a customer cohort analysis report that displays data about your customer acquisition and retention. Customers are grouped into cohorts by the date of their first order, and the table shows a selected metric over the weeks, months or quarters since that order. You can change the metric. The options the page lists include number of customers, customer retention rate, gross sales, net sales and average order value, plus an amount spent per customer metric that is the only one supporting projections. The same page describes a returning customers report, which displays data about all your customers whose order history includes two or more orders and lists each customer's order count and spending.
For the formula you need three numbers, and the cohort report gives two of them:
- Repeat orders per customer in your horizon, from the number of customers and the orders they placed in later periods.
- Net sales per repeat order, from the net sales and customers columns.
- Contribution margin, which Shopify's report does not give you. It comes from your own product costs, shipping invoices and payment fees.
The page does not say which Shopify plans include the cohort report, so check the Analytics section of your own admin. Do the work on a cohort old enough to have had time to repeat, and keep new cohorts out of the average.
A worked example
Assume a first order of 60 dollars and a contribution margin of 40 percent of net sales, after product cost, shipping and fees. That means it costs you 36 dollars to serve a 60 dollar order and you keep 24. Assume a repeat order of 55 dollars, kept at the same 40 percent margin, which is 22 dollars, and assume 0.8 repeat orders per customer in the first 12 months.
Lifetime value is 24 + 0.8 × 22 = 41.60 dollars. By revenue it would look like 60 + 0.8 × 55 = 104 dollars, and the gap between the two is the reason to use margin.
A first-order discount, in lifetime value terms
Now give new customers 20 percent off the first order. The order is 48 dollars and the cost to serve it is still 36 dollars, so you keep 12 dollars, not 24. Lifetime value is 12 + 0.8 × 22 = 29.60 dollars. The discount cost 12 dollars per customer, and it never comes back from that customer's first order. To pay for itself without changing who buys, it must add repeat orders: 12 ÷ 22 = 0.55 extra repeat orders per acquired customer in the horizon.
That is the honest test for a first-order offer. Does it bring in customers who repeat at least that much more often than the customers you would have won anyway? The cohort report can answer it later, if you keep a cohort for the offer. The method for comparing rates is in Break-Even Discount: Extra Volume You Need, and the cost view is in Why a 15% Discount Costs More Than You Think.
A first-box price is a different thing
A subscription's first-box price and a first-order discount look alike on a banner and behave differently in the formula. A one-time first-order discount is paid once and then the customer repeats at whatever pace they choose. A subscription has scheduled deliveries, so you can set the price of each delivery in advance. You can discount the first box and charge full price afterward, charge a smaller discount every time, or step down gradually.
Cycle pricing: four options on one table
Assume a box that sells at 40 dollars and costs 22 dollars to make, pack and ship, which is an 18 dollar contribution at full price. Four ways to price it follow, with the contribution per subscriber over three horizons. The horizons are how many deliveries a subscriber receives before leaving, and they are assumptions, not data.
| Pricing | Price of box 1 | Price of later boxes | 3 deliveries | 6 deliveries | 12 deliveries |
|---|---|---|---|---|---|
| No discount | 40.00 | 40.00 | 54 | 108 | 216 |
| 10% off every box | 36.00 | 36.00 | 42 | 84 | 168 |
| 25% off box 1, then full price | 30.00 | 40.00 | 44 | 98 | 206 |
| 25% off box 1, then 2 dollars off | 30.00 | 38.00 | 40 | 88 | 184 |
Read across a row and the stay length decides everything. Front-loading the discount costs 10 dollars of contribution once, and the discount then stops. A discount on every box keeps costing 4 dollars per delivery. At 12 deliveries the front-loaded option is 10 dollars behind full price while the flat 10 percent is 48 behind. At 3 deliveries the front-loaded option is 10 behind and the flat discount 12.
The table is the cost side only. To see how many extra subscribers a discount needs to be worth giving, divide the full-price total by the discounted total. At six deliveries, 108 ÷ 98 is 1.10, so the front-loaded option needs about 10 percent more sign-ups than no discount, while the flat 10 percent option needs 108 ÷ 84, or about 29 percent more.
What to measure
Keep a cohort for each offer and read its retention in the cohort report. Shopify's page says you can filter and change the interval, so compare cohorts by month of first order. A first-box discount that brings in many one-delivery subscribers has failed even if sign-ups doubled. Revenue per customer, taken alone, will not tell you that, as Average Order Value: Formula and 12 Levers explains. The Seattle page sets out a cycle pricing plan for a refill subscription.
Setting up cycle pricing
Shopify's Help Center describes two ways to sell subscriptions: the free first-party Shopify Subscriptions app, or a third-party subscription app from the Shopify App Store. The Subscription cycle pricing template in Freebies Engine by Log Studio Lab is described as different prices for each delivery of a subscription. Choose the row from the table whose horizon you believe and keep the cohort so you can check it after a quarter.
Sources
- Shopify Help Center: Customers reports (customer cohort analysis, returning customers) (accessed October 10, 2026)
- Shopify Help Center: Subscriptions (accessed October 10, 2026)