Skip to content

CRO resources to optimize your e-commerce store Subscribe for free

How Do I Calculate My Repurchase Rate?

Short answer

By cohort: of the customers who placed their first order in a given month, what share ordered again within the next twelve months. Any other calculation mixes customers who have had time to come back with others who just arrived.

The answer in detail

By cohort: of the customers who placed their first order in a given month, what share ordered again within the next twelve months. Any other calculation mixes customers who have had time to come back with others who just arrived, and it penalizes you as soon as you start acquiring more customers.


The benchmark

The formula is a single division: the number of customers in the cohort who placed a second order within the window, divided by the number of customers in the cohort. The result depends mostly on who you put in the denominator.

We saw this firsthand this summer, in an audit of a seasonal brand with a few million euros in online sales. The same customer export gave two different answers.

Across all customers acquired over twenty-four months, 9.8% had ordered again. Among those with at least twelve months of hindsight, the share rose to 13.1%. The store and the file were identical, and the one-third gap came from customers who had joined less than a year earlier, mostly the previous winter, and hadn't yet had another winter to come back in.

The report put the two figures side by side and noted that only the second one should drive decisions.


The rule

Choose a window that matches how often people buy your product, then stick with it. Three months is enough for a consumable, twelve for ready-to-wear, and furniture or a seasonal brand needs longer, since their customers come back the following year or not at all.

Then compare each cohort with another cohort of the same age, for example March at 90 days against February at 90 days.


The steps

Shopify already groups customers by first order date in its cohort analysis report, found in the Customers category of reports. To slice the numbers your own way, an export of your orders is enough.

  1. The export. Pull your orders with the customer ID and the date.
  2. The matching. Link each person to the month of their first order.
  3. The count. In a given cohort, count the people who placed a second order within the window.
  4. The split. Break the results down by first product purchased and by acquisition channel, because that's the level where a gap becomes a decision.
  5. The tracking. Check the most recent cohort at 30, 60 and 90 days, without waiting for it to reach a year.

Copy the table below, then fill it in with your own months:

Cohort (month of first order)New customersRepurchase at 30 daysRepurchase at 90 daysRepurchase at 12 months
January…………
February…………
March………not mature yet

Once the first row is complete, you can tell your leadership team:

"In the January cohort, X% of customers ordered again within twelve months, and we'll compare future cohorts at the same age."

The trap

Reports tend to highlight a different number. Shopify counts as a returning customer anyone whose history already contains an order, and the share these customers represent over a period drops automatically when you acquire a lot of new ones.

In the month acquisition takes off, loyalty seems to decline even though nobody left, and you risk announcing bad news that isn't real.

Keep that share to track the mix of existing and new customers, and use the cohort rate to judge loyalty.

That leaves the file itself. Someone who orders with two email addresses has two profiles, so they count as two one-time customers.

Shopify lets you merge two profiles from the customer list: handle at least the obvious duplicates before running the calculation.