Skip to content
Marketing·Sep 17, 2026·35 min

Retention Marketing for DTC Brands: How to Measure What You’re Actually Changing

Retention marketing usually gets treated as a program problem. Build the flows, launch the loyalty tier, add a subscription option, and repeat revenue follows. The measurement layer underneath all of it rarely gets the same scrutiny, which is how brands end up running retention programs they can’t evaluate.

This is the measurement frame for the rest of our retention work. Every number below carries a link to its source in the sentence where it appears. Vendor figures stay labeled as vendor figures, and where we computed something ourselves, the assumptions and the arithmetic sit on the page so you can substitute your own inputs.

Two things make retention harder to measure than it looks. A normal DTC catalog produces no observable retention rate at all, and the statistics most commonly used to justify retention spend can’t be traced to a document that supports them.

Retention Marketing Is a Measurement Problem First

You can’t optimize a number you haven’t defined. That sounds obvious until you pull “repeat purchase rate” from two systems in the same stack and get two different answers, both correct under their own definitions.

The rest of this guide works through that in order: why a catalog has no true retention rate, which famous statistics fall apart at their source, what the arithmetic of a repeat-rate lift actually produces, how large a cohort has to be before its movement means anything, and exactly where Shopify and Klaviyo compute the same-sounding metric differently.

Why a DTC Catalog Has No Observable Retention Rate

The cleanest way into this is a distinction from the academic literature on customer-base analysis. In Fader and Hardie’s 2007 paper on projecting customer retention, published in the Journal of Interactive Marketing, the authors write that “Models for noncontractual settings are more complicated because the time at which a customer becomes inactive, and the likelihood that it has occurred at all, must be inferred from the transaction history.”

A subscription business is contractual. Cancellation is an event, it has a timestamp, and churn is measured rather than estimated. A catalog is non-contractual. Customers don’t announce that they’ve stopped buying, they just don’t come back, and the difference between a lapsed customer and a slow one is unobservable at any given moment.

That single distinction explains a lot of otherwise confusing product behavior. Recharge can publish a churn formula because subscription cancellation is an event it records. Shopify’s analytics documentation defines no churn metric for a one-time-purchase catalog, and uses the word only as campaign advice in its notes. Klaviyo ships a Churn Risk Prediction, which its documentation defines as a probability derived from a customer’s number and frequency of orders, rather than a churn rate.

So what is a DTC “retention rate” actually measuring? It’s measuring repurchase inside a window you chose. Every retention number a catalog brand reports is a window-dependent repurchase statistic wearing a retention label, and most of the reporting problems below follow from forgetting that.

The Retention Marketing Statistics That Don't Trace to a Source

Four numbers do most of the work in retention budget requests. We chased each one to a primary document. Three of them don’t have one, and the fourth turns out to measure something other than what it’s quoted for.

This matters practically rather than academically. If you put one of these in a board deck and someone asks for the study, you need an answer, and for three of them there isn’t one.

"Increasing Retention 5% Increases Profits 25 to 95%"

The modern vector for this claim is a 2014 Harvard Business Review article by Amy Gallo, The Value of Keeping the Right Customers, which states that “increasing customer retention rates by 5% increases profits by 25% to 95%.” Gallo credits “research done by Frederick Reichheld of Bain & Company,” and hyperlinks that phrase to a specific Bain brief, Prescription for cutting costs. That brief doesn’t contain the range. What it says is that “In financial services, for example, a 5% increase in customer retention produces more than a 25% increase in profit,” which is one industry and one lower bound rather than a 25 to 95% spread across the economy.

The article usually credited underneath it is real. Reichheld and Sasser’s “Zero Defections: Quality Comes to Services” ran in Harvard Business Review 68, no. 5, September-October 1990, pages 105 to 111, and the body is paywalled.

Two retrievable descriptions of that article say something different from the popular version. Bain’s own reprint page states that “Companies can boost profits by almost 100% by retaining just 5% more of their customers.” The official HBR abstract carries no percentages at all, opening instead with the claim that companies aiming for “zero defections” (keeping every customer they can profitably serve) can make profits rise.

Those are not the same claim. Retaining 5% more of your customers and raising a retention rate by 5 percentage points are different operations on different quantities, the consequents differ (almost 100% on Bain’s reprint page, more than 25% in financial services in the brief the HBR article actually links, and a 25 to 95% range in the retelling), and the popular phrasing is ambiguous between 5% and 5 points. We could not retrieve any primary document containing the 25 to 95% range.

There’s also a peer-reviewed rebuttal to the underlying premise. In “Fact and Fallacy in Retention Marketing,” Journal of Marketing Management 22(1-2), pages 5 to 23, 2006, East, Hammond and Gendall write that “we show that, in many consumer markets, the available evidence gives little support to the argument that long-tenure customers are of more value than short-tenure customers.”

"It Costs Five Times More to Acquire Than to Retain"

The same 2014 HBR article states that “Depending on which study you believe, and what industry you’re in, acquiring a new customer is anywhere from five to 25 times more expensive than retaining an existing one.” The opening clause is an admission that no specific study is being cited, and it’s the plausible origin of the five-to-25 spread now quoted as settled.

The attribution most often attached to the 5x figure is a firm called Lee Resources International. Archived captures of that firm’s own site describe its mission as helping “our clients in the lumber and building supply industry to improve organizational productivity,” and describe the firm as perhaps best known among independent lumber and building material dealers throughout North America. It’s a training, recruiting and consulting practice for the building-supply trade, and we found no research publication on customer retention on the archived domain.

