相关动态
基于Python的淘宝行为数据可视化分析
2024-11-11 02:53

完成如下商业分析任务,通过数据分析和可视化展示,充分挖掘数据的价值,让数据更好地为业务服务

基于Python的淘宝行为数据可视化分析

  1. :PV/UV是多少,通过分析PV/UV能发现什么规律

  1. :用户“浏览-收藏-加购-购买”的转化率是怎样的

  1. :对电商平台什么样的用户是有价值的?要重点关注哪部分用户

  1. 数据探索及清洗:对1225w+的淘宝用户行为数据进行探索及清洗处理,为数据构建分析维度

  1. 流量分析

  • 基于数据集呈现淘宝月整体流量规模、每日流量分布及每天不同时间段流量分布情况

  • 对比淘宝日常与双十二不同时间段的流量分布

  • 对比淘宝日常与双十二转化转化漏斗,揭示平台日常及大促期间的转化率,为持续监控对比提供基准

  1. 品类分析:根据流量及转化情况对品类进行分类,并输出各品类的复购周期,为不同品类运营资源分配提供一定依据

  1. 用户分析:分析用户人均贡献;并基于RFM框架设计价值指标,并对用户数据进行聚类分析,实现用户价值分类,为精细化用户运营提供输入。

  1. 流量分析时因缺乏往期双十一、双十二的数据,无法对大促流量表现作同比环比分析,在实际业务中需要有对比才能说明问题

  1. 进行漏斗分析时,考虑到细分每个品类的话数据量会较少,故只对平台整体数据作分析,实际业务中需要为不同品类输出相关数据及可视化,并结合往期数据作对比

  1. 对用户价值分类时,缺少直接的金额数据,虽然从其他下单几率、购买品类数等角度构建指标,但考虑到不同品类的属性(尤其是价格)是不同的,顾客决策的容易程度也各异,因此有限的指标无法完全真实反映客户价值,实际业务中需要纳入更多信息。

数据来源于阿里天池,字段说明如下。

首先加载基本的模块

导入数据并查看

可以发现'time'字段后面需要拆分成日期date与时hour来分析。

可以看出

  1. 数据的size为1225w*5;

  1. user_id&item_id&item_category为int,后续分析这两个变量应该需要作为分组变量进行聚合操作,可以转换成object类型。

接着查看各字段缺失值情况,可以看出,各字段都无缺失值,可省去处理缺失值的步骤。

最后,在正式处理和分析前,我们粗略了解该时间段整体的浏览-收藏-加车-下单行为数

可以发现共有8916个商品类别,后续我们的分析可以除了以上的角度,还可以尝试从类别角度分析,看看对于不同类别商品,用户的行为特征(如复购周期)是否有差异。

结合上一环节对数据情况的了解,本环节主要对data作以下处理

处理完成后可以看到data增加了date与时hour两个字段。

最后我们查看下数据的时间范围——2014.11.18-2014.12.18。

可以发现,这个月淘宝的人均pv为1225.7,当然对于这些流量指标,在实际业务中是需要按时间持续监测的。

由于篇幅原因,省去相关聚合及可视化代码,直接呈现结果

可以发现

  1. 每日的pv与uv的趋势接近,且除了双十二当天外,流量呈现周期性变化———

  1. 双十二当天流量明显爆发。

可以发现

  1. 22点用户普遍开始进入休息时间后,uv/pv持续下降,至次日5点开始流量上升,到早上10点开始pv/uv稳定

  1. 与uv从10点到22点比较稳定不同,pv在18点后迎来明显上升到22点达到峰值,可以推断因为下班,刷手机网购的时间多了,工作时间用户可利用碎片化时间浏览,但不如下班后自由,可以持续浏览淘宝。

从前面可以发现双十二当天平台流量暴涨,那么当天的流量具体如何分布的呢

整体上D12当天流量分布与平时分布区别不大,但白天(10-18点)流量折线不如平日平滑,推测是不同时间段有不同的活动运营,有的时间段活动力度相对大(如10、11、12点)。

我们先简单看一下这个月的基于PV的用户行为数据统计

接着画成漏斗,为简化分析我们将收藏与加车合并为同一个环节,并借助plotly模块实现漏斗图

可以看到月整体浏览到收藏/加车转化率为5%,收藏/加车到下单的转化率为21%,整体转化率为1%左右,接着我们可以对比

可以发现双十二当天从浏览到有意向(收藏/加车)的转化率跟平时相差不多,但加车/收藏到下单的转化率为44%是平常19%的两倍多,整体转化率也达到2.2%。

