Brian: You’re all different!
The Crowd: Yes, we ARE all different!
Monty Python’s Life of Brian
Can you segment employees as we do with customers, so that activities like talent development improve and correspond to each employee’s profile?
In this post, I show you in a very practical example how we’ve brought a classic marketing technique to the people analytics environment.
At the end of the post, don’t miss the takeaways of the What is in it for me section.
1. Marketing Saw It First
We already know that often, HR analysis and marketing go hand in hand. Once again, we’re going to follow the trail blazed by marketing. For more information, see my post on the 12 Things that People Analytics Learned from Marketing.
Marketing campaigns can be costly, time-consuming, and worst of all, ineffective. Too many companies waste valuable resources on customers and employees who probably won’t respond as expected, simply because the segmentation wasn’t done right.
RFM analysis, short for Recency, Frequency and Monetary value, is one of the customer segmentation methods that is easiest to deploy and, at the same time, returns the best results. We are showing how to apply it to the “internal customers,” a.k.a the employees of an organization.
2. Monty Python’s Life of Brian: “You Are All Different”
All this segmentation talk brings to mind a scene from Monty Python’s Life of Brian. The film tells the story of Brian Cohen, a young Jewish man who is born on the same day as Jesus Christ and is subsequently mistaken for the Messiah.
“You are all Different”. An illustration by Marisa Echarri
The film contains religious satire that was controversial when it was released in 1979. Some countries, including Ireland and Norway, banned its showing. Of course, censorship contributed to its spread.
The Swedish even marketed the film as: “So funny it was banned in Norway.”
During a moment of improvised preaching, Brian addresses the crowd, who believes he is the Messiah:
Brian: Please, please, please listen! I’ve got one or two things to say.
The Crowd: Tell us! Tell us both of them!
Brian: Look, you’ve got it all wrong! You don’t NEED to follow ME, You don’t NEED to follow ANYBODY! You’ve got to think for your selves! You’re ALL individuals!
The Crowd: Yes! We’re all individuals!
Brian: You’re all different!
The Crowd: Yes, we ARE all different!
Man in crowd: I’m not…
The Crowd: Shh!
3. Recency, Frequency, and Monetary value
RFM analysis is one of the customer segmentation methods that is easiest to deploy and, at the same time, returns the best results.
We can determine who our best clients are by using three metrics: recency (R), frequency (F), and monetary value (M).
These three metrics are the most important factors in client segmentation:
- Recency (R): days elapsed since the last purchase. Customers who have recently made purchases are more likely to buy new products.
- Frequency (F): the number of purchases over a period. Customers who have purchased more products are more likely to buy new ones.
- Monetary value (M): that is, the total amount of money they’ve spent over a period.
4. Do It Yourself with R. The Real-state Example
The RFM technique is widely used in marketing, but traditionally it hasn’t been applied in any other field. We’ve transferred this technique to the field of people analytics, specifically to salespeople.
This way, you can classify employees in a specific organization based on the three basic parameters of the RFM analysis.
In this case, we’ve applied the analysis to real estate agents, in order to implement customized training and economic compensation plans according to each agent’s performance.
Note: If you don’t know R, don’t worry. I’ll talk you through each step so you have a conceptual understanding of what we’re doing. The end result and its implications, which I’ll describe later in this article, is very interesting and has tangible applications to how we manage people!
The script is very simple. It needs no extra packages.
Load the dataset (rfm-relastate.csv) in RStudio and apply:
rfm <- read.csv(“rfm-realstate.csv”, sep=”;”, encoding = “utf-8”)
There are 127 employeed in the dataset.
$ R – Date of the last sale. We are dealing with this
$ F– Number of sales since
$ M – Total amount sold
This is how the original file looks like:
From now on, we develop a ranking based on the three RFM variables, assigning a value to each employee according to which group they are in. In this case, the values of each variable are divided into four groups of equal size.
We will need some data transformation.
To begin with, we are subtracting the last date of sale to the current date to obtain the days that have passed since the last sale
rfm$R <- as.Date(as.character(“21/02/2017″), format=”%d/%m/%Y”) – as.Date(as.character(rfm$R), format=”%d/%m/%Y”)
rfm$R <- as.numeric(rfm$R)
Then, we aggregate and creating the necessary R, F and M variables
rfm.R = aggregate(rfm[,6],list(rfm$EmployeeID),min)
rfm.F = aggregate(rfm[,7],list(rfm$EmployeeID),min)
rfm.M = aggregate(rfm[,8],list(rfm$EmployeeID),sum)
We combine the R, F and M columns into a single dataframe
temp=merge(rfm.R, rfm.F, “EmployeeID”)
We create the segments for every variable (4 in this case)
RFM$rankR <- cut(RFM$Recency, quantile(RFM$Recency, probs=0:4/4),labels=FALSE, include.lowest=TRUE)
RFM$rankF <- cut(RFM$Frequency, quantile(RFM$Frequency, probs=0:4/4),labels=FALSE, include.lowest=TRUE)
RFM$rankM <- cut(RFM$Monetary, quantile(RFM$Monetary, probs=0:4/4),labels=FALSE, include.lowest=TRUE)
As a result, an employee who scores in the top 25% in terms of sale recency, the 25% of most frequent sales, and the 25% of total sales value, would belong to segment 444, the best group.
The highest values of each variable correspond to the most favorable segments, so the more recent the sale, the higher the number in the recency segment; the higher the sales frequency, the higher the number in the Frequency segment; and the higher the value of the agents’ sales, the higher the number in the Monetary segment.
Although we chose 4 levels (with quartiles), it is quite common to work with 5 levels (quintiles) and 10 levels (deciles).
We obtain 4 * 4 * 4 (64) groups according to this segmentation.
RFM analysis is an extremely useful tool, which quickly provides excellent results. In addition, it’s a very simple method to deploy.
5. What is in it for me?
Let’s see some examples, so that you can figure out how to apply it to your own organization.
5.1 Talent Management
RFM can contribute to answer some questions in the area of Talent Management. Such as:
- Which employees should be promoted?
- In order to get to the next level in their career, which actions should employees take?
RFM segmentation helps organizations make decisions in career path planning according to the evolution of employees in their RFM segmentation.
More often than not, there are meaningful patterns in the RFM segmentation when we analyze the progress in time of employees across RFM groups.
Evolution in time
We have to look at the evolution of people in their RFM-based grouping because an RFM model is a snapshot of employee (or customer) behavior from a current perspective. You’ll need to repeat the analysis in different phases and use the results to show how employees move between the different categories. This provides more depth than a single result.
The easiest way is to create a simple data file that saves the RFM scores for each customer by date. Using simple queries, you can extract the temporary RFM scores for individual clients or customer groups over time.
Training and Development
Developing a training program requires knowing what type of training is needed. RFM segmentation can turn into a suitable tool for matching different types and levels of training to the right profile of people.
5.2 RFM as an Objective Type of Performance Measurement
RFM could be added to the list of performance metrics as a composite of three different objective metrics (see Six Methods to measure performance).
As a result, a number of algorithms could be run using RFM as a dependent, or outcome variable.
For example, you could be analyzing different forms of onboarding according to their effectiveness to raise people to the upper segments of RFM or calculating with a logistic regression if a point more of engagement brings about meaningful rises at RFM.
And, obviously, the other way round, RFM (and especially the evolution of RFM) can be a good predictor (independent variable) of turn-over or engagement.
The Winner Takes it All
RFM is just one seasoned type of segmentation. In our HR practice, RFM should be competing with other forms of socio-demographic segmentations (like age, sex, position, salary), or different forms of cluster analysis.
Whatever segmentation we carry out, at the end of the day, it will only be practical to the extent that it helps better explain relevant indicators that impact the bottom-line of the business.
A good deal of trial and error looms in the horizon. I promise to publish something about our own practice of the benchmarking of different segmentations in a new post, where I will be pitching the results of RFM against a variety of clustering-based segmentation, in order to obtain better models that explain performance, engagement or turnover.