I’ll create a marketing analytics example using Python to analyze customer segmentation based on purchase behavior and create visualizations.
We’ll use the RFM (Recency, Frequency, Monetary) analysis, which is a common marketing technique.
1 | import pandas as pd |
Let me explain the code and analysis:
Data Generation:
- Created sample data for 1000 customers
- Generated random purchase dates within the last year
- Simulated purchase frequencies using Poisson distribution
- Generated monetary values using normal distribution
RFM Analysis:
- Recency: Days since last purchase
- Frequency: Number of purchases
- Monetary: Total amount spent
- Scored each component from 1-4 based on quartiles
- Combined scores to create RFM_score
Customer Segmentation:
- Best Customers: Highest RFM scores
- Loyal Customers: Good RFM scores
- Average Customers: Medium RFM scores
- Lost Customers: Low RFM scores
Visualizations:
- Pie chart showing distribution of customer segments
- Bar chart showing average spend by segment
- Scatter plot of recency vs frequency
- Histogram of RFM scores
Output
Customer Segment Summary: customer_id total_monetary_value purchase_frequency \ customer_segment Average Customers 310 101.87 3.07 Best Customers 12 143.16 5.58 Lost Customers 387 97.72 2.52 Loyal Customers 291 97.65 3.38 recency customer_segment Average Customers 172.13 Best Customers 40.75 Lost Customers 286.34 Loyal Customers 64.54
The analysis provides several key insights:
- Customer segment distribution shows the proportion of customers in each category
- Average monetary value by segment helps identify high-value customer groups
- Recency vs Frequency plot reveals customer purchase patterns
- RFM Score distribution shows the overall spread of customer values