Repeat Purchase Rate: The Formula Most Brands Get Wrong
You're about to set next year's acquisition budget, and somewhere in the deck that justifies it is a retention number.
It's been stable for three quarters. Nobody has asked whether it's the same customers.
You haven't asked either, because the question sounds like you don't trust your own reporting. And because a flat line in a room full of people hunting for problems reads as good news.
Flat is the part to worry about.
Repeat purchase rate is the share of customers who bought more than once inside a defined window. The formula is simple and almost everyone gets it right. The window is where it goes wrong, and the window is the part nobody owns.
How to calculate repeat purchase rate against a window you chose
The arithmetic first, because you came for it.
Take the customers who placed a first order inside a defined period. Count how many of them placed a second order. Divide.
Now watch what the period does to it.
Say you acquire 2,000 first-time buyers a month. Run the same formula three ways on that one file.
All-time. Count everyone you've ever acquired who has since placed a second order. Across two years of customers you report 17.9%, and it reads healthy.
Trailing twelve months. Same formula, restricted to the 24,000 people acquired this year. Now it's 14.2%, because the newest quarter of them haven't had long enough to buy again and they're all sitting in the denominator.
By acquisition month, each cohort measured at a fixed 90 days. Now you get twelve numbers instead of one. January's cohort came in at 15.1%. February 15.3%. March 14.8%. And the most recent cohorts old enough to have finished a 90-day window are running 11.2%.

Same data. Same formula. The first says retention is nearly 18%. The second says 14%. The third says it started at 15 and it's now at 11.
All three are correct. The first two collapse a falling line into a level and report the level.
That third version is the only one that tells you what to do on Monday. The first two tell you what happened, averaged across customers who have nothing in common except that you own their email address.
Why a blended number holds steady while every cohort inside it falls
The blended figure is a weighted average. The values are how many second purchases each cohort has produced so far. The weights are how many customers sit in each cohort. Two forces move that average with no input from your lifecycle program at all.
The first is maturation. A customer who bought in January has had eleven months to place a second order. A customer who bought last week has had days. Blend them and you're averaging finished races against races still running.
The repurchase timing data makes this concrete. Across DTC, roughly half of second orders land within 30 days of the first and about three quarters land within 90. So a cohort acquired 60 days ago is mid-curve, and a cohort acquired last month has barely started.
Every new cohort you add is full of people who haven't had time to buy again yet. The blended figure should drift down on maturation alone, even if nothing changed. When it holds perfectly flat quarter after quarter, that usually means the calculation runs all-time, or it quietly drops your most recent buyers. The stability is an artifact of the method.
The second force is acquisition volume. Because the average is weighted by cohort size, scaling acquisition means your largest cohorts are also your newest. The number you're reading becomes dominated by the customers you know least about, at exactly the moment you're using it to justify spending more on them.
Put both together and a brand can improve its reported retention by cutting acquisition spend. Fewer new buyers enter the denominator, the existing file keeps maturing, the number climbs. Not one customer behaved differently. The dashboard says retention improved. What actually happened is you stopped adding people who hadn't bought twice yet.
The same mechanism runs in reverse during a good quarter. Scale hard and the blended figure drops, and your lifecycle lead gets asked what went wrong with retention during the strongest acquisition month the brand has ever had.
Run it by cohort and you'll see one of two things. Either your recent cohorts sit above the blended average and pull it up, which means your newest customers are your best ones and the case for scaling is real. Or they sit below it and drag, and the blended figure is being propped up by mature cohorts that have finished contributing.

