HomeBlog
Repeat Purchase Rate: The Metric That Predicts Loyalty ROI
Guides

Repeat Purchase Rate: The Metric That Predicts Loyalty ROI

Gameball Staff
Gameball Staff
October 8, 2026

Repeat purchase rate is the share of your customers who placed more than one order in a set period, calculated as repeat customers divided by total customers, times 100. It is the earliest reliable signal that a loyalty program is working, and also the easiest number in ecommerce to misread.

This guide covers the formula, a worked example, published benchmarks by category, how the metric differs from repeat customer rate and purchase frequency, and the part most articles skip: how to separate the repeat rate your program actually caused from the repeat rate that would have happened anyway, using a randomised holdout.

Worked example showing 220 customers with two or more orders divided by 1,000 total customers, giving a repeat purchase rate of 22%
In Polar Analytics' worked example, 220 of 1,000 customers ordered again in the quarter, a 22% repeat purchase rate.

What is repeat purchase rate?

Repeat purchase rate measures how many of your customers came back to buy again within a defined window. A customer who ordered twice or more counts as a repeat customer; a customer who ordered once does not. It sits at the centre of any retention strategy, and to see how it fits with acquisition, lifecycle and win-back work, read our companion guide on building a retention-first growth engine.

=
Repeat purchase rate = (customers with 2+ orders ÷ total customers) × 100
Always state the time window and the denominator next to the number. A 12 month rate and a 90 day rate for the same store can be very different, and both are correct.

The catch is that the same name gets used for different formulas. Polar Analytics ran one store's quarter through three of them: 1,000 customers, 220 of whom ordered again, across 1,600 total orders. The customer level formula gives 22%. Repeat orders as a share of all orders gives 38%. Orders placed by repeat buyers as a share of all orders gives 51%. Same data, three answers.

Here is that spread side by side, using Polar's worked example.

Same store, same quarter, three formulas
Customer level repeat purchase rate
22%
Repeat order share
38%
Orders from repeat buyers
51%
Worked example: 1,000 customers, 220 repeat customers, 1,600 orders. Source: Polar Analytics.

This guide uses the customer level formula throughout, because it is the version Klaviyo and most ecommerce platforms report and the one that maps cleanly onto a holdout test later on.

How to calculate repeat purchase rate

To calculate repeat purchase rate, count the unique customers who placed two or more qualifying orders in your window, divide by all unique customers who ordered in that window, and multiply by 100. The arithmetic is trivial. The decisions around it are where most dashboards go wrong.

Five steps to a repeat purchase rate you can trust
1
Pick the window
Twelve months is the most common choice and smooths out seasonality. Use 90 days for fast moving categories like grocery, beauty refills or coffee.
2
Count unique customers, not emails or sessions
Merge guest checkouts and accounts that share an email or phone number, or one person will show up as two one time buyers.
3
Exclude non purchase transactions
Strip out free samples, swatches, gift card top ups, fully refunded orders and, in cash on delivery markets across the GCC, refused deliveries.
4
Count customers with two or more qualifying orders
These are your repeat customers for the window.
5
Divide, multiply by 100, and label it
Report the window and denominator alongside the percentage so nobody compares a 90 day number with a 12 month one.

For a fast growing store, also run the cohort version: of the customers whose first order landed in January, what share placed a second order within 90 days? Blended rates fall as a store grows simply because the mix tilts toward new customers who have not had time to reorder. Cohorts remove that distortion, and pairing them with RFM customer segmentation shows which segments are actually coming back.

Why repeat purchase rate matters for loyalty ROI

Repeat purchase rate matters because it is the leading indicator of customer lifetime value, and lifetime value is what pays back every acquisition dollar. When more first time buyers return, purchase frequency rises, and so does customer lifetime value, long before the full revenue shows up in a quarterly report.

The research on retention economics is old but consistent:

25% to 95%
Profit increase from a 5% rise in customer retention, per Frederick Reichheld of Bain & Company
Harvard Business Review, 2014
5x to 25x
How much more it costs to acquire a new customer than to retain an existing one
Harvard Business Review, 2014
10%
How much more a typical active loyalty member spends than an enrolled but inactive member
McKinsey & Company, 2021

Both Harvard Business Review figures come from Amy Gallo's piece on the value of keeping the right customers. That is why repeat rate is the number most loyalty program ROI calculations lean on. It is also why it deserves more scrutiny than it usually gets, which is the subject of the next few sections.

Repeat purchase rate benchmarks by category

A good repeat purchase rate for most ecommerce stores is around 20% to 30%, according to Klaviyo, with consumables at the top of the range and high ticket goods at the bottom. Published category bands vary widely between sources, as the table shows.

SourceScopeRepeat purchase rate benchmark
KlaviyoGeneral ecommerce guidanceTypically around 20% to 30%
BS&Co (156,110 customers, 365 day window)Multi brand DTC average18.8%, range 7.1% to 44.2%
BS&CoConsumablesAbout 22% to 44%
BS&CoFashion10% to 17%
BS&CoDurables and general retail7% to 18%
Yotpo (as compiled by Polar Analytics)Consumables, food and beverage, cosmetics30% to 40%
Yotpo (as compiled by Polar Analytics)Fashion and apparel25% to 35%
Yotpo (as compiled by Polar Analytics)Electronics and high ticket items10% to 20%

