RFM Customer Segmentation: Turn Purchase History Into Useful Actions
Short answer. RFM groups customers by recency, frequency, and monetary value. Calculate days since the last purchase, completed order count, and net customer spend over a defined window. Score each measure relative to your own customer base, combine the scores into practical groups, and attach one action to each group. Do not copy another brand's thresholds or treat RFM as a prediction of the future.
RFM is useful because it starts with behavior you already have. It does not need demographic assumptions or a black-box model. It helps a CRM team distinguish a recent first-time buyer from a once-valuable customer who has stopped purchasing, even when both have generated the same historical revenue.
The model becomes valuable only when it changes a decision. A dashboard with 125 possible score combinations and no campaign rule is analysis theater.
1. What recency, frequency, and monetary value mean
| Dimension | Practical definition | Direction |
|---|---|---|
| Recency | Days since the customer's most recent completed purchase | Fewer days generally indicates more recent activity |
| Frequency | Number of completed purchases in the analysis window | More purchases indicates higher observed frequency |
| Monetary value | Net purchase value in the analysis window | More net value indicates higher observed spend |
Define every term before calculating a score.
Recency
Choose the event that represents a valid purchase. Exclude failed and canceled orders. Decide how returns affect eligibility and whether retail, marketplace, subscription, and ecommerce orders belong in one model.
Frequency
Count distinct completed orders, not line items or raw order events. If an integration sends duplicate events, repair or deduplicate them before scoring. Consider whether free orders, replacements, and zero-value samples should count.
Monetary value
Use net revenue when possible: gross order value minus discounts, returns, and refunds. If margin varies materially by product, a contribution-margin model may guide investment better than revenue alone. Call that metric something other than standard RFM monetary value so users understand the change.
2. Choose a scoring method that fits the data
There is no universal RFM scale. Common implementations use three or five levels per dimension.
Percentile scoring
Percentiles rank customers relative to one another. With five bands, the lowest 20% receives score 1 and the highest 20% receives score 5. For recency, the direction is reversed because fewer days is better.
Percentiles are useful when:
- the customer base is large enough to support meaningful bands;
- purchase behavior is uneven;
- you want groups of broadly comparable size;
- relative rank matters more than a fixed business threshold.
They can be misleading when many customers share the same frequency. If most customers have one order, splitting that value across several percentile bands creates a distinction that does not exist operationally.
Business-rule scoring
Business rules define thresholds around the buying cycle. A replenishment brand might label a customer at risk after the normal reorder interval has passed. A furniture brand will need a much longer window.
Business rules are useful when:
- the category has a clear purchase cycle;
- a specific order count changes treatment, such as entry into a loyalty tier;
- teams need stable definitions over time;
- customer counts are too small for percentile bands.
Hybrid scoring
Use business thresholds for recency and frequency, then percentiles for monetary value. This often makes segments easier to explain while preserving a relative value rank.
3. Keep the three scores separate
A customer receives a code such as 5-2-4: recent purchase, low frequency, high spend. Do not immediately add the values into one score.
These customers can have the same total but need different actions:
5-1-5: recent, one order, high value. Prioritize onboarding and second-purchase support.1-5-5: not recent, frequent, high value. Prioritize a high-value winback or service check.5-5-1: recent and frequent, low spend. Consider bundles or category expansion without assuming the customer needs a discount.
Preserving the dimensions makes the model interpretable.
4. Build a small set of actionable groups
Segment names are conventions, not standards. Start with six to eight groups that have clear owners and mutually understandable rules.
| Group | Illustrative pattern | Primary action |
|---|---|---|
| Recent first-time customers | High R, low F | Product onboarding and second-purchase path |
| Developing repeat customers | High R, medium F | Cross-sell, replenishment, loyalty introduction |
| Current high-value customers | High R, high F or M | Recognition, early access, service, feedback |
| Stable repeat customers | Medium R, high F | Maintain relevance and buying cadence |
| At-risk high-value customers | Low R, high F or M | Cycle-aware winback and friction diagnosis |
| Low-value inactive customers | Low R, low F and M | Limited re-engagement, then reduced contact |
| Recently lapsed customers | R just beyond expected cycle | Reminder or replenishment before a heavy incentive |
| Reactivated customers | Moved from low R to a new purchase | Post-reactivation onboarding and cause analysis |
The rules should use your score system, not the illustrative labels above. Document overlaps and precedence. If a customer qualifies as both high value and at risk, the at-risk treatment may need to win.
5. Set thresholds with the purchase cycle
Before choosing recency bands, calculate the distribution of time between completed orders for repeat customers.
Use:
- median days between first and second order;
- percentiles of reorder time;
- differences by category, subscription status, and first product;
- seasonality and expected product life;
- cohort changes after pricing or assortment updates.
A single threshold can still be useful for an initial model, but mark it as a baseline. If customers who bought consumables and durable goods behave differently, separate those categories before changing the whole model.
Review thresholds when the product mix, price, subscription model, or order source changes. A score should reflect current behavior, not a distribution from two years ago.
6. Implement RFM in Klaviyo
Klaviyo now has a dedicated RFM report. According to its current RFM scoring documentation, the report assigns each customer a score from 1 to 3 for recency, frequency, and monetary value after calculating their position among customers. Its native grouping is therefore not the same as a generic five-band model.
The feature also has prerequisites. Klaviyo currently says an account needs:
- at least 500 customers who placed an order;
- an ecommerce integration or placed-order data sent through the API;
- at least 180 days of order history;
- an order within the last 30 days;
- some customers with three or more orders;
- access to the relevant Advanced KDP and Marketing Analytics functionality.
Check the live documentation and your account entitlements before promising the report to a team.
Klaviyo's RFM report setup guide allows users to adjust score definitions by value or percentile. That flexibility is useful, but changing thresholds changes group membership. Record the date and reason for every change so trend reporting remains interpretable.
If the native report is unavailable, use standard dynamic segments based on Placed Order, last purchase date, and historical value. Klaviyo describes segments as dynamic groups that add and remove profiles as conditions change. Review consent separately because membership in a segment does not mean a profile is eligible for marketing.
7. Calculate RFM in a data warehouse
A warehouse implementation gives you control over refunds, channels, time windows, and score history. This BigQuery-style example shows the core logic:
WITH customer_orders AS (
SELECT
customer_id,
DATE_DIFF(CURRENT_DATE(), DATE(MAX(completed_at)), DAY) AS recency_days,
COUNT(DISTINCT order_id) AS frequency,
SUM(net_revenue) AS monetary
FROM analytics.completed_orders
WHERE DATE(completed_at) >= DATE_SUB(CURRENT_DATE(), INTERVAL 24 MONTH)
GROUP BY customer_id
),
scored AS (
SELECT
customer_id,
recency_days,
frequency,
monetary,
NTILE(5) OVER (ORDER BY recency_days DESC) AS r_score,
NTILE(5) OVER (ORDER BY frequency ASC) AS f_score,
NTILE(5) OVER (ORDER BY monetary ASC) AS m_score
FROM customer_orders
)
SELECT
*,
FORMAT('%d-%d-%d', r_score, f_score, m_score) AS rfm_code
FROM scored;
This is a starting point, not production-ready code for every warehouse. Before deployment:
- deduplicate orders;
- subtract returns and refunds;
- choose the correct analysis window;
- decide how equal values are handled by
NTILE; - exclude test and employee orders;
- validate customer identity across channels;
- store score history rather than overwriting the previous state.
Sync scores to the messaging platform as profile properties only after establishing data ownership and update frequency.
8. Activate RFM without over-messaging
Current high-value customers
Use service, access, recognition, and relevant product discovery. Do not assume the best customer needs the largest discount.
Developing repeat customers
Help them make a successful next purchase. Use category complements, replenishment context, product education, and loyalty benefits where they fit.
At-risk high-value customers
Check product experience and support history before offering a coupon. The issue may be a return, stock problem, subscription change, or product failure.
Low-value inactive customers
Limit the number of re-engagement attempts. Protect deliverability and budget with a documented sunset rule. See the email deliverability guide before expanding sends to inactive profiles.
Recent first-time customers
Do not treat them as low frequency in a negative sense. They have not had time to become repeat customers. Measure whether onboarding shortens time to second purchase without creating unnecessary pressure.
9. Measure movement, not only group size
RFM is most useful as a transition model.
Track:
- share of first-time customers moving to repeat status;
- time from first to second purchase;
- customers moving from current high value to at risk;
- reactivated customers returning to an active group;
- net revenue and margin by group;
- complaint, unsubscribe, and conversion rates by treatment;
- group movement compared with a control where feasible.
Klaviyo's RFM report includes movement between customer groups over a selected period. If you build RFM in a warehouse, save a dated snapshot so the same analysis is possible.
Do not judge a segment only by attributed email revenue. A high-value group may buy without an email, and a discount can shift timing without creating incremental demand.
10. RFM implementation checklist
- [ ] Purchase, return, refund, and cancellation rules are defined
- [ ] Customer identity is stable across channels
- [ ] Analysis window matches the business question
- [ ] Scoring method is documented
- [ ] Recency thresholds reflect the buying cycle
- [ ] Groups have clear precedence and owners
- [ ] Every group has one primary action
- [ ] Marketing eligibility is checked separately from segment membership
- [ ] Scores and group membership are saved over time
- [ ] Results include margin and customer outcomes, not attributed revenue alone
11. FAQ
How many customers do you need for RFM segmentation?
There is no universal statistical minimum. Small databases can use simple business rules such as first-time, repeat, and lapsed customer. Klaviyo's native RFM report currently requires at least 500 customers who placed an order plus additional history and activity criteria.
Should RFM use three scores or five?
Either can work. Three bands are easier to explain and keep groups larger. Five bands provide more granularity but can create unstable distinctions in a small or low-frequency customer base. Choose the simplest model that changes a decision.
Is RFM the same as customer lifetime value?
No. RFM summarizes recent observed purchase behavior across three dimensions. CLV estimates or measures value over a defined relationship horizon. Use RFM for state and prioritization, and CLV for financial planning. Read the customer lifetime value guide.
Can RFM score subscribers who never purchased?
Not with purchase-based RFM because frequency and monetary value are undefined. Create a separate engagement model for non-buyers using consent, clicks, site behavior, and signup recency. Do not label it RFM without explaining the changed variables.
How often should RFM scores update?
It depends on action speed. Daily is useful for event-triggered messaging. Weekly can be enough for strategic reporting in a slower category. The update schedule should be faster than the decisions the model controls.
Should returns reduce monetary value?
Usually yes. Net revenue or contribution margin better represents customer economics than gross order value. Document the return window and whether late returns restate historical scores.
Sources checked on July 16, 2026
- Klaviyo: Understanding RFM scoring and customer groups
- Klaviyo: Getting started with the RFM analysis report
- Klaviyo: Getting started with segments
Turn customer scores into a retention plan
Deliver can define the model, validate its data, and connect each segment to a measurable lifecycle action. Book an RFM and lifecycle audit.
Related guides:
Charlotte Rodrigues, Head of CRM at Deliver.
Want to apply this to your stack?
Spend 30 minutes with Charlotte to review your CRM setup, size the opportunity and leave with a practical action plan.
Book a 30-minute call →