对data以品类字段item_category作分组计算,算出每个品类的PV)、UV

、订单总数)字段,并据此算出转化率字段

因为可能有些类别上架时间长短不一致导致流量规模有区别,为了让不同类别更具可比性,我们还可以挑选或作为衡量类别流量规模的指标。

接着我们通过category.describe()查看各类别流量&转化率变量的基本统计情况

  1. 各类别

  1. 8916个类别中,。

基于上表我们可以快速筛选出符合特定表现的品类,并按照一定的标准对品类进行分类。作为平台而言,品类可以理解是更大一级的产品,而平台运营投入的资源(如维系不同品类运营的人力资源,以及大促/日常活动的优惠力度)也是有限的,因此有必要根据一定规则对品类的表现(如流量数量、流量质量、转化率、平台投入的运营成本等)进行分类,以优化对不同品类的活动、店铺的策略。

在本例中,根据日均流量(简化分析,仅使用日均pv)与转化率定义以下品类分类规则

  1. 日均pv在[0,50,100,12686]记为['流量低','中等流量','流量大']

  1. cr[0,0.01,0.05,1]记为['转化率低','中等转化率','转化率高']。

接着,我们按照规则将日均pv与转化率cr进行分箱处理

接着我们可以看下每类品类的占比

可以发现

  1. 有57%的品类流量低且转化率低,接近9成的品类都属于流量低,在此案例中主要是因为数据被筛选过跟实际业务情况会有出入,在实际分析中,需要对分组规则作详细讨论,甚至进行头脑风暴,可以对品类数据进行聚类分析

  1. 得到分类结果后,不同品类运营可根据自身状况置顶针对性运营策略,如针对流量低但转化率高的品类,运营可争取更多平台分发流量资源,并与商家合作推动引入更多平台外流量。

  1. 由于本数据集样本有限,故此部分仅对前面标记好的流量大&转化率高的28个品类进行复购周期分析

  1. 同一个用户在同一天多次购买同一个品类的情况,合并记为一天。

首先,筛选出这28个品类每天的下单用户信息,其中rebuy_times是指该用户当天购买统一品类多少个item。

接着基于上表,计算每个品类每个用户每次复购的间隔

最后,计算每个品类的复购周期

品类的复购周期=统计周期内该品类每个用户购买间隔之和/每个复购用户总购买次数,其中

每个用户购买间隔之和为sum_of_rebuy_window

每个复购用户总购买次数=复购用户总首购次数first_buy_times+复购用户总复购次数rebuy_times。

了解每个品类用户的平均复购频率后,该品类的平台/商家运营可在,通过运营手段刺激用户复购。

最后将品类表现与分类数据集category及(重点)品类平均复购周期数据集rebuy_win_by_category写入Excel,发给相关同事。

对于平台而言,每天活跃的用户有的购买了有的未购买,因此计算平均一个活跃用户能贡献多少收入体现了平台的转化能力,但本数据集没有下单金额数据,无法计算ARPU&ARPPU,因此从的角度考虑构建指标

  1. 人均下单商品量:当天下单item数/当天活跃用户数

  1. 付费用户人均下单商品量:当天下单item数/当天付费用户数

从上图可知,淘宝每日的活跃用户人均下单商品量在0.5件左右,在双十二当天升至2件;付费用户人均下单商品量日常在2.5件以下,但在双十二当天升至4件左右的水平。

确定分类变量&分类策略

用户价值分析可以参考经典的RFM模型,Recency&Frequency都可以算出来,但是数据集无付费金额信息,无法直接得到用户关于货币贡献Monetary的指标,因此我们可以考虑从以下三个角度衡量用户消费的价值

  1. :下单item数越多,表明用户在平台购物越多

  1. =下单item数/浏览过的item数,可以理解为该指标越高的用户,对于给定商品,这些用户转化机会越高

  1. :对于平台而言,可以认为购买多品类的用户粘性与价值会更高。

由于涉及到5个价值变量,我们不大可能像上面给品类那样简单打标签,毕竟即使每个变量分3档,也会有243个类别了。

因此我们确定首先确定第一条分类策略

  1. 将近一个月未下单的用户跟有下单的用户区分开,对

  1. ...

由于计算篇幅较大,因此省去,计算每个用户、、的代码直接展示存放结果的user数据集并筛选出有购买记录的用户子集bought_user。

接着我们结合user.describe()和箱线图了解各变量的分布特征

