Skip to content

Repeat Purchase Rate (RPR)

Definition

Repeat Purchase Rate (RPR) measures the percentage of customers who make more than one purchase within a specified period. It’s a key indicator of customer loyalty and the effectiveness of retention strategies.

Description

Repeat Purchase Rate (RPR) is a key indicator of customer loyalty, product satisfaction, and retention strategy effectiveness, reflecting how often customers return to make additional purchases.

The relevance and interpretation of this metric shift depending on the model or product:

  • In eCommerce, it signals loyalty, product-market fit, or LTV strength
  • In subscription or DTC, it shows auto-renewal performance or SKU-level repeatability
  • In SaaS upsell environments, it could reflect cross-sells or tiered re-engagement

A rising RPR means happy customers and sustained value delivery, while a drop-off may indicate a weak post-purchase experience or lack of lifecycle nurturing. By segmenting by product, persona, or campaign, you uncover what keeps customers coming back—and how to double down on high-performing retention plays.

Repeat Purchase Rate informs:

  • Strategic decisions, like investing in loyalty programs or repeatable bundles
  • Tactical actions, such as triggering timely post-purchase follow-ups or upsell nudges
  • Operational improvements, including product personalization or inventory planning
  • Cross-functional alignment, between product, lifecycle, and marketing, to fuel repeat-driven growth

Key Drivers

These are the main factors that directly impact the metric. Understanding these lets you know what levers you can pull to improve the outcome

  • Post-Purchase Experience and Support: Delight drives repeat behavior — friction drives churn.
  • Product Lifecycle and Rebuy Triggers: Time-based or usage-based cues can prompt re-engagement.
  • Personalized Retargeting and Offers: Static discounts miss the mark. Personalized recos drive return behavior.

Improvement Tactics & Quick Wins

Actionable ideas to optimize this KPI, from fast, low-effort wins to strategic initiatives that drive measurable impact.

  • If repeat rate is low, segment buyers by cohort and trigger replenishment/reminder emails at optimal intervals.
  • Add personalized recommendations or “buy again” CTAs on your thank-you page.
  • Run post-purchase surveys to gather intent signals for next likely purchase.
  • Refine loyalty or incentive programs to reward repeat behavior early.
  • Partner with lifecycle marketing to create segmented win-back journeys.

  • Required Datapoints to calculate the metric


    • Total Customers: The total number of customers during the period.
    • Returning Customers: The number of customers who made more than one purchase in the same period.
    • Timeframe: The duration for which repeat purchases are tracked (e.g., monthly, quarterly).
  • Example to show how the metric is derived


    An online clothing store tracks customer purchases over a month:

    • Total Customers: 5,000
    • Returning Customers: 1,250
    • Repeat Purchase Rate = (1,250 / 5,000) × 100 = 25%

    Insight: By introducing personalized email campaigns and loyalty rewards, the store increases the Repeat Purchase Rate to 35% in the next quarter.


Formula

Formula

\[ \mathrm{Repeat\ Purchase\ Rate} = \left( \frac{\mathrm{Returning\ Customers}}{\mathrm{Total\ Customers}} \right) \times 100 \]

Data Model Definition

How this KPI is structured in Cube.js, including its key measures, dimensions, and calculation logic for consistent reporting.

cube(`Customers`, {
  sql: `SELECT * FROM customers`,
  measures: {
    totalCustomers: {
      sql: `id`,
      type: 'count',
      title: 'Total Customers',
      description: 'The total number of customers during the period.'
    },
    returningCustomers: {
      sql: `id`,
      type: 'countDistinct',
      title: 'Returning Customers',
      description: 'The number of customers who made more than one purchase in the same period.'
    }
  },
  dimensions: {
    id: {
      sql: `id`,
      type: 'string',
      primaryKey: true
    },
    createdAt: {
      sql: `created_at`,
      type: 'time',
      title: 'Customer Created At',
      description: 'The time when the customer was created.'
    }
  }
})
cube(`Orders`, {
  sql: `SELECT * FROM orders`,
  measures: {
    orderCount: {
      sql: `id`,
      type: 'count',
      title: 'Order Count',
      description: 'The total number of orders placed.'
    }
  },
  dimensions: {
    id: {
      sql: `id`,
      type: 'string',
      primaryKey: true
    },
    customerId: {
      sql: `customer_id`,
      type: 'string',
      title: 'Customer ID',
      description: 'The ID of the customer who placed the order.'
    },
    orderDate: {
      sql: `order_date`,
      type: 'time',
      title: 'Order Date',
      description: 'The date when the order was placed.'
    }
  }
})
cube(`RepeatPurchaseRate`, {
  sql: `SELECT * FROM repeat_purchase_rate`,
  measures: {
    repeatPurchaseRate: {
      sql: `${Customers.returningCustomers} / NULLIF(${Customers.totalCustomers}, 0)`,
      type: 'number',
      format: 'percent',
      title: 'Repeat Purchase Rate',
      description: 'Measures the percentage of customers who make more than one purchase within a specified period.'
    }
  },
  joins: {
    Customers: {
      relationship: 'belongsTo',
      sql: `${CUBE}.customer_id = ${Customers.id}`
    },
    Orders: {
      relationship: 'belongsTo',
      sql: `${CUBE}.order_id = ${Orders.id}`
    }
  },
  dimensions: {
    id: {
      sql: `id`,
      type: 'string',
      primaryKey: true
    },
    timeframe: {
      sql: `timeframe`,
      type: 'string',
      title: 'Timeframe',
      description: 'The duration for which repeat purchases are tracked (e.g., monthly, quarterly).'
    }
  }
})

Note: This is a reference implementation and should be used as a starting point. You’ll need to adapt it to match your own data model and schema


Positive & Negative Influences

  • Negative influences


    Factors that drive the metric in an undesirable direction, often signaling risk or decline.

    • Poor Customer Service: Negative experiences with customer service can deter customers from making repeat purchases, thus decreasing the Repeat Purchase Rate.
    • Product Quality Issues: Frequent issues with product quality can lead to customer dissatisfaction and reduce the likelihood of repeat purchases.
    • Lack of Personalization: Generic marketing and offers that do not cater to individual customer preferences can result in lower engagement and a reduced Repeat Purchase Rate.
    • High Return Rates: A high rate of product returns can indicate dissatisfaction, which negatively impacts the likelihood of repeat purchases.
    • Inadequate Communication: Lack of effective communication post-purchase can lead to customer disengagement and a lower Repeat Purchase Rate.
  • Positive influences


    Factors that push the metric in a favorable direction, supporting growth or improvement.

    • Post-Purchase Experience and Support: A seamless and supportive post-purchase experience increases customer satisfaction, leading to higher Repeat Purchase Rates as customers are more likely to return.
    • Product Lifecycle and Rebuy Triggers: Effective timing of rebuy triggers aligned with the product lifecycle can prompt customers to make repeat purchases, thus increasing the Repeat Purchase Rate.
    • Personalized Retargeting and Offers: Tailored recommendations and personalized offers resonate more with customers, encouraging them to make additional purchases and boosting the Repeat Purchase Rate.
    • Customer Loyalty Programs: Well-structured loyalty programs incentivize repeat purchases by offering rewards, thereby enhancing the Repeat Purchase Rate.
    • Customer Feedback and Improvement: Actively seeking and implementing customer feedback can improve products and services, leading to increased customer satisfaction and repeat purchases.

Involved Roles & Activities


Funnel Stage & Type

  • AAARRR Funnel Stage


    This KPI is associated with the following stages in the AAARRR (Pirate Metrics) funnel:

    Retention
    Revenue

  • Type


    This KPI is classified as a Lagging Indicator. It reflects the results of past actions or behaviors and is used to validate performance or assess the impact of previous strategies.


Supporting Leading & Lagging Metrics

  • Leading


    These leading indicators influence this KPI and act as early signals that forecast future changes in this KPI.

    • Customer Loyalty: Customer Loyalty acts as a forward-looking indicator of Repeat Purchase Rate. Strong loyalty increases the likelihood that customers will make additional purchases over time, making it a critical early signal for improvements or declines in repeat purchasing behavior.
    • Activation Rate: Activation Rate tracks the percentage of users reaching meaningful product milestones early in their journey. Higher activation rates typically forecast higher Repeat Purchase Rate, as users who achieve initial value are more likely to return and buy again.
    • Stickiness Ratio: Stickiness Ratio (DAU/MAU) signals how habit-forming and engaging a product is. A high stickiness ratio suggests frequent usage, which often precedes and predicts higher Repeat Purchase Rate.
    • Cross-Sell Conversion Rate: Cross-Sell Conversion Rate measures the success of encouraging existing customers to buy additional products or services. Strong cross-sell performance often leads to higher Repeat Purchase Rate, since it directly reflects ongoing purchasing activity.
    • Product Qualified Accounts: Product Qualified Accounts (PQAs) represent organizations that have demonstrated high engagement and readiness to buy. PQAs often translate into customers who are more likely to make repeat purchases, serving as a leading signal for improvements in Repeat Purchase Rate.
  • Lagging


    These lagging indicators confirm, quantify, or amplify this KPI and help explain the broader business impact on this KPI after the fact.

    • Customer Retention Rate: Customer Retention Rate measures how many customers continue to do business with a company over time. High retention is both a quantifier and amplifier of Repeat Purchase Rate: customers who are retained are, by definition, making repeat purchases.
    • Average Purchase Frequency: Average Purchase Frequency directly quantifies how often customers make purchases. It amplifies and explains the Repeat Purchase Rate by providing detail on the number of transactions per customer within the measured period.
    • Net Revenue Retention: Net Revenue Retention includes expansions, contractions, and churn within the customer base. It confirms and quantifies the broader financial impact of Repeat Purchase Rate, as higher repeat purchases improve NRR.
    • Customer Downgrade Rate: Customer Downgrade Rate provides insight into customers reducing their spend. A high downgrade rate can explain drops in Repeat Purchase Rate, confirming post-facto the loss of high-value, repeat customers.
    • Expansion Revenue Growth Rate: Expansion Revenue Growth Rate measures revenue increases from existing customers through upsells and cross-sells. High expansion rates are often a result of strong repeat purchasing behavior, making this a lagging metric that quantifies the impact of Repeat Purchase Rate on revenue growth.