A published book chapter treats the ratio as a myth outright. Loyalty Myths by Keiningham, Vavra, Aksoy and Wallard traces its origin to late-1980s work by the Technical Assistance Research Project in Washington, D.C., amplified by a 1990 HBR article on service recovery and by Tom Peters’s Thriving on Chaos, and concludes that building a retention strategy on the ratio is a “recipe for financial disappointment.” The excerpt we read was published by Ipsos Loyalty, a loyalty-research vendor arguing against the premise its own category sells on. We could not retrieve the underlying TARP study itself, so treat that origin story as the book’s attribution rather than as verified.

Is retention cheaper than acquisition for your brand? Probably, and you can calculate it from your own numbers in an afternoon: blended CAC from your ad platforms and agency costs on one side, the cost of the flows, loyalty liability and discounts you spend to generate a repeat order on the other. That’s a defensible internal figure. The 5x is not a figure at all.

"Repeat Customers Spend 67% More"

This one has a primary source, and the source doesn’t say what the statistic implies. It comes from a BIA/Kelsey press release dated April 2, 2014, titled “Small Business Owners Shift Investment from Customer Acquisition to Customer Engagement,” reporting a joint Manta and BIA/Kelsey study.

The release states that “Recently, a new trend is developing as 61 percent of small business owners surveyed report over half of their annual revenue comes from repeat customers rather than new customers and that a repeat customer spends 67 percent more than a new customer.” The grammar places the 67% inside what owners report. The same release gives the method: “nearly 1,000 small business owner members of Manta, surveyed in January 2014 about their habits and focus on new and existing customers.” It also states that the report features results from two surveys, one polling 589 members and one polling 313, and it doesn’t say which of the two produced the 67% figure.

So it’s self-reported opinion from members of an online business directory, collected in January 2014. It isn’t transaction data, Manta isn’t a payments or analytics processor, and the year usually attached to the stat (2013) is wrong. A later retelling renders it as 67% more “on a given purchase,” a per-transaction claim that doesn’t appear in the release, and that retelling is bylined by BIA/Kelsey and Manta executives rather than by an independent party.

If you use it at all, the honest phrasing is that in two January 2014 surveys of Manta directory members, 589 in one and 313 in the other, small business owners reported that repeat customers spend 67 percent more. Nothing stronger than that survives the source.

"The Probability of Selling to an Existing Customer Is 60 to 70%"

This is the one that’s universally attributed to a specific book, Marketing Metrics by Farris, Bendle, Pfeifer and Reibstein. The attribution is testable, because Open Library’s search-inside index covers both scanned editions, and we ran the test with controls.

Control phrases known to be in the book return it. “Average Retention Cost” and “Prospect Lifetime Value” both surface Farris. The claim phrases return nothing: “probability of selling to an existing customer” and “probability of selling to a new prospect” each return zero Farris hits, as does the broader “selling to an existing customer.” Pearson’s own sample-pages PDF for the book’s second edition contains the full back index, whose nearest entries are “acquisition versus retention, 176-178” and “retention rate, 156, 159, 170,” with no entry resembling the claim.

The controls prove the index works on that book, so the absence of the claim phrases is evidence rather than a search failure. Where the sentence does appear is in recent trade and textbook titles, including Ryan Holiday’s Growth Hacker Marketing and Nicholas Webb’s What Customers Crave, which is a plausible propagation route: a popular book names the title, and the attribution gets inherited from there.

The stat is also unfalsifiable as written. A “probability of selling” with no time horizon, no category and no sample isn’t a measurable quantity, so there’s nothing to reproduce even in principle.

A companion claim travels with it, that loyal customers are worth up to 10 times their first purchase, usually credited to the White House Office of Consumer Affairs. That office is real and 1960s to 1970s vintage, and an Open Library search-inside for its name returns 513 results, all biographical and administrative, none connecting it to a loyalty statistic. One UK hospitality textbook carries the 10x claim and both halves of the 60 to 70% claim as adjacent bullets, which is a reasonable sign these circulate as a bundle rather than as independent findings.

"20% of Customers Drive 80% of Revenue"

This one has been measured, and the measurement corrects it. The Ehrenberg-Bass Institute’s page on the value of Pareto’s bottom 80%, by Byron Sharp and Charles Graham, states the conventional version as the idea that “the bottom 80% of a brand’s customers only deliver 20% of that brand’s sales,” then reports that “there is a lawlike pattern, but it isn’t 80/20, it’s more like 60/20.”

The same page reports that “light buyers, the bottom 80%, deliver almost half of a brand’s current sales,” and that the ratio moves with the observation window: “In one quarter the Pareto share is typically only 40/20, rising to over 50/20 for an analysis period of one year,” and “Over a five year window it rises to just over 60/20.”

The mechanism behind that drift is the methodological point worth taking away. The same page explains that “In longer time periods the Pareto Share is higher as heavier buyers make repeat purchases and more light buyers enter the data set by making a single purchase.” Your concentration ratio isn’t a property of your customer base. It’s a property of the window you measured over, and a brand asking what share of revenue comes from its top 20% will get a different answer for a quarter, a year and five years.

Don’t take 60/20 as settled either. The same Ehrenberg-Bass page reports a competing result from dunnhumby, noting that “dunnhumby’s chart shows average Pareto shares of 62/20 for top-5 brands, and up to 73/20 for smaller brands. When calculated over a five year period it was 66/20 for larger brands and up to 79/20 for smaller brands.” The defensible position is that concentration is measurably lower than 80/20, and that where it lands depends on the window and on whether the data captures all of a shopper’s purchases or only one retailer’s.

