RFM Segmentation

RFM segmentation categorizes your customers into different segments, according to their interactions with your website, which will allow you to subsequently approach these groups in the most effective way. In this article, we will show you how to make an RFM segmentation based on an RFM score combining all three RFM parameters together and allowing you to divide your customers into 11 different segments.

RFM-based score

The overall RFM score actually consists of three separate scores - recency, frequency, and money. Each of the RFM parameters will be assigned a score in the range of 1-5 with 5 being the best score. For example, a customer who made a purchase just recently while having bought a lot of products already before and has spent a lot of money during the purchases will have an RFM score of 555. On the other hand, a customer who bought only one very cheap product a long time ago will have an RFM score of 111.

How to calculate the RFM score?

There are many ways in which the RFM score can be calculated. In Exponea, we get data using the discretization method and then we calculate the score using the arbitrary/expert split.

1. Discretization

With discretization, customers are automatically divided into quartiles/quintiles (segments) of relatively equal size. The resulting four/five groups will all have almost identical numbers of customers.

In Exponea, you will generate the quintiles automatically in the reports (see below in the guide). To do this create a report with discretization = 4/5 which creates four/five equal groups and gives you intervals that you will use further.

2. Arbitrary/expert split

With the arbitrary split, you define a fixed set of intervals where certain values equal certain scores. For example, R score 1 is granted to the customer who bought a product last time six months ago, R score 2 is granted to the customer who bought it three months ago. The challenge using arbitrary/expert split is that you need to choose the right values for the intervals.

In Exponea, you will, fortunately, have these values in the report after the discretization. Take the resulting values and put them manually in your segmentation. You will probably have to readjust the values monthly, but usually, it takes less than five minutes.

RFM segments

Based on the calculated RFM score, the customers are put into 11 segments:



Actionable Tip


Bought recently, order often and spend the most.

Reward them. Can be early adopters of new products. Will promote your brand. Most likely to send referrals.


Orders regularly. Responsive to promotions.

Upsell higher value products. Ask for reviews.

Potential Loyalist

Recent customers, and spent a good amount.

Offer membership / loyalty program. Keep them engaged. Offer personalised recommendations.

New Customers

Bought most recently.

Provide on-boarding support, give them early access, start building relationship.


Potential loyalist a few months ago. Spends frequently and a good amount. But the last purchase was several weeks ago.

Offer coupons. Bring them back to the platform and keep them engaged. Offer personalised recommendations.


Standard customers with not too long-ago purchase.

Make limited time offers.

Needs attention

Core customers whose last purchase happened more than one month ago.

Make limited time offers. Offer personalised recommendations.

Can’t lose them but losing

Made the largest orders, and often. But haven’t returned for a long time.

Win them back via renewals or newer products, don’t lose them to competition. Talk to them if necessary. Spend time on highest possible personalisation.

At Risk

Similar to “Can’t lose them but losing” but with smaller monetary and frequency value.

Provide helpful resources on the site. Send personalised emails.

Losing but engaged

Made their last purchase a long time ago but in the last 4 weeks either visited the site or opened an email.

Make subject lines of emails very personalised. Revive their interest by a specific discount on a specific product.


Made last purchase long time ago and didn’t engage at all in the last 4 weeks.

Revive interest with reach out campaign. Ignore otherwise.

Learn more about approaching these groups in the RFM Segmentation - Business Use article.


1. Create reports for each RFM parameter

Create three reports - "Recency score segments", "Frequency score segments", "Monetary score segments". These reports will be used to define intervals for segments that you will create in step 2. You can read more about creating a report in the Reports article.

Use the following aggregates in the reports: Last purchase timestamp for recency score, purchases for frequency score, and Sum of purchases total price for the monetary score. To be sure you achieve desirable results we recommend using data for the past 12-24 months or more.


Disproportionate results

If you use discretization and one group ends up being multiple times bigger then the others, you will not get results that would be useful for further analysis. This problem sometimes arises for the "Frequency score segments" report. In such a case, in step 2 you cannot rely on the automatically-generated quantiles, but instead, you will have to find the appropriate 5 intervals yourself - for frequency 1, 2, 3, 4, 5+ usually work well.

2. Create segmentations for each RFM parameter

Based on reports you can set up the intervals and create the segments. You can read more about creating the segments in the Segmentations article.

It is important for step 3 that you name the segments correctly. For Recency use 100, 200, 300, 400, 500; for Frequency use 10, 20, 30, 40, 50 and for Monetary use 1, 2, 3, 4, 5; where the biggest number is always for the best customers from the segment - customer with a most recent purchase, most orders and biggest amount spent will have reived scores of 500, 50 and 5 respectively.

3. Create RFM-based customer's score

By this point, you will have your customers divided into 5 recency segments (500 - 100), 5 frequency segments (50 - 10), and 5 monetary segments (5 - 1). This allows you to create an expression where you combine these three values and get a customer score. You can read more about creating expressions in the Expressions article.

The resulting score can be used in campaigns. For example, you can create a reactivation campaign for all 1xx customers or even separate reactivation campaigns for 11x and 15x customers - anything you need to launch the most effective campaign for the given segment.

It is can also be useful to create R, F, and M expressions separately, to be able to use the individual scores as well. These separate scores would not be in the format of 100-500 and 10-50 but only in 1-5, see below:

4. Create score-based segments

When you finally know RFM scores of all your customers, you can assign all of them into one of 11 segments. In the following image, you can see an example of how those segments can look like after you assign them their corresponding scores.

To do this last step, you need to roughly know which score belongs to which category. The table below tells you exactly that. However, remember that the table below might not be perfectly suited for all projects as your customer composition might drastically differ. Therefore, use the table as a starting point and if needed make the necessary adjustments.


You can only use 26 attributes per segmentation, so certain groups need to be divided into multiple segments - each made of a maximum of eight 3-digit (3-attribute) combinations. For example, the group of Potential Loyalists consists of 72 attributes (24 scores X 3 digits in each score), so you would need to create three groups for this segment: Potential Loyalists 1, Potential Loyalists 2, Potential Loyalists 3.




555, 554, 544, 545, 454, 455, 445


543, 444, 435, 355, 354, 345, 344, 335

Potential Loyalist

553, 551, 552, 541, 542, 533, 532, 531, 452, 451, 442, 441, 431, 453, 433, 432, 423, 353, 352, 351, 342, 341, 333, 323

New Customers

512, 511, 422, 421 412, 411, 311


525, 524, 523, 522, 521, 515, 514, 513, 425,424, 413,414,415, 315, 314, 313

Need Attention

535, 534, 443, 434, 343, 334, 325, 324

About To Sleep

331, 321, 312, 221, 213, 231, 241, 251

At Risk

255, 254, 245, 244, 253, 252, 243, 242, 235, 234, 225, 224, 153, 152, 145, 143, 142, 135, 134, 133, 125, 124

Cannot Lose Them

155, 154, 144, 214,215,115, 114, 113

Hibernating customers

332, 322, 231, 241, 251, 233, 232, 223, 222, 132, 123, 122, 212, 211

Lost customers

111, 112, 121, 131,141,151

Updated about a year ago

What´s next?

In the next article, we explain how should your approach differ when you communicate with each of the 11 segments of customers.

RFM segmentation - business use

RFM Segmentation

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.

We rely on cookies

to optimize our communication and to enhance your customer experience. By clicking on the Accept and Close button, you agree to the collection of cookies. You can also adjust your preferences by clicking on Manage Preferences. For more information please see our Privacy policy.

Manage cookies
Accept & close

Cookies preferences

Accept & close