The goal of this project is to perform a Customer Segmentation Analysis for an automobile bike company. Customer segmentation is achieved by developing an RFM (Recency, Frequency, Monetary) Model. This behavior-based approach groups customers based on their previous purchase transactions. In this analysis, customers are divided into 11 distinct segments. These insights help determine which customer segments should be targeted to enhance sales revenue.
A Sales Dashboard for Customer Segmentation is developed using Tableau, while data quality assessment and analysis are performed using Python.
A Sales Dashboard for Customer Segmentation has been developed using Tableau.
The following notebooks outline the process from data cleaning to the final analysis:
- DQA and Data Cleaning CustomerDemographic.ipynb
- DQA and Data Cleaning NewCustomerList.ipynb
- DQA and Data Cleaning Transactions.ipynb
- DQA and Data Cleaning Customer Address.ipynb
- RFM Analysis.ipynb
The first step toward generating useful insights is data preparation, quality assessment, and cleaning. Once cleaned, exploratory data analysis reduces noise and allows for the identification of customer purchasing behaviors.
During the data cleaning step, the following issues were mitigated:
-
CustomerDemographics.xlsx:
- Dropped irrelevant columns.
- Imputed or dropped records with missing values based on volume.
- Standardized the 'Gender' column to remove inconsistency.
- Transformed 'Date of Birth' into 'Age' and 'Age Group'. Removed one outlier record.
- Confirmed no duplicate records existed.
-
NewCustomerList.xlsx:
- Dropped irrelevant columns.
- Handled missing values by imputation or dropping records.
- Calculated 'Age' and 'Age Group' from 'Date of Birth'.
- Confirmed no data inconsistency or duplicates.
-
Transaction_data.xlsx:
- Converted
product_first_sold_datefrom integer to datetime format. - Handled missing values.
- Created a new 'Profit' feature (List Price - Standard Price).
- Confirmed no data inconsistency or duplicates.
- Converted
-
CustomerAddress.xlsx:
- Standardized the 'States' column.
- Noted some customer IDs from the Demographics table were missing in the Address table.
After cleaning, the following insights were derived:
-
New vs Old Customers Age Distribution:
- Most new and old customers are aged 40-49.
- The fewest customers are under 20 or over 80.
- A steep drop in new customers is observed in the 30-39 age group.
-
Bike Purchases by Gender (Last 3 Years):
- Females account for approximately 51% of bike purchases, compared to 49% for males.
- Numerically, female purchases exceed male purchases by about 10,000.
-
Job Industry Distribution:
- The Manufacturing and Financial Services sectors contribute the most new customers (approx. 20%).
- Agriculture and Telecom sectors contribute the least (approx. 3%).
- Similar trends are observed among old customers.
-
Wealth Segmentation by Age:
- The 'Mass Customer' segment is the largest across all age categories.
- 'High Net Worth' customers follow.
- In the 40-49 age group, the 'Affluent' segment outperforms 'High Net Worth'.
-
Car Ownership by State:
- New South Wales has the highest number of people who do not own a car.
- In Victoria, the proportion is relatively even.
- In Queensland, car owners outnumber non-owners.
RFM (Recency, Frequency, Monetary) analysis groups customers based on their transaction history:
- Recency: How recently did the customer purchase?
- Frequency: How often do they purchase?
- Monetary: How much do they spend?
11 Customer Groups were identified:
- Platinum Customers
- Very Loyal Customers
- Recent Customers
- Potential Customers
- Lost Customers
- Losing Customers
- Late Bloomer
- High Risk Customers
- Evasive Customers
- Becoming Loyal
- Almost Lost Customers
- Recency vs Monetary: Recent customers buy more products and generate more revenue than those who haven't visited in a while.
- Frequency vs Monetary: Customers in the Platinum, Very Loyal, and Becoming Loyal segments purchase more frequently and generate higher revenue.
- Raw_data.xlsx contains:
- Transactions_data.xlsx: Transactions across Australian states.
- NewCustomerList.xlsx: New customer visits.
- CustomerDemographic.xlsx: Customer demographic details.
- CustomerAddress.xlsx: Customer address details.
- Python: Used for Data Quality Assessment, Data Cleaning, and Exploratory Data Analysis (Pandas, Matplotlib, Seaborn).
- Tableau: Used to build the Sales Dashboard for visualization.
- Python 3.8.2
- Tableau
- PuttaSathvik16