Two further cautions from the same page matter for anyone acting on a concentration number. Single-retailer loyalty-card data “inflates the Pareto, decreasing the apparent value of the bottom 80%,” because it only sees purchases made at that one retailer. And regression to the mean applies: “this year’s heaviest buyers will be worth less in the future (and our lightest will be worth more).” Sharp and Graham’s strategic conclusion is that this “makes the old ‘target your loyalists for efficiency’ strategy look like a near complete dead-end.”

The peer-reviewed article underlying that analysis is “The unbearable lightness of buying,” Journal of Marketing Management, 38(7-8), pages 683 to 708, DOI 10.1080/0267257x.2021.1963308. The oldest primary on concentration statistics is Schmittlein, Cooper and Morrison’s “Truth in Concentration in the Land of (80/20) Laws,” Marketing Science, 1993, 12(2), pages 167 to 183, DOI 10.1287/mksc.12.2.167, which argues that these statistics are far easier to compute than to interpret correctly.

What a Repeat Purchase Rate Lift Is Actually Worth

Here’s the arithmetic that replaces the statistics above. These are our own model outputs under stated assumptions, not measurements of any real store, so substitute your own inputs.

Take a cohort of 10,000 first-time customers, hold AOV at $65, and assume that a customer who repeats makes a second order plus, on average, one further order. First-purchase revenue is 10,000 orders at $65, or $650,000, and that block is fixed regardless of what retention does.

At a 20% repeat rate, 2,000 customers place a second order worth $130,000, plus $130,000 in subsequent orders, for $910,000 total. At 25%, 2,500 customers produce $162,500 in second orders and $162,500 in subsequent ones, for $975,000. At 22%, the middle case, 2,200 customers produce $143,000 twice, for $936,000.

Repeat rate First orders Second orders Subsequent Total
20% $650,000 $130,000 $130,000 $910,000
22% $650,000 $143,000 $143,000 $936,000
25% $650,000 $162,500 $162,500 $975,000

Run the division and the headline shrinks. Going from 20% to 25% is a 5-point lift and a 25% relative improvement in repeat rate, and it adds $65,000 on $910,000, which is a 7.14% change in total revenue. The 2-point move from 20% to 22% adds $26,000, or 2.86%.

The mechanism is the fixed first-purchase block. Retention doesn’t touch the largest component of cohort revenue, so a relative improvement in repeat rate converts to a much smaller change at the top line. That’s the honest counterweight to the inherited “5% retention equals 25 to 95% profit” framing, and it’s arithmetic rather than a citation.

The decision this drives is about expectation-setting before the program starts. If the business case for a lifecycle investment assumes the repeat-rate percentage and the revenue percentage are the same number, the program will be judged against a target it structurally can’t hit.

Your Retention Cohort Is Probably Too Small to Read

Monthly cohort grids invite month-over-month comparison, and most DTC cohorts aren’t large enough to support it. We computed 95% Wilson score intervals around an observed 25% repeat rate at a range of cohort sizes.

Cohort size 95% interval Half-width
50 15.1% to 38.5% ±11.7 pts
100 17.5% to 34.3% ±8.4 pts
200 19.5% to 31.4% ±6.0 pts
500 21.4% to 29.0% ±3.8 pts
1,000 22.4% to 27.8% ±2.7 pts
2,000 23.2% to 26.9% ±1.9 pts
5,000 23.8% to 26.2% ±1.2 pts
10,000 24.2% to 25.9% ±0.8 pts

A 500-customer cohort showing 25% is consistent with a true rate anywhere from 21.4% to 29.0%, so it cannot distinguish a 25% repeat rate from a 29% one. A brand acquiring 500 new customers a month and watching its cohort row move between 24% and 28% is watching sampling noise.

The comparison case is worse than the single-cohort case. For a two-proportion test at alpha 0.05 and 80% power, detecting a true 2-point difference between two cohorts (25% versus 27%) takes about 7,550 customers per cohort. A 3-point difference takes 3,397, a 5-point difference takes 1,251, and a 10-point difference takes 329.

Two decisions follow. Aggregate to quarterly cohorts if your monthly acquisition volume is in the hundreds, which buys you the sample size to read a move. And set an internal threshold for what counts as a result before you run a retention test, because a 2-point lift is below the resolution of most DTC cohort data and will never be provable at that volume no matter how long you stare at the grid.

A Young Cohort Always Understates Retention

The second reason cohort grids get misread is censoring. A cohort that’s two months old hasn’t finished producing its repeat purchases, so its row is not a final number and can’t be compared to a row that’s had a year to fill in.

Model time to second order as exponential with a 90-day median. The share of eventual repeaters already visible at any observation age is 1 minus 0.5 raised to the power of (days observed divided by 90). At 60 days that’s 1 minus 0.5^0.667, or 37.0%.

Cohort observed for Share of eventual repeaters visible
30 days 20.6%
60 days 37.0%
90 days 50.0%
120 days 60.3%
180 days 75.0%
270 days 87.5%
365 days 94.0%
540 days 98.4%

A cohort observed for 60 days has shown roughly 37% of the repeat purchases it will eventually produce. Comparing that row to a 12-month-old row and concluding retention is falling is an arithmetic error, not an insight, and it’s the most common way a cohort grid gets misread in a monthly review.

The 90-day median is our assumption, not a benchmark, and you should replace it with your own. Klaviyo exposes Average Time Between Orders as a profile field, and a Shopify cohort grid will give you the same shape at the store level, so the substitution is straightforward.

The decision is a reporting rule: compare cohorts only at equal age. A 3-month retention figure for the March cohort belongs next to the 3-month figure for the September cohort, never next to September’s 1-month figure.

A Rising Retention Curve Is Not Rising Loyalty