Notice that fashion lands at 10% to 17% in the BS&Co dataset and 25% to 35% in Yotpo's bands. Neither is wrong. They almost certainly use different windows and denominators, and Polar points out that most published figures state neither. Use external benchmarks to sanity check the order of magnitude, then benchmark against your own trailing twelve months.

Repeat purchase rate vs repeat customer rate vs purchase frequency

Repeat purchase rate and repeat customer rate usually mean the same thing, the share of customers who ordered more than once, while purchase frequency measures how many orders the average customer places. The table below separates the metrics that get confused most often.

MetricFormulaQuestion it answers
Repeat purchase rateCustomers with 2+ orders ÷ total customersDid customers come back at all?
Repeat customer rateUsually identical to the above; some tools use orders from returning customers ÷ total ordersCheck which version your platform reports
Purchase frequencyTotal orders ÷ unique customersHow often does the average customer buy?
Customer retention rate(Customers at end of period minus new customers) ÷ customers at startHow many existing customers did we keep?
Churn rateCustomers lost ÷ customers at start of periodHow many existing customers did we lose?

Repeat purchase rate and churn are two views of the same behaviour, so track them together. Our guide to calculating and reducing customer churn rate covers the churn side in depth.

Why loyalty program repeat rates look better than they are

Loyalty program repeat rates look better than they are because the customers who join a program were already more likely to come back. Compare members with non members and you measure that head start, not the program.

This is self selection, and it shows up in some of the most quoted loyalty research. McKinsey's analysis of loyalty programs reports a striking spending gap between members who engage and members who do not:

“
Redeemer members spend 25 percent more than enrolled but inactive members.
McKinsey & Company, Next in loyalty, 2021

That finding, from McKinsey's eight levers report, is real, and it is a useful description of who your best customers are. What it cannot tell you is how much of the gap the program created. A customer who loves your brand enrolls, redeems and spends more; she might have spent most of that anyway.

The same trap applies to repeat purchase rate. Members will almost always show a higher repeat rate than non members. The honest question is how much higher it is than it would have been without the program, and only a controlled comparison answers it.

Side by side comparison on a hypothetical store: members versus non members shows an 18 point repeat rate gap, while a randomised program group versus holdout shows only 2.5 points of true lift
Illustrative: a member versus non member comparison suggests an 18 point gap, while the randomised holdout shows the program earned 2.5 points.

Very few brands run that comparison. An Incentivio analysis of restaurant loyalty measurement reports that 30% of brands do no control group testing at all, 60% rely only on campaign specific holdouts, and just 10% use a global holdout that can answer whether the program as a whole causes the lift.

How to measure incremental repeat purchase rate with a randomised holdout

To measure the repeat purchase rate your program actually causes, randomly assign a small share of eligible customers to a holdout group that does not get the program, then compare the repeat rate of the two groups over the same window. The difference is your incremental repeat rate.

Randomisation is the whole trick. Because a coin flip decides who is held out, both groups contain the same mix of fans, bargain hunters and one time buyers, and the only systematic difference between them is the program.

Member vs non member comparison
  • ✕Members chose to join, so they were already more engaged
  • ✕Seasonality and promotions hit both groups differently
  • ✕Overstates lift, sometimes by a wide margin
  • ✓Easy to pull from any dashboard
Randomised holdout
  • ✓A random draw decides who gets the program
  • ✓Both groups face the same season, prices and promotions
  • ✓The gap between groups is causal lift
  • ✕Needs planning, a clean list and enough customers

A practical setup, following the global holdout approach Incentivio recommends (5% to 10% of eligible customers for a 90 day window), looks like this:

Day 0
Randomise
Assign 5% to 10% of eligible customers to holdout before any program messaging goes out.
Days 1 to 90
Run the program
Treatment gets points, tiers and campaigns. Holdout gets normal service, pricing and transactional email.
Day 90
Read both groups
Calculate repeat purchase rate for every assigned customer, enrolled or not, in each group.
Day 91
Decide
Convert the lift into incremental orders and margin, then compare it with program cost.

Measure everyone who was assigned to each group, not only those who enrolled. Comparing enrolled treatment customers with the whole holdout brings self selection straight back in. Running both groups through the same window also matters in the GCC, where Ramadan, White Friday and national day campaigns can swing repeat rates on their own.

Holdout setup on a hypothetical store: 55,000 eligible customers split into a 50,000 program group and a 5,000 holdout group, with a checklist showing every assigned customer is counted at day 90, not only members who chose to join
Randomise before any program messaging goes out, then count every assigned customer in both groups, enrolled or not.

Here is how the math works on an illustrative store. The numbers are hypothetical, chosen to show the calculation.

LineTreatment groupHoldout group
Customers assigned50,0005,000
Customers with 2+ orders in 90 days12,0001,075
Repeat purchase rate24.0%21.5%
Incremental repeat rate2.5 percentage pointsBaseline
Incremental repeat customers2.5% × 50,000 = 1,250Not applicable

