电商零售行业1--用户消费行为分析

该博客探讨了电商零售行业的用户消费行为,通过数据处理、探索可视化,揭示了用户消费金额、消费次数的统计特性,展示了消费分布和用户贡献度。进一步分析了用户的首购和最后购买时间,采用FRM模型进行用户分层,识别新老、活跃、回流、流失用户,并计算了回流用户占比。此外,研究了用户购买周期和生命周期,以及复购率和回购率,为用户运营策略提供依据。
摘要由CSDN通过智能技术生成


数据源说明

数据来源:某网公开数据[已脱敏],[某店铺活动后18个月的用户消费行为跟踪],如有侵权,请联删除,感谢!

项目背景

字段含义

user_id:用户ID,
order_dt:购买日期,
order_products:购买产品数量,
order_amount:购买金额
数据时间:1997年1月~1998年6月用户行为数据,约6万条

数据总结

# 1. 整体趋势:按年的月份趋势销量和销售额在1-3月份相对较高,然后骤降,原因可能和这段时间的大力促销或 与商品的季度属性相关
# 2. 用户个体特征:每笔订单的金额和商品购买量都集中在区间的低段水平,都是小金额小批量进行购买,此类交易群体,可在丰富产品线和增加促销活动提高转换率和购买率
# 3. 大部分用户的消费总额和购买总量都集中在低端,长尾分布,这个跟用户需求相关,可以对商品进行多元文化价值的赋予,增强其社交价值属性,提高用户的价值需求
# 4. 用户的消费周期:有二次以上消费的用户,平均68天,所以在50天到60天期间,应该对这批用户进行刺激召回,细致点,比如10天回复满意度,30天发放优惠券,55天的时候提醒优惠券的使用
# 5. 用户的生命周期:有二次及以上消费的用户的平均生命周期是276天。用户的生命周期分别在20天内与400至500天间,应该在20天内对客户进行引导,促进其再次消费并形成消费习惯,延长其生命周期;在100至400天的用户,也要根据其特点推出有针对性的营销活动,引导其持续消费
# 6. 新客户的复购率约为12%,老客户的复购率在20%左右;新客户的回购率在15%左右,老客户的回购率在30%左右,需要营销策略积极引导其再次消费及持续消费
# 7. 用户质量:用户个体消费有一定规律性,大部分用户的消费集中在2000以下,用户消费反映了2/法则,消费排名前20%的用户贡献了80%的消费额。所以说,狠抓高质量用户是万古不变的道理,这些高质量客户都是“会员”类型,需要专门为会员优化购物体验,比如专线接听、特殊优惠等。

方法总结

# 1. 针对用户进行按照月份做整体和个体分析,主要分析维度是人数,消费金额,购买量
# 2. 消费分析:首购时间,最后一次购买时间,相邻两个购物时间的间隔,用户分层(RFM模型+数据透视表),分析维度主要是新用户,活跃用户,不活跃用户流失分析,回流用户占比
# 3. 复购率和回购率进行分析

导入包

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from datetime import datetime
%matplotlib inline
plt.style.use('ggplot')  #更改绘图风格,R语言绘图库的风格
plt.rcParams['font.sans-serif'] = ['SimHei']

数据处理

导入数据

columns = ['user_id','order_dt','order_products','order_amount']
df = pd.read_table('CDNOW_master.txt',names=columns,sep='\s+') 
df.head()

df.head()

1.日期格式需要转换
2.存在同一个用户一天内购买多次行为
df.describe()

df.describe()

#1.用户平均每笔订单购买2.4个商品,标准差2.3,稍微有点波动,属于正常。然而75%分位数的时候,说明绝大多数订单的购买量都不多,围绕在2~3个产品左右;
#2.购买金额,反映出大部分订单消费金额集中在中小额,30~45左右
df.info()

df.info()

# 共 69659 条
# 初步判断:数据无缺失值

数据探索可视化

数据预处理

df['order_date'] = pd.to_datetime(df['order_dt'],format='%Y%m%d')
df['month'] = df['order_date'].astype('datetime64[M]')
df.head()

df.head()1

用户整体消费分析

# 用户整体消费趋势分析(按月份)
plt.figure(figsize=(20,15)) #单位时英寸
# 每月的产品购买数量
plt.subplot(221) 
df.groupby(by='month')['order_products'].sum().plot() 
plt.title('每月的产品购买数量')
plt.subplot(222) 
df.groupby(by='month')['order_amount'].sum().plot()  
plt.title('每月的消费金额')
plt.subplot(223)
df.groupby(by='month')['user_id'].count().plot()  
plt.title('每月的消费次数')
# 每月的消费人数(根据user_id进行去重统计,再计算个数)
plt.subplot(224) 
df.groupby(by='month')['user_id'].apply(lambda x:len(x.drop_duplicates())).plot()  #默认折线图
plt.title('每月的消费人数')

用户整体消费分析

# 图一可以看出,前
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值