Sunday, August 9, 2015

RFM Segmentation


 Even though RFM segmentation is well known in retail industry, and basic premise is that by knowing recency, frequency and value of the purchase you can be in good position to start figuring out specific customer in terms of its value, purchasing behavior and its loyalties. However, same logic can be applied for any phenomena that we trying to predict. Therefore, knowing how often something happens, how recently its happened and its voracity – has same type of predictive power as it has in retail context. And whenever I used it for predictive modeling- RFM would always come as one of the top predictors. So, let me delve deeper in explaining basic principles of RFM method.

 

RFM segments the customer base based on recency of purchase (R), frequency of purchase (F) and monetary value (M). Recency parameter is the most powerful of the 3. In forecasting models latest time series often has the highest weighting and is the most predictive of the next forecasting value. Second most powerful is the frequency as long as the definition of the frequency is limited to last month or quarter and not over entire life-span of customer relationship. Least powerful is the monetary value. Since the total value in the period of time is directly correlated with frequency it is advisable to use an average value.

 

There are several different ways to calculate RFM groups and scores and below is the classic approach:

 

First create 5 segments based on the recency, dividing the data file into 5 exact quintiles, where the contacts with the most recent Transactions (i.e. in the top 20% of the file) are given a  recency value of 5, then the next 20% are given a recency value of 4 and so on. Then, each of those quintiles, segmented into 5 further quintiles based on the frequency value for each contact where the contacts with the highest transaction frequency value are of 5, then the next 20% is given a frequency value of 4 and so on.  Finally, each of these segments is then segmented into 5 further quintiles, based on the monetary value of each contact; i.e. the total amount which all that contact’s transactions add up to. Those contacts with the highest monetary values (i.e. in the top 20%), are given a monetary value of 5, then the next 20% are given a monetary value of 4 and so on.)  At the end of this process, you will have 125 segments with a RFM group between 111 and 555 with the same number of contacts within each segment; and each contact will have a RFM score of between 3 and 15.

 

An alternative approach is to still calculate RFM Groups/Scores using quintiles, but by using the Independent RFM Quintile approach, not just the recency but also the frequency and monetary values for each contact are calculated across the whole data file and are not dependent on any of the other values/RFM factors or any other quintile. Another approach is to use user-definable bands for each criterion (i.e. each RFM factor) in order to determine what recency, frequency and monetary value that should be given to each contact. Even-though RFM segmentation can be used on “stand-alone” basis, I always tend to incorporate it with other demographic and affinity variables in order to have more holistic view of the segment's make-up.

  

I have coined my own approach that I often use which is somewhat different of the classic approach and it goes in following way:\

       1.) Create variable Total Spend for for each customer

       2.) Create variable Total number of visits for each customer

       3.) Divide both variables into 3 equally spaced bins, based on frequency – 1st bin would be lowest    30% of all customers in regard to spending (and visits – separate variable)

       4.) Evaluate each customer in terms of in which group he belonged (for that time) in terms of his total spending, and total visits, and label him for that group (Example: variable “FRM_Spend_label”  would have values “L”, “M” and “H”. If amount of his total customer spending for 12m is within threshold fits within second bin – give him a value “M” (medium) in variable  “FRM_Spend_label”                         

        5.) Do the same thing for visits, creating a new variable “FRM_visit_variable”.

        6.) Do slightly different thing for “Recency” – starting from the same endpoint as it has been done for “spending” and visits – go behind only 3 months and not 12. Then, do the following: if customer did purchase in month 1 (the most recent month) give him a value “H”, if the most recent purchase was in month “2” – give him a value “M” and if the most recent purchase was in month “3” – give him value “L”.

Note – it might happen that most of a customers have some sort of purchase in all months in which case it would be advisable to raise threshold above “0”. In other words call the recent purchase only if monthly total is above some specified amount bigger than “0”.
         7.) Combine all three FRM dimensions together into single variable where values would be combinations of “H”, “M” and “L”. If value is “HLH” it would mean that customer falls in the top group of customers in terms of their number of visits to the stores, it means that customer wasn’t in the store (with purchase larger than…) for a month and it means that customer falls in the top group of customers in terms of their total monetary value that they bring to the company.

         8.) In last step I deploy “19 +1” rule, where i retain top 19 combinations based on its frequencies and all the other combinations I drop into “other” category, so that my FRM variable doesn’t have more than 20 distinct values.

Hope this helps!

