Average Purchase Frequency (APF)¶
Definition¶
Average Purchase Frequency (APF) is a metric that measures how often customers make a purchase within a specified time period. It provides insight into customer behavior and the consistency of their interactions with a brand.
Description¶
Average Purchase Frequency (APF) measures how often customers return to buy over a given time period — a key signal of customer loyalty, retention strength, and habitual buying behavior.
The relevance and interpretation of this metric shift depending on the model or product:
- In subscription or replenishment models, it highlights consistency and lifetime value
- In eCommerce, it helps identify repeat buyers and loyal segments
- In retail, it surfaces behavioral patterns tied to seasonality or promo cycles
A high APF signals strong product-market fit and repeatable value, while a low APF may reveal engagement gaps or one-time transactional behavior. Segment by cohort, product line, or acquisition path to discover loyalty drivers and optimize retention strategy.
Average Purchase Frequency (APF) informs:
- Strategic decisions, like launching loyalty programs or subscription models
- Tactical actions, such as incentivizing repeat purchases with timed offers or personalized emails
- Operational improvements, including lifecycle segmentation or triggered campaign flows
- Cross-functional alignment, by helping marketing, growth, and product teams focus on building customer habits
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 Follow-Up and Re-Engagement: Customers who hear nothing after buying are less likely to return. Well-timed prompts bring them back.
- Perceived Ongoing Value and Use Cases: If users don’t discover new use cases, their need to repurchase declines. Variety drives frequency.
- Ease of Reordering or Reusing Previous Selections: The more frictionless it is to buy again, the higher the frequency.
Improvement Tactics & Quick Wins¶
Actionable ideas to optimize this KPI, from fast, low-effort wins to strategic initiatives that drive measurable impact.
- If purchase frequency is low, trigger post-purchase flows recommending related or replenishable items.
- Add a “Buy Again” button or reorder option directly from past purchases or user dashboard.
- Run a test with time-sensitive offers (e.g., 10% off if you order again in 7 days) and measure repeat rate lift.
- Refine onboarding to highlight long-term or repeat use cases, not just one-time wins.
- Partner with CS or lifecycle to build re-engagement campaigns tied to usage gaps or product cycles.
-
Required Datapoints to calculate the metric
- Total Number of Purchases: The total purchases made by all customers during a specified period (e.g., a month, quarter, or year).
- Total Number of Customers: The total number of unique customers who made at least one purchase during the same period.
-
Example to show how the metric is derived
An online grocery store tracks purchase data for Q1:
- Total Purchases: 15,000
- Total Customers: 5,000
- Average Purchase Frequency = 15,000 / 5,000 = 3 purchases per customer
Formula¶
Formula
Data Model Definition¶
How this KPI is structured in Cube.js, including its key measures, dimensions, and calculation logic for consistent reporting.
cube(`Purchases`, {
sql: `SELECT * FROM purchases`,
measures: {
totalPurchases: {
sql: `purchase_id`,
type: 'count',
title: 'Total Number of Purchases',
description: 'The total number of purchases made by all customers during a specified period.'
}
},
dimensions: {
purchaseId: {
sql: `purchase_id`,
type: 'string',
primaryKey: true
},
purchaseDate: {
sql: `purchase_date`,
type: 'time',
title: 'Purchase Date'
}
}
});
cube(`Customers`, {
sql: `SELECT * FROM customers`,
measures: {
totalCustomers: {
sql: `customer_id`,
type: 'countDistinct',
title: 'Total Number of Customers',
description: 'The total number of unique customers who made at least one purchase during the same period.'
}
},
dimensions: {
customerId: {
sql: `customer_id`,
type: 'string',
primaryKey: true
},
customerName: {
sql: `customer_name`,
type: 'string',
title: 'Customer Name'
}
}
});
cube(`AveragePurchaseFrequency`, {
sql: `SELECT * FROM purchases`,
measures: {
averagePurchaseFrequency: {
sql: `${Purchases.totalPurchases} / NULLIF(${Customers.totalCustomers}, 0)`,
type: 'number',
title: 'Average Purchase Frequency',
description: 'Average Purchase Frequency (APF) measures how often customers make a purchase within a specified time period.'
}
},
joins: {
Purchases: {
relationship: 'belongsTo',
sql: `${CUBE}.customer_id = ${Purchases}.customer_id`
},
Customers: {
relationship: 'belongsTo',
sql: `${CUBE}.customer_id = ${Customers}.customer_id`
}
},
dimensions: {
customerId: {
sql: `customer_id`,
type: 'string',
primaryKey: true
}
}
});
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.
- Lack of Post-Purchase Communication: Absence of follow-up communication can lead to decreased customer return rates, negatively impacting Average Purchase Frequency.
- Limited Perceived Value: If customers do not perceive ongoing value or new use cases, their purchase frequency tends to decline.
-
Positive influences
Factors that push the metric in a favorable direction, supporting growth or improvement.
- Post-Purchase Follow-Up and Re-Engagement: Effective follow-up and re-engagement strategies increase customer return rates, thereby boosting Average Purchase Frequency.
- Perceived Ongoing Value and Use Cases: When customers perceive ongoing value and discover new use cases, they are more likely to make frequent purchases.
- Ease of Reordering or Reusing Previous Selections: Simplifying the process of reordering or reusing previous selections encourages repeat purchases, increasing Average Purchase Frequency.
Involved Roles & Activities¶
-
Involved Roles
These roles are typically responsible for implementing or monitoring this KPI:
Customer Success
Data & Analytics
Customer Lifecycle Management
Product Marketing (PMM) -
Activities
Common initiatives or actions associated with this KPI:
Usage-Based Engagement
Campaign Retargeting
Triggered Emails
Funnel Stage & Type¶
-
AAARRR Funnel Stage
This KPI is associated with the following stages in the AAARRR (Pirate Metrics) funnel:
-
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, as a propensity for repeat engagement and brand preference, is a strong early indicator of future purchase behavior. Higher loyalty directly increases the likelihood and frequency of future purchases, making it a reliable predictor of Average Purchase Frequency (APF).
- Stickiness Ratio: Stickiness Ratio (DAU/MAU) measures how often users return to your product, highlighting habit formation and product reliance. A high stickiness ratio suggests users are more likely to make frequent purchases, thus signaling rising APF before it is reflected in lagging metrics.
- Monthly Active Users: Monthly Active Users (MAU) reflects the breadth of engagement within your customer base. Growth in MAU often precedes increases in APF, as a larger active audience provides more opportunities for repeat purchasing behavior to occur.
- Activation Rate: Activation Rate measures how many users reach a meaningful engagement milestone early in their journey. Higher activation rates often forecast future increases in APF, as more users reaching activation are likely to convert to repeat buyers.
- Repeat Purchase Rate: Repeat Purchase Rate directly measures the proportion of customers making more than one purchase, serving as a strong leading indicator for APF. Increases in repeat purchase rate usually precede and drive higher overall purchase frequency.
-
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 quantifies the percentage of customers who continue purchasing over time. It confirms and amplifies APF by showing the persistence of purchasing behavior and explaining sustained or changing purchase frequency trends.
- Customer Churn Rate: Churn Rate measures the percentage of customers leaving over a period. High churn typically coincides with or follows a drop in APF, confirming negative trends and helping explain declines in purchase frequency.
- Net Revenue Retention: Net Revenue Retention (NRR) incorporates both retention and expansion revenue, contextualizing APF by quantifying the broader revenue impact of repeat purchasing and customer loyalty after the fact.
- Customer Downgrade Rate: Customer Downgrade Rate tracks how many customers reduce their product usage or tier, which often leads to a decline in purchase frequency. It helps explain reductions in APF as part of broader account health trends.
- Average Revenue Per User: Average Revenue Per User (ARPU) contextualizes APF by showing the monetary value associated with purchase frequency. Changes in APF often correlate with shifts in ARPU, and vice versa, confirming the business impact of customer behavior.