Home  >  108 Data Analysis  >  108.30.10.20.20.10.10 Data Analysis - Segments - RFM - How to segment RFM

RFM - How to segment RFM

Step 1

To implement this model you must have RFM information on each individual customer like this:

customer_id recency_days frequency_times monetary_clv 1 3 6 540 2 6 10 940 3 45 1 30 4 21 2 64 5 14 4 169

Step 2

Then, for each of R/F/M sort the list in order by score and give each customer_id a score from 1-5.

Data note: In this example there are only 5 records, so each customer_id gets a unique score, but in most cases you will divide the groups evenly. E.g. if there are 100 customers, there will be 20 of them with each score.

R (ascending order) customer_id r_value r_score 1 3 5 2 6 4 5 14 3 4 21 2 3 45 1

F (descending order) customer_id f_value f_score 2 10 5 1 6 4 5 4 3 4 2 2 3 1 1

M (descending order) customer_id m_value m_score 2 940 5 1 540 4 5 169 3 4 64 2 3 30 1

Step 3

Put r_score on the x-axis. Put AVG(f_score + m_score) on y-axis.

In most cases, it seems that R & F are used to segment customers. In this case, as in the reference (1) I’m averaging (F+M)/2 because frequency and monetary value are closely related.

``` customer_id x_value y_value [1] 5 4 [2] 4 5 [3] 1 1 [4] 2 2 [5] 3 3

F/M

5 | [2] | 4 | [1] | 3 | [5] | 2 | [4] | 1 |[3] ————————- 1 2 3 4 5 R

```


Graph: