Why this matters
Repeat Purchase Rate (RPR) and Reorder Rate tell you how well you turn first-time buyers into habitual customers and how specific products drive repeat demand. Marketing Analysts use these metrics to:
- Size retention opportunities by cohort (e.g., 30/60/90-day RPR).
- Design post‑purchase and replenishment campaigns (timing, channels, offers).
- Evaluate product changes (pack size, subscription, price) on reorders.
- Forecast LTV and inventory based on time‑to‑reorder patterns.
Concept explained simply
Think of your customers climbing a small ladder:
- Step 1: They make a first purchase.
- Step 2: They come back and buy again.
Repeat Purchase Rate (RPR) measures how many customers make it to Step 2 in a chosen time window. Reorder Rate zooms into a specific product or category and asks: of people who bought it, how many bought it again within X days?
Key definitions
- Repeat Purchase Rate (RPR, cohort view): number of customers in a cohort who place a second order within the window divided by total customers in that cohort.
- Reorder Rate (product view): number of customers who buy the same product again within the window divided by customers who initially bought that product in the period.
- Time window: common choices are 30/60/90 days or by months since first order.
- Purchase Frequency: average orders per customer in a period. Related but not the same as RPR.
- Returning Customer Rate (RCR): percent of orders/customers that are not first‑time in a period. RCR is period-based, while RPR is cohort-based.
Mental model
Picture a leaky funnel loop: traffic → first order → second order → habit. RPR tells you how many loop back. Reorder Rate tells you if a product naturally creates its own loop via replenishment or satisfaction.
Formulas (plain language)
- RPR (cohort, X-day): customers from cohort who placed a second order within X days of their first order divided by customers with a first order in that cohort.
- RPR (monthly cohort M): customers from cohort M with at least 2 orders by end of period / customers with ≥1 order in cohort M.
- Reorder Rate for product P (X‑day): customers who bought P again within X days of their first P purchase divided by customers who bought P for the first time in the analysis window.
- Optional: Days to Reorder = median/percentiles of days between first purchase of P and next purchase of P.
Edge cases to decide upfront
- Returns/cancellations: exclude returned/cancelled orders from second-order counts.
- Same-day multiple orders: decide whether to count a second order on the same day as a repeat or combine same-day orders.
- Subscriptions/auto-ship: track separately or mark as auto-reorders.
- Stockouts or product delistings: note when interpreting dips in reorder rate.
Data you need
- Customer ID
- Order ID, Order date
- SKU/Product ID (for product-level reorder rate)
- Return/Cancel flag (cleanliness)
- Revenue/units (optional for context)
Basic cleaning: remove test/internal orders, exclude full returns from repeat counts, ensure consistent customer IDs across devices/stores.
Worked examples
Example 1: 30‑day RPR for a monthly cohort
- Cohort: customers whose first-ever order was in January: 4,000 customers.
- Second order within 30 days: 1,100 customers.
- Of those 1,100, 100 were fully returned/cancelled.
Clean second orders = 1,100 − 100 = 1,000. RPR30 = 1,000 / 4,000 = 25%.
Example 2: 60‑day Reorder Rate for SKU A
- First-time buyers of SKU A in Q1: 800 customers.
- Rebought SKU A within 60 days: 200 customers.
Reorder Rate60 (SKU A) = 200 / 800 = 25%. If median days to reorder is 34, set your replenishment reminder before day 34 (e.g., day 28).
Example 3: Portfolio view
- Total customers in March cohort: 10,000.
- Counts by order number by day 60: 1 order = 7,200; 2 orders = 2,200; 3+ orders = 600.
RPR60 = customers with ≥2 orders / total = (2,200 + 600) / 10,000 = 28%.
Purchase frequency (avg orders per customer by day 60) = (1×7,200 + 2×2,200 + 3×600)/10,000 = (7,200 + 4,400 + 1,800)/10,000 = 13,400/10,000 = 1.34.
How to calculate step-by-step
Step-by-step for RPR (cohort)
- Identify each customer’s first-ever order date; assign cohort = month of first order.
- For each customer, find second order date (if any).
- Choose a window (e.g., 30 days from first order).
- Mark repeat_customer = 1 if second order date ≤ first order date + 30 days and not fully returned.
- Aggregate by cohort: RPR30 = sum(repeat_customer)/count(customers in cohort).
Step-by-step for product Reorder Rate
- For product P, find each customer’s first purchase date of P.
- Look forward X days from that date for a next purchase of P.
- Mark reorder_flag = 1 if found (exclude returns).
- Reorder RateX(P) = sum(reorder_flag) / count(first-time buyers of P in period).
- Optionally compute days_to_reorder percentiles to time campaigns.
Common mistakes and self-check
- Mixing period-based Returning Customer Rate with cohort-based RPR. Self-check: RPR is cohorted by first order; RCR is not.
- Counting same-day duplicate orders as repeats. Self-check: deduplicate or define a rule.
- Ignoring returns/cancellations. Self-check: your RPR should drop after excluding returned second orders.
- Unbounded look-forward windows causing bias. Self-check: use fixed windows (30/60/90 days) and apply equally to all cohorts.
- Product-level confusion: counting any second order as a reorder for the product. Self-check: reorder requires same product (or defined category), not just any order.
Quick self-audit checklist
- Windows are clearly defined and consistent.
- Returns/cancellations excluded from second-order counts.
- Same-day duplicates handled.
- Cohorts based on first-ever order, not first order of period.
- Product reorder measured on same product (or defined category).
Exercises
Use the exercise below to practice. Then take the quick test. Note: The quick test is available to everyone; only logged-in users will have their progress saved.
Exercise 1 — Compute RPR30 and Reorder60
Data (cleaned, returns removed):
- Cohort: April first-time buyers = 2,500 customers.
- Second order within 30 days = 575 customers.
- SKU B: first-time buyers in April = 900 customers.
- Rebought SKU B within 60 days = 225 customers.
Tasks:
- Calculate RPR30 for April cohort.
- Calculate Reorder Rate60 for SKU B.
Hints
- RPR30 = second orders within 30 days / cohort customers.
- Reorder60 = SKU B repeat buyers within 60 days / SKU B first-time buyers.
Expected results
RPR30 = 575 / 2,500 = 23%. Reorder60 (SKU B) = 225 / 900 = 25%.
Pre-calculation checklist
- Window chosen and stated (30/60 days).
- Returns/cancellations excluded.
- Same-day duplicates merged or defined.
- Customer IDs are consistent.
Mini challenge
Your team increased pack size for SKU C in June. After the change: SKU C’s 45‑day Reorder Rate dropped from 30% to 18%, but overall 90‑day cohort RPR stayed flat. In one sentence, suggest a likely reason and a marketing action.
One possible answer
Larger pack delayed replenishment timing (customers reorder later), so 45‑day reorders fell while overall retention stayed stable; adjust reminder timing to match new median days-to-reorder and test cross-sell earlier.
Who this is for
- Marketing Analysts and Growth Marketers focused on retention and LTV.
- Ecommerce, subscription, and marketplace analysts.
Prerequisites
- Basic cohort concepts (first order date, cohorts).
- Comfort with spreadsheets or SQL-like grouping and filtering.
- Understanding of returns/cancellations data.
Learning path
- Start: Measure 30/60/90‑day RPR by cohort.
- Next: Compute product-level reorder rates and days-to-reorder percentiles.
- Then: Tie to retention curves and LTV projections.
- Finally: Iterate with campaign experiments (timing, offers, creative).
Practical projects
- Build a monthly cohort RPR dashboard with 30/60/90-day cuts.
- Create a product reorder report with top 20 SKUs, Reorder30/45/60 and median reorder days.
- Design and A/B test replenishment reminders based on median reorder time.
Next steps
- Break down RPR by acquisition channel, device, and first-order basket size.
- Use reorder timing to schedule lifecycle messages.
- Feed RPR and Reorder Rate into LTV forecasts.