RFM Analysis
RFM Analysis segments your customers based on their purchase behavior, helping you identify your best customers and those who need re-engagement.
What is RFM?
RFM stands for:
- Recency (R): How recently a customer made a purchase
- Frequency (F): How often they purchase
- Monetary (M): How much they spend
Each dimension is scored 1-5, with 5 being the best. The combination creates customer segments.
Dashboard Features
Summary Statistics
Three key metrics at the top:
| Metric | Description |
|---|---|
| Total Customers | Number of customers with RFM scores |
| Total Revenue | Combined revenue from all segments |
| Segments | Number of active customer segments |
Segment Distribution Chart
A horizontal bar chart showing customer count per segment. This helps you:
- Identify your largest customer segments
- Spot imbalances in your customer base
- Track segment growth over time
Segment Value Chart
A pie chart showing revenue distribution across segments. Key insights:
- See which segments drive the most revenue
- Identify high-value segments to protect
- Find underperforming segments to improve
Segment Cards
Visual cards for each segment showing:
- Segment name and color coding
- Customer count
- Total value from segment
- Brief description of the segment
Detailed Table
A sortable table with columns:
- Segment: Name with color indicator
- Description: A short explanation of what the segment means (Champions, At Risk, Hibernating, etc.), shown next to the name - a built-in legend so you don't have to memorize the RFM definitions
- Count: Number of customers
- Total Value: Revenue from segment
- Average Value: Revenue per customer
RFM Segments Explained
High-Value Segments
| Segment | Color | Description | Action |
|---|---|---|---|
| Champions | Green | Best customers - highest frequency and spend | Reward loyalty, early access |
| Loyal | Blue | Consistent customers with good engagement | Upsell, referral programs |
| Potential Loyalists | Purple | Recent customers, average frequency | Increase frequency, loyalty programs |
Growing Segments
| Segment | Color | Description | Action |
|---|---|---|---|
| New Customers | Cyan | Recently made first purchase | Welcome series, onboarding |
| Promising | Teal | Recent but low frequency so far | Encourage second purchase |
At-Risk Segments
| Segment | Color | Description | Action |
|---|---|---|---|
| Needs Attention | Yellow | Declining engagement | Win-back campaigns |
| About to Sleep | Orange | At risk of becoming inactive | Urgency offers, re-engagement |
| At Risk | Red | Were loyal, now inactive | Special offers, feedback |
| Can't Lose | Dark Red | Were best customers, now inactive | Personal outreach, VIP offers |
Inactive Segments
| Segment | Color | Description | Action |
|---|---|---|---|
| Hibernating | Gray | Long-term inactive | Deep discount, final attempt |
| Lost | Dark Gray | Likely churned | Survey, remove from lists |
Using RFM for Marketing
Create Targeted Campaigns
- Go to Campaigns or Canvas
- Create a new campaign/flow
- Use segment filters to target specific RFM segments
- Tailor messaging based on segment characteristics
Example Campaign Strategies
For Champions:
Subject: VIP Early Access - New Collection
Content: Exclusive preview, loyalty rewards, referral bonuses
For At Risk:
Subject: We Miss You - Here's 20% Off
Content: Win-back offer, "What did we do wrong?", easy return
For New Customers:
Subject: Welcome! Here's What to Explore
Content: Product recommendations, how to get started, support info
Best Practices
- Monitor segment changes: Track how customers move between segments
- Set up automated flows: Create Canvas journeys for each segment
- Personalize by segment: Different segments need different approaches
- Calculate segment LTV: Understand the lifetime value of each segment
- Test and iterate: A/B test messaging for different segments
Technical Details
RFM Scoring Algorithm
Each dimension (R, F, M) is scored 1-5 using quintile distribution:
- 5: Top 20% of customers
- 4: 60-80th percentile
- 3: 40-60th percentile
- 2: 20-40th percentile
- 1: Bottom 20%
Segment Assignment
Every customer gets three scores from 1 (weakest) to 5 (strongest): Recency (how recently they bought), Frequency (how often), and Monetary (how much). The score combination maps to one of eleven named segments - checked top to bottom, first match wins, so a customer who fits several lands in the strongest one:
| Segment | R | F | M | In plain terms |
|---|---|---|---|---|
| Champions | 4–5 | 4–5 | 4–5 | Bought recently, buy often, spend the most |
| Loyal | 3–4 | 3–5 | 3–5 | Solid regulars - the reliable core |
| Potential Loyalists | 3–4 | 2–3 | 2–4 | Recent buyers building a habit |
| New Customers | 4–5 | 1–2 | 1–2 | Just arrived - first purchase(s) |
| Promising | 3–4 | 1–2 | 1–4 | Recent, few orders, worth nurturing |
| Needs Attention | 2–3 | 1–3 | 1–3 | Mid-value and cooling off |
| About to Sleep | 1–2 | 1–3 | 1–2 | Fading - act before they're gone |
| At Risk | 1–2 | 3–4 | 1–4 | Used to buy often, gone quiet |
| Can't Lose Them | 1–2 | 4–5 | 2–5 | Your best customers, gone quiet - highest-stakes win-back |
| Hibernating | 1–2 | 1–3 | 1–3 | Long inactive, low value |
| Lost | 1 | 1 | 1 | Fully churned |
The ranges are a readable summary - under the hood each segment matches a specific set of R-F-M score combinations, and every combination resolves to exactly one segment.
Additional Customer Attributes
Beyond RFM, every customer is automatically enriched with derived purchase attributes you can use as segment filters (under the E-commerce filter type) in Campaigns and Canvas.
Historical CLV tier
A named band over a customer's total spend (their historical customer lifetime value - money already spent, not a prediction):
| Tier | Total spent |
|---|---|
| Bronze | under 50 |
| Silver | 50–199 |
| Gold | 200–499 |
| Platinum | 500–999 |
| VIP | 1000+ |
Filter operators: Historical CLV tier equals and Historical CLV tier is one of.
Predicted CLV (machine learning)
Where historical CLV looks backward, Predicted CLV looks forward: a machine- learning model forecasts each customer's expected spend over the next 365 days (in your base currency) from their purchase and engagement history. It's exposed as two segment attributes:
- Predicted CLV (next 365d) - the forecast amount (numeric; use ≥/≤ to target, e.g. "predicted to spend 500+ next year").
- Predicted CLV tier - a named band (bronze/silver/gold/platinum/vip) on the same scale as the historical tier.
The model retrains daily on your own data. Customers with no purchase history don't receive a prediction (there's no signal to forecast from). Use it to invest ahead of value - for example, enrol high-predicted-CLV customers into a VIP journey before they've spent enough to reach a historical tier.
Average purchase frequency
The average number of days between a customer's orders (computed from the spread between their first and last order, so it needs at least two orders). Use Avg days between purchases ≥/≤ to target, for example, customers who typically buy every 30 days for a timely replenishment reminder.
Related replenishment signals, refreshed daily, are also available as filters:
- Predicted Next Order (days) - days until the customer's forecast next order, from their own purchase cycle (0 = due now). Target Predicted Next Order ≤ 7 to send a reorder reminder just before they'd normally buy.
- Purchase Overdue - true once a customer is well past their usual cycle (a win-back / lapsed-buyer signal).
Category & brand affinity
The product categories and brands a customer actually spends on, ranked by spend across all their orders. We surface the single strongest (top category / top brand) and the top five of each.
Filter operators:
- Buys category (any of) / Buys brand (any of) - matches customers whose top affinities include any of the categories/brands you list (comma-separated).
- Top category equals / Top brand equals - matches on the single strongest.
These make it easy to build audiences like "shops Shoes or Bags" or "top brand is Nike" for cross-sell and new-arrival campaigns.
Multi-Currency Reporting
If your store takes orders in more than one currency, every order is normalized to your organization's base (reporting) currency at the exchange rate on the order date, using daily European Central Bank rates. All revenue, average-order-value, CLV, and RFM-monetary figures aggregate in that single base currency, so cross- currency totals are correct rather than summing mixed currencies at face value.
The original order currency and amount are always preserved; base-currency values are used only for analytics and segmentation. When a rate is unavailable, the order degrades to its raw amount rather than being dropped from a total. Set your base currency in organization settings (defaults to USD).