HomeLearnShopify

How to calculate Shopify repeat purchase rate

Formula, why it matters for LTV and CAC, and how to query it from Shopify order data

What it is

Repeat purchase rate (also called repurchase rate or customer retention rate) is the percentage of customers who place more than one order within a given time period. It is a core indicator of product satisfaction and brand loyalty. A higher repeat purchase rate means your LTV is growing without proportional increase in acquisition cost — making your unit economics more favourable over time.

Repeat Purchase Rate Formula

Formula
Repeat Purchase Rate (%) = (Customers with 2+ Orders ÷ Total Customers) × 100
Calculate over a fixed cohort window — typically 90 days or 12 months from first order date. Customers who have only been a customer for 30 days cannot reasonably be counted as non-repeaters yet. Cohort-based calculation (group by first order month) gives more accurate trend data than a rolling total.

Why it matters

Repeat purchase rate is the bridge between LTV and CAC. If you spend $50 to acquire a customer who only buys once at $60 AOV, your margin is thin. If 40% of those customers buy a second time (another $60), your effective LTV doubles and your acquisition economics look entirely different. Brands with repeat purchase rates above 30% typically have significantly lower blended CAC on a cohort basis than brands below 15%, because they can rely less on paid acquisition for subsequent revenue.

How most teams track this today

Shopify's built-in analytics shows "Returning customer rate" as a percentage of orders, but this is order-weighted rather than customer-weighted — it overcounts high-frequency buyers. A proper repeat purchase rate requires counting distinct customers with 2+ orders vs total distinct customers, which requires a SQL query on the orders table grouped by customer ID.

Calculate this automatically with Taptic Data
Connect your Shopify account and Taptic generates this calculation from plain English against your actual data — no Excel exports, no manual joins. The SQL runs against your real schema, your real tables, your real numbers.

Common questions

What is a good repeat purchase rate for a Shopify store?
Benchmarks vary by product type. Consumables and subscription-adjacent products (supplements, skincare, coffee) typically see 40–60% repeat rates. Apparel and accessories: 25–35%. One-time purchase products (furniture, large appliances): 5–15%. The key benchmark is your own trend over time — is it improving or declining?
How is repeat purchase rate different from returning customer rate in Shopify?
Shopify's "returning customer rate" is the percentage of orders placed by customers who have ordered before — it is order-weighted. Repeat purchase rate is customer-weighted: the percentage of unique customers who have placed more than one order. A customer who orders 10 times counts as 9 "returning customer orders" in Shopify's metric but as 1 repeat customer in the proper calculation.
Can I see which products drive the most repeat purchases in Taptic?
Yes. The SQL query for Shopify repeat customers by product joins the orders and order line items tables to identify which first-purchase product most commonly leads to a second order. This is one of the highest-value queries for optimising acquisition — it shows which products to feature in ads to attract customers most likely to repeat.
What date range should I use when calculating repeat purchase rate?
Use a cohort window tied to your typical repurchase cycle. If your average customer repurchases within 60 days, use a 90-day window — allowing 30 days of buffer. If repurchase cycles are longer (6–12 months), use a 12-month cohort window. Mixing customers at different stages of their lifecycle in a single calculation produces misleading results.
All Shopify queries, use cases, and SQL examples in one place.
Shopify Analytics hub — queries, use cases, and SQL examples

Stop calculating this in spreadsheets

Connect Shopify to Taptic Data and run this calculation automatically from plain English — against your real data, on a schedule, delivered to your team.

Start Free — $29.99/moTry the Live Demo