RFM Analysis: Build an RFM Model and Segments in Klaviyo
RFM analysis and RFM segmentation for ecommerce: how to score recency, frequency and monetary value, interpret RFM scores, and build RFM segments in Klaviyo.
Table of contents
- What is RFM analysis?
- How to build an RFM model (step by step)
- 1. Pick a lookback window
- 2. Calculate the raw values for each customer
- 3. Score each dimension from 1 to 5
- 4. Combine the scores
- 5. Map codes to named segments
- A worked example
- How to interpret RFM scores: the segment map
- How to build RFM segments in Klaviyo
- Option 1: Klaviyo’s RFM analysis report
- Option 2: build RFM-style segments without the add-on
- Set recency by your purchase cycle, not a template
- Putting RFM segments to work in email and SMS
- The limits of RFM
- RFM and machine learning
- The bottom line
- Sources
RFM analysis is the oldest trick in direct marketing and still one of the best. It needs nothing more than your order history, it is easy to explain to anyone in the business, and it answers the question every retention program starts with: who should get which message?
This guide covers how the RFM model works, how to score it yourself, how to read the scores, and how to build RFM segments in Klaviyo, both with Klaviyo’s native RFM report and without it.
What is RFM analysis?
RFM analysis is a customer segmentation method that scores each customer on three behaviours: Recency (how recently they bought), Frequency (how often they buy) and Monetary value (how much they spend). Customers with similar scores are grouped into segments, such as champions, at risk and lost, so each group gets a different message.
Why those three? Because together they are strong predictors of who will buy again:
- Recency: someone who bought last week is far more likely to buy again than someone who bought two years ago.
- Frequency: repeat buyers have already shown the habit.
- Monetary value: high spenders are where the revenue concentrates, and where losing a customer hurts most.
RFM analysis, RFM segmentation and the RFM model are the same idea described at different stages: the analysis produces scores, the model defines how scores map to groups, and segmentation is putting those groups to work.
How to build an RFM model (step by step)
You can do this in a spreadsheet from an orders export.
1. Pick a lookback window
Use 12 to 24 months for frequency and monetary value. Too short and seasonal buyers look lost; too long and ancient history props up customers who have gone.
2. Calculate the raw values for each customer
- Recency (R): days since last order.
- Frequency (F): number of orders in the window.
- Monetary (M): total net spend in the window. If you can get gross profit rather than revenue, use it.
3. Score each dimension from 1 to 5
Rank customers on each value and split them into five equal groups (quintiles). For frequency and monetary value, the top 20% score 5. For recency it runs the other way: the most recent 20% score 5. In a spreadsheet, PERCENTRANK does this; in SQL, NTILE(5).
Frequency is often lumpy (most ecommerce customers have bought once), so you may need fixed thresholds instead of quintiles, for example 1 order = 1, 2 orders = 2, 3 to 4 = 3, 5 to 7 = 4, 8+ = 5.
4. Combine the scores
- RFM code: concatenate the three scores, for example 5-4-3 becomes 543. There are 125 possible codes.
- RFM total: add them for a 3 to 15 score. Simpler, but it hides the difference between a 511 (brand new) and a 115 (a lapsed big spender).
The code is more useful for marketing because it keeps the story.
5. Map codes to named segments
125 codes is too many to market to. Group them into 6 to 10 named segments (next section).
A worked example
Using illustrative thresholds for a store with a 30-to-60-day repurchase cycle. Recency: 5 = within 30 days, 4 = 31–60, 3 = 61–120, 2 = 121–240, 1 = older. Frequency: 5 = 8+ orders, 4 = 5–7, 3 = 3–4, 2 = 2, 1 = 1. Monetary: 5 = $600+, 4 = $350–599, 3 = $180–349, 2 = $90–179, 1 = under $90.
| Customer | Days since last order | Orders | Total spend | R | F | M | Code | Segment |
|---|---|---|---|---|---|---|---|---|
| A | 12 | 9 | $820 | 5 | 5 | 5 | 555 | Champion |
| B | 45 | 4 | $310 | 4 | 3 | 3 | 433 | Loyal |
| C | 20 | 1 | $65 | 5 | 1 | 1 | 511 | New customer |
| D | 150 | 6 | $540 | 2 | 4 | 4 | 244 | At risk |
| E | 300 | 7 | $700 | 1 | 4 | 5 | 145 | Can’t lose them |
| F | 400 | 1 | $40 | 1 | 1 | 1 | 111 | Lost |
Customer E is the one most brands miss. By total spend they are one of the best customers in the file. By recency they are nearly gone. A generic newsletter will not bring them back.
How to interpret RFM scores: the segment map
A common way to name RFM segments on a 1-to-5 model, and what to send each one:
| Segment | Typical scores | Who they are | What to send |
|---|---|---|---|
| Champions | R 4–5, F 4–5, M 4–5 | Recent, frequent, high spend | Early access, new launches, referral asks. Not discounts |
| Loyal | R 3–5, F 3–5 | Buy regularly, mid to high spend | Cross-sell, bundles, subscription or loyalty offers |
| Potential loyalists | R 4–5, F 2–3 | Recent, a couple of orders | The third-order nudge: routines, bundles, replenishment |
| New customers | R 5, F 1 | Just made a first order | Onboarding and the second order, via a strong post-purchase flow |
| At risk | R 2–3, F 3–5 | Were regular, now overdue | Personal reminders, “running low?”, what’s new since they left |
| Can’t lose them | R 1–2, F 4–5, M 4–5 | Former best customers, lapsing | Personal outreach, feedback request, your best non-generic offer |
| Hibernating | R 1–2, F 1–2 | Low value, long gone | Low-cost reactivation, lighter cadence |
| Lost | R 1, F 1, M 1 | One small order, long ago | A final win-back attempt, then sunset |
Two reading rules help:
- Recency tells you urgency. Low R on a high F/M customer is an emergency; low R on a 1-1-1 customer is housekeeping.
- Frequency tells you habit. The jump from one order to two is the most valuable move in ecommerce. That is why new customers and potential loyalists deserve so much attention: as our customer lifetime value guide shows, most brands don’t recover CAC until the second order.
How to build RFM segments in Klaviyo
Option 1: Klaviyo’s RFM analysis report
If you have Marketing Analytics or Advanced KDP (paid add-ons, not part of Klaviyo’s standard plan), Klaviyo scores RFM for you. As of September 2026, Klaviyo’s help centre describes it like this:
- Each customer gets a score of 1 to 3 on each dimension, not 1 to 5.
- Recency: 3 = purchased within the last 180 days, 2 = within the last 365 days, 1 = longer ago.
- Frequency: top third = 3 (usually 3+ purchases), middle third = 2 (usually 2), bottom third = 1 (usually one purchase).
- Monetary: top, middle and bottom thirds of spend, scored 3, 2 and 1.
- Eligibility: at least 500 customers who have placed an order and at least 180 days of order history.
- Refresh: RFM properties update nightly (since May 2024; previously monthly).
Klaviyo maps the 27 possible codes to six groups:
| Klaviyo RFM group | Score codes | Klaviyo’s description, paraphrased |
|---|---|---|
| Champions | 333, 332, 323 | Best customers: recent, frequent, highest spend |
| Loyal | 321, 322, 331, 232, 233 | Engaged and valuable, spend less than champions |
| Recent | 311, 312, 313, 222, 223 | Bought recently, don’t buy often |
| Needs attention | 213, 221, 123, 132, 133 | Valuable in the past, haven’t bought recently |
| At risk | 231, 212, 122, 131, 211 | Haven’t bought recently and/or spend less |
| Inactive | 111, 112, 113, 121 | Lapsed, infrequent, long gone |
To build the segments: open the RFM analysis report (Marketing Analytics › Customer insights › RFM analysis, or Advanced KDP › Intelligence › Customer insights › RFM analysis) and click Create segment, or build one yourself with Properties about someone and the property Current RFM group equals, for example, At risk.
Two further properties make this far more useful than a static report:
- Previous RFM group, the last different group the profile was in.
- RFM group last changed, the date they moved.
That lets you target movement, not just position. “Current RFM group equals At risk AND Previous RFM group equals Loyal” is a list of customers who just slipped, which is exactly when a win-back message works best. Use it as the entry segment for a segment-triggered flow.
Option 2: build RFM-style segments without the add-on
You don’t need Marketing Analytics to segment on RFM logic. Klaviyo’s standard segment builder has everything you need:
- Recency: What someone has done: Placed Order at least once in the last 60 days, or zero times in the last 180 days.
- Frequency: Placed Order at least 3 times over all time.
- Monetary: Predictive analytics about someone: Historic CLV is at least $X. This requires Klaviyo’s predictive analytics eligibility (500+ customers with orders, 180+ days of history, recent orders, some customers with 3+ orders). Before you qualify, a Placed Order where value is at least $X condition is a rough proxy for high-value buyers.
Six segments cover most of the value. Replace the thresholds with ones based on your own repurchase cycle:
| Segment | Example Klaviyo definition |
|---|---|
| Champions | Placed Order at least 4 times over all time AND at least once in the last 60 days AND Historic CLV is at least [your top-20% value] |
| Loyal | Placed Order at least 3 times over all time AND at least once in the last 120 days AND not in Champions |
| New customers | Placed Order equals 1 time over all time AND at least once in the last 30 days |
| At risk | Placed Order at least 3 times over all time AND zero times in the last 120 days AND at least once in the last 365 days |
| Can’t lose them | Historic CLV is at least [your top-20% value] AND Placed Order zero times in the last 180 days |
| Lost | Placed Order at least once over all time AND zero times in the last 365 days |
Our Klaviyo segmentation guide covers the engagement-based segments that sit alongside these, and how to combine them without overlaps.
Set recency by your purchase cycle, not a template
Fixed windows like 180 and 365 days suit a brand where people buy two or three times a year. They are too slow for consumables. A supplement customer on a 30-day bottle who hasn’t reordered in 60 days has already missed a cycle, so for supplements and other replenishable products, set recency in multiples of the product’s usage period: on time, one cycle late, two or more cycles late. Our segmentation guide for supplement brands goes deeper on purchase-cycle segments.
Subscription customers also distort frequency, because renewals raise F without any marketing decision. Score subscribers separately, or count only non-recurring orders.
Putting RFM segments to work in email and SMS
- Champions: VIP early access, launch previews and referral programs. Protect margin: they don’t need a discount to buy.
- Loyal and potential loyalists: cross-sell the next logical product, bundle offers, subscription invitations.
- New customers: a post-purchase sequence built to earn the second order.
- Needs attention and at risk: replenishment reminders, “what’s new”, personalised product picks. SMS works well here for time-sensitive reminders.
- Can’t lose them: plain-text email from a founder or the customer team, asking what changed. Then an offer worth coming back for.
- Inactive and lost: one win-back sequence, then a sunset. Keeping dead profiles in your sends hurts deliverability, and Klaviyo bills on active profiles, so a list clean saves money twice.
Measure each segment on placed order rate and revenue per recipient, not opens. And track movement month to month: the share of customers moving up from Recent to Loyal is one of the clearest measures of whether your retention program works.
The limits of RFM
- It looks backwards. RFM describes what happened. Pair it with Klaviyo’s predicted CLV and churn risk for a forward view.
- Monetary value is usually revenue, not profit. A customer who only buys on 40% off can score high on M and still be your least profitable.
- New customers always score low on frequency. Don’t treat a 511 as low value; treat them as undecided.
- Thresholds drift. Re-check them at least quarterly, or use percentile-based scoring like Klaviyo’s, which recalculates automatically.
RFM and machine learning
RFM values are standard inputs for more advanced models. Clustering algorithms such as k-means can find natural groups in scaled R, F and M values instead of fixed thresholds. Probabilistic CLV models, such as BG/NBD for purchase frequency paired with Gamma-Gamma for spend, are built on the same recency, frequency and monetary inputs. For most ecommerce brands, though, simple RFM scoring used consistently beats a sophisticated model nobody acts on.
The bottom line
RFM analysis scores every customer on how recently, how often and how much they buy, then turns those scores into segments you can actually market to. In Klaviyo you can use the native RFM report if you have Marketing Analytics or Advanced KDP, or build the same logic with Placed Order and historic CLV conditions. Either way, the value is in acting on movement: catching loyal customers the moment they start to slip.
If you want RFM segments built, connected to flows and measured properly, our Klaviyo agency team does exactly that. Or request a free Klaviyo audit to see how much revenue is sitting in your at-risk and can’t-lose segments.
Sources
/ Frequently Asked Questions
Q.01 What does RFM stand for? +
/ Answer
RFM stands for recency, frequency and monetary value. Recency is how recently a customer last bought, frequency is how often they buy, and monetary value is how much they spend. Together they describe a customer's purchase behaviour well enough to predict who is likely to buy again, which makes RFM one of the most practical segmentation models in ecommerce.
Q.02 What is RFM analysis? +
/ Answer
RFM analysis scores every customer on recency, frequency and monetary value, usually from 1 to 5 on each, then groups customers with similar scores into segments such as champions, loyal, at risk and lost. It turns an order history into a map of who your best customers are, who is slipping, and who has gone, so each group can get a different message.
Q.03 How do you interpret RFM scores? +
/ Answer
Read the three digits in order: recency, frequency, monetary. A 555 bought recently, buys often and spends the most, so is a champion. A 511 is a new customer who has bought once. A 155 used to be one of your best customers but hasn't bought in a long time, which makes them the most urgent win-back target. A 111 is effectively lost.
Q.04 What is the RFM formula? +
/ Answer
There is no single formula. Calculate days since last order (recency), number of orders (frequency) and total spend (monetary) for each customer over a set period. Rank customers on each and split them into equal groups, typically quintiles scored 1 to 5, with the most recent buyers scoring 5. Combine the three scores into a code like 435, or add them into a total from 3 to 15.
Q.05 Can you do RFM segmentation in Klaviyo? +
/ Answer
Yes, two ways. With a Marketing Analytics or Advanced KDP subscription, Klaviyo's RFM analysis report scores customers 1 to 3 on each dimension, assigns them to six groups from Champions to Inactive, and lets you segment on Current RFM group. Without it, you can build RFM-style segments with Placed Order count and date conditions plus historic CLV.
Q.06 How is RFM used in machine learning? +
/ Answer
RFM values are common inputs to machine learning. Clustering algorithms such as k-means can group customers on scaled recency, frequency and monetary values instead of fixed score thresholds. Probabilistic customer lifetime value models such as BG/NBD with Gamma-Gamma are built on recency, frequency and monetary inputs, and churn models often use RFM features alongside browsing and engagement data.
Shows our articles higher in your Google results. Takes one click.
