Skip to content
Customer Segmentation

What is RFM Score?

Recency, Frequency, Monetary

RFM score ranks each customer 1–5 on Recency, Frequency, and Monetary value within your own customer base, then combines the three digits into a code — like 455 — used to segment customers by behavior rather than by demographics.

The three inputs answer three separate questions: how recently did this customer buy (Recency), how often do they buy (Frequency), and how much do they spend (Monetary). Scored individually on a 1–5 scale, quintile by quintile within your own base, they combine into a code that describes a customer far more usefully than a single blended number could.

The reason RFM keeps beating fancier models in practice is that it needs nothing except order history you already have — no survey data, no third-party enrichment, no model training. It's backward-looking, not predictive, which is both its limitation and the reason it's trivial to stand up correctly in an afternoon.

It also composes well with what it doesn't measure. RFM tells you what a customer has done; it says nothing about why, or what they'll do next. That's the honest boundary — pair it with CLV when you need a forward-looking number, and don't ask RFM to do a prediction's job.

Formula

RFM Code = R(1–5) + F(1–5) + M(1–5), scored by quintile within your customer base — kept as a 3-digit code, never summed

Quintile-bucket each dimension separately (top 20% of recency = 5, and so on) rather than using fixed thresholds — fixed cutoffs break the moment your business grows or your average order value shifts. Bucket Monetary by quintile too, not equal-width ranges: spend is power-law distributed, so equal-width buckets put almost everyone in the bottom bucket and are close to meaningless.

Why RFM Score matters

It turns 'our customers' into a small number of behaviorally distinct groups you can actually build different campaigns for — win-back for the lapsing-but-valuable segment, a different message for the new-and-untested one — without needing a data science team or a predictive model to get there.

Why 455 and 511 need opposite campaigns

Two customers both score highly, but the resemblance ends there. Customer A is 511: bought yesterday (R=5), it's their first order (F=1), spend is unproven (M=1) — someone to nurture into a second purchase, not to upsell. Customer B is 155: hasn't bought in nine months (R=1), used to order constantly (F=5), high lifetime spend (M=5) — a Champion who's going quiet, and the highest-value win-back target in the file. Sum both codes and you get 7 and 11 — close enough to look similar on a dashboard, and different enough in reality that the same email to both would be wrong for one of them.

Common mistakes

  • Summing R+F+M into one number

    This is the error nearly every explainer on the internet makes with its worked example. Adding the digits collapses three distinct signals into one score where a new big-spender and a lapsing loyalist can land on the same total and get the same campaign.

  • Using fixed thresholds instead of quintiles

    "Recent = bought in the last 30 days" works for a weekly-cadence business and is meaningless for one where the median gap between orders is four months. Quintiles scale to your own base automatically; fixed cutoffs need re-tuning every time the business changes.

  • Equal-width Monetary buckets

    Customer spend is heavily right-skewed — a handful of accounts account for a large share of revenue. Equal-width dollar buckets bury almost everyone in the lowest bucket. Equal-count (quintile) buckets are what actually separate real spending tiers.

  • Treating RFM as predictive

    RFM describes what a customer has done, not what they'll do next. Using it to forecast future value is asking a backward-looking score to do a forward-looking job — that's what CLV is for, not this.

Where we work on this

Applied, not theoretical

We'll run these numbers on your account.

A free 30-minute teardown where we calculate this and the rest of your funnel math live. You keep the model whether or not we work together.