Industry packs are ready for eight industries. Start from journeys built for yours.Browse packs
Segments and listsUpdated 9 Jun 2026

RFM Analysis: How to Score Customers and Segment Them for Action

What RFM analysis is, how to score customers on recency, frequency and monetary value, a worked example, the main segments and the messages that fit each.

NK
Written by Neha Kapoor
  • Published9 Jun 2026
  • Read time6 min
  • Length1,186 words
Share this guide
RFM analysis guide cover

Not all customers are equally valuable, and the difference rarely shows up in a plain list of names. RFM analysis is a simple, long-established way to see it. It scores every customer on three questions: how recently did they buy, how often do they buy and how much do they spend. The result is a handful of clear groups, from loyal champions to customers on the verge of leaving, each of which deserves a different message. This guide explains RFM, shows how to calculate it with a worked example, lists the segments and what to send each, and covers the limits you should know about.

What is RFM analysis?

RFM stands for recency, frequency and monetary value. It comes from direct marketing, where catalogue sellers needed to decide who deserved the next mailing. The idea still holds: customers who bought recently, buy often and spend more are more likely to respond than customers who did none of these. Because RFM needs only order data, it is one of the easiest ways to start with behavioural customer segmentation, and it sits comfortably beside measures such as customer lifetime value.

LetterQuestionData neededTypical signal
R: RecencyHow long since the last purchase?Date of last orderRecent buyers are warmer
F: FrequencyHow many orders in a period?Order countRepeat buyers are more loyal
M: MonetaryHow much have they spent?Order valuesBigger spenders are more valuable

How to calculate RFM scores

  1. Choose the period. Use a window that fits your buying cycle, such as the last 12 months for fashion or 24 months for durable goods.
  2. Pull one row per customer. You need the date of the last order, the number of orders and the total spend in the window.
  3. Score each measure from 1 to 5. Rank customers and split them into five equal groups (quintiles). For recency, the most recent group gets 5. For frequency and monetary, the highest group gets 5.
  4. Combine the scores. Write them as a three-digit code, such as 555 for the best customers or 211 for those who bought once long ago.
  5. Group the codes into segments. There are 125 possible codes, which is too many to act on, so cluster them into eight to ten named segments.
  6. Attach a play to each segment. Decide the message, channel and offer for each one.
  7. Refresh regularly. Recalculate monthly, because customers move between groups.

A worked example

Take four customers from an online store, measured over the last 12 months.

CustomerLast orderOrdersSpend (Rs)RFMCode
Asha6 days ago921,400555555
Ravi48 days ago47,200444444
Meera190 days ago611,800254254
Karan320 days ago11,299111111

Asha is a champion. Ravi is a solid regular. Meera used to buy often and spend well, but nothing for over six months, which makes her a high-value customer at risk. Karan bought once and disappeared. Each of the four needs a different message, which is the whole point of the method. The scores here are an illustration of the arithmetic, since the cut-offs for each score depend on your own distribution.

An RFM grid with recency on one axis and frequency on the other, showing segments such as champions, loyal customers, potential loyalists, at risk, cannot lose them and hibernating
Recency and frequency place customers into named segments. Monetary value separates the valuable from the rest within each.

RFM segments and what to send

SegmentTypical patternWhat to do
ChampionsBought recently, often, spend mostThank them, early access, ask for reviews and referrals; do not discount heavily
Loyal customersFrequent, good spendLoyalty rewards, cross-sell related products
Potential loyalistsRecent, a few ordersEncourage the next purchase; membership offers; helpful content
New customersVery recent, one orderOnboarding, care tips, a gentle second-purchase nudge
PromisingRecent, low spendIntroduce bundles and best-sellers
Need attentionAverage on all threeReminders and personalised recommendations
At riskUsed to buy often, gone quietWin-back offer, personal note, ask what changed
Cannot lose themHigh past value, lapsedDirect outreach, best offer, human follow-up
HibernatingLow on all threeLow-cost reactivation; sunset if no response

Match effort to value. A phone call or a personal discount may be worth it for a lapsed high-value customer. For hibernating customers, a cheap automated email is enough, and silence after two or three tries is a fair answer.

