1 Measuring the value of a customer within the RFM framework.

  1. Measure the recency, frequency, and monetary value of customer purchases.
  2. Set a score to rank customers according to their purchase recency, frequency, and monetary value.
  3. Calculate the overall RFM score.
  4. Analyze RFM group differences.

The data:

1.1 Step 1: Measure the recency, frequency, and monetary value

All RFM measures have to be measured on the individual customer level:

  • Recency = difference in days between the latest purchase and today.
  • Frequency = number of transactions.
  • Monetary Value = average amount spent per transaction.

-------------------------------------------
 Customer   recency   frequency   monetary 
---------- --------- ----------- ----------
  149332     2257         3          92    

  172951     1411         4         222    

  120621     1878         1         100    

  149236     2007         2          60    

  140729      225         6          67    

  180970     1269         2          74    
-------------------------------------------

Table: RFM Values

1.2 Step 2 : Set a score to rank customers

  • Recency: The higher the recency measure, the lower the score.

  • Frequency: The higher the frequency measure, the higher the score.

  • Monetary Value: The higher the monetary value measure, the higher the score.


-------------------------------------------
 Customer   recency   frequency   monetary 
---------- --------- ----------- ----------
  149332       1          3          3     

  172951       2          3          3     

  120621       1          1          3     

  149236       1          2          2     

  140729       3          3          2     

  180970       2          2          2     
-------------------------------------------

Table: RFM scores

1.3 Step 3 : Calculate the overall RFM score

RFM scores can be either unweighted or weighted:

  • The unweighted score takes the simple average over all scores.
  • The weighted score takes a weighted average over the scores, e.g. 60-20-20.

1.3.1 An unweighted overall score for all customers

\(RFM.Score(unweigthed) = 1/3*recency + 1/3*frequency + 1/3*monetary\)

1.3.2 A weighted overall score which weighs frequency more heavily

\(RFM.Score(weigthed) = 0.2*recency + 0.6frequency + 0.2*monetary\)

1.4 Step 4 : Analyze RFM group differences

Based on their RFM scores, customers can be divided into target groups.

Customers with the maximal score:

