-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathREADME.Rmd
89 lines (58 loc) · 5.54 KB
/
README.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
---
output: github_document
---
<!-- README.md is generated from README.Rmd. Please edit that file -->
```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README",
out.width = "100%"
)
```
# [RFM Analysis Application.](www.shinyio.com)
<!-- badges: start -->
[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)
<!-- badges: end -->
### Introduction
RFM (Recency, Frequency, Monetary) analysis is a marketing technique or an analysis
tool used to separate customers into various groups or clusters to identify not just valuable customer but also customers that needs to be re-engaged. RFM marketing models is proven to be an effective tool in behavior based customer segmentation which help to distinguish customers who are more likely to respond to a promotion or make a purchase.
RFM model binds three different customer features to rank customers these are::
**Recency** : This is the period of time since the customer last made a purchase or a contact with the business. Customers who have made recent transactions are rated higher than those who have not made a any transaction recently. The term recent of course varies for different business, some considers 5 days as recent e.g. retail while some consider 3-4 year as recent e.g car dealers.
**Frequency** : This attribute measure how often a customer transact with the business during a particular period of time. One important aspect of this feature is that it shows customer level of engagement and loyalty to the business. highly frequent customers are highly rated than those who are less frequent.
**monetary** : This is the total amount of money spent by customers purchasing products or services during a particular period of time. Customers that spend more generate more revenue for the business so they are considered more valuable to the business than low spenders.
<br>
#### Reason for the application
Given that it cost 5 times more to gain a new customer than to retain an existing one, it is very important to understand and nurture existing customers. This RFM app seeks to achieve the former by automating the process involved in performing customer segmentation using The RFM model. One important thing does is that it reduces the amount of time it take to move from a raw transaction data to extracting important business insight on how to enhance customer satisfaction and ROI.
#### Features of the application
The app uses the shiny application framework in r including other important libraries. It allows for different techniques which can be used in creating customers RFM scores based on a supplied scale, it also create flexibility in tuning various RFM scores to generate customer segments.
<br>
#### The steps taken to move from a raw customer trasaction data to a summarised customers segment are as follows:
**step 1**
The first step involved in building an RFM model is to extract the recency,
frequency and monetary values from the raw data for each customer, where
>`Recency value` is the amount of time since a customer most recent purchase/transaction, this is accomplished by deducting the date of analysis (when the analysis is performed or the date recognized as the last day of a particular period) from each customer last purchase/transaction date.
>`Frequency value` is the total number of transaction made by a customer during a particular period, this is carried out by adding all unique customer purchases made during the specified period. Note that there are other ways of extracting the frequency value for each customers.
>`Monetary value` is the total amount spent by the customer on all purchases and it is done by adding up all amount during the specified period.
<br>
**step 2**
The second step involves dividing each customer into groups based on their recency
frequency and monetary value.
For example based of a RFM scale of 5, with 5 being the best and 1 begin the least
> customers with a recency value of 10 days can be given a recency score of 5
while those with a recency value of 250 days can be given a recency score of 1 and so on.
> customers with a frequency value of 20 transactions can be given a frequency score of 4 and those with a frequency value of 2 can be given a frequency score of 1 and so on.
> customers with a monetary value of 700 can be given a monetary score of 5 and those with a monetary value of 10 can be given a monetary score of 1 and so on.
![segment summary](/Users/AYOMIDE/Documents/R/shiny apps/rfm1/man/figures/README/rfm_a_analysis.png)
**step 3**
The third step is to take each group of customers based on their RFM scores and
combine them into a particular segment if they are within a specific score threshold.
For example let create a Champion segment for the best customers, and the score threshold is, recency of 4 to 5, frequency of 4 to 5 and monetary of 4 to 5.
when a customer have a recency score of 4, a frequency score of 5 and a monetary
score of 5 then such customer will be in the champion segment. This will be performed for other scores and segments supplied.
![segment summary](/Users/AYOMIDE/Documents/R/shiny apps/rfm1/man/figures/README/rfm_a_assign_segment.png)
<br>
**step 4**
A brief and insightful summary of customers in each segments and how it interact with other variables in the data.
![segment summary](/Users/AYOMIDE/Documents/R/shiny apps/rfm1/man/figures/README/rfm_a_segment_summary.png)
[link to the application](www.shinyio.com)