Repeat customer rate is the percentage of customers buying in a period who had bought from you before: returning buyers divided by all buyers, times 100.
Repeat customer rate = Customers who had ordered before ÷ Customers who ordered × 100
On the sample data below, six months come to 34.41%.
Why it matters
Returning customers cost little to reach. A rising repeat rate means acquisition spend keeps paying back after the first order, which is the foundation of a profitable D2C brand.
Worked example
The table shows the columns this metric needs from six months of a made-up subscription brand. Add each column up over the six months, then put the totals into the formula:
| Month | Customers who ordered | Of those, customers who had ordered before |
|---|---|---|
| 2026-01 | 640 | 210 |
| 2026-02 | 681 | 228 |
| 2026-03 | 735 | 251 |
| 2026-04 | 702 | 244 |
| 2026-05 | 768 | 270 |
| 2026-06 | 830 | 296 |
| Total | 4,356 | 1,499 |
1,499 ÷ 4,356 × 100 = 34.41%
Add up first, then divide. Averaging the six monthly figures gives a slightly different answer, because it counts a small month the same as a large one.
Month by month
| Month | Repeat customer rate |
|---|---|
| 2026-01 | 32.81% |
| 2026-02 | 33.48% |
| 2026-03 | 34.15% |
| 2026-04 | 34.76% |
| 2026-05 | 35.16% |
| 2026-06 | 35.66% |
Repeat customer rate calculator
How to read it
Repeat rate rises naturally as a brand ages and has more past customers. Cohort retention (what share of each month's new customers come back) is the cleaner trend.
Common mistakes
- Identify customers reliably. Guest checkouts with a new email look like new customers.
- Some define repeat rate as the share of all customers ever who ordered twice or more. That is a different number; say which one you use.
- A big acquisition push lowers repeat rate for a while, because the denominator fills with first-time buyers.
Calculate repeat customer rate in Excel, SQL or Python
The quickest version, for the sample sheet laid out as in the CSV (headers in row 1, months in rows 2 to 7):
=SUM(V2:V7) / SUM(U2:U7)- Repeat customer rate in Excel and Google Sheets — per-month formula and zero-safe version
- Repeat customer rate in SQL — query by month and for the period
- Repeat customer rate in Python (pandas) — pandas script with expected output
Related metrics
See all business metrics, or the statistics methods that sit behind them.
Questions people ask
- What is repeat customer rate?
- Repeat customer rate is the percentage of customers buying in a period who had bought from you before: returning buyers divided by all buyers, times 100.
- How do you calculate repeat customer rate?
- Repeat customer rate = Customers who had ordered before ÷ Customers who ordered × 100. For example, with six months of sample data: 1,499 ÷ 4,356 × 100 = 34.41%.
- What is the repeat customer rate formula in Excel?
- With the sample data laid out as in the downloadable CSV, =SUM(V2:V7) / SUM(U2:U7) gives the figure for the whole period (format the cell as a percentage). For one month, use =V2 / U2 and fill it down.
- What is a good repeat customer rate?
- There is no figure that is right for every business: it depends on your products, prices and channels. Repeat rate rises naturally as a brand ages and has more past customers. Cohort retention (what share of each month's new customers come back) is the cleaner trend.
Check how stable it is
A metric moves for ordinary reasons as well as real ones. These methods separate the two: the spread shows what a normal month looks like, the moving average smooths it, the z-score flags a month that is out of line and the trend line shows the direction.
Guides
About the data on this page
The figures come from a small made-up dataset, printed above in full so you can check every number by hand. Download it as monthly.csv. The results are computed from those rows when the page is built, and the Excel formulas, SQL and Python on these pages are run against the same rows before publishing, so the code and the answers agree.
To get these numbers from your own data without writing formulas, try AnalyzeIt: ask in plain words and it shows the working behind every figure.
Legal entity
Devansh Yadav
Moradabad, Uttar Pradesh
Governing law: Courts at Moradabad, Uttar Pradesh
Phone: +91 8433475698
Legal: legal@analyzeit.in