41 comments:

  1. Quantitative data depicts the quality and can be scrutinized, but measuring it precisely is daunting enough; in contrast quantitative data can be easily measured and is depicted in number or amount. See more data mining clustering

    ReplyDelete
    Replies
    1. reat Article. Thank you for sharing! Really an awesome post for every one.

      IEEE Final Year projects Project Centers in India are consistently sought after. Final Year Students Projects take a shot at them to improve their aptitudes, while specialists like the enjoyment in interfering with innovation. For experts, it's an alternate ball game through and through. Smaller than expected IEEE Final Year project centers ground for all fragments of CSE & IT engineers hoping to assemble. Final Year Projects for CSE It gives you tips and rules that is progressively critical to consider while choosing any final year project point.

      JavaScript Online Training in India

      JavaScript Training in India

      The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training

      Delete
  2. Thanks for the good words! Really appreciated. Great post. I’ve been commenting a lot on a few blogs recently, but I hadn’t thought about my approach until you brought it up.
    Car Spa at Doorstep in Mumbai

    ReplyDelete
  3. I really appreciate information shared above. It’s of great help. If someone want to learn Online (Virtual) instructor lead live training in Data Mining, kindly contact us http://www.maxmunus.com/contact
    MaxMunus Offer World Class Virtual Instructor led training on Data Mining. We have industry expert trainer. We provide Training Material and Software Support. MaxMunus has successfully conducted 100000+ trainings in India, USA, UK, Australlia, Switzerland, Qatar, Saudi Arabia, Bangladesh, Bahrain and UAE etc.

    For Free Demo Contact us:
    Name : Arunkumar U
    Email : arun@maxmunus.com
    Skype id: training_maxmunus
    Contact No.-+91-9738507310
    Company Website –http://www.maxmunus.com


    ReplyDelete
  4. Nice Article, Croma Campus is the pioneer of instruction giving the big data Training in Noida

    ReplyDelete
  5. An alternative approach to finding a solution consists of several parts, http://www.custom-essay.ws/blog/college-essay-ideas.html but it is still a little easier and provides more voluminous data than the basic version.

    ReplyDelete
  6. Information of this kind will help you understand which sample really has great value and will help you make the right choice.

    ReplyDelete
  7. Thanks for your great and helpful presentation I like your good service.I always appreciate your post.That is very interesting I love reading and I am always searching for informative information like this.Well written article Thank You for Sharing with Us pmp training class in chennai | pmp training fee | project management training certification | project management training in chennai | project management courses in chennai

    ReplyDelete
  8. cheating playing cards in India

    Thanks For Sharing such beautiful information with us.I hope you will Share some more info about Cheating Playing in Delhi India.Please Keep Sharing...!

    ReplyDelete

  9. Very nice post here and thanks for it .I always like and such a super contents of these post.

    CEH Training In Hyderbad

    ReplyDelete
  10. Thanks For Sharing The Information The Information Shared Is Very Valuable Please Keep Updating Us Time Just Went On Reading The article Python Online Course Hadoop Online Course Aws Online Course Data Science Online Course

    ReplyDelete
  11. Thanks for sharing this great article. It made me understand few things about this concept which I never knew before. Keep posting such great articles so that I gain from it. Java Training in Chennai | J2EE Training in Chennai | Advanced Java Training in Chennai | Core Java Training in Chennai | Java Training institute in Chennai

    ReplyDelete
  12. very nice article ,Thanks For Sharing The Information The Information Shared Is Very Valuable Please Keep Updating Us Time Just Went On Reading .RFM (Recency, Frequency, Monetary) analysis is a proven marketing model for behavior based customer segmentation. It groups customers based on their transaction history – how recently, how often and how much did they buy. we are provider best data services like Data mining

    Data Appending

    data cleansing

    email marketing for B2B lead generation
    bizprospex

    ReplyDelete
  13. I would highly recommend Mr, Benjamin services to any person in need financial help and they will keep you on top of high directories for any further needs. Once again I commend yourself and your staff for extraordinary service and customer service, as this is a great asset to your company and a pleasant experience to customers such as myself. Wishing you all the best for the future.Mr, Benjamin is best way to get an easy loan,here is there email.. / lfdsloans@outlook.com  Or talk to Mr Benjamin On WhatsApp Via_+1-989-394-3740 Thank You for helping me with loan once again in my sincerely heart I'm forever grateful.

    ReplyDelete
  14. Great Article. Thank you for sharing! Really an awesome post for every one.

    IEEE Final Year projects Project Centers in India are consistently sought after. Final Year Students Projects take a shot at them to improve their aptitudes, while specialists like the enjoyment in interfering with innovation. For experts, it's an alternate ball game through and through. Smaller than expected IEEE Final Year project centers ground for all fragments of CSE & IT engineers hoping to assemble. Final Year Projects for CSE It gives you tips and rules that is progressively critical to consider while choosing any final year project point.

    JavaScript Online Training in India

    JavaScript Training in India

    The Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training

    ReplyDelete