环境搭建
spark
- 下载安装spark3.0.2到本地并解压,安装包下载地址:
https://archive.apache.org/dist/spark/spark-3.0.2/spark-3.0.2-bin-hadoop2.7-hive1.2.tgz - 配置环境变量SPARK_HOME = <spark安装包解压的绝对路径>
python
python版本为python3.X
本项目需要安装的第三方包有:
jupyter==1.0.0
notebook==6.4.0
pandas==1.3.5
numpy==1.21.5
pyspark==3.0.2
findspark==1.4.2
pyecharts==1.7.0
代码运行
jupyter
请打开命令行,切换到项目目录下,运行以下命令即可:
jupyter notebook
浏览器打开jupyter notebook交互界面后,点击main.ipynb文件打开执行即可。
pycharm
pycharm载入项目目录打开后,点击main.py文件执行即可。
项目文件说明
data
存放数据集的目录,载入数据集文件UserBehavior.csv存放在在该目录下,代码载入文件路径已写死,请勿更改文件或文件夹名称,以及文件存放位置。
src
存放运行代码的目录。
clean_data.py 数据预处理模块
该模块主要内容如下:
- 数据探查,分析数据集各字段值的情况。
- 检查和剔除异常值,主要剔除无效的时间字段和无效的用户行为字段。
- 字段转换,将浮点型的时间戳转换成更便于使用的时间型字段。
- 筛选数据集,筛选出比较集中的2017-11-25至2017-12-03的数据。
- 全字段去重,剔除重复数据。
goods_summary.py 商品分析模块
该模块主要内容如下:
-
热销商品分析
按照商品编号,统计每个商品的销售数量,并按销售数量降序排列,同时计算出每个商品销售数量的占比,并打印排名最靠前的20个热销商品销售信息。 -
热销商品品类分析
按照商品类型编号,统计每个商品类型的销售数量,并按销售数量降序排列,同时计算出每个商品类型销售数量的占比,并打印排名最靠前的20个热销商品类型销售信息。
charts_funnel.py 业务流程转换分析
该模块主要内容如下:
- 计算各种用户行为的出现的次数(pv(商品点击)、buy(购买)、cart(添加购物车)、far(收藏))。
- 将上述四种用户行为划分为三级环节,分别为:
第一级:pv(商品点击)
第二级:cart+far(添加购物车或者收藏)
第三级:buy(购买)
计算:
单一环节的转换率:即本级环节次数/上级环节次数。
总体转换率:即本级环节次数/第一级环节次数。 - 打印转换率情况
- 将总体转换率数据制作漏斗模型,图表文件保存在项目根目录,名称为:
funnel_conv.html
该图表文件可以使用浏览器打开查看。
RMF.py 客户价值标签分析
该模块主要内容如下:
- 通过用户行为字段,筛选出所有用户行为为购买的记录。
- 将上述数据集,以2017-12-04为观察日期,计算每次购买行为距离2017-12-04相差天数。
- 将步骤2的数据集,以用户编号进行分组,计算每个用户购买行为距离2017-12-04相差的最小天数。
- 将步骤2的数据集,以用户编号进行分组,计算每个用户购买次数。
- 将步骤3和步骤4生成的数据集,通过用户编号字段进行关联,得到一份数据集。
- 将上述数据集,通过购买行为距离2017-12-04相差的最小天数,计算出R标签(最近一次消费天数<=5是低,否则是高)。
- 将上述数据集,通过购买次数,计算出F标签(一段时间内购买次数>=4是高,否则是低)。
- 计算RMF标签,根据高低值打分,将用户分为价值用户、发展用户、保持用户和挽留用户四种,并对不同类别的用户占比进行分析,从而实现差异化营销。:
if r=="高" and f=="高":
return "价值客户"
elif r=="低" and f=="高":
return "保持客户"
elif r=="高" and f=="低":
return "发展客户"
else:
return "挽留客户"
- 统计每种用户的数量,并通过柱状图进行展示。
网友评论