Segmentation

RFM Segmentation Explained: A Step-by-Step Guide

Recency, frequency and monetary value: the simplest segmentation model that still drives real lifecycle decisions.

Team gathered around a tablet showing analytics with printed charts and reports covering the table

If you sell to the same customers more than once, RFM segmentation is one of the most practical analyses you can run. It needs nothing more than an order history, it can be built in a spreadsheet, and it produces segments that map directly to marketing actions. This guide walks through the method from raw data to live campaigns.

What RFM stands for

  • Recency (R): how recently the customer last purchased. Recent buyers are more likely to buy again.
  • Frequency (F): how many purchases they have made in the analysis window. Frequent buyers have formed a habit.
  • Monetary (M): how much they have spent in total or on average. High spenders contribute more value.

Each customer receives a score on each dimension, and combinations of the scores define segments. The model is popular because each dimension is easy to explain and each segment suggests an obvious next step.

Step 1: Prepare the data

You need one row per order with a customer identifier, order date and order value. Before scoring:

  1. Remove test orders, internal accounts and fully refunded orders.
  2. Deduplicate customers so the same person is not split across several IDs. Our CRM cleanup guide helps here.
  3. Choose an analysis window, often the last 12 or 24 months, depending on how often customers typically buy.
  4. Pick a reference date, usually the day of the analysis.

Then aggregate per customer: days since last order, number of orders in the window, and total (or average) revenue in the window.

Step 2: Score each dimension

The most common approach is quintiles: sort customers by each measure and split them into five equally sized groups, scored 1 to 5. For recency, the most recent buyers get 5; for frequency and monetary, the highest values get 5.

Quintiles are convenient, but they can be awkward when many customers share the same value, as with frequency, where a large share of customers may have exactly one order. In that case, use business-defined thresholds instead, for example:

ScoreRecency (days)Frequency (orders)
50–306+
431–904–5
391–1803
2181–3652
1365+1

These thresholds are only examples. Set yours based on your typical purchase cycle; a grocery delivery service and a furniture retailer will look very different.

Tip

Many teams combine frequency and monetary into a single "FM" score, because they are often strongly related. Plotting recency against FM on a simple grid makes the segments easy to see and explain.

Step 3: Define segments

With five scores on three dimensions you have 125 combinations, far too many to manage. Group them into a small number of named segments. A typical set:

  • Champions: high recency, high frequency and spend. Your best customers.
  • Loyal customers: good frequency and spend, reasonably recent.
  • Promising new customers: very recent, but only one or two orders so far.
  • Needs attention: mid-range scores that are starting to slip.
  • At risk: previously frequent or high-spending, but not recent.
  • Hibernating or lapsed: low recency and low frequency.

Write the exact rules for each segment so membership is reproducible every time you recalculate.

Step 4: Attach an action to every segment

SegmentGoalExample actions
ChampionsRetain and recognizeEarly access, review requests, referral invitations
LoyalIncrease valueCross-sell related categories, bundles
Promising newEarn the second purchaseOnboarding series, usage tips, relevant recommendations
Needs attentionRe-engagePersonalized reminders based on past categories
At riskWin backFeedback request, tailored offer, "what's new" content
LapsedLow-cost reactivationOccasional broad campaigns; suppress if unresponsive

Not every segment deserves a discount. Champions usually respond to recognition and access more than to price cuts, and discounting them can erode margin without changing behavior.

A segment without a distinct action is just a label. RFM earns its keep when each group gets a different message.

Step 5: Measure with holdouts

To know whether a segment program works, randomly hold back a small portion of each segment from the new treatment. After a defined period, compare the purchase rate and revenue per customer between the treated group and the holdout. Without a holdout, you cannot separate the effect of your campaign from purchases that would have happened anyway, which is a particular risk with champions who buy frequently regardless.

Step 6: Refresh and track movement

Recalculate scores regularly, weekly or monthly depending on purchase frequency. Track how customers move between segments. A useful view is a transition table showing, for example, what share of last quarter's loyal customers are now at risk. Movement tells you more about the health of the customer base than any single snapshot. Display it in a compact dashboard, following our dashboard guidelines.

Limitations

  • RFM looks backward. It does not predict future value on its own, though it is a strong input to predictive models.
  • It ignores what customers buy. Combining RFM with category preferences makes messages far more relevant.
  • It suits repeat-purchase businesses. For one-off purchases, behavioral and needs-based segmentation fit better; see our customer segmentation hub.

Building it in a spreadsheet

You can build a first RFM model without any special tools. Export orders with customer ID, date and value. Use a pivot table to calculate, per customer, the most recent order date, the count of orders and the sum of order values. Add a column for days since last order. Then use percentile or lookup formulas to assign scores from 1 to 5 for each dimension, and a final column that maps score combinations to your named segments. Save the workbook as a template so the next refresh takes minutes rather than hours. Once the approach proves its value, move the logic into your database or marketing platform so segments update automatically.

Key takeaways

  • RFM needs only order history: customer, date and value.
  • Use quintiles or business thresholds that reflect your purchase cycle.
  • Group score combinations into a handful of named, rule-based segments.
  • Give every segment a distinct goal and action, not just a discount.
  • Measure with holdouts and track movement between segments over time.

Quick FAQ

Can RFM work for B2B?

Yes, if clients purchase repeatedly. Use account-level data and adjust thresholds to longer buying cycles.

Do I need special software?

No. A spreadsheet or a simple SQL query is enough to start. Tools help mainly with automation and syncing segments to email platforms.