客户价值分析RFM模型实现的代码与运行结果
时间: 2024-10-20 13:19:20 浏览: 51
RFM模型是一种常用的客户分群分析工具,它基于最近一次购买(Recency)、频率(Frequency)和金额(Monetary Value)三个指标。以下是使用Python实现RFM模型的一个简单示例,这里我们将使用pandas库处理数据:
```python
import pandas as pd
from sklearn.preprocessing import MinMaxScaler
# 假设df是一个DataFrame,包含用户ID、最近购买日期、购买次数和总金额等字段
data = {'User_ID': [1, 2, 3, ..., n], 'Last_Purchase_Date': [pd.Timestamp('2022-01-01'), ..., pd.Timestamp('2022-12-31')],
'Purchase_Count': [5, 8, 12, ..., m], 'Total_Spend': [100, 200, 300, ..., p]}
df = pd.DataFrame(data)
# 数据预处理
df['Recent_Date'] = (pd.to_datetime('today') - df['Last_Purchase_Date']).dt.days
df['Frequency'] = df.groupby('User_ID')['Recent_Date'].transform('count')
df['Monetary_Value'] = df['Total_Spend']
# 归一化
scaler = MinMaxScaler()
rfm_df = pd.DataFrame(scaler.fit_transform(df[['Recent_Date', 'Frequency', 'Monetary_Value']]), columns=['R', 'F', 'M'])
# 根据RFM得分划分客户群体
bins = [(0, 0.2), (0.2, 0.4), (0.4, 0.6), (0.6, 0.8), (0.8, 1.0)]
labels = ['低价值', '一般价值', '高价值', '顶级价值']
rfm_df['Segment'] = pd.cut(rfm_df['M'], bins=bins, labels=labels)
```
这个例子假设你已经有了用户历史购买数据,并将其转换成适合RFM模型的形式。运行后,你会得到一个`rfm_df` DataFrame,其中包含了每个用户的RFM得分以及根据这些得分划分的客户群体。
阅读全文