Using RFM in Flowfox

You do not need a data science team to run this. Orders arrive as events through the data model or FlowConnect. Computed attributes on the contact profile, such as days since last order, order count and total spend, give you the three measures. In the segment builder you can then create rules like “order count is at least 4, days since last order is under 60 and total spend is above Rs 10,000” for champions, and the mirror image for at-risk groups. Each segment can feed a journey with the right messages across email, WhatsApp and SMS. The retention use case shows a ready pattern.

{
  "segment": "At risk",
  "match": "all",
  "rules": [
    { "attribute": "orders_12m", "op": ">=", "value": 4 },
    { "attribute": "days_since_last_order", "op": ">", "value": 120 },
    { "attribute": "days_since_last_order", "op": "<=", "value": 365 },
    { "attribute": "consent.email", "op": "=", "value": true }
  ]
}

What RFM is good for

  • Targeting. Send richer offers to valuable segments and fewer messages to the rest.
  • Win-back. Find lapsed valuable customers before they are gone for good. See our guide to customer retention strategies and churn rate.
  • Budget. Spend acquisition money on audiences that look like your champions.
  • Personalisation. Tailor tone and content to the relationship. See marketing personalization.
  • Measurement. Track how many customers move up or down between groups each month.

Limits and pitfalls

RFM looks backwards. It describes what customers have done, not why, and it says nothing about those who have not bought yet. It treats a customer who bought a rarely purchased item, such as a sofa, as if they were a lapsed regular, so adjust the window to the product. Monetary value can mislead when a few big orders dominate, and it ignores margin, so a high-spending customer who returns half of what they buy may be less valuable than the score suggests. Finally, it is a simple form of market segmentation, which is excellent as a starting point and less so as the whole strategy. Combine it with product interest, channel preference and lifecycle stage as your data grows.

For a more rigorous look at how groups behave over time, pair RFM with cohort analysis. For larger datasets, some teams replace quintile scoring with clustering, such as the k-means method described in the k-means article, but the simple version is often enough and is easy to explain to colleagues.

3Measures: recency, frequency, monetary
8 to 10Segments worth acting on
1Plan per segment

Common mistakes

  • Too many segments. If you cannot write a different message for each, merge them.
  • One-size period. Use a window that suits how often people really buy.
  • Discounting champions. They would have bought anyway. Reward, do not subsidise.
  • Never refreshing. Customers move. Recompute at least monthly.
  • Ignoring consent. A segment is not permission to message on every channel.

RFM will not tell you everything about a customer. It will tell you who to call first.

Put RFM to work. Build recency, frequency and value segments and trigger the right journey for each.

Explore segments

Next, read about customer lifetime value and abandoned cart recovery, and browse the blog.

Frequently asked questions

What does RFM stand for?

RFM stands for recency, frequency and monetary value: how recently a customer bought, how often they buy and how much they spend.

How do you calculate RFM scores?

Pull last order date, order count and total spend for each customer, rank them on each measure, split into five groups and give scores from 1 to 5, with 5 being the best. Combine the three scores into a code such as 555.

What is a good RFM segment?

Champions are the best: they bought recently, buy often and spend the most. Loyal customers and potential loyalists come next.

How often should I update RFM scores?

Monthly is common, or weekly for fast-moving businesses. Customers shift between groups as they buy or go quiet.

What data do I need for RFM analysis?

Only transaction data: a customer identifier, order dates and order values. Clean, deduplicated customer records matter most.

What is the difference between RFM and CLV?

RFM scores past behaviour with simple measures. Customer lifetime value estimates the total value a customer will bring, often using predicted future purchases and margin.

Can RFM be used for B2B?

Yes, with a window and thresholds that fit longer buying cycles. Frequency and monetary value can be measured at account level.

Topics#rfm#segmentation#customer value#retention#ecommerce
Was this guide helpful?Your answer helps us improve our guides.

See your own customers in Flowfox this week.

Start a free workspace, connect a data source and send your first journey. Or book a guided demo.