Cohort retention curves in customer-base data tend to rise and then flatten, and the intuitive reading is that customers get more loyal as the relationship deepens. Fader and Hardie’s 2007 paper says that reading is wrong, and names the mechanism.

"the observed phenomenon of retention rates increasing over time is simply due to heterogeneity (i.e., the high-churn customers drop out early in the observation period, with the remaining customers having lower churn probabilities)."

They call this the “ruse of heterogeneity” (crediting Vaupel and Yashin, 1985) and note it “is often overlooked by those attempting to make sense of various aggregate patterns.” The paper states directly that “Unlike the conventional wisdom about customer retention, it is not a story of individual customers becoming increasingly loyal as they develop a deeper relationship with the firm, and so on,” and concludes that “the observed phenomenon of increasing retention rates is simply a sorting effect in a heterogeneous population.”

The 2018 follow-up paper by Fader, Hardie, Liu, Davin and Steenburgh, in the same journal, confirms it. It notes that “Cohort-level retention rates typically increase over time,” that a key finding holds “even when aggregate retention rates are monotonically increasing,” that the effect “is purely due to cross-sectional heterogeneity,” and that “accounting for cross-sectional heterogeneity is more important than accounting for any individual-level dynamics.” Their conclusion, paraphrased, is that a rising aggregate curve does not imply falling individual churn probabilities, and that modeling the mix of customer types matters more than modeling change over time within a customer.

You can reproduce the effect in a spreadsheet. Take one cohort of 1,000 with two hidden types and no behavior change by anyone ever: 600 light buyers with a per-period repurchase probability of 0.05, and 400 heavy buyers at 0.50. Period 1 retention is (600 × 0.05 + 400 × 0.50) / 1,000, or 230/1,000, which is 23.0%.

Now compute period 2 among the survivors. The 230 who repurchased are 30 light and 200 heavy, so period 2 retention is (30 × 0.05 + 200 × 0.50) / 230, or 101.5/230, which is 44.1%. Period 3 works out to 49.3%, period 4 to 49.9%, and it converges to 50.0% from there.

Period Observed retention rate
1 23.0%
2 44.1%
3 49.3%
4 49.9%
5 50.0%
6 and after 50.0%

Observed retention more than doubles while every individual’s probability stays exactly where it started. The curve converges on the heavy buyers’ rate because the light buyers have been filtered out, and what looks like a loyalty trend is a change in who’s left.

The decision here is about attribution. Before crediting a retention program with a bend in the curve, you have to rule out composition change, and the way to do that is to compare cohorts acquired before and after the program launched at equal age, rather than reading a single cohort’s curve left to right.

Hardie’s note on making sense of weird customer retention data applies this to a published Dollar Shave Club retention chart, stating “We contend that such a plot is flawed” and that a cohort-level retention plot for a subscription business should be monotonically decreasing. His earlier note with Fader, How Not to Project Customer Retention, addresses the related habit of forecasting a cohort’s future retention by fitting an exponential decay curve, concluding that “Our analysis suggests this is not a good idea.”

What One Point of Retention Is Worth, and Why It Isn't an LTV Formula

There’s a standard shortcut for turning a repeat rate into an expected lifetime: with a constant per-period repeat probability p, expected orders per acquired customer is 1/(1-p). At p = 0.20 that’s 1.250 orders, and at $65 AOV it implies $81.25. At p = 0.60 it’s 2.500 orders and $162.50.

Repeat probability p Expected orders At $65 AOV
20% 1.250 $81.25
25% 1.333 $86.67
30% 1.429 $92.86
40% 1.667 $108.33
50% 2.000 $130.00
60% 2.500 $162.50

The useful part of this table is its curvature, not its dollar column. Sensitivity is 1/(1-p)², so one extra point of repeat probability adds 0.0156 orders at p = 20%, 0.0278 orders at p = 40%, and 0.0625 orders at p = 60%. At $65 that’s $1.02, $1.81 and $4.06 respectively, which makes the same one-point improvement worth 4.0 times more at p = 60% than at p = 20%.

That shape has a real strategic implication. Retention investment compounds where retention is already decent, and a brand sitting at a 20% repeat rate is usually looking at an acquisition-quality or product problem rather than a lifecycle-messaging problem. Spending on flows at that end of the curve buys less than the same spend buys at the other end.

The dollar column is disqualified by the formula’s own assumption. The 1/(1-p) formula assumes every customer shares the same repeat probability, and the sorting-effect model above shows exactly why that assumption fails: with two hidden types, the aggregate rate is nobody’s rate, so plugging an aggregate into the reciprocal misstates lifetime value. Hardie has a note written specifically to correct this, Average Lifetime ≠ 1/Churn Rate, which documents the practice of computing average customer lifetime as the reciprocal of a churn rate and names an early example at Netflix.

So use the curvature and discard the dollars. Treat this table as a sensitivity illustration of where a point of retention is worth investing, and never as a way to compute a real brand’s LTV, because a real catalog’s customer base is heterogeneous by construction.

The academic work on whether long-lived customers are more profitable points the same direction. Reinartz and Kumar’s “On the Profitability of Long-Life Customers in a Noncontractual Setting,” Journal of Marketing 64, October 2000, pages 17 to 35, DOI 10.1509/jmkg.64.4.17.18077, is the most on-point citation for DTC because its setting is a catalog retailer, which is non-contractual in the same way an ecommerce store is. Using three years of daily transaction data, the study tests the standard propositions about long-life customers and finds they don’t hold, and their later Harvard Business Review article, The Mismanagement of Customer Loyalty, opens by naming the belief it goes on to complicate: “The best customers, we’re told, are loyal ones.”

