Shopify customer lifetime value
What Shopify customer lifetime value means for a Shopify store
The revenue one customer brings. What that includes, and what it leaves out.
Key takeaways
- Read the checks, not only the headline.
- Confirm anything you might change in the admin, the ad account, or both.
- If the result cannot see cost, sessions, or repeat rate, it cannot answer those questions.
What you actually get
Shopify lifetime value multiplies average order value, orders per year, and years retained. The result is revenue from one customer, not profit.
A first order that looks expensive on ROAS can still be rational if later orders are real and cheaper to earn. The calculator does not know that. It only multiplies the three numbers you type, so the repeat rate has to come from your own Shopify reports.
Average order value is in Shopify’s analytics. The repeat rate is in your customer behavior, and a store that is six months old does not have a two-year cohort. Type a span you have actually seen.
What it leaves out
The figure is revenue, not profit. It assumes the repeat rate and the lifespan you type will hold.
The steps for a single pass are in how to run Shopify lifetime value.
The output is revenue, not profit
The lifetime value calculator returns revenue. The formula is average order value times orders per year times years. It does not subtract product, shipping, fees, or ads. A large result can sit on top of a losing first order. If you need dollars left over, that is the profit calculator at /profit-calculator/. If you paste this revenue figure into a profit slot, you have changed the meaning.
Say average order value is 54 dollars, orders per year is 3, and years is 2, as an example of the multiplication only. 54 times 3 is 162. 162 times 2 is 324. The result is 324 dollars of revenue. It is not 324 dollars of profit. It is not a target. It is not a customer from a live shop. The full walk of this multiplication, including what happens when one input changes, belongs in one extended sheet so the definition stays put.
It assumes the repeat and the lifespan you type
Orders per year is the repeat assumption. Years is the lifespan assumption. The calculator does not know your retention. It multiplies whatever you type. If you type a hopeful repeat, the revenue gets hopeful in a straight line. If you type a repeat you counted, the revenue is only as good as the count and the window of that count.
Nothing inside the formula damps the assumption. Doubling the years doubles the revenue, because years is a multiplier. That is not a forecast that customers will stay twice as long if you wish them to. It is arithmetic. The output should be read as 'if these inputs, then this revenue,' not as 'this customer is worth this much.'
Average order value is the revenue per order you type
Average order value in this formula is the revenue per order you decided to use. It is not a margin and not a contribution. Build it from your own orders if you want it to describe your shop, and use /learn/average-order-value.html when you need the definition of that average. A borrowed average from another brand is a borrowed revenue line. The lifetime figure will inherit the borrow.
If your orders mix first purchases and repeats at different prices, one average hides the mix. You may still type one average, but write what it contains. An average inflated by a rare bundle will inflate every year in the formula. The calculator will not warn you. The note has to say which orders sat inside the average.
This revenue is not an ad budget
The result is not the amount you may spend to acquire a customer. Spending the revenue figure, or a fraction you call safe, ignores every cost and still assumes the repeats arrive. Break-even on the first unit lives at /roas-calculator/ and uses price, product, shipping, and fees. It does not use years. A lifetime revenue number cannot loosen a first-order hurdle unless you are explicitly spending into a loss and you have written that down.
ROI at /roi-calculator/ is a percent of spend on a scope you name. It is not lifetime revenue divided by something. If you want a percent, build a profit figure first, on a scope you can defend, then divide. Do not divide this calculator's revenue output by ad spend and call the ratio either ROAS or ROI without saying you changed the formula.
Repeats are not fetched from Shopify
The calculator does not pull Shopify orders, cohorts, or subscription contracts. It will not see that buyers came back. You type orders per year. You type years. You type average order value. If those inputs are blank in your head, the honest output is blank, not a round number you like.
A cohort export you built yourself can feed the inputs. The calculator still does not open the export. You type the summary you are willing to sign. Write the cohort dates next to the inputs. A lifetime revenue figure without cohort dates will be treated as a permanent property of the brand. It is a property of the inputs.
What the multiplication is sensitive to
Because the formula is a product of three numbers, each input scales the result in a straight line. A 10 percent higher average order value, in whatever example you type, yields a 10 percent higher revenue result. That sensitivity is mathematical. It is not evidence that raising prices by 10 percent will raise lifetime revenue by 10 percent in the world, where order counts may fall. The calculator does not model that fall.
Orders per year below 1 is allowed if you mean that not every customer orders each year. The result gets smaller. Do not 'fix' a low repeat by stretching the years until the revenue looks like a number you wanted. Stretching years is the assumption. Call it an assumption. Prefer a shorter lifespan you counted over a long one you hope for.
The gap between this revenue and profit
To get from this revenue to profit you must leave the calculator. Subtract the costs of the orders you assumed, including the ads that brought the customer and the ads or offers that brought the repeats, if you include them. None of that subtraction happens here. A note that shows revenue and then, without a cost stack, says the customer is worth that revenue, has skipped the only step that creates worth in money-left-over terms.
Gross margin at /profit-margin/ is about one price and one product cost. It does not become a lifetime margin by being multiplied by orders and years unless you do that multiplication yourself and label it as yours. The lifetime calculator will not apply a margin. If you apply one, the new figure is no longer the calculator's output. Say that in the same sentence.
What to store with the revenue
Store the three inputs, the result, the word revenue, the cohort or the word assumption, and the date. Store the costs you refused to subtract, so nobody 'helps' later by treating the figure as profit. If orders per year came from a count, store the numerator and the denominator of that count.
When you change one input, store the old result. The difference is the formula's sensitivity, not a business result. A history of honest sensitivities is useful. A single lifetime number with no inputs is a slogan. Slogans get spent as ad budgets. Inputs get argued with.
Edges the formula will not save you from
If years is zero, revenue is zero. Do not type a tiny lifespan to avoid a zero you dislike, and do not type a huge lifespan to avoid a small repeat. If average order value is zero, revenue is zero, which usually means you typed the wrong field, such as a margin, into the revenue slot. Check units before you check strategy.
Negative inputs are not a secret way to model refunds. Refunds reduce the average order value you type, or they reduce a profit sheet elsewhere. A negative years value is nonsense. The calculator's job is a product of the three non-negative inputs you mean. Clean the inputs rather than interpreting a strange output as insight.
Neighbor questions stay neighbors
Open /lifetime-value/ for this revenue product. Open /learn/average-order-value.html before you invent the first input. Open /profit-calculator/ for a remainder on one order or one window. Open /roas-calculator/ for revenue divided by ad spend on a matched window, which is not lifetime revenue divided by first-order ads. Open /profit-margin/ for the product-cost slice of one price.
The sentence that should survive contact with all of those tools is: this output is revenue, it assumes the repeat and the lifespan you type, and it is not an amount you are cleared to spend. If a dashboard shows one number and hides the three inputs, it is not this calculation anymore.
Shopify questions
Does Shopify lifetime value need access to the Shopify admin?
No. Public tools read a URL anyone can open. Calculators use the numbers you type and do not connect to the store.
Can the result be wrong?
Yes. A public tool can read the wrong URL, miss an app that never loads, or match the wrong brand. A calculator repeats a cost you left out. The result is only as good as that input.