电商个性化推荐系统数据分析案例
一、前言
个性化推荐是电商平台提升用户体验和转化率的重要工具。
通过推荐系统数据分析,企业可以:
-
了解用户兴趣偏好
-
精准推荐商品或活动
-
提高点击率、购买率和复购率
本文将展示从数据准备到推荐策略优化的完整流程。
二、数据准备
-
数据来源
-
用户行为数据(浏览、点击、加购、购买)
-
商品信息数据(商品ID、类别、价格、库存)
-
用户属性数据(用户ID、年龄、性别、注册渠道)
-
导入数据
import pandas as pd users = pd.read_csv('users.csv') logs = pd.read_csv('user_logs.csv') products = pd.read_csv('products.csv')
-
数据清洗
users.drop_duplicates(inplace=True) logs.drop_duplicates(inplace=True) logs['timestamp'] = pd.to_datetime(logs['timestamp']) products.drop_duplicates(inplace=True)
-
去重处理
-
时间字段标准化便于分析
三、用户行为分析
-
用户活跃度分析
active_users = logs.groupby('user_id')['event_type'].count() active_users.describe()
-
统计用户行为次数
-
区分高活跃用户和低活跃用户
-
行为偏好分析
top_categories = logs.merge(products[['product_id','category']], on='product_id') top_categories.groupby('category')['user_id'].nunique().sort_values(ascending=False)
-
分析用户对商品类别的兴趣
-
作为推荐策略依据
四、个性化推荐策略
-
协同过滤推荐
-
基于用户相似性推荐用户未购买但可能感兴趣的商品
from surprise import Dataset, Reader, KNNBasic from surprise.model_selection import train_test_split data = Dataset.load_from_df(logs[['user_id','product_id','event_type']], Reader(rating_scale=(1, 5))) trainset, testset = train_test_split(data, test_size=0.25) algo = KNNBasic() algo.fit(trainset)
-
基于内容推荐
-
根据用户历史购买或浏览商品特征推荐相似商品
-
可结合商品类别、价格区间、品牌等属性
-
混合推荐策略
-
协同过滤 + 内容推荐结合
-
提升推荐覆盖率和准确率
五、推荐效果评估
-
指标定义
-
点击率(CTR)
-
转化率(CVR)
-
平均订单金额(AOV)
-
用户留存率
-
效果分析
recommendations = logs.merge(products[['product_id','category']], on='product_id') click_rate = recommendations[recommendations['event_type']=='click'].groupby('user_id')['event_type'].count() / recommendations.groupby('user_id')['event_type'].count() click_rate.describe()
-
统计推荐点击率和转化率
-
找出效果较好的推荐策略
六、可视化支持
import matplotlib.pyplot as plt top_categories['category'].value_counts().head(10).plot(kind='bar', color='orange') plt.title('Top 10 Categories Users Interacted With') plt.xlabel('Category') plt.ylabel('Number of Users') plt.show()
-
可视化用户兴趣热点
-
辅助推荐策略调整
更多推荐
所有评论(0)