Where Shopify and Klaviyo Disagree About Retention

This is the practical core. A brand running Shopify and Klaviyo has at least four different retention-adjacent numbers available, computed four different ways, and they will not reconcile. The difference between the definitions is the finding, so here are both vendors’ own words.

Question Shopify Klaviyo
Who is a returning customer? Two thresholds in one admin: an order whose customer already has at least one order, versus a report listing customers with two or more orders lifetime A segment you define, conventionally Placed Order at least 2 over all time
Headline rate Returning customer rate, computed as returning customers divided by customers No native equivalent; a documented hand-built ratio of two segments
Cohort retention Share of a cohort that placed an order in the given period Share of the cohort that made a repeat purchase each month, last 12 calendar months only
Time window Customer reports use the customer’s entire order history, not the selected timeframe Base-app cohort report fixed to the last 12 calendar months
CLV No CLV metric; Predicted spend tier is High, Medium or Low Historic, Predicted and Total CLV as numeric per-profile fields
RFM Digits 1 to 5, 125 score cells mapped into 11 groups Digits 1 to 3, 27 score cells mapped into 6 groups
Churn No churn metric for a one-time-purchase catalog Churn Risk Prediction, a probability from order count and frequency
Subscriptions Cohort details expose a ratio of one-time to subscription orders Included in Placed Order by default; removing them needs a custom metric

Two Different Retention Numbers in One Shopify Admin

Shopify’s customer reports documentation defines the base case: “A first-time customer is a customer who placed their first order with your store. A returning customer is a customer who placed an order, and whose order history already includes at least one order.” That’s an order-level test.

A different report in the same admin uses a customer-level test. The same page states that “The Returning customers report displays data about all your customers whose order history includes two or more orders,” with a complementary One-time customers report covering customers whose history includes only one order. One number counts qualifying orders in a period, the other counts qualifying customers, and they answer different questions.

Shopify’s analytics fields reference gives the headline metric its formula. Returning customer rate is defined as the percentage of returning customers relative to all customers who placed orders, with the formula stated as “returning customers / customers.”

What’s a good returning customer rate? The notes column on that same Shopify field says “Higher rates reduce acquisition costs. Most stores display 20-40%.” Treat that as a Shopify claim rather than an industry benchmark: no population, no time window and no sample size is attached to it, and the definitional differences in this section mean a competitor’s self-reported figure probably isn’t computed the same way as yours anyway.

The most consequential line in Shopify’s customer reporting is about the lookback. The customer reports page states that “The data in customer reports is based on the entire order history of the new customers in the report, not only the orders that were placed during the selected timeframe,” and gives the example of a November report where a new customer still displays as a repeat customer even if the second purchase happened in December.

That means a Shopify customer report filtered to a month is not an in-period measurement. It reclassifies retroactively, so two people pulling November’s repeat customers in November and in January get different numbers and neither of them is wrong. Any dashboard that snapshots this metric monthly is storing values that the source will later contradict.

Shopify’s cohort report carries a separate metric with a near-identical name. The fields reference defines customer retention rate as the “Percentage of customers in the given cohort who placed an order in the given period,” which is a cohort measure rather than a store-wide ratio. Two metrics, one admin, and “our retention rate” is ambiguous between them until someone says which.

One concrete reading error is worth pre-empting. Shopify’s documentation states that “The period 0 column captures returning orders by the cohort’s customers in the same period as their first order,” and gives an example customer whose first purchase was February 2022 with repeats in February, June and September, counted in Month 0, Month 4 and Month 7. Period 0 isn’t empty and isn’t the acquisition column, so reading the grid as starting at month 1 shifts every number one column.

Projections on that report have a hard floor. Shopify states that the predictions use 24 months of store data per cohort, and that “If 24 months of data aren’t available, then the Show projections toggle won’t display and you won’t have the ability to view projection data.” Shopify also states that the data isn’t based on other stores or industry averages.

Shopify’s nearest thing to a CLV number is a bucket. The predicted spend tier documentation defines it as a prediction of customers’ future spending potential, built from purchase frequency, average order value relative to the store average, order count and recency, and output as High, Medium or Low. Those inputs are recency, frequency and monetary value under a different name.

Klaviyo Has No Native Retention Rate

Klaviyo’s answer to the same question is a construction rather than a metric. Its article on how to calculate retention rate documents building two segments: first, customers who purchased between 365 and 730 days ago who have also purchased recently, for example in the last 6 months; second, the same 365-to-730-day base without the recency condition.

The retention rate is then segment one divided by segment two, multiplied by 100, with Klaviyo’s worked example dividing 2,500 by 10,000 to reach 25%. Klaviyo explains the second condition directly: “If you do not add the last 6-month condition to your segment, you risk including customers who made a second purchase immediately after the first, and who then never returned to your store.”

Compare that to Shopify’s returning customer rate and the mismatch is structural. Shopify counts purchasers within a reporting period against all purchasers in that period. Klaviyo counts a prior-year cohort that came back inside a recency window. These will not match, and neither is an error.

Klaviyo’s repeat purchaser definition is likewise an operational segment. Its repeat purchaser segment article gives the condition as “What someone has done (or not done) > Has Placed Order > is at least 2 > over all time,” which is a list of people rather than a rate.

Klaviyo’s base-app cohort report is documented in its cohort analysis article, which states that “Profiles enter a cohort when they place their first order, and the report shows what percentage of the profiles in the cohort made a repeat purchase each month,” and that reading the report horizontally gives insight about repeat purchase rate over time. Cohort reports are available only for conversion metrics such as Placed Order and Checkout Started, and Klaviyo states the report “will always display the last 12 calendar months.”

