How to Calculate Your Repeat Purchase Rate in WooCommerce

When it comes to online stores built using WordPress, WooCommerce is certainly the most popular option. And that is for a good reason, WooCommerce allows great e-commerce functions for free and it’s easily extendable. But once your store reaches a certain point you’ll need to know more about your customer base. And when that time comes you will need to use external tools to extract more information from your raw data, as this isn’t one of WooCommerce’s goals.

Among these metrics, a really interesting one is the repeat purchase rate. That is the number of customers that bought more than once in your store. This is a great way to measure how your products and services are perceived by your customers and also a great way to give you ideas on how to increase your customers’ loyalty.

Our goals for today are:

  • Get a better understanding of the importance of the repeat purchase rate
  • Learn the actual math that you do to calculate that
  • Understand how to extract this data from WooCommerce

Sounds good? Now let’s get started!


Why should I calculate the repeat purchase rate?

You may be wondering: since I have an online store with WooCommerce why would I even bother going through all this trouble of calculating this metric? Well, dear reader, there are a lot of good reasons for that.

There is a whole field of study to explain this, but in short, it’s way cheaper and more effective to get your existing customers to buy again, than finding new customers. And once we think about it, it all makes sense. After all, you already have a lot of important data about your existing customers, they already know you, they already know your products. Therefore in the information and in the relationship business any past experience with a customer gives you a big advantage.

Additionally, through the repeat purchase rate you get a better understanding of your own brand. You can better understand your customer satisfaction and the brand loyalty, so you are more prepared for the future. For example, are your customers happy with their buying experience? Or are they just getting the lowest price possible? Out of your current customers which are the best ones to keep in your customer base for your business sustainability?

And finally, this number will give you an idea of how you are performing compared to your competitors. Chances are you know at least a little bit how your main competitors are performing. So this number will give you a ballpark of your current market share and how the main players in your market see your brand against other brands. The higher your repeat purchase rate gets, the better (given that your sales are increasing as well).

woocommerce repeat purchase rate

How to calculate your repeat purchase rate

A simple way to calculate this is just getting the number of customers who shopped more than once and divide that by the total number of customers you have in a given period. This will give you the broader definition of repeat purchase rate and it’s great for everything we’ve already mentioned, but we can dig deeper.

You may also want to know how many customers buy the exact same product, divided by the total sales of that product. This may be interesting to measure if you have a product that usually is bought multiple times during a certain amount of time. For example, if you sell cakes probably a customer will buy cakes in general more than once during a year and probably they won’t buy just from you, or just from a specific flavor. But if they are loyal to a specific flavor you’ll get a feel of your customer base for each of your products and this will help you in your marketing and product development efforts. A product that has mostly loyal customers may be more appealing for them for a reason, and once you understand that, you can develop strategies not only for your current customers but also for non-customers with the same needs.

There are a few other repeat purchase ideas that you may want to consider, such as:

  • Same place, different customer – the rate of people in the same household or company that have bought your products. This may indicate that they are actually sharing the product or that one customer recommended your product to another one
  • Related customers – you may use some social media or affiliates information to relate customers that were recommended by another one, this will give you an even better look on how pleased your customers are with your products


How to extract your Repeat Purchase rate from WooCommerce

Due to Woocommerce’s nature, there is no easy way to extract this data. So we’ll need to use different plugins or a combination of plugins and external tools to get to this number. We’ll dive into 2 different options, first one is using the Users Insights plugin, and that will give you a quick way to find out this rate. We’ll also check how you can do this by exporting your WooCommerce data and finding this number by yourself, using a spreadsheet editor like Excel.

Option #1: Users Insights

With the Users Insights plugin, you can extract this data with a couple of clicks.

First, you need the repeat buyers number and in order to get that you just need to filter users with the number of orders greater than one:

woocommerce find repeat customers