The naive view on the same store might have shown members at 39.5% against 21.5% for non members, an 18 point gap. The holdout says 2.5 points is what the program earned. That smaller number is the one to put in front of a CFO, because it survives scrutiny. Multiply the 1,250 incremental repeat customers by the margin on their extra orders, subtract rewards and platform cost, and you have a defensible measure of loyalty program success.

Check that the lift is larger than the noise. With a 5,000 customer holdout and repeat rates near 20%, the 95% confidence interval on the difference is roughly plus or minus 1.2 percentage points, so a 2.5 point lift is clearly real. Smaller stores should use a larger holdout share or a longer window.

How to increase repeat purchase rate

The fastest way to increase repeat purchase rate is to win the second order, because the jump from one purchase to two is where most customers drop away. Every tactic below should be read against your holdout, not against last quarter.

01
Win the second order
Give first time buyers a reason to return within 30 days: welcome points that expire, a second order reward or a replenishment reminder timed to product use.
02
Make progress visible
Points balances and tiers in a loyalty program turn each order into progress toward something. See how points engines actually work.
03
Build a buying habit
Daily or weekly streak campaigns and other gamification mechanics reward consistency rather than one big basket.
04
Reach customers before they lapse
Trigger automated win-back journeys when a customer passes their usual reorder interval, and let referral rewards bring their friends in too.
Key takeaways
  • Repeat purchase rate is customers with two or more orders divided by total customers, times 100, always reported with its window.
  • Three formulas share the name; on one store the results ranged from 22% to 51%.
  • Published benchmarks cluster around 20% to 30% overall, with consumables highest and high ticket goods lowest.
  • Member versus non member comparisons overstate loyalty lift because engaged customers self select into programs.
  • A randomised holdout of 5% to 10% of eligible customers isolates the repeat rate your program actually causes.

How Gameball helps

Gameball combines a points and tiers loyalty program, gamified campaigns and referrals with automation triggers that move customers from their first order to their second. Gameball's analytics track repeat purchase rate, CLTV and RFM segments and sync to your data warehouse, so you can read a holdout test in your own BI tool; book a demo or see pricing to get started.

Related reads

Frequently asked questions

What is a good repeat purchase rate?

A good repeat purchase rate for most ecommerce stores is around 20% to 30%, according to Klaviyo. Consumables such as beauty, coffee and grocery usually sit higher, while electronics and other high ticket goods often sit between 10% and 20%. Compare against your own trailing twelve months first, since published benchmarks rarely state their window.

How do you calculate repeat purchase rate?

Divide the number of customers who placed two or more orders in a period by the total number of customers who ordered in that period, then multiply by 100. For example, 220 repeat customers out of 1,000 total customers gives a 22% repeat purchase rate. Always report the time window alongside the number.

Is repeat purchase rate the same as repeat customer rate?

Usually, yes. Both terms most often mean the share of customers who ordered more than once. Some analytics tools, however, label the share of orders placed by returning customers as repeat customer rate, which produces a much higher number. Check your platform's definition before comparing figures across tools or against published benchmarks.

What is the difference between repeat purchase rate and purchase frequency?

Repeat purchase rate tells you what share of customers bought more than once. Purchase frequency tells you how many orders the average customer placed, calculated as total orders divided by unique customers. A store can have a modest repeat rate but high purchase frequency if a small group of loyal customers orders very often.

How do you know if a loyalty program increased repeat purchase rate?

Run a randomised holdout. Before launch, randomly hold back 5% to 10% of eligible customers from the program, then compare repeat purchase rate between the two groups over the same window, such as 90 days. The difference is the incremental lift the program caused, free of self selection and seasonality.

What time window should I use for repeat purchase rate?

Twelve months is the most common window because it smooths out seasonality and suits most ecommerce categories. Fast replenishment categories such as coffee, pet food or skincare can use 90 days. For growing stores, add a cohort view, such as the share of January first time buyers who reordered within 90 days.

Ready to grow?

Get in touch with our sales team today.

The loyalty vendor checklist your CTO
will thank you for

Discover engineering challenges, essentials, and more from global brands.

Gameball loyalty checklist showing low latency, elastic scaling, A/B testing, and other features with performance charts, titled 'The loyalty vendor checklist your CTO will thank you for'.
Abstract design with orange overlapping shapes on a yellow background.

Gameball Staff

The Gameball team shares news about Gameball, insights on loyalty, gamification, and customer engagement strategies that help brands turn one-time buyers into lifelong fans.

Stay ahead on retention

Subscribe to our newsletter and get all the latest updates as we post.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Ready to level up your customer loyalty?

Level up your customer loyalty!

Retain more customers with less work, thanks to gamified engagement built for modern teams.
Keep customers engaged easily with gamified tools for teams.
Blue eight-petaled flower shape on a black background.Blue group of stylized cloud shapes arranged in a pattern.
Abstract orange shape resembling a stylized heart or flame on transparent background.Orange upward-pointing arrow with rounded edges on a transparent background.