That 12-month ceiling is the mirror image of Shopify’s retroactive restatement. Shopify’s number changes under you as history accrues, and Klaviyo’s base-app view truncates at a year, so a brand with a 14-month repurchase cycle can’t see its own cycle in the base report. Klaviyo’s Advanced KDP cohort reporting lets you set the cohorting event and the reporting event separately, and ships a prebuilt repeat purchasers report, but it sits behind a paid tier.

Klaviyo’s own definitions of Predicted CLV disagree across two documents. The predictive analytics article defines Predicted CLV as “A prediction of how much money a particular customer will spend in the next year,” while the CLV dashboard article defines it as “A prediction of how much money a particular customer will spend in your prediction time range,” with a configurable predicted date range whose example is 90 days. Same product, same metric name, two different horizons, so anyone quoting a Klaviyo CLV needs to say which window produced it.

Klaviyo is unusually candid about the reliability of these numbers. Its predictive analytics page states that “predictions work best when averaged over many customers and are not expected to be exact for any single individual,” and walks through an example where five customers with predicted order counts of 1.43, 0.25, 3.12, 0.78 and 2.97 imply approximately 9 orders across the group. Klaviyo also states that it retrains the CLV model at least once a week.

That caveat has a direct operational consequence for Expected Date of Next Order. Klaviyo states that the app “doesn’t consider what products the customer ordered,” and recommends separate Placed Order triggered flows for products with distinct replenishment cycles. It also advises against counting down to that date, on the grounds that repeat customers would receive the same sequence before every order, which may produce unsubscribes.

RFM Is Two Systems Sharing Three Letters

Both platforms ship RFM. They’re not comparable, and a team that treats a group name in one as equivalent to the same name in the other will mis-target.

Shopify’s customer reports page states that RFM “applies a 3-digit score to each customer, where each digit ranges from 1 to 5,” covering recency, frequency and monetary value, and then categorizes customers into 11 RFM groups. Scoring is store-relative: Shopify states that a score of 5 means the customer is in the top 20% of that dimension for your store and a 1 means the bottom 20%, and that individual RFM scores aren’t displayed anywhere in the admin. That gives a scoring space of 5³, or 125 cells, mapped into 11 groups, which are Prospects, Dormant, At risk, Previously loyal, Needs attention, Almost lost, Loyal, Promising, Active, New and Champions.

Shopify’s group assignment collapses two of the three digits. The documentation states that a customer’s group comes from their recency score and “the average between their frequency score and their monetary value score using the formula (F + M) / 2,” represented as FM, and that “When the FM calculation results in a decimal, it’s rounded down to the nearest whole number,” with the example of frequency 2 and monetary 3 giving 2.5, which rounds to 2. Groups are then thresholds on R and FM, so Champions is R = 5 with FM above 3, and Dormant is R of 2 or less with FM of 2 or less.

Klaviyo’s RFM scoring documentation describes a smaller grid: Klaviyo determines each customer’s percentile among all customers for recency, frequency and monetary value, then assigns a score of 1 to 3 for each. That’s 3³, or 27 cells, mapped into 6 groups: Champions, Loyal, Recent, Needs attention, At risk and Inactive. All 27 codes are assigned, with Champions covering 3 codes, Loyal 5, Recent 5, Needs attention 5, At risk 5 and Inactive 4.

Klaviyo’s recency dimension isn’t a percentile at all. Its documentation gives absolute day thresholds: a most recent purchase within the last 180 days scores 3, within the last 365 days scores 2, and outside the last 365 days scores 1. Frequency and monetary are terciles, with the top 33% scoring 3 (usually 3 or more purchases for frequency), the middle 33% scoring 2, and the bottom 33% scoring 1. Klaviyo also notes that it considers only orders with a positive value, so a fully discounted free order is excluded from the analysis.

So Shopify’s recency is relative to your store’s distribution, and Klaviyo’s is a fixed calendar cutoff. A store with a 2-year repurchase cycle will have Klaviyo class most of a healthy customer base as recency 1, while Shopify’s quintiles would still separate the recent fifth from the rest. An “At risk” customer in one system is not an “At risk” customer in the other, and the two group lists don’t even have the same length.

Two operational notes for anyone building on Klaviyo’s version, both from its getting started guide for the RFM report. Klaviyo states that RFM properties refresh nightly rather than on the first of the month, and warns that “the RFM dashboard updates immediately while the changes on a profile record update with a delay,” so dashboard group counts can differ from what profile-based segments return.

Subscription Charges Corrupt Your Repeat Purchase Rate

This is the most checkable defect in this section, and it’s live in a lot of real accounts right now. Klaviyo’s CLV dashboard documentation states that “Standard Shopify integrations, WooCommerce, and BigCommerce will include subscriptions in Placed Order events automatically. You can set up a custom metric to remove these so that you only capture one-time orders.”

The mechanism is simple. A subscriber on a monthly cadence generates a Placed Order event every month without making a purchase decision, because the biller made it for them. Klaviyo’s Placed Order metric is the input to nearly everything retention-related in the account.

So the contamination spreads. Repeat purchase rate, historic order count, AOV, Average Time Between Orders, Historic and Predicted CLV, RFM frequency and monetary scores, the cohort grid’s repeat percentages and every segment built on “Has Placed Order at least 2” all inherit recurring charges as if they were customer behavior. A brand with meaningful subscription penetration is reporting a repeat purchase rate that measures its subscription biller’s schedule.

