How to Calculate Repeat Purchase Rate and Improve It
Repeat purchase rate is the share of customers who have bought more than once. Here is one clear definition, Excel steps for a Shopify order export, and six ways to improve it.
By Nitish KumarNov 2, 2026 • 8 min read
Repeat purchase rate is the share of your customers who have bought from you more than once. It is one of the simplest retention numbers to work out and one of the easiest to get wrong, because three similar metrics share the same words. This post gives you one clear definition, a worked example, Excel steps that start from a Shopify order export, and six ways to improve the number. I found no trustworthy published benchmark for it, so I do not give one.
What is repeat purchase rate?
Repeat purchase rate = customers with two or more orders ÷ all customers who ordered, × 100
Always attach a period to it, such as "customers who ordered between 1 April and 30 September". Without a period the number cannot be compared with anything.
How is it different from returning customer rate and cohort retention?
These three get mixed up. They count different things and answer different questions.
| Metric | What it counts | Question it answers |
|---|---|---|
| Repeat purchase rate | Customers with 2+ orders ÷ all customers, over a period | How many of my customers have bought again? |
| Returning customer rate (as used in Returning Customer Rate vs Cohort Analysis) | Orders in one month from returning customers ÷ all orders that month | Who is buying this month? |
| Cohort retention (see Customer Cohort Analysis for Ecommerce Growth) | Share of one first-purchase month's customers who ordered in later months | Do customers acquired in a given month come back, and when? |
Repeat purchase rate is one overall number. The cohort view splits it by month. I will not rebuild those tables here.
Tools also define their own versions. A reply in Shopify's community forum gives the formula behind Shopify analytics as returning customers ÷ (returning customers + first-time customers). The thread does not say whether the reply is official or what period it covers, so read the definition in your own report before you compare numbers.
How do you calculate it?
- Pick a period and list every customer who placed at least one order in it.
- Count how many orders each customer placed in that period.
- Count the customers with two or more orders.
- Divide that by the number of customers, and multiply by 100.
Example, not real data: 1,000 customers ordered in the period. 180 of them placed two or more orders. 180 ÷ 1,000 × 100 = 18%. The other 820 ordered once.
How do you calculate it in Excel from a Shopify export?
You need an order export from Shopify. The steps below use columns that appear in Shopify's order export: Name (the order number), Email, Created at and Total.
Step 1: Export the orders
On the Orders page in Shopify, filter by date, click Export, and choose all order information. Shopify's help page says larger exports, and exports by date, are emailed to you.
Step 2: Keep one row per order
Shopify's help page says an order with several items shows the extra items on separate lines, with many fields blank. If you leave those rows in, a customer who bought three items in one order looks like three orders. Select the Name column and use Data, then Remove Duplicates, on the Name column only. Excel keeps the first row of each order.
Step 3: Remove orders that should not count
The export has columns for Canceled at and Financial Status. Delete cancelled orders, and your own test orders. Decide what to do with refunded orders and apply the same rule every time.
Step 4: Count the orders for each customer
Put a heading in column E, "Orders by customer". If Email is in column B and your data runs from row 2 to row 11, put this in E2 and fill it down:
=COUNTIFS($B$2:$B$11,B2)
Step 5: Count customers and repeat customers
These two formulas count each customer once, even though a customer appears on several rows:
Customers: =SUMPRODUCT(1/COUNTIF(B2:B11,B2:B11))
Repeat customers: =SUMPRODUCT((E2:E11>=2)/E2:E11)
Repeat purchase rate: divide the second by the first.
I tested these on a small sheet. Example, not real data: 10 orders from 7 customers. Customer A ordered three times, customer B twice and five customers once. The formulas return 7 customers and 2 repeat customers, so 2 ÷ 7 = 28.6%.
Step 6: Check the traps
- Blank emails. A blank cell breaks the customer count. Fill gaps from the Phone column, or use Phone as the key for every row.
- One person, two emails. If customers check out as guests with different emails, they look like different people and your rate is too low. Match on phone as well and compare the two results.
- The period. Customers whose first order was last week have not had time to buy again, so a recent period pulls the rate down. Compare periods of the same length and age.
How much revenue comes from repeat customers?
A rate tells you how many customers return. It does not tell you how much they are worth. With Total in column D and the same orders-by-customer column E, this formula gives the share of revenue that comes from customers who ordered more than once:
=SUMPRODUCT((E2:E11>=2)*D2:D11)/SUM(D2:D11)
It counts all orders of those customers, including their first. I tested it on a second small sheet. Example, not real data: total sales of ₹6,000, of which ₹2,950 came from the two repeat customers, gives 2,950 ÷ 6,000 = 49.2%. In that sheet the repeat rate is 28.6% but the repeat customers account for almost half of the revenue. Read the two numbers together: a modest rate can still carry a large share of sales, and a store that sees this should protect those customers first.
Total in a Shopify export includes shipping and taxes, so use Subtotal if you want product revenue only. Both columns appear in Shopify's export.
Common mistakes
- Counting orders, not customers. Two orders from one person make one repeat customer, not two.
- Leaving line-item rows in. It inflates the order count and the repeat rate.
- No period, or periods that do not match. A 12-month rate and a 3-month rate are different numbers, and a recent period always looks weaker.
- Comparing with someone else's number. Definitions and products differ. Compare against your own earlier results.
- Treating a sale spike as loyalty. If repeat orders cluster in discount months, check your cohort table before you celebrate.
What is a good repeat purchase rate?
I searched for a published benchmark with a named source, period and method and found none. Most of the numbers on vendor pages come with no study behind them. How often people buy again depends on what you sell: a product that runs out in a month is bought again more often than one that lasts for years. So compare your rate with your own earlier periods, and split it by first-purchase month in the free Customer Cohort Analysis Tool.
6 ways to improve repeat purchase rate
I cannot give you an effect size for any of these. Each has a cost and a limit, and you should test one at a time.
1. Learn your reorder time
Among customers who did reorder, work out the typical gap in days between their first and second order. Time any reminder just before that gap ends. Cost: an hour of analysis. Limit: it describes your repeaters only, so it can mislead if you have very few.
2. Ask for permission to message them
You cannot remind people you have no consent to contact. On WhatsApp, Meta requires opt-in before a business messages people, as I describe in COD Order Confirmation on WhatsApp. Cost: a line at checkout and a record of consent. Limit: some customers will say no.
3. Give a reason to return that is not a discount
A replenishment reminder, a new launch, or a full-size product with a mini add-on gives a customer a reason without cutting your price. See 7 practical ways to increase AOV with product bundles. Cost: stock and attention. Limit: if repeats happen only in sale months, you are buying them, not earning them. The returning customer post shows what that pattern looks like.
4. Make sure the first order arrives
A customer whose first parcel went back to you has not tried your product. Failed first deliveries cost you shipping and also a chance at a second order. Cost: the work described in How to Reduce RTO Without Removing COD. Limit: it only helps stores with a real RTO problem.
5. Follow up after delivery
Send a short message once the parcel should have arrived, with how to use the product and where to get help. Cost: a template and a trigger. Limit: a message about a late or damaged parcel does nothing for the second order.
6. Offer a refill or subscription for products that run out
Cost: an app or manual process, plus whatever discount you offer. Limit: it only fits consumables, and some customers will find it a commitment.
How do you know a change worked?
Pick one change, apply it to the customers who order after a set date, and compare their repeat rate with the group before. Give both groups the same amount of time, because of the period problem in Step 6, and keep a note of anything else you changed in that window, such as a sale.
Repeat purchase rate: frequently asked questions
What is a good repeat purchase rate?
I found no sourced benchmark. Compare your rate with your own history, by period and by first-purchase month.
Is repeat purchase rate the same as returning customer rate?
No. Repeat purchase rate counts customers with two or more orders. The returning customer rate in our earlier post counts orders in one month that came from returning customers. Tools differ, so check each definition.
Which orders should I exclude?
Cancelled orders and your own test orders. Decide on refunded orders and apply the same rule every time.
Can I get it from Shopify without Excel?
Shopify analytics reports a returning customer rate, but I did not check which plans include it, and its formula differs from the one above. The Excel method works with any export.
Your action checklist
- Pick a period and write down the definition you will use.
- Export the orders, remove duplicate order rows, and remove cancelled and test orders.
- Count orders per customer and work out the repeat purchase rate.
- Check the blank email and two-email traps.
- Split the result by first-purchase month in the Customer Cohort Analysis Tool.
- Pick one of the six changes and test it on its own.
Your next step: Export your last 6 months of orders and work out your repeat purchase rate with the formulas above, so you have a starting number before you change anything.
Sources: Shopify Help Center, exporting orders; Shopify Community, how the returning customer rate is calculated (forum reply, official status not stated); Meta, get opt-in for WhatsApp.