RFM Analysis

MaheswaraReddy
5 min readJul 4, 2021

--

RFM analysis approach is used to understand and monitor consuming behaviors of Customers. It is quite popular, especially in the retail industry. As its name implies, it involves the calculation of three core KPIs,

1). Recency — time since the last purchase transaction

2). Frequency — number and the rate of the purchase transactions

3). Monetary value — Total or the average amount per time unit

These summarize corresponding dimensions of the customer relationship with the enterprise.

RFM analysis is used to identify good customers with the help of the above KPI’s who generally tend to be good prospects for additional purchases. It can also identify other purchase patterns and respective customer types of interest, such as infrequent big spenders or customers with small but frequent purchases who might also have sales perspectives, depending on the market and the specific product promoted.

Apart from the customer segmentation, we can calculate the engagement score. If we multiple the weights and scores corresponding to KPI’s or addition of scores corresponding to KPI’s.

Let me explain the difference between RFM analysis and Traditional analysis methods before going through an example.

Instead of theory, I always like to understand any concept with the example. So that it hits sweet spot of my mind or else I leave it as a bouncer delivery.

Step 1:

Data with recency, frequency and Monetary Values are drafted down.

Step 2:

Need to decide how many clusters we need for each group i.e for recency, frequency and for Monetary Values. So, if we need 4 clusters then we have to calculate quartiles of data. Min to 1st quartile will be awarded with 1. 1st quartile to 2nd quartile will be awarded with 2. 2nd quartile to 3rd quartile will be awarded as 3 and 3rd quartile to max value will be awarded as 4. If we need 5 clusters then quintiles (20% of data) can be considered. If we need more clusters, we have to consider percentile of data to segregate. But if we create more clusters for each recency, frequency and Monetary values, interpretation will be difficult. If we have 4 clusters then we will have 4*4*4 i.e 64 combinations, if it is 5 clusters the new will have 5*5*5 = 125 combinations i.e 125 clusters will be there. Now you can imagine how the combination will be if we increase the clusters in individual columns.

If we are using machine learning, then we can use K-Means clustering to identify the optimum number of clusters.

Our immediate task is to find the quartiles of the data. In this case I am considering 4 segments.

Step 3:

Depending on the above quartile data, original data must be segregated. After segregation we will get below table.

Step 4:

After segregation as per columns, then we can give weightage to each column and then multiply with each cell with weight.

Recency weight for this explanation = 100

Frequency weight = 10

Monetary Value Weight = 1

Score = Recency Weight * Recency+ Frequency Weight * Frequency+ Monetary Value weight * Monetary Value

Calculation for Customer ID 1:

Score = 100 * 1 + 10 * 1 + 1 * 123 = 233

All the customers data will be shown in the below table.

Sorted table as per Engagement Score:

So, Customer 9 is loyal customer, followed by 5 and 10.

Here our intuitions must come and interpret the results, how our enterprise want the results.

Last column i.e score column can be considered as engagement score or propensity score. If we want to classify them as clusters then we can calculate the percentiles for score column and classify them as segments. After segmentation we can give better name to the clusters like 4 as loyal customers, 1 as churners etc.

Another method is, we can give names to each column then interpret the results,

4 in recency column as Most Recent Customer, 4 in Frequency as Most Frequenter, 4 in Monetary value as Highest Amount Buyer.

So if we get 4 in each column, then we can say the customer as Most Recent, Most Frequent High Valued Customer. we must consider this type of customers as top customers we have to concentrate.

Depending on the business requirements we must choose score or segmentation on score or individual segmentation and interpret the results.

To improve furthermore to RFM, We can consider “Purchase Frequency” as one more column, Purchase Frequency is nothing but number of days between each transaction. And one more column “Response” can be included, this shows how many addons has been purchased with normal purchase.

--

--