The check takes about ten minutes. Compare total Placed Order events in a month against one-time orders in your Shopify admin, and if the gap approximates your active subscription count, your Klaviyo retention numbers are describing billing rather than behavior. The fix is the custom metric Klaviyo documents, built to exclude subscription orders, with the retention reporting rebuilt on top of it.

The decision that follows is about what you report to whom. A subscription brand needs two numbers, not one: subscription churn from the billing platform, and one-time repeat purchase rate from a custom metric. Reporting a single blended figure hides which side of the business is actually moving, and if you’re still choosing a billing platform, we compared the options in our guide to choosing a Shopify subscription app.

Both Platforms Have a Floor Before Retention Predictions Work

Neither vendor’s predictive features run on a young brand’s data, and both publish their thresholds. Shopify’s cohort projections need 24 months of store data per cohort, and the toggle doesn’t appear without it.

Klaviyo’s predictive analytics documentation lists four conditions: at least 500 customers have placed an order, an ecommerce integration or API-sent placed orders, at least 180 days of order history with orders in the last 30 days, and at least some customers who have placed 3 or more orders. Klaviyo clarifies that the 500 refers to people who have actually ordered rather than total profiles, and that the orders can’t be cancelled or refunded and must be non-zero value. The same floor applies to the RFM report, which also requires Advanced KDP or Marketing Analytics, a paid add-on Klaviyo states isn’t included in the standard marketing application.

Say this plainly to anyone in year one: the predictive layer isn’t available yet, and the useful work is making sure the events feeding it are clean by the time it is. Shopify states that its main analytics features are available on any Shopify subscription plan, though we didn’t find plan-specific documentation for the cohort and RFM reports, so confirm those against your own admin rather than assuming.

Subscription Churn Is a Different Retention Measurement

Once a brand runs subscriptions, retention stops being one metric. Recharge’s churn rate documentation defines it as “the percentage of customers who cancel their subscriptions over a given period,” which is available precisely because cancellation is an observable event.

Recharge reports two different churn rates from the same data. Subscriber churn counts subscribers who have no active subscriptions remaining, while subscription churn counts individual subscriptions that are no longer active. A customer who cancels one of three subscriptions moves one number and not the other.

Recharge’s printed formula is “(number of churned subscriptions in the period ÷ average daily active subscriptions in the period) × 100.” Note that the prose above that formula in Recharge’s own doc describes summing daily churned customers over daily total active customers, while the formula says subscriptions on both sides, so read the formula rather than the surrounding text and confirm which entity your dashboard is counting.

Two conventions change the number materially. Recharge states that “A customer is considered churned the day after the subscription is cancelled or expired,” giving the example of an April 1 cancellation counting as April 2 churn. And the denominator is a daily average by design, which Recharge explains as considering the number of customers each day in the period rather than only new customers, so the rate reflects overall business growth.

The period is not fixed, which makes an unlabeled churn figure meaningless. Recharge states that the metric corresponds to whatever date range you filter to, so an October-to-December range produces a quarterly churn rate. A quarterly and a monthly churn rate from the same store are not comparable without converting one.

The distinction with the most operational value is between active and passive churn. Recharge defines active churn as you or the customer cancelling, or a subscription expiring after a set number of charges, and passive churn as the subscription being marked inactive after a charge could not be processed even after retries. Passive churn is a billing failure wearing a retention costume, and it gets fixed with card-updater and dunning work rather than with lifecycle messaging.

Recharge’s cohort and subscriber dashboards also account for returns to the base, defining reactivated subscribers as formerly churned subscribers who activated at least one subscription during the reporting period, and noting that subscribers who activate and churn within the same day aren’t counted. If your net subscriber movement looks flat, check whether gross churn and reactivation are both large, because that’s a very different business than one where neither is.

Post Purchase Upsell Is Limited by Your Payment Mix

Post purchase upsell gets recommended as a retention and AOV lever, and on Shopify its reach is bounded by documented platform constraints rather than by offer quality. Shopify’s post-purchase product offers documentation describes the surface as an additional sales opportunity displayed immediately after checkout completes, on a page that “appears after the order is confirmed, but before the Thank you page.” Shopify states these extensions are in beta, usable without restriction in a development store, and requiring requested access to run on a live store.

The exclusion list is where the reach gets decided. Shopify states the post-purchase page won’t surface when the customer checks out with an installment or wallet service, naming Klarna, Affirm, AfterPay, Apple Pay, Amazon Pay and Google Pay, or when the initial purchase used a gift card or any payment method other than a credit card. Third-party payment providers requiring the CVN or CVV to be retained aren’t supported, with Braintree, Payflow Pro, PayPal Payments Pro and Eway named as possible examples.

Three more limits narrow it further. Shopify states that offers won’t surface on orders with duties and multiple currencies or on orders for local delivery, that orders must be $0.50 or more to qualify, that a customer can accept a maximum of three post-purchase offers per checkout, and that only one app can be selected for post-purchase product offers.

Put those together and post purchase upsell coverage is a function of your payment mix, not your creative. A store where a large share of checkouts run through wallets and installment plans will show the offer to a materially smaller fraction of orders than an attach-rate case study implies, so measure your eligible-order share before you model the revenue. We have no sourced figure for typical wallet share, and you shouldn’t accept one from an app’s marketing either. Pull it from your own checkout data.

There’s an operational cost on the fulfillment side as well. Shopify states that it “places a hold on fulfillment for all orders undergoing a post purchase cross-sell flow,” released either when the customer visits the Order status page or after a set time, and that when a customer abandons the flow the hold lifts one hour after the initial checkout submission. For a brand with a same-day cutoff, that hour shifts orders into the next fulfillment window, which is a warehouse conversation before it’s a marketing one. Shopify also notes that post-purchase checkout extension APIs aren’t versioned and don’t follow the quarterly API release schedule.

