Repeat purchase rate
Repeat purchase rate is the proportion of customers who place more than one order within a defined window. It is a loyalty and retention signal distinct from session-level conversion: it counts people who came back to buy again. Because it depends on the time window and on identifying the same customer across orders, the cohort definition and identity rules govern what the number actually means.
What this means
Repeat purchase rate divides customers with two or more orders by total customers, within a window. It is a customer-level metric, not a session-level one, so it requires associating multiple orders with one customer. This makes it sensitive to how identity is resolved: logged-in accounts give a clean key, while guest checkouts can fragment one person into several apparent customers and depress the measured rate.
Window and identity define it
The same store can report very different repeat purchase rates depending on the window (90 days versus a year) and on how strictly customers are deduplicated. Long-consideration categories naturally show lower short-window repeat rates than consumables. Because of this, repeat purchase rate is best read within a fixed cohort window and compared against itself over time rather than against other businesses.
It is related to but distinct from retention rate, which can be defined on activity rather than purchases.
- Customers with 2+ orders ÷ total customers, per window
- Requires resolving the same customer across orders
- Window length materially changes the value
How it appears in analytics and logs
A higher repeat purchase rate means the business is earning return orders rather than constantly replacing churned buyers. A low rate with strong acquisition signals a leaky bucket: growth that depends on continuously buying new customers.
Diagnostic use case
Measure how much of the customer base buys again, to value retention and loyalty work separately from first-purchase acquisition.
What WebmasterID can help detect
WebmasterID measures purchase events first-party; where a stable first-party customer key exists, repeat purchases can be counted without third-party cross-site tracking.
Common mistakes
- Quoting it without stating the time window.
- Letting guest checkouts fragment one customer into many.
- Conflating it with activity-based retention rate.
Privacy and accuracy notes
Computing repeat purchase rate requires linking orders to the same customer, which involves persistent identifiers; aggregate the result and minimize identity data. This is educational, not legal advice.
Related pages
- Return frequency
Return frequency measures how often a given user returns within a period, expressed as visits, sessions, or purchases per user. It is an engagement and loyalty signal that captures habit rather than reach, and it is the 'F' in RFM analysis. Because it averages repeat behavior across a base, the window and the unit of return (visit versus purchase) determine what the number describes.
- Retention rate
Retention rate measures how many users from a starting cohort come back in a later period. It depends entirely on definitions: what counts as 'returning', over what window, and which cohort. A 7-day and a 30-day retention rate answer different questions, and neither is comparable to a churn figure computed a different way.
- Cohort analysis
A cohort is a group of users who share a starting event — the week they first visited, the month they signed up. Cohort analysis follows each cohort over time so you can compare like with like. It separates 'are users behaving differently' from 'is the mix of users changing', which a single blended average can hide.
- Privacy-first analytics
Measure loyalty with first-party, minimized data.
Sources and verification notes
- Google — GA4 purchase event and user identificationBackground on how GA4 counts users across events; window/identity rules vary by setup.
Last reviewed 2026-06-24. Facts are checked against primary/official sources where available; uncertain specifics are marked “Data not yet verified” rather than guessed.