结合数据描述统计表可以发现过去一个月:

  1. 用户平均在淘宝下单商品,涉及,下单的

  1. 用户平均一个月有在淘宝下单,75%的用户

五个变量的箱线图均被,说明均有,而且这些离群值的点看起来不多,但放到淘宝亿级用的商业环境来看也是不小的群体,最关键的是这些,因此无法直接删除这些样本,但不处理肯定会对聚类结果产生影响(如聚类出几个数量很小的类别,由此我们得到第二条分组策略

首先确定第二条分类策略

  1. 基于淘宝的用户基数,我们假设跟业务确定好以下“极端值”人群直接就是淘宝的,这个群体

可以发现这类超级vip占了总客户的1.83%,然后我们对剩余有购买记录的客户样本normal_buyer作聚类分析

聚类前准备

因为本次聚类的5个变量都未连续型,因此采用较好解释的法,但由于kmeans法聚类是基于欧氏距离,为了消除不同变量量纲的区别,我们需要先了解数据的偏度峰度,考虑是否对数据作box-cox处理使之接近正态分布,然后再对数据作处理。

从上表可以发现5个待聚类变量都明显不服从正态分布(偏度与峰度接近0,因此对数据进行box-cox转换(boxcox是将数据分布正态化,使其更加符合后续对数据分布的假设)。

可以看到box-cox转换后,各变量相对之前更接近正态分布了,接着对数据进行标准化,以减少不同量纲的影响。

数据处理好以后,我们需要k,取多少个聚类数比较合适?这里介绍手肘法

但是需要注意的是实际业务环境中,只看手肘法取聚类数通常是不现实的,万一手肘法的推荐的k值过小或过大,与业务实际不符合,这时候需要根据实际情况作权衡。

本次分析中肘部在2的位置,对于电商用户分类而言,2个群组对业务的意义无疑是不大的,因此退而求其次,选择4个。

聚类&结果解读

接着开始聚类,并查看分组的人数

可以看到,去除“离群”的超级VIP后,聚类结果大小相对均匀。接着将标签加到normal_buyer表中,再查看各个聚类群组的特征。

也可以根据箱型图来看

4个聚类群组+超级VIP群组特征如下

  1. (24.7%:3天内有过购买,一个月有将近10天都会在淘宝下单,购买的item和品类数多,下单概率中上,是仅次于超级VIP的忠实用户,运营重点是提供优质服务,继续提升购买频率与购买品类数,使其升级为群组0的高价值人群

  1. (18.9%:有将近两周没在淘宝购买,平均一个月购买天数比较少(不足两次,购买数量少,品类集中,下单几率最低,运营时需要控制好成本

  1. (27.0%:近期有过购买,但购买天数及购买item&品类数均在中等水平,且下单几率不高,对该群体可以通过优质服务(如客服主动介入、新品类购物时平台赠送运费险)降低其尝新的机会成本,提高下单几率

  1. (16.4%:近10天有过购买,虽然购买天数不多,购买item&品类数均也只在中下水平,但下单几率较高,可见该群体对淘宝(或淘宝特定 品类)比较信任,因此可以通过一些有利益点互动活动,让用户更多留在淘宝,从而提升购买频率及丰富其购买品类。

  1. (1.83%:在平台买得频、买得多、买得广、下单概率极高;只占总人群1.83%,但以淘宝5亿用户规模来看,该人群实际规模可达几百万,值得重点研究及运营:针对该人群进行用户调研,充分了解群体;给以超高规格&定制化服务或活动策划。

然后将这4个群组及超级vip群的分组组合并回user表

然后不要忘了还有一部分近一个月都没有购买的“待挽留用户”,我们可以对其简单分为两组

  1. 较长时间(如超过一周)没打开淘宝的用户:通过短信或站内信发送最近一次浏览/收藏/加车的商品优惠信息挽回,需要投入优惠力度要更大一些。

  1. 近期(一周内)打开淘宝的用户:发放相关品类的优惠券或发送 降价信息促成交易。

为此我们需要先计算每个用户最近一次行为时间,并筛选出无下单的两类用户,分别对其打标

可以发现这两类用户分别占总用户的9.1%与2.0%。

然后输出每个分组特征cluster_info。

    以上就是本篇文章【基于Python的淘宝行为数据可视化分析】的全部内容了,欢迎阅览 ! 文章地址:http://fswenzheng.xhstdz.com/quote/79836.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://fswenzheng.xhstdz.com/mobile/ , 查看更多   
发表评论
0评