For a long time I sent the same email to every customer. New buyers, loyal regulars, people who hadn't come back in months — all got the same "here's our sale" blast. It felt fair. It was actually just lazy, and the results were mediocre: too thin for my best customers, off-key for the ones who'd already drifted away.
What fixed it was RFM analysis — a way to rank customers by three numbers so I could decide who deserved which tactic. This post covers what the three metrics mean, how to score and segment, and how RFM differs from the cohort analysis it always gets mentioned alongside.
TL;DR
- RFM = ranking customers by Recency (last purchase date), Frequency (purchase count), and Monetary (total spend)
- Score each metric (e.g. 1–5), then read customers by the combination — "R5・F5・M5" is a VIP, "R1・F5・M5" is a loyal customer slipping away
- The goal is not sorting — it's deciding who gets which tactic: keep the loyal, win back the at-risk, nurture the new
- Focusing budget where it works beats sending everyone the same email
- RFM shows the current state of customers; cohort analysis shows the trend by acquisition period — different angles, and they combine well
1. What RFM analysis actually is
RFM evaluates each customer on three metrics and sorts them into groups. The name is just the initials:
- R (Recency / last purchase date): how long since they last bought
- F (Frequency / purchase count): how many times they've bought
- M (Monetary / total spend): how much they've spent overall
Why all three? Because any single metric misleads you. The mistake I kept making was prizing only "customers who spent a lot." That made me treat someone who dropped a big order six months ago and never returned as a loyal customer. Add "did they buy recently (R)" and "how often (F)," and the people who are actually active right now become visible. Since acquiring new customers costs more than retaining existing ones, deciding who to keep ties straight to revenue.
2. Scoring the three metrics
You turn each metric into a score. A 1-to-5 scale is common. Example rules:
- R: within 30 days = 5, over six months ago = 1
- F: 10+ purchases = 5, only once = 1
- M: ¥100k+ total = 5, under ¥5k = 1
Set the cutoffs from your own data — for purchase count, sort customers, give the top 20% a 5, the next 20% a 4, and so on. Then read the combination of the three scores:
| Example RFM score | Customer state | Read |
|---|---|---|
| R5・F5・M5 | Recent, frequent, high-spend | Top customer (VIP) |
| R5・F2・M2 | Just started buying | New / nurture candidate |
| R1・F5・M5 | Once loyal, gone quiet | At-risk (needs win-back) |
| R1・F1・M1 | No purchase for a long time | Dormant customer |
That combination shows a customer's current state at a glance — the real strength of RFM. Unlike a single average like ARPU, RFM captures customers not as one lump but as state-based groups.
3. The four steps
- Collect data — last purchase date, purchase count, total spend per customer, pulled from your cart system (Shopify, BASE, STORES) or order history
- Score — turn R, F, M into scores; three levels (high/medium/low) are fine to start, you don't need a 5-point scale on day one
- Segment — group by the combination; fine splits give 9–27 groups, but about five (loyal, stable, new, at-risk, dormant) is enough at first
- Decide tactics — this is the real work
The caution that took me a while to learn: segmenting is not the goal. A clean split that doesn't lead to action won't move revenue at all. The value shows up only when you decide "what do I do for these people" after sorting.
4. Tactics by segment
The whole point is changing tactics by group:
- Top customers (high R, high F, high M): retention first — early-access sales or thank-you perks so they feel valued
- At-risk (low R, high F, high M): once loyal, now quiet — win-back coupons or a "we've missed you" message
- New / nurture (high R, low F): drive the second purchase — post-purchase follow-up or recommendations
- Dormant (low R, low F, low M): reactivation, but keep the budget modest — this group responds weakly
Win-back tactics for at-risk customers are the most cost-effective of the bunch, because retaining existing customers is cheaper than acquiring new ones and contributes more to revenue. To measure the effect, track how each treated group's revenue changes afterward — which is much easier when you have channel- and tactic-level revenue lined up to compare.
5. RFM vs cohort analysis
The method most often confused with RFM is cohort analysis. Both sort customers, but from different angles:
- RFM: classifies current customers by recency, frequency, and monetary value. Answers "who gets what."
- Cohort: groups customers by when they were acquired (January cohort, February cohort) and tracks repeat rate over time. Answers "when does churn tend to happen."
They aren't opposed — you combine them. In my case, cohort analysis showed churn tended to hit around 60 days after the first order. So I used RFM to pull out customers whose R was starting to slip, and acted before day 60 arrived. That one move recovered a chunk of repeat revenue I'd been quietly losing.
How I check this without rebuilding a report every month
Tying a tactic back to revenue means lining up revenue by channel and tactic — and that's exactly where session-centric tools make you do extra filter work each month. That's the problem I'm working on with RevenueScope — it lines up revenue (RPS and AOV) by channel from actual revenue data, so "did this win-back tactic actually move sales" becomes a number you can read directly instead of a report you rebuild.
When you look at your customers, do you treat them as one average — or sort them by state and act per group?
(Sorry if my English sounds a bit off — Japanese native. I used Google translate.)



Top comments (0)