Where should the offer go if post-purchase is blocked for most of your orders? Shopify’s Thank you and Order status page documentation covers the alternative surfaces, with one constraint: for extensions targeting the Thank you page, the order isn’t yet created when the extension displays, and there’s no support for APIs that directly mutate an order from a UI extension. Shopify directs anyone needing to change the order being created back to a post-purchase extension. Checkout UI extensions on the information and shipping and payment steps are available only on Shopify Plus.

The email path has no such eligibility gate. Klaviyo’s post-purchase flow documentation defines these as any flow sending after a purchase, covering thank you, cross-sell, upsell and product review flows, and it reaches every order regardless of payment method. The mechanics of building offers that raise order value without eroding margin are a separate discussion, and we worked through them in our guide to increasing average order value on Shopify without wrecking your margin.

Where WooCommerce and Adobe Commerce Leave the Retention Math to You

Not every platform ships a retention metric, and knowing what yours doesn’t compute is as useful as knowing what it does. WooCommerce’s Customers report documentation describes a report showing who buys from your store, where they’re located, when they registered or were last active, and how much they’ve spent, with columns including order count, total spend and average order value, and a summary line giving customer count, average orders, average lifetime spend and AOV. Guests are included, and WooCommerce associates multiple guest orders sharing an email address with the same customer record.

In the WooCommerce analytics documentation we retrieved, there’s no repeat purchase rate metric, no cohort report and no retention rate. Per-customer order counts are there, along with a store-level average orders figure, so a repeat rate has to be derived by hand or by an extension. That’s a scoped absence in the documentation, not a statement that WooCommerce can’t do cohorts.

Adobe Commerce’s merchant admin has the same shape. Its customer reports documentation lists an Order Total Report, Order Count Report, New Accounts Report, Customer Wish List Report and Customer Segment Report, with the Order Count Report showing the number of orders per customer for a date range along with average order amount and total amount. Per-customer order counts again, and no native repeat rate or cohort retention curve in the admin reports we retrieved. Adobe Commerce Intelligence is a separate product with its own user guide, and the cohort, lifetime-value and repeat-purchase pages we looked for inside that guide returned 404, so treat this as scoped to the merchant admin.

The structural consequence is worth stating directly. Outside Shopify, the platforms most associated with serious ecommerce reporting expose order counts per customer and leave the retention math to you, which is how the app layer (Klaviyo, Recharge, loyalty platforms) ends up owning retention measurement for most DTC brands. That’s why the vendor definitional differences above matter so much: for a lot of brands, those definitions are the only retention definitions in play.

How the Rest of Your Retention Marketing Program Connects

Measurement is the layer that decides whether anything else here is provable. The programs themselves are separate decisions, and we’ve written them up individually rather than compressing them here.

Loyalty programs are a margin decision before they’re a marketing one, and the failure mode is subsidizing purchases that were already going to happen. Our guide to ecommerce loyalty program design and what actually raises repeat purchase rate works through the structural choices and the effective discount rate they imply.

Returns are a retention lever that most brands account for as a cost line. The mechanics of keeping order value inside the business through exchanges and store credit rather than refunds are in our guide to turning the Shopify returns flow into retained revenue, and it connects directly to Recharge’s active-versus-passive churn distinction above: both are cases where a customer’s exit is operational rather than emotional.

On the build side, the reason Klaviyo can segment on purchase history at all is that the integration is passing clean, well-structured event data, which is also the prerequisite for every metric in this guide. Our walkthrough of how a properly built Klaviyo setup turns purchase history into repeat revenue covers the data architecture; this guide covers what to measure once it’s in place.

The Retention Marketing Numbers Worth Reporting

Six numbers survive everything above, and they belong in a reporting standard rather than on a dashboard.

  • Report repeat purchase rate with its definition attached, naming the system, the threshold and the window that produced it.
  • Report cohorts only at equal age, never a young cohort against a mature one.
  • Report a confidence interval or a minimum detectable difference alongside any cohort comparison, so a move that sits inside the interval isn't reported as a result.
  • Report subscription churn and one-time repeat rate as two separate numbers if you run subscriptions.
  • Report concentration ratios with their measurement window, because the window determines the answer.
  • Report your own CAC-to-retention-cost comparison rather than an inherited multiple.

The one number to stop reporting is an LTV figure derived from a reciprocal of an aggregate rate. The heterogeneity that makes retention curves rise is the same heterogeneity that makes that shortcut wrong, and a brand that builds acquisition budgets on it is spending against a number that doesn’t describe its customers.

If you want the practical version of this, start with the Klaviyo subscription contamination check and the equal-age cohort rule. Those two take an afternoon between them, and they’re the two most likely to change what your current retention reporting says.

Find Out What Your Retention Marketing Numbers Are Actually Telling You

Most brands don’t have a retention problem they can name. They have retention numbers that can’t be defended, pulled from two systems that define them differently.

We’ll look at your actual setup: what your platform is computing, what your email platform is computing, where the two disagree, and what your data can and can’t support. No assumptions. No selling you work you don’t need.

Get a free Growth Audit from our Klaviyo team and get a clear read on why your retention reporting isn’t holding up, with a roadmap for fixing it.

You built something worth finding. We make sure it gets found.

Not sure where the gap is? That's exactly what the Digital Marketing Growth Audit is for.

A free, no-obligation look at where your site can win more traffic and conversions, with a clear digital marketing roadmap to get there. Just a straight read on where your digital presence stands and where it's headed.