Free tool

Customer Lifetime Value Calculator

A customer who loses money on their first order can still be one of the client’s best. Customer lifetime value is average order value × orders a year × years they keep buying: $75 × 3 × 2 = $450. At a 40% margin before ads, that’s $180 of profit, or $30 an order. A customer who cost $50 to win is $20 down after their first order and paid back on their second.

When does a customer pay back? (optional)

Cost to win a customer is your ad spend divided by the first-time customers it brought in.

Customer lifetime value
$450.00

$75.00 × 3 orders a year × 2 years in sales

Lifetime profit before ads: $180.00 (40% margin)

First order after the $50.00 cost: loses $20.00

Pays back on the 2nd order, about month 4, then makes $130.00 per customer over 2 years.

Google Sheets formulas

Average order value in column B, orders per year in C, years in D, margin in E (formatted as a percent), cost to win a customer in F.

Judge the customer, not the first order

Judge the campaign on the first sale and you’d turn it off. Wait four months for the customer’s second order and they’re $10 up. After six orders in two years, they’ve made the client $130 after the cost.

One customer’s profit after the $50 it cost to win themExample numbers: $75 orders, a 40% margin before ads, 3 orders a year. After the first order the customer is $20 down. The second order, about month 4, brings them to $10 up. After six orders in two years they’ve made $130 after the cost.Profit from one customer after the $50 it cost to win themEach step is an order: $75, 40% margin, 3 a year$0$70$140Order 1: −$20Order 2: +$10+$130 after 2 yearsMonth 0Month 12Month 24
Example numbers.

To find the order that pays back the cost, divide the cost by the profit per order and round up to a whole order. To turn that into a month, use (that order − 1) × 12 ÷ orders a year. The first order is month 0, and the rest are spaced evenly through the year.

Count first-time customers, not sales. A cost per sale counts repeat orders too, so it understates what a new customer costs. And use the campaign’s own customers when you can: people won by a discount campaign may not come back as often as the store’s average.

Orders a year decide how long the client waits

The wait depends on how often a customer orders. At $30 of profit an order, the $50 is back on order 2 at every rate: month 12 at one order a year, month 4 at three, month 2 at six. How long they keep buying doesn’t move that date. It decides whether the money comes back at all, and how much is left after.

When the cost comes back at three order ratesExample numbers. Each order leaves $30 of profit, so the second order pays back the cost at every rate: month 12 at 1 order a year, month 4 at 3 and month 2 at 6.When the $50 comes backEach dot is an order; the cost is back on order 21 order a yearMonth 123 orders a yearMonth 46 orders a yearMonth 206121824Month
Example numbers.

At one order a year, a client who checks the campaign after a quarter sees nothing but losses. The customer still pays back at month 12 and ends $10 up over two years. Slow, but they got there.

How long does a customer keep buying?

It’s the one input nobody can look up. From the store’s own history, take last year’s customers and the share who didn’t buy again this year. One divided by that share is roughly how many years a customer stays: if half didn’t come back, 1 ÷ 0.5 is 2 years.

A younger store doesn’t have that history, and Shopify’s own cohort projections need 24 months of store data before they appear. Use the months you’ve seen and call the result lifetime value so far. Then rely on the payback order, which doesn’t need the lifespan at all.

How to calculate customer lifetime value from Shopify data

Start from net sales: gross sales less discounts and returns. Shopify’s returning customers report counts taxes and shipping in what each customer spent, money the client doesn’t keep, so it overstates lifetime value.

Our add-on pulls Shopify orders into Google Sheets with these columns: Order ID, Customer ID, Order created at date, Net sales, Gross profit and Customer type (first-time or returning). Net sales divided by orders is the average order value, and gross profit divided by net sales is the margin. Use COUNTIF on the Customer ID column to count each customer’s orders. Averaged over 12 months of orders, that’s orders per customer per year. For the cost to win a customer, count a month’s first-time orders and divide that month’s ad spend by them. Put the spend from Facebook Ads and Google Ads in the same sheet, paste the formulas from the calculator, and the payback order updates on the schedule you pick, from every 5 minutes to monthly.

It’s free to start: the Hobby plan includes 35 report refreshes a month, and paid plans start at $24.99 a month.

Get store orders and ad spend into one sheet automatically

Install it free and connect your store and your ad accounts. No credit card needed.

Install the add-on

Questions

What is a good customer lifetime value?

One that earns back what the customer cost to win in the first few orders, then keeps earning. There’s no figure to copy from another store: the same $450 customer is a good one at a $50 cost and a loss at $200.

What is a good CLV to CAC ratio?

CAC is what a customer costs to win. Most pages say 3:1 or better. David Skok’s guidelines for SaaS companies say the best have a lifetime value higher than 3 times what a customer costs to acquire, counted on gross profit. For a store, divide lifetime profit, not sales, by that cost: $180 ÷ $50 is 3.6 in the example.

Should future orders be discounted?

For a planning number, yes. Skok recommends discounting future revenue at 10% a year, adjusted to your own cost of capital (what your money could earn elsewhere). In the example, that takes about $8 off the second year’s $90 of profit.

To cite this calculator: SyncWith Customer Lifetime Value Calculator, https://syncwith.com/tools/clv-calculator.