Blog · Finance metrics and formulas
Customer repeat rate is the share of purchasing customers who buy again within a stated window. Calculate it from distinct customer orders, reconcile the denominator, and distinguish repeat buyers from returning customers and repeat orders.
Customer repeat rate is repeat buyers divided by purchasing customers, expressed as a percentage over a stated window. For a within-period measure, repeat buyers have at least two distinct eligible orders and purchasing customers have at least one. The denominator counts people or accounts, never orders or invoice lines.
Customer repeat rate = Customers with at least two eligible orders / Customers with at least one eligible order × 100
This definition counts orders inside the same reporting window. Label it explicitly: within-quarter customer repeat rate, January 1 through March 31, 2026. Someone who bought before January and makes a single purchase in the quarter is a returning customer by purchase history, but does not meet this within-quarter repeat threshold.
A first-purchase cohort measure answers another useful version of the question: what share of newly acquired customers buys again within a fixed time after acquisition? In that version, the denominator is the original eligible acquisition cohort and every customer needs the same follow-up time. Do not compare it directly with a calendar-period rate without explaining the different populations.
This page owns the counting method. The separate ecommerce repeat-rate benchmark guide explains how to judge an outside average against that definition.
Start with the export the sales or ecommerce team already uses. Keep customer ID, original order ID, order date, status, document type, and the cohort or segment to be reported. Bring earlier order history only when you need first-purchase dates or the separate returning-customer label.
Reduce the eligible transactions to one row per original order before calculating the customer summary. A split shipment does not create another purchase decision. A credit memo is not a new order. If the export contains multiple stores with overlapping order numbers, use a store-order combination as the order key.
The following order list belongs to a US commercial-supplies retailer. All listed orders are completed merchandise orders inside the quarter, and all customer IDs are present.
| Customer | Eligible order IDs | Distinct orders | Within-quarter repeat buyer |
|---|---|---|---|
| A | O100, O101, O102 | 3 | Yes |
| B | O103, O104 | 2 | Yes |
| C | O105 | 1 | No |
| D | O106 | 1 | No |
| E | O107 | 1 | No |
| Total | 8 | 2 customers |
The table is the customer-level summary of the cleaned order list. It preserves the order IDs so a reviewer can trace the numerator back to the transactions that prove another purchase occurred.
| Step | Calculation | Result |
|---|---|---|
| Purchasing customers | A + B + C + D + E | 5 |
| Customers with another eligible order | A + B | 2 |
| Repeat customer percentage | 2 / 5 × 100 | 40.0% |
| Single-order customers | 5 − 2 | 3 |
| Population check | 2 repeat + 3 single-order | 5 |
The customer repeat rate is 40.0%, shown to one decimal place. The underlying fraction is exact. Every purchasing customer must appear in exactly one of the repeat or single-order groups; otherwise the classification does not reconcile.
Do not divide the orders placed by repeat buyers by all orders and call that the customer repeat rate. Customers A and B placed 3 + 2 = 5 of the 8 orders, a 62.5% order share. That is a valid order-based measure with a different denominator.
Nor does the result tell you how many extra purchases those customers made. Average orders per customer captures the full buying-frequency distribution. Customer repeat rate only identifies whether each customer crossed the repeat threshold.
Create the eligible order list with customer IDs in A2:A9 and distinct order IDs in B2:B9. Generate the purchasing-customer list in D2:
=UNIQUE(A2:A9)
Use the default distinct-value behavior. Microsoft documents UNIQUE's optional exactly-once setting; turning that setting on would remove repeat buyers from the customer list and corrupt this calculation.
For the customer in D2, count its eligible orders in E2 and fill down through E6:
=COUNTIFS($A$2:$A$9,D2)
Then calculate the customer repeat rate and format the cell as a percentage:
=COUNTIFS(E2:E6,">=2")/COUNT(E2:E6)
COUNTIFS applies the supplied conditions to the referenced rows. Here the customer summary must contain one numeric order count per eligible customer, with no subtotal rows or blanks mixed into E2:E6.
Covirage is not affiliated with Microsoft.
The customer counts must satisfy purchasing customers = repeat buyers + single-order buyers. The summed customer order counts must equal the distinct orders in the source list. For the example, 3 + 2 + 1 + 1 + 1 = 8.
Also compare the eligible order list with the source export's order totals after the documented exclusions. Keep excluded returns, canceled orders, and unidentified customers visible as exceptions. An unexplained difference makes the reported rate difficult to reproduce next period.
Suppose C has an earlier purchase before the quarter. A purchase-history returning-customer report would classify A, B, and C as returning by their later purchases, giving 3 / 5 = 60.0% of the quarter's customers. The 40.0% within-quarter rate remains correct. The difference comes from the definition, so neither figure should replace the other silently.
Sales operations should own the customer identity and order rules. Commercial managers own the response: investigate product availability, account follow-up, or service problems in comparable customer groups. Finance should help verify that gains in repeat buying also produce acceptable contribution after returns and service costs.
An absent purchase is only meaningful relative to the normal buying cycle. Use the dormancy-rate method to set that expectation. Do not assume that every single-order customer is lost, or that a higher repeat percentage proves a particular campaign caused the improvement.
Bring an order export with customer IDs, original order IDs, dates, and statuses to Covirage. Covirage maps the columns, and its tools compute and check repeat-customer counts for the periods and cohorts supplied; the external AI model explains the result with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data.
See sales insights for the supporting customer analysis.
Not necessarily. Repeat rate uses a purchase event to identify customers who buy again. Retention may instead track continued contracts, subscriptions, or activity. The measures coincide only when the business defines retained customers using the same purchase event, population, and observation window.
A useful target reflects the product's purchase cycle, customer type, and observation period. Compare mature cohorts with the same eligibility rules before using an outside benchmark. A long replacement cycle and a frequent replenishment cycle should not share an unexplained target.
No. Each customer contributes at most one to the repeat-buyer numerator, regardless of how many qualifying orders they place. Additional orders affect buying frequency and order volume, but they do not increase the customer's weight in a customer-based repeat percentage.
Refund documents must not count as new orders. Decide whether a fully refunded original order still qualifies, record that policy, and apply it consistently. Partial refunds usually require separate revenue treatment rather than automatically creating or removing a customer from the repeat count.