Skip to content

Customer Segementaion using RFM modeling and KMeans Clustering

Notifications You must be signed in to change notification settings

Mohitkumar6122/Customer-Segmentation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Customer-Segmentation

Customer Segementaion using RFM modeling and K-means Clustering

Customer segmentation is a method of dividing customers into groups or clusters on the basis of common characteristics.

It is useful to get this information so that the store can get help in personalize marketing and provide customers with relevant deals.

With the help of this project, companies can run user-specific campaigns and provide user-specific offers rather than broadcasting same offer to all the users.

In this case RFM (Recency, Frequency, Monetary) analysis is a behavior-based approach grouping customers into segments. It groups the customers on the basis of their previous purchase transactions. How recently, how often, and how much did a customer buy.

  • Recency (R): Who have purchased recently? Number of days since last purchase (least recency)
  • Frequency (F): Who has purchased frequently? It means the total number of purchases. ( high frequency)
  • Monetary Value(M): Who have high purchase amount? It means the total money customer spent (high monetary value)

RFM modeling groups each customer on basis of their RFM score.

Also K-means algorithm starts with a first group of randomly selected centroids, which are used as the beginning points for every cluster, and then performs iterative (repetitive) calculations to optimize the positions of the centroids.

I used K-means clustering to group each customer according to their RFM score and predicted the Membership of each customer.

DATASET

Datasert for this Segementation is taken from UCI Machine Learning repository,More information can be found from here

Features

  1. InvoiceNo: Invoice number. Nominal, a 6-digit integral number uniquely assigned to each transaction. If this code starts with letter 'c', it indicates a cancellation.
  2. StockCode: Product (item) code. Nominal, a 5-digit integral number uniquely assigned to each distinct product.
  3. Description: Product (item) name. Nominal.
  4. Quantity: The quantities of each product (item) per transaction. Numeric.
  5. InvoiceDate: Invice Date and time. Numeric, the day and time when each transaction was generated.
  6. UnitPrice: Unit price. Numeric, Product price per unit in sterling.
  7. CustomerID: Customer number. Nominal, a 5-digit integral number uniquely assigned to each customer.
  8. Country: Country name. Nominal, the name of the country where each customer resides.

About

Customer Segementaion using RFM modeling and KMeans Clustering

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published