# Python-电商平台用户行为数据分析 **Repository Path**: adam-lu/B2C_data_analysis ## Basic Information - **Project Name**: Python-电商平台用户行为数据分析 - **Description**: 现有一家国内知名互联网公司旗下的电商平台,于2014年11月18日-12月18日期间,统计了该平台的用户行为、商品等各项数据。 在2014年的12月12日,也即各大电商发起的”双十二购物狂欢节“期间,平台面向用户推出了各项刺激消费的促销活动。但在活动结束后,通过对此一个月的数据进行分析,发现隐藏在数据背后的问题,为此后平台的日常发展,及类似的促销活动提供指导性建议。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 12 - **Forks**: 3 - **Created**: 2021-05-19 - **Last Updated**: 2025-10-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 电商平台用户行为数据分析 ## 一、 背景介绍 ### 1.1 项目背景 现有一家国内知名互联网公司旗下的电商平台,于2014年11月18日-12月18日期间,统计了该平台的用户行为、商品等各项数据。该平台本身具备多样的商品和较多的基础用户,但**对于平台用户,及平台自身的优势与不足却还不够了解**,因此对于未来的发展战略比较迷茫。 在2014年的12月12日,也即各大电商发起的”双十二购物狂欢节“期间,平台面向用户推出了各项刺激消费的促销活动,取得了极为可观的反响。但在活动结束后,平台希望借此契机,通过对此一个月的数据进行分析,复盘双12大促活动及类似促销活动对用户行为的影响,以及隐藏在数据背后的问题,为此后平台的日常发展,及类似的促销活动提供指导性建议。 ### 1.2 需要解决的问题 通过搭建”人货场“指标体系,对数据分析的方向进行拆解,解决以下问题: 1. 通过对**用户**的分析,得到UV、地理及时间对用户消费行为的影响,使用RFM模型对用户标记,找到目标用户的定位 2. 对**平台**进行分析,得到PV、收藏、加购、下单等行为的数据,构建消费转化的漏斗分析,确定各个环节的转换率,找到优化途径 3. 对**商品**进行分析,得到商品的点击、收藏、加购、下单等数据,找到热门商品,对商品的转化率进行分析 4. 对**大促活动及日常数据**进行对比分析,通过可视化总结大促活动对用户及平台的影响,为此类活动及日常维护提供指导性建议 ## 二、结论先行 1. 从UV、PV数据的对比看,该平台的用户及访问量一向比较稳定。而双12活动对该平台的用户增长、访问量增长没有起到实质性作用 2. 相比收藏,用户在看到心仪的商品后,更倾向于加入购物车。这种情况在双12活动期间,由于用户的"即时消费"心理,而更加明显。 3. 在RFM模型对用户进行分类可视化后,发现平台现有用户质量还是很不错的,并且下单用户的地理位置覆盖面也较广。 4. 此次双12活动后,一般价值用户增长明显,而R和F值都较高的重要价值用户数量,反而下降。 5. 日常期间,用户在周五这一天,会出现各项行为数据的下滑;从一天的各个时段来看,夜晚是用户最活跃的时间段,但早上10点到下午16点,却是用户消费转化率最高的时间段。双12活动期间,各项行为数据的峰值有1-2个小时的延迟,用户会熬夜到凌晨抢购心仪的商品。 6. 对商品及品类的转化率分析发现,该平台的商品极为多样化,但转化为用户订单的商品仅占总商品类型的3.2%,即便只是放在一个月的时间内来看,这种转化率也是极低的。 ## 三、数据说明 取数范围:2014年11月18日-12月18日 | 数据 | 说明 | | ------------- | ------------------------ | | user_id | 用户身份 | | item_id | 商品ID | | behavior_type | 1代表点击 | | | 2代表收藏 | | | 3代表加购物车 | | | 4代表支付 | | user_geohash | 地理位置 | | item_category | 品类ID(商品所属的品类) | | time | 用户行为发生的时间 | ## 四、分析方法 1. 通过搭建**”人货场“指标体系**的方法,从用户、商品、电商平台三个维度对数据进行解构分析 2. 使用**RFM模型**找出目标用户群,将现有用户分为了一般价值客户,重点召回客户,重点发展客户,重要价值客户四类人群,以便对用户精准运营 3. 使用**漏斗分析法**,对用户行为路径的各项转化率进行可视化 ## 五、分析过程 使用工具:Python、Jupyter Notebook、Draw.io 使用库:Numpy、Pandas、Pyecharts、Scipy ![image-0](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/0.png) ### 5.1 体系搭建 ![指标体系](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/指标体系.png) ### 5.2 数据预处理 1. 数据去重 原数据有12256906行,去重过程中发现有4092866行重复值 ![1](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/1.png) 去重后剩下8164040行 ![2](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/2.png) 2. 缺失值 ![3](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.png) 除地理位置信息外,没有缺失值,因此不用对缺失值处理 3. 数据规范化 ![4](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/4.png) 需要将时间字段(time)转化为日期(dates)、时刻(hour)、星期(day_of_week)三个计时单位,以便之后的数据分析。(因为数据跨度只有两个月,所以实际上不需要分析年份和月份的影响) ![5](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/5.png) 4. 数据类型转换 用户id、商品id及用户行为的数据格式均为整数型,这里转换为字符型 ![6](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/6.png) ### 5.3 可视化分析 #### 5.3.1 电商平台数据可视化分析 1. PV 由PV随日期的变化图可以看到,平台的访问量一直都比较稳定,只有在双12活动影响期间出现了异于常日的数据(12月11日-13日)。在考虑进双12大促活动的影响下,整月的PV均值为241260,而在去除掉双12三天数据的情况下,PV的均值为230904 ![3.1.1](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.1.1.png) 双12活动对PV数据会有积极的刺激效果,但如果从每日的用户差异百分比可视化来看,则不然 ![3.1.2](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.1.2.png) 从上图可以看到,双12当日pv增长百分比确实达到峰值,但12月13日也出现了负增长百分比已于常日的谷值,整个月百分比变化的均值也接近于0.01。说明**从整体的访问量来说,双12活动对该平台这样在日常时期访问量稳定的平台,并没有起到明显的访问量增长的促进作用**。 2. 数据分割为日常数据和活动期间数据 ![7](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/7.png) 3. 用户行为随日期变化 ![3.2](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.2.png) 由上图可以看出,平台用户的收藏、加购、支付日总量一直都是比较稳定的,只有在双12活动影响期间,出现了高峰的波动,而这种波动影响程度上来说,是加购行为\>支付行为\>收藏行为。 按照用户的行为路径分析,收藏行为应该在支付行为之前。且统计的结果来看,日常收藏数据也要明显大于支付行为数据。在此情况下,双12大促期间,支付数据超过了收藏数据,说明活动刺激下,**用户更多地采取立刻“浏览→下单”,或“浏览→加购物车→下单”的路线完成整个行为路径**。 4. 消费转化率 ![3.4.3](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.4.3.png) 消费转化率的计算方式——按照一天的每个时段,将支付总量数据除以用户总量数据,得到上图折线图。 从上图可以看出,活动期间的转化率是明显高于日常时期的,这个很好理解。有趣的是,我们可以发现,**日常每日时段的转化率中,一天的上午10点到下午16点转化率最高**,活动期间如果去除守夜抢购的因素,也是类似情况,这个事实有助于平台在日常的维护中,精准把握流量分配。 5. 漏斗模型分析平台转化率 ![3.4.4.1](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.4.4.1.png) ![3.4.4.2](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.4.4.2.png) 通过漏斗可视化图,可以更直观地看到平台设计的用户路径取得的转化效果 #### 5.3.2 用户数据可视化分析 1. UV 由UV随日期的变化图可以看到,平台的用户量一直都比较稳定,只有在双12活动影响期间出现了异于常日的数据(12月11日-13日)。在考虑进双12大促活动的影响下,整月的UV均值为6523.77,而在去除掉双12三天数据的情况下,UV的均值为6459.03 ![3.1.1](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.1.1.png) 双12活动对UV数据会有积极的刺激效果,但如果从每日的用户差异百分比可视化来看,则不然 ![3.1.2](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.1.2.png) 从上图可以看到,双12当日uv增长百分比确实达到峰值,但12月13日也出现了负增长百分比已于常日的谷值,整个月百分比变化的均值也无限趋近于0。说明**从整体的用户量来说,双12活动对该平台这样在日常时期用户量稳定的平台,并没有起到明显的用户增长的促进作用**。想要单纯通过此类活动拉新用户,可能性是不大的。 2. 日常用户行为可视化 **首先**,来看每周各天的用户行为变化趋势,这里只使用日常数据统计,来去除双12对结果影响 这里的统计采用了将所有用户行为数据按day_of_week字段进行聚合,并除去日常期间各天的天数,取每日的均值 ![8](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/8.png)![3.3.1](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.3.1.png) 用户的四种行为变化趋势,在每周七天这个维度上是基本统一的,点击及加购物车的变化更明显。 即从周一开始,各项行为数据逐渐走低,并在周五当日出现下滑到最低值,周六开始,各项行为数据再次增长。 **然后**,来看每天各个时间段的用户行为可视化结果 ![3.3.2.1](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.3.2.1.png) 从图中我们看到,各项行为的时段聚合情况,变化趋势来说,也基本一致。 加购物车的行为相比收藏行为变化趋势更明显,本身也是因为用户更喜欢将商品加入购物车。 在21-22时这个每日高峰时期,用户支付的行为只有小幅增长,变化并不像其他行为那么明显。结合之前的用户转化率折线图,该时段的转化率相比白天反而有所下滑。说明这个时段产生的流量高峰,更多是用户在浏览或选择心仪产品加购、收藏的阶段。 这也说明,在日常时期,该平台的大部分用户路径并非在短期完成,而是分步进行的。 3. 活动期间用户行为可视化 ![3.3.2.2](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.3.2.2.png) 对比日常用户行为,发现一些有趣的现象: 各项用户行为的峰值延后了1-2个小时,支付行为更是明显的集中在了凌晨12点这个时段,说明**平台的双12活动对于刺激用户消费行为起到了很好的作用,用户会在活动期间,熬夜到凌晨抢购心仪的商品**; 加购物车的增长趋势相比起收藏明星加大了,双12活动会大幅刺激消费者在活动开始前加购物车的行为,这也反映了**用户在双12期间会出现异于日常的“即时消费”心理。** 4. 下单用户地理分布 该平台记录用户位置信息的原理是GeoHash算法,越是相邻的位置,地理标记越相近 ![3.4.2](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.4.2.png) 通过对点单用户的地理位置进行可视化,发现该平台订单覆盖面较广,但同时也有部分地区出现了明显的高销量聚集情况,这些地点主要集中在“9q0lteh”、“ffjf2a0”及“95ip6w6”这三个位置附近。 5. RFM模型对用户进行价值分类 因为没有商品金额,此处只计算R和F值 ![9](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/9.png) ![10](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/10.png) 得到R和F值之后,对R和F值进行分级,但此处需要先查看R和F值的分布,决定怎样进行分级 这里使用了Python的Scipy.stats中的norm函数 ![11](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/11.png) 结合pyecharts画出了R和F值的分布情况 ![3.4.5.2](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.4.5.2.png) 可以看到,R和F值的分布都呈右偏分布,**分布不均匀**,因此使用**中位数**对R和F值进行分级 ![12](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/12.png) 然后,使用RF值对用户进行消费群体分类,此处,将用户分为了四类: "一般价值客户"——R低、F低 "重点召回客户"——R低、F高 "重点发展客户"——R高、F低 "重要价值客户"——R高、F高 ![13](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/13.png) 结合Pyecharts画出占比饼图 ![3.4.5.3](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.4.5.3.png) 由上图可以看到,虽然重要价值用户占比只有12.77%,但**重点召回用户及重点发展用户的比例总共占到了66%以上,这说明平台的整体用户质量还是很高的**,当然这也有可能是收到了双12活动的影响,具体需要后续找到日常月的数据对比才能确认 再来看类型客户的变化趋势 ![3.4.5.4](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/3.4.5.4.png) 从图中可以看到,双12之前,四类客户的变化趋势都较稳定,但在双12之后,出现了一些需要注意的现象: 重要价值客户不增反降,说明在大促活动之后,此类客户可能出现了消费疲倦,是否能自动恢复需要看此后的数据; 一般价值客户的明显增多,说明大促活动明显增加了平台的人气,但增多的客户量对平台的认可度、粘性不高,仍需平台更长时间的运营转化 #### 5.3.3 商品数据可视化分析 据统计,该平台商品ID共计2876947件,品类共8916种。去重后的数据中,支付数据的总量为110672条记录,再将商品id去重后,记录条数变为了92753条。 ![14](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/14.png) 由以上数据,**该平台的商品极为多样化,但转化为用户订单的商品仅占总商品类型的3.2%,即便只是放在一个月的时间内来看,这种转化率也是极低的**。是否还有必要上架如此多的商品,或者通过怎样的方式,来增加非热门商品的转化率,是平台急需解决的问题。 1. 商品及品类转化率 在求商品的转化率过程中,预想用户会通过以下三种路径完成购买: 点击→购买 点击→收藏→购买 点击→加购物车→购买 因此希望统计的转化率包括:点击→购买(click_to_sales),点击→收藏(click_to_likes),点击→加购物车(click_to_cart),收藏→购买(likes_to_sales),加购物车→购买(cart_to_sales) ![15](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/15.png) 但在统计过程中遇到了一个问题,那就是以上转化率中都出现了许多大于1的数据 ![16](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/16.png) 发现商品中出现了销售数据比点击、收藏、加购数据大,加购、收藏比点击数据大的情况,认为**商品数据存在较大异常**,所以不再对商品转化率进行分析 而同时,在品类数据的统计中,也出现了类似的情况 ![17](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/17.png) 估测认为是商品及品类数据存在异常,故不再对商品及品类信息进行转化率分析 2. 热门商品 统计了用户各项行为数据最高的部分商品作为热门商品 ![18](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/18.png) ![19](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/19.png) 3. 热门品类 统计了用户各项行为数据最高的部分商品作为热门商品 ![20](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/20.png) ![21](https://gitee.com/adam-lu/B2C_data_analysis/raw/master/pic/21.png) ## 六、总结和建议 1. 用户更愿意使用购物车而不是收藏功能,从这一点推测,该平台的大部分用户,还没有对平台产生长期的依赖,而只是在有购物需求时,才使用到该平台。 1. 但是该平台的用户质量还是不错的。结合上一条总结,认为该平台还处于发展初期,在平台强化以下运营措施后,应该能够使用户产生更多的非功能性依赖: 增加用户互动功能 培养平台自己的KOL 外部营销推广,增加口碑...... 1. 此次双12活动,对于刺激用户消费行为起到了很好的作用,但并没有为平台带来重要价值用户的增长。可以认为,平台需要通过其他方式,来改变用户类型的占比,增加用户的转化率及粘性,这不是仅靠一次双12活动就能做到的。 1. 本次分析报告中,对用户进行了RFM模型分类,指出了用户的使用习惯,包括每周各天的行为变化趋势,每天各个时刻的行为变化趋势,地理位置上消费用户的分布,以及热门的商品及品类。有了这些数据后,需要平台针对性的进行流量分配,对不同的用户及用户习惯进行精准化的运营。 1. 对于结论6中提到的,订单商品在总商品种类中占比太低这个问题。我认为,平台应该采取两手抓的方式,改变这种情况——一方面,要较长期的监控那些冷门商品,在始终未见到任何行为数据提升的情况下,应去掉这些商品,减少不必要的运营成本;另一方面,对于转化率低,但仍有关注度的商品,找出是商品质量的问题还是其他问题,应提供一定的额外曝光,提升其转化率.