LS0tCnRpdGxlOiAiUiAtIEJleW9uZCB0aGUgQmFzaWNzIgphdXRob3I6Ci0gRXhlcmNpc2UgMwotIFRoZSBSRk0gTW9kZWwKZGF0ZTogIkZlYnJ1YXJ5IDZ0aCwgMjAxNyIKb3V0cHV0OgogIGh0bWxfbm90ZWJvb2s6CiAgICBudW1iZXJfc2VjdGlvbnM6IHllcwogICAgdGhlbWU6IGNvc21vCiAgICB0b2M6IHllcwojICAgIHRvY19mbG9hdDogeWVzCiAgaHRtbF9kb2N1bWVudDoKICAgIHRvYzogeWVzCi0tLQoKCiMgTWVhc3VyaW5nIHRoZSB2YWx1ZSBvZiBhIGN1c3RvbWVyIHdpdGhpbiB0aGUgUkZNIGZyYW1ld29yay4KMS4gTWVhc3VyZSB0aGUgcmVjZW5jeSwgZnJlcXVlbmN5LCBhbmQgbW9uZXRhcnkgdmFsdWUgb2YgY3VzdG9tZXIgcHVyY2hhc2VzLiAKMi4gU2V0IGEgc2NvcmUgdG8gcmFuayBjdXN0b21lcnMgYWNjb3JkaW5nIHRvIHRoZWlyIHB1cmNoYXNlIHJlY2VuY3ksIGZyZXF1ZW5jeSwgYW5kIG1vbmV0YXJ5IHZhbHVlLiAKMy4gQ2FsY3VsYXRlIHRoZSBvdmVyYWxsIFJGTSBzY29yZS4gCjQuIEFuYWx5emUgUkZNIGdyb3VwIGRpZmZlcmVuY2VzLiAKClRoZSBkYXRhOgpgYGB7ciBQcmVwYXJhdGlvbnMsIGVjaG89Riwgd2FybmluZz1GQUxTRSwgcmVzdWx0cz0naGlkZScsIGluY2x1ZGU9Rn0KI1NldCB3b3JraW5nIGRpcmVjdG9yeSAgIyMjIwpzZXR3ZCgifi9Ecm9wYm94L1IgLSBCZXlvbmQgdGhlIGJhc2ljcy9MZWN0dXJlcy9kYXRhIikKCiNJbnN0YWxsIChpZiBuZWNlc3NhcnkpIGFuZCBsb2FkIHRoZSBmb2xsb3dpbmcgcGFja2FnZXMuICMjIyMKbGlicmFyeShkYXRhLnRhYmxlKQpsaWJyYXJ5KGx1YnJpZGF0ZSkKbGlicmFyeShIbWlzYykKbGlicmFyeShnZ3Bsb3QyKQpsaWJyYXJ5KGdyaWQpCmxpYnJhcnkoZ3JpZEV4dHJhKQojaW5zdGFsbC5wYWNrYWdlcygia25pdHIiKQpsaWJyYXJ5KGtuaXRyKQojaW5zdGFsbC5wYWNrYWdlcygieHRhYmxlIikKbGlicmFyeSh4dGFibGUpCiNpbnN0YWxsLnBhY2thZ2VzKCJwYW5kZXIiKQpsaWJyYXJ5KHBhbmRlcikKCiNSZWFkIGluIHRoZSBkYXRhIHRyYW5zYWN0aW9ucy5jc3YuICMjIyMKdHJhbnNhY3Rpb25zIDwtIGZyZWFkKCJ0cmFuc2FjdGlvbnMuY3N2IikKCiNCcmluZyB0aGUgZGF0ZSBpbnRvIFBPU0lYY3QgZm9ybWF0LiAjIyMjCnRyYW5zYWN0aW9uc1ssIFRyYW5zRGF0ZTo9ZG15KFRyYW5zRGF0ZSwgdHo9IlVUQyIpXQpgYGAKYGBge3IgRGF0YSwgZWNobz1GfQojaGVhZCh0cmFuc2FjdGlvbnMpCmBgYAoKIyMgU3RlcCAxOiBNZWFzdXJlIHRoZSByZWNlbmN5LCBmcmVxdWVuY3ksIGFuZCBtb25ldGFyeSB2YWx1ZQpBbGwgUkZNIG1lYXN1cmVzIGhhdmUgdG8gYmUgbWVhc3VyZWQgb24gdGhlIGluZGl2aWR1YWwgY3VzdG9tZXIgbGV2ZWw6IAoKKiBSZWNlbmN5ID0gZGlmZmVyZW5jZSBpbiBkYXlzIGJldHdlZW4gdGhlIGxhdGVzdCBwdXJjaGFzZSBhbmQgdG9kYXkuIAoqIEZyZXF1ZW5jeSA9IG51bWJlciBvZiB0cmFuc2FjdGlvbnMuIAoqIE1vbmV0YXJ5IFZhbHVlID0gYXZlcmFnZSBhbW91bnQgc3BlbnQgcGVyIHRyYW5zYWN0aW9uLiAKCgpgYGB7ciBTdGVwIDEsIGVjaG89Rn0KI1NhdmUgdGhlIGxhdGVzdCB0cmFuc2FjdGlvbiBhcyB0aGUgb2JqZWN0IG5vdyBpbiB5b3VyIFIgZW52aXJvbm1lbnQuICMjIyMKbWF4LkRhdGUgPC0gbWF4KHRyYW5zYWN0aW9uc1ssIFRyYW5zRGF0ZV0pCgojQ3JlYXRlIGEgbmV3IGRhdGEudGFibGUgY2FsbGVkIHJmbS4gIyMjIwojdGhhdCBpbmNsdWRlcyB0aGUgY3VzdG9tZXIgSUQsIGFzIHdlbGwgYXMgdGhlIG1lYXN1cmVzIGZvciBwdXJjaGFzZSByZWNlbmN5LCBmcmVxdWVuY3kgYW5kIG1vbmV0YXJ5IHZhbHVlLgpyZm0gPC0gdHJhbnNhY3Rpb25zWyxsaXN0KAogICAgcmVjZW5jeSA9IGFzLm51bWVyaWMobWF4LkRhdGUgLSBtYXgoVHJhbnNEYXRlKSksICNyZWNlbmN5ID0gZGlmZmVyZW5jZSBiZXR3ZWVuIGxhdGVzdCB0cmFuc2FjdGlvbiBhbmQgInRvZGF5IgogICAgZnJlcXVlbmN5ID0gLk4sICNmcmVxdWVuY3kgPSBudW1iZXIgb2YgdHJhbnNhY3Rpb25zCiAgICBtb25ldGFyeSA9IG1lYW4oUHVyY2hBbW91bnQpKSwgI21vbmV0YXJ5ID0gYXZlcmFnZSBhbW91bnQgc3BlbnQgcGVyIHRyYW5zYWN0aW9uCiAgICBieT0iQ3VzdG9tZXIiCiAgXQpwYW5kZXIoaGVhZChyZm0pLCBmb3JtYXQ9Imh0bWwiLCBjYXB0aW9uPSJSRk0gVmFsdWVzIiwgZGlnaXRzID0yKQpgYGAKCmBgYHtyIFBsb3QgUkZNIHZhbHVlcywgZWNobz1GLCB3YXJuaW5nPUZ9CmJsdWUgPC0gcmdiKDAsIDAsIDE1NSwgbWF4Q29sb3JWYWx1ZSA9IDI1NSkKZ3JlZW4gPC0gcmdiKDAsIDE3NiwgODAsIG1heENvbG9yVmFsdWUgPSAyNTUpCnJlZCA8LSByZ2IoMjU1LCAwLCAwLCBtYXhDb2xvclZhbHVlID0gMjU1KQoKIyBQbG90IGhpc3RvZ3JhbXMuCnBsb3QxIDwtIGdncGxvdChyZm0sIGFlcyhyZWNlbmN5KSkgKyBnZW9tX2hpc3RvZ3JhbShmaWxsPWJsdWUpICsgCiAgbGFicyh0aXRsZSA9ICJIaXN0b2dyYW06IFxuUmVjZW5jeSIsIHggPSAiUmVjZW5jeSIsIHkgPSAiQ291bnQiKQpwbG90MiA8LSBnZ3Bsb3QocmZtLCBhZXMoZnJlcXVlbmN5KSkgKyBnZW9tX2hpc3RvZ3JhbShmaWxsPWdyZWVuKSArCiAgbGFicyh0aXRsZSA9ICJIaXN0b2dyYW06IFxuRnJlcXVlbmN5IiwgeCA9ICJGcmVxdWVuY3kiLCB5ID0gIkNvdW50IikKcGxvdDMgPC0gZ2dwbG90KHJmbSwgYWVzKG1vbmV0YXJ5KSkgKyBnZW9tX2hpc3RvZ3JhbShmaWxsPXJlZCkgKwogIGxhYnModGl0bGUgPSAiSGlzdG9ncmFtOiBcbk1vbmV0YXJ5IFZhbHVlIiwgeCA9ICJNb25ldGFyeSBWYWx1ZSIsIHkgPSAiQ291bnQiKSAgCgojIEFycmFuZ2UgYWxsIHRocmVlIGhpc3RvZ3JhbXMgaW4gb25lIHBpY3R1cmUuCmdyaWQuYXJyYW5nZShwbG90MSwgcGxvdDIsIHBsb3QzLCB0b3A9dGV4dEdyb2IoIkRhdGEgT3ZlcnZpZXcgLSBSRk0gTWVhc3VyZXMiLGdwPWdwYXIoZm9udHNpemU9MjAsZm9udD0yKSksIG5jb2w9MykKCiMgQ2xlYXIgd29ya2luZyBlbnZpcm9ubWVudApybShwbG90MSwgcGxvdDIsIHBsb3QzKQpgYGAKCgojIyBTdGVwIDIgOiBTZXQgYSBzY29yZSB0byByYW5rIGN1c3RvbWVycyAKCiogUmVjZW5jeToKVGhlIGhpZ2hlciB0aGUgcmVjZW5jeSBtZWFzdXJlLCB0aGUgbG93ZXIgdGhlIHNjb3JlLgoKKiBGcmVxdWVuY3k6ClRoZSBoaWdoZXIgdGhlIGZyZXF1ZW5jeSBtZWFzdXJlLCB0aGUgaGlnaGVyIHRoZSBzY29yZS4KCiogTW9uZXRhcnkgVmFsdWU6ClRoZSBoaWdoZXIgdGhlIG1vbmV0YXJ5IHZhbHVlIG1lYXN1cmUsIHRoZSBoaWdoZXIgdGhlIHNjb3JlLgoKCmBgYHtyIFN0ZXAgMiwgZWNobz1GfQpyZm1fc2NvcmVzIDwtIHJmbVssbGlzdChDdXN0b21lciwKICAgICAgICAgICAgICAgICAgICAgICAgcmVjZW5jeSA9IGFzLm51bWVyaWMoY3V0MigtcmVjZW5jeSwgZz0zKSksCiAgICAgICAgICAgICAgICAgICAgICAgIGZyZXF1ZW5jeSA9IGFzLm51bWVyaWMoY3V0MihmcmVxdWVuY3ksIGc9MykpLAogICAgICAgICAgICAgICAgICAgICAgICBtb25ldGFyeSA9IGFzLm51bWVyaWMoY3V0Mihtb25ldGFyeSwgZz0zKSkKKV0KcGFuZGVyKGhlYWQocmZtX3Njb3JlcyksIGNhcHRpb249IlJGTSBzY29yZXMiLCBmb3JtYXQ9Imh0bWwiKQpgYGAKCmBgYHtyIFBsb3Qgc2NvcmVzLCBlY2hvPUZ9CgojUGxvdCBoaXN0b2dyYW1zLiAjIyMjCnBsb3QxIDwtIGdncGxvdChyZm1fc2NvcmVzLCBhZXMocmVjZW5jeSkpICsgZ2VvbV9oaXN0b2dyYW0oZmlsbD1ibHVlLCBiaW53aWR0aCA9IDAuNSkgKyAKICBsYWJzKHRpdGxlID0gIkhpc3RvZ3JhbTogXG5SZWNlbmN5IFNjb3JlIiwgeCA9ICJSZWNlbmN5IFNjb3JlIiwgeSA9ICJDb3VudCIpICsKICBzY2FsZV94X2Rpc2NyZXRlKGxpbWl0cz1jKDEsMiwzKSkKcGxvdDIgPC0gZ2dwbG90KHJmbV9zY29yZXMsIGFlcyhmcmVxdWVuY3kpKSArIGdlb21faGlzdG9ncmFtKGZpbGw9Z3JlZW4sIGJpbndpZHRoID0gMC41KSArCiAgbGFicyh0aXRsZSA9ICJIaXN0b2dyYW06IFxuRnJlcXVlbmN5IFNjb3JlIiwgeCA9ICJGcmVxdWVuY3kgU2NvcmUiLCB5ID0gIkNvdW50IikgKwogIHNjYWxlX3hfZGlzY3JldGUobGltaXRzPWMoMSwyLDMpKQpwbG90MyA8LSBnZ3Bsb3QocmZtX3Njb3JlcywgYWVzKG1vbmV0YXJ5KSkgKyBnZW9tX2hpc3RvZ3JhbShmaWxsPXJlZCwgYmlud2lkdGggPSAwLjUpICsKICBsYWJzKHRpdGxlID0gIkhpc3RvZ3JhbTogXG5Nb25ldGFyeSBWYWx1ZSBTY29yZSIsIHggPSAiTW9uZXRhcnkgVmFsdWUgU2NvcmUiLCB5ID0gIkNvdW50IikgKwogIHNjYWxlX3hfZGlzY3JldGUobGltaXRzPWMoMSwyLDMpKQoKIyBBcnJhbmdlIGFsbCB0aHJlZSBoaXN0b2dyYW1zIGluIG9uZSBwaWN0dXJlLgpncmlkLmFycmFuZ2UocGxvdDEsIHBsb3QyLCBwbG90MywgdG9wPXRleHRHcm9iKCJEYXRhIE92ZXJ2aWV3IC0gUkZNIFNjb3JlcyIsZ3A9Z3Bhcihmb250c2l6ZT0yMCxmb250PTIpKSwgbmNvbD0zKQoKIyBDbGVhciB3b3JraW5nIGVudmlyb25tZW50CnJtKHBsb3QxLCBwbG90MiwgcGxvdDMpCgpgYGAKCgojIyBTdGVwIDMgOiBDYWxjdWxhdGUgdGhlIG92ZXJhbGwgUkZNIHNjb3JlClJGTSBzY29yZXMgY2FuIGJlIGVpdGhlciB1bndlaWdodGVkIG9yIHdlaWdodGVkOiAgCgoqIFRoZSB1bndlaWdodGVkIHNjb3JlIHRha2VzIHRoZSBzaW1wbGUgYXZlcmFnZSBvdmVyIGFsbCBzY29yZXMuIAoqIFRoZSB3ZWlnaHRlZCBzY29yZSB0YWtlcyBhIHdlaWdodGVkIGF2ZXJhZ2Ugb3ZlciB0aGUgc2NvcmVzLCBlLmcuIDYwLTIwLTIwLiAKCgojIyMgQW4gdW53ZWlnaHRlZCBvdmVyYWxsIHNjb3JlIGZvciBhbGwgY3VzdG9tZXJzCiRSRk0uU2NvcmUodW53ZWlndGhlZCkgPSAxLzMqcmVjZW5jeSArIDEvMypmcmVxdWVuY3kgKyAxLzMqbW9uZXRhcnkkCmBgYHtyIFVud2VpZ2h0ZWQgc2NvcmUsIGVjaG89RiwgcmVzdWx0cz0naGlkZSd9CnJmbV9zY29yZXNbLG92ZXJhbGw6PXJlY2VuY3kvMyArIGZyZXF1ZW5jeS8zICsgbW9uZXRhcnkvM10KYGBgCmBgYHtyIFBsb3Qgc2NvcmVzIDIsIGVjaG89Rn0KaGVhZChyZm1fc2NvcmVzKQpgYGAKCgojIyMgQSB3ZWlnaHRlZCBvdmVyYWxsIHNjb3JlIHdoaWNoIHdlaWdocyBmcmVxdWVuY3kgbW9yZSBoZWF2aWx5CiRSRk0uU2NvcmUod2VpZ3RoZWQpID0gMC4yKnJlY2VuY3kgKyAwLjZmcmVxdWVuY3kgKyAwLjIqbW9uZXRhcnkkCgpgYGB7ciBXZWlnaHRlZCBzY29yZSwgZWNobz1GLCByZXN1bHRzPSJoaWRlIn0KcmZtX3Njb3Jlc1ssd2VpZ2h0ZWQxOj0wLjIqcmVjZW5jeSArIDAuNipmcmVxdWVuY3kgKyAwLjIqbW9uZXRhcnldCmBgYApgYGB7ciBQbG90IHNjb3JlcyAzLCBlY2hvPUZ9CmhlYWQocmZtX3Njb3JlcykKYGBgCgoKIyMgU3RlcCA0IDogQW5hbHl6ZSBSRk0gZ3JvdXAgZGlmZmVyZW5jZXMKQmFzZWQgb24gdGhlaXIgUkZNIHNjb3JlcywgY3VzdG9tZXJzIGNhbiBiZSBkaXZpZGVkIGludG8gdGFyZ2V0IGdyb3Vwcy4KCkN1c3RvbWVycyB3aXRoIHRoZSBtYXhpbWFsIHNjb3JlOgpgYGB7ciBTdGVwIDQsIGVjaG89Rn0KcmZtX2dyb3VwcyA8LSByZm1fc2NvcmVzWyxsaXN0KAogIEN1c3RvbWVyLAogIGdyb3VwX292ZXJhbGw9cm91bmQob3ZlcmFsbCksCiAgZ3JvdXBfd2VpZ2h0ZWQxPXJvdW5kKHdlaWdodGVkMSkpXQoKI0dldCBiZXN0IGN1c3RvbWVycwpoZWFkKHJmbV9zY29yZXNbb3ZlcmFsbCA9PSBtYXgob3ZlcmFsbCksXSkKYGBgCgo=