Powered By Blogger

Thursday, September 16, 2010

Customer File Segmentation Simplified: Generic RFM Scoring Equation

This approach is easier to execute and more effective than traditional RFM cell segmentation.

When direct marketers send offers and promotions to customers on their database, there needs to be some segmentation done to rank which customers should receive the communication and which should not.   Typically for many direct marketing companies this involves the use of RFM cells to segment customers.  This methodology looks at customer (R)ecency or how long since the customer last ordered, (F)requency or how many timed they have ordered and (M)onetary or how much they have spent.  The cells are are then defined by these three attributes.  So you might have a cell of customers who purchased within the last six months, ordered 2 times and have spent over $200.  As the cells get more granularly defined, the number of cells increases dramatically.  For example, if you use five categories each to describe recency, frequency and monetary, you will have a total of 125 cells to wrestle with.  Another issue with RFM cells is it is not always easy to sort the cells from best to worst probability of response.  As a result it can be difficult to evaluate at what point customers should not be sent the offer.  While this methodology is core to segmenting a customer file there are issues associated with its use as described above.
A variant of the cell segmentation is to use an equation to convert the RFM information into a score.  The score can then be used in the same way to sort customers from most likely to respond to least likely.  But unlike the cells, the customers can now be sorted into “deciles” allowing for efficient determination of who should and should not be promoted.  The equation that I have used numerous times is as follows:

Score = (R) -1 * (F+1) * (M+1) .5

Notes:
R = Months since last purchase
F = Number of times purchased last 12 months
M = Cumulative dollars purchased across life

Example of use:

Customer placed one order in last twelve months, ordered 7 (seven) months ago, and has lifetime purchases of $500.

Score     = (1+1) * (7)-1 * (500+1) .5
= 2 * 0.142857 * 22.38303
                = 6.395151

Customer has not ordered in last 12 months, customer ordered 24 months ago, lifetime purchases of $250.

Score     = 1 * (24) -1 * (250+1) .5
                = 1 * 0.041667 * 15.84298
                = 0.660124

Once the customers have been scored, then next step is to sort them into deciles.  This is done by sorting all the customer scores from highest to lowest, and noting what score range represents the top 10% of your file.  Then do the same for next 10% until you reach the bottom.  Then use these ranges to assign customers to the corresponding decile that their score falls into.  Then each time you score the customer file use the same ranges to assign customers to their decile.

You can back test to find the appropriate break point to stop promoting.  Once this method has been used for a number of mails, you will gain insights as to what decile you should mail to depending on seasonality and offer.  I have found this methodology works almost as well as customer regression modeling, but can be implemented quickly (days) and costs nothing to develop other than some simple code writing.  In addition it greatly simplifies the extraction process of customers to include in your mailing while also providing easier reporting of response performance versus expectation.

Feel free to contact me at this blog if you have questions on implementing this simplified segmentation approach.

2 comments:

  1. So you do not redo the decile breaks each time as that may shift? Then would the deciles not be in 10 even breaks? or is that to see how they start shifting after mailings?

    ReplyDelete
  2. I recommend not to redo the breaks for a couple of reasons, one: the "quality" of the deciles remains constant and should perform similarly to previous seasons and two: the migration of customers up and down can be monitored more easily. It also makes the forecasting of expected performance a bit more accurate too.

    Good question!

    ReplyDelete