Those two shapes look identical on your dashboard. They mean opposite things for your budget.
The week the headline and page four disagreed
I read a weekly performance report a few weeks ago that opened with the sentence "this was a strong week."
It had earned it. DTC revenue north of $220,000, ahead of plan by double digits. Best blended paid efficiency in over a month. And the write-up explicitly credited retention for it: returning customer revenue up around 17% week over week, while new customer orders had actually fallen about 6%. The headline retention figure was the strongest in the five-week trend.
That's a real result. Nobody was spinning anything.
Four pages later, in the same document, was the cohort table.
Member retention at the first offset had fallen from around 80% for the prior year's cohorts to the mid-50s for the most recent ones. Not one bad month. A steady slide across more than a year of consecutive cohorts.
The strong week and the slide were in the same file, four pages apart, and neither section referenced the other.
The next week's report opened differently. Revenue, orders and conversion all came in under plan. Contribution margin landed near 19% against a plan of 29%. EBITDA technically beat plan, and the entire beat came from one-off recoveries: a sample sale and a batch of expired store credits that finally aged out. Core contribution was below plan.
So the consequence arrived one week later, not two quarters, and it arrived disguised as a beat.
That reporting was rigorous. The cohort table existed, it was correct, and it sat in the same document as the headline. The headline number was an aggregate and the cohort table was a cohort, and nothing in the structure of the report forced anyone to read them against each other.
Somebody did notice. The following week the slide got tested cohort by cohort, confirmed, and turned into a named project with an owner. That's the good version. The bad version is the same document with nobody holding both pages at once, and it runs two more quarters before the aggregate moves.
Here's how that one goes.
The blended rate holds. Acquisition reads stability as permission and asks for more budget. The ask is approved, because nothing in the retention reporting contradicts it. Spend flows into cohorts already converting below the average.
Those cohorts are small at first, so they don't move the aggregate. They stay small relative to the mature base for a quarter, maybe two. Then they don't. Once the weak cohorts outweigh the strong ones, the number finally moves.
By the time it moves, the spend decision that caused it is two quarters old and the customers are already in the file.
This is the same failure I've written about as LTV Drift, where a stable aggregate hides deteriorating cohorts until the budget is already committed. It's also what sits underneath a brand tripling revenue while repurchase falls by half. Different metric, identical mechanism: the average holds while the thing it's averaging comes apart.
For apparel, where repeat purchase rates typically run 12 to 17%, a four-point cohort slide is a quarter of your retention performance. It's also small enough to stay invisible in a blended figure for the better part of a year.
Somebody chose your window. It probably wasn't a decision.
Deciding what counts as a retained customer is a measurement standard. It determines what your lifecycle team works toward, what acquisition gets rewarded for, and what number goes to your board. That's a leadership decision about how the business defines its own performance.
Right now it's a platform default that nobody signed off on.
Your lifecycle team didn't choose all-time. They inherited it. And they can't change it unilaterally, because the moment the definition changes the historical trend breaks, and somebody senior has to explain to the board why retention "dropped" in a quarter when nothing happened except that the math got honest.
That explanation has to come from you. It won't come from the person running the flows.
This costs nothing. It's a query against data you already have. What it costs is one uncomfortable slide, and the cheapest quarter to absorb that slide is the one where you're already resetting targets.
Run this before you sign the budget
Three pulls. None of them need a new tool.
Your rate by acquisition month, last 12 months, each cohort measured at a fixed 90-day mark. The fixed window is the whole point. If each cohort gets a different amount of time, you've rebuilt the blended problem with extra steps.
The trend across those twelve cohorts, not the average of them. You're looking for direction, not level. A brand at 12% and climbing is in better shape than a brand at 16% and falling, and only one of those is visible on a blended dashboard.
The gap between your most recent three mature cohorts and the prior six. If the recent three are running two or more points below the prior six, the deterioration is already in the business and it's already been funded. One cohort below is noise. Three consecutive is a trend, and it traces back to a decision made 60 to 90 days before it appeared.
If the gap is two points or more, your budget review needs to identify which acquisition decision from last quarter put it there, and who owns it going forward.
If all three pulls come back flat and boring, you're fine, and the number is now defensible.
FAQ
Our analytics tool only reports the blended number. Do we need to switch platforms?
No. Cohort repurchase rate is a group-by on first-order date against second-order date, and any analyst with read access to your order data can produce it in an afternoon. Brands routinely turn this into a platform evaluation because a platform evaluation is easier to get approved than an uncomfortable answer. The tool isn't the constraint.
How many cohorts before a declining trend counts as a trend?
One cohort month below the average is noise. Three to four consecutive cohort months running below the prior six-month average is a trend, and by then it's usually traceable to a specific decision made 60 to 90 days before the drop appeared. The distinction matters because the responses are completely different. Noise gets watched. A trend gets a named owner and a reversal.
Should we report repeat purchase rate or retention rate to the board?
Report the cohort version with the window stated on the slide, and stop reporting any aggregate without one. Retention rate and repurchase rate get used interchangeably in most rooms, which is part of how the ambiguity survives. If your board is anchored to a blended annual figure, keep showing it for continuity and put the cohort trend beside it. The first quarter the two diverge is the quarter the cohort view earns its place, and there's more on why the benchmark itself is the wrong target in what counts as a good retention rate.




Comments