After that, we’ll check the total number of customers. If you allow guest checkouts you’ll need to extract this info from WooCommerce (check Option #2). If you don’t or just want to check this rate among your registered users it’s easy to get that as well, you just need to filter all users with orders greater than zero.

woocommerce find all customers

Now you just need to divide these two, in our case it’s:

115/126 = 92.27% (very, very high)

With Users Insights it’s also possible to check this number for specific products as we’ve mentioned above. If you want to check the repeat purchase rate of users who bought a particular product, you can apply the following filter:

woocommerce repeat purchase rate by product


Option #2: Exporting WooCommerce data & using spreadsheets

Another way to extract this information from your site is by using another plugin and excel to manipulate your data. For this example in particular, we are going to use the Advanced Orders Export for WooCommerce plugin. You can download it to try it for yourself.

We have to mention that we’ve tried a lot of plugins to export your WooCommerce data. You can try others as well, but we are recommending this one because it seems to be the only one with an easy way to see all your order data at once. We need in particular to see the user ID and full name so we can actually see which orders are made by repeat customers.

Therefore the first step is installing that plugin and exporting your data. Once you install and activate it, you should see this new screen under WooCommerce > Export Orders:

woocommerce export data

Pay attention to the “set up fields to export” option that is the last option. In this section you’ll be able to enable/disable some fields. To keep our export file easier to read we’ll only export the crucial data for our analysis, the order ID, order number, order status (in case you want to remove pending/canceled orders), user ID and full name.

woocommerce export data fields


Then export this file. Now open it using a software like Excel or Google Docs and let’s do some magic.

If your dataset isn’t too big, an easy way to get a look of your duplicated items is by using the conditional formatting rule in your fields.

In order to activate the conditional formatting, first select the range of fields where you are going to look for duplicates, in our case it’s the Customer ID and Full Name.


Then check the option under the Home tab > Styles > Conditional Formatting > Highlight Cell Rules > Duplicate Values:


Select your formatting options – text & background color – and you’ll get something like this


However if you have a big dataset this won’t be a good option. In this case you’ll need to use formulas, and we’ll need to check for 3 different scenarios:

  1. Duplicated user ID
  2. For the ID = 0 it’s a guest checkout, then check for duplicated full names
  3. Get the total of unique users and the total of users with more than one order

You may be wondering “why not just check for duplicated full names”? Well, that’s because there is a chance that people have the same First and Last names. Also checking for the customer user ID is the most reliable way, as returning customers probably already have an account created on your site.

Now back to our formulas, we are going to create a few other columns to help us get to the final number of duplicates.

The first one is the Duplicate ID. In order to check that we’ll use the COUNTIF formula. In short we’ll check the number of occurrences of the current string (the user ID) in the dataset (our column). In this way Excel will return the amount of cases that it finds for that item – if it’s greater than one, then it’s a duplicate. Since we have guest checkout we’ll also check if the UID is zero – if it is the number for that element is zero as well, we don’t want to count it at all. This is the formula that we are going to use for the first item of our dataset:


Then drag this formula thought your rows – select the cell with the formula above, hold the little square in the bottom right corner of it, then drag it down. Excel will automatically update the D2 numbers with the current row (D3, D4 and so on). In this way your “search” formula will only look for the current row and the ones above it, and will return the number of occurrences of this item if it isn’t a guest checkout. Here is how it looks like and the formula for the last item highlighted:


Then we can easily count all the unique numbers by using a COUNT IF column values = 1


Now if you have guest checkout we’ll do this again checking the full name but now just for the cases where the user ID equals zero.

This is the formula we are using for the first row:


Again you can just drag this formula to all your rows once again. This will work a little bit differently: if the user ID isn’t zero, there will be no value for the row, otherwise, it’ll show the element count up to that row.

Now we need to sum the unique IDs and the unique full names to get the total of unique customers in your site. To do that we’re using this formula:


In our example, these numbers are 7 and 8. So the final sum is 15. Then we need to count only the first duplicate of each customer (otherwise customers with 3 or more orders will be duplicated once again). And in order to do that we’ll count the number of occurences of the number 2 and ignore all the rest (you can use this number though if you want to check for users with 3, 4 or more orders).


For our current dataset these numbers are 2 and 2, so the total of duplicates is 4. So our repeat purchase rate is 4/15 = 26,67%

Here is a look of the final file:



Today we learned about the repeat purchase rate, its importance, how you can calculate it and how you can extract this data from any WooCommerce site.

We hope you enjoyed this article and we hope this gives you a lot of ideas of other metrics that you could extract from your WooCommerce store!