相关推荐
Python+Mysql+Tableau 电商用户行为数据分析实战
2024-11-11 02:10

电商用户行为数据分析实战

Python+Mysql+Tableau 电商用户行为数据分析实战

1 项目概况

2 数据源

3 数据清洗

3.1 将数据导入DataGrip

3.2 列重命名

3.3 重复值处理

3.4 缺失值处理

3.5 一致化处理

4 数据分析

4.1 基于AARRR漏斗模型分析用户行为

4.1.1 各字段的统计数据

4.1.2 基于AARRR模型用户行为分析

4.2 基于RFM模型用户价值分析

4.3 商品销售分析

5 结论与建议

5.1 通过AARRR模型分析用户使用的各个环节

5.2 研究用户在不同时间尺度下的行为规律,找到用户在不同时间周期下的活跃规律

5.3 找到用户对不同种类商品的偏好,找到针对不同商品的营销策略

5.4 通过RFM模型找出最具价值的核心付费用户群,对这部分用户的行为进行分析


本项目基于阿里巴巴电商平台某店铺真实用户行为数据,通过MySQL进行数据清洗,AARRR漏斗模型分析用户行为、RFM模型分析用户价值,最后利用Tableau制作可视化图像,以此了解数据背后更深层次的意义,并对商家提出适当的运营建议。

本次分析的目的是想通过对淘宝用户行为数据分析,为以下问题提供解释和改进建议

  1. 分析用户使用APP过程中的常见电商分析指标,确定各个环节的流失率,找到需要改进的环节
  2. 研究用户在不同时间尺度下的用户行为规律,找到用户在不同时间周期下的活跃规律
  3. 找到用户对不同种类商品的偏好,找到针对不同商品的营销策略
  4. 找出最具价值的核心付费用户群,对这部分用户的行为进行分析。

数据来源阿里巴巴天池:https://tianchi.aliyun.com/dataset/dataDetail?dataId=46&userId=1

本数据集包含了2017年11月25日至2017年12月3日之间(从周六到下周日,有行为的约一百万随机用户的所有行为。数据集的每一行表示一条用户行为记录,由用户ID、商品ID、商品类目ID、行为类型和时间戳组成,并以逗号分隔。具体表述如下

字段名

字段类型

用户ID字符串类型,用户名ID商品ID字符串类型,商品种类ID商品类目ID字符串类型,商品所属类目ID行为类型字符串类型,用户行为类型,包括pv(点击商品详情页面)、buy(购买商品)、cart(将商品加入购物车)、fav(将商品收藏)时间戳行为发生的时间戳
 

由于DataGrip自动导入的数据没有列名,因此为各字段添加英文列名。用户ID——user、商品ID——item、商品类目ID——category、行为类型——behavior、时间戳——timestamps

 

通过将userid,itemid,timestamps三个字段设置为主键,可知数据中没有重复值。

(用户的购买行为由于时间精确到秒,确实会存在少量用户在一小时内重复购买或浏览同一商品的行为,因此不对此部分数据进行处理。

利用count函数统计每一个字段包含的数据行数

时间数据中原为时间戳格式,需要将其分为两列,以便研究每日和一段日期内数据变化。

1)从date字段中提取日期数据列,新增dates日期列和hours时间列

 

注意:date导入时是int(11)数据类型,但FROM_UNIXTIME()返回的是字符类型,需要把dates设置为字符类型。否则会报错!Data truncated for column 'date' at row 1

 

补充知识点:varchar、char、nvarchar区别与联系

  • char:定长,当输入字符小于指定数目时,补空值。当输入字符大于指定数时,截取超出字符。
  • nvarchar(n):包含 n 个字符的可变长度 Unicode 字符数据。n 值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数两倍。所输入的数据字符长度可以为零。       
  • varchar[(n)] :长度为 n 个字节的可变长度且非 Unicode 的字符数据。n值必须介于 1 和 8,000 之间。存储大小为输入数据字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。

总体而言CHAR存储定长数据很方便,索引效率级高,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占去10个字节的空间。  VARCHAR存储变长数据,但存储效率没有CHAR高。如果一个字段可能的值是不固定长度的,我们只知道它不可能超过10个字符,把它定义为 VARCHAr(10)是最合算的。VARCHAR类型的实际长度是它的值的实际长度+1。为什么“+1”呢?这一个字节用于保存实际使用了多大的长度。从空间上考虑,用varchar合适;从效率上考虑,用char合适,关键是根据实际情况找到权衡点。  

TEXT存储可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符。NCHAR、NVARCHAR NTEXT。这三种从名字上看比前面三种多了个“N”。它表示存储的是Unicode数据类型的字符。我们知道字符中,英文字符只需要一个字节存储就足够了,但汉字众多,需要两个字节存储,英文与汉字同时存在时容易造成混乱,Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示。nchar、nvarchar的长度是在1到4000之间。和char、varchar比较起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储8000个英文,4000个汉字。可以看出使用nchar、nvarchar数据类型时不用担心输入的字符是英文还是汉字,较为方便,但在存储英文时数量上有些损失。所以一般来说,如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar。

2)查看日期列数据异常情况

主要查看日期列是否出现2017-11-25至2017-12-3之外的数据,只需查询日期的最大值和最小值即可。查询结果显示最小日期为1970-01-01,最大日期为2037-04-09,删除超出日期范围的数据。

 

 

本文通过常用电商数据分析指标,采用AARRR漏斗模型拆解用户进入APP后每一步行为AARRR模型是根据用户使用产品全流程的不同阶段进行划分,针对每一环节的用户流失情况分析出不同环节的优化优先级,主要通过以下个各阶段来进行分析

4.1.1 各字段的统计数据

该数据集包含29282位用户,801757个商品,6870个商品类别,4种用户行为。

 

4.1.2 基于AARRR模型用户行为分析

1)用户获取Acquisition

模型中用户获取一般考察渠道曝光率渠道转换率日新增用户数DNU(Day New User)、日应用下载量、获客成本CAC(Customer Acquisition Cost 等指标。由于字段以及时间周期限制,本文不考虑用户获取。

2)用户激活Activation

  • PV,UV,PV/UV(人均浏览次数

经过清洗后的数据共有2998427条,PV为2683013,UV为29282,人均浏览次数约为91.6267。

 

输出结果

  • 跳失率

根据不同的定义,计算不同的跳失率。

浏览页跳失率=仅有点击行为的用户数 / 总UV,为5.89%。具体是指用户仅仅有pv行为,没有其它的收藏、加购、购买行为。较低的浏览页跳失率表明用户对目标页面和推荐商品有一定兴趣。

 

 

跳失率=只点击一次浏览的用户数量/总用户访问量

 

查询结果显示只有一个用户仅浏览一次就离开了,页面跳失率基本为0。

  • 关键页跳失率

有收藏或加购行为但无购买的用户数 / 总UV,为51.88%。结合时间分析,由于临近双十二,较多用户会选择收藏或加购商品,在等待优惠更大的时机再购买。另一方面,可能是由于商品的库存不足、码数颜色缺货等问题。

 

  • 时间维度下用户行为分析

从日期、时段、星期三个时间维度来观察用户行为。

1)分析每日、小时用户行为

 

2)分析每星期用户行为

 

MySQL中的field)函数,可以用来对SQL中查询结果集进行指定顺序排序。

order by field(str,str1,str2,str3,str4……,其中str指的是字段名字。

意为:字段str按照字符串str1,str2,str3,str4的顺序返回查询到的结果集。

  • 如果表中str字段值不存在于str1,str2,str3,str4中的记录,放在结果集最前面返回,str值相同按主键顺序排列。
  • 如果order by field(str,str1,str2,str3,str4……)desc,则按照str4,str3,str2,str1的顺序逆序排序,不在str1,str2,str3,str4中的记录放到最后;str值相同按主键顺序排列。

结论

  • 在每日用户行为中,从11月30日开始至12月2日pv和cart都有较大的增幅,fav也出现明显的增长趋势,但buy依旧处于较小的波动状态。可能是因为临近双十二,用户在收罗商品准备到优惠力度最大的时候才下单。
  • 从各时段来看晚间20点-22点是用户活跃的高峰期,下午15点会有一个小高峰。而下午18-19点是用户增长最快的时段。
  • 从星期来看,周末时的用户更活跃,而工作日期间的活跃度波动较小。

 

  • 不同商品种类的用户行为

统计购买量前30的商品

 

统计所有商品的购买次数

 

(3)用户留存 Retention

由于本数据集的日期只有9天,这里主要考察次日留存率、3日留存率和7日留存。可以看到进入12月后,留存率有所增长,表明双十二的预热起到一定效果。

  • 创建视图time_inter,获得每个用户在网站有操作的所有日期以及最早操作日期。
 
  • 创建视图retention_day,计算每个用户所有操作日期与最早操作日期间的差值,统计在每日留存人数里面。
 
  • 创建视图retention_rate,计算每日留存率
 

(4)用户推荐 Referral

用户的购物路径包含四条,如下所示

在这里插入图片描述

假设以上步骤只能依次进行或中断,不能跳过中间过程到下个节点。为了更具体考察用户在不同流程中的行为转化率,将拆解各条路径的步骤,得出各步骤转化率

  • 从点击到购买的转化率仅为1.45%,点击到加购的转化率为3.63%,说明用户对推荐商品的满意度不够高,推荐系统和搜索功能有待完善。
  • 从点击到收藏的转化率为1.21%,收藏到加购的转化率为8.86%,反映用户的心仪备选商品也较少,可能平台缺乏用户满意的商品。
  • 从三个购买转化率来看,点击-收藏-加购-购买这条路径的购买转化率较高,表明较多的用户是经过比较长的路径才到达购买页面。可在收藏、加购页面增加更多优惠提醒,精准的发放优惠券、满赠券来鼓励加入购物车的访客提交订单付款成功。还可与其他知名平台合作,加大优惠力度,增加免密支付、极速支付、月付等方式提高下单效率。
 

漏斗模型:用户行为漏斗和独立访客漏斗

 

 

(5)用户收益Revenue

在这九天内的用户购买次数有0-28次,少量用户在九天内完成2次以上的购买,出现8次以上的购买可能是剁手党所为,也可能是刷单行为。整体复购率为65.87%,比较客观,可针对复购用户的喜好和习惯调整平台首页的各栏目显示顺序和展示区域,在提供更便捷的服务的同时鼓励用户尝试其他板块的体验,以便展示更多推荐商品和增加引流。

购买率

 

复购率

 

由于不同用户对公司带来的收益差别很大,而且根据二八定律20%的价值用户能带来80%的收益,因此需要对用户进行价值评价,找到最有价值的用户群,并针对这部分用户进行差异化营销。RFM模型是根据客户活跃程度和交易金额的贡献,进行客户价值细分的一种方法。从客户最近一次交易时间间隔(Recency)、客户最近交易次数(Frequency)、客户最近交易金额(Monetary)三个指标来衡量用户价值。

本报告对于RFM指标的定义如下

  • R-Recency(最近一次购买时间:R指用户上一次消费的时间,上一次购物时间距今最近的顾客通常在近期响应营销活动的可能性也最大,对于APP而言,很久没有购物行为可能意味着用户放弃了APP的使用,重新唤起用户也需要更多的成本。
  • F-Frequency(消费频率:F指用户在某段时间内的购物次数,消费频率越高意味着这部分用户对产品的满意度最高,用户粘性最好,忠诚度也最高。
  • M-Money(消费金额:M指用户在某段时间内的购物金额,这也是为公司带来价值的最直接体现,而消费金额较高的用户在用户总体中人数较少,却能创造出更多价值,是需要重点争取的对象。

基于RFM理论找出有价值的用户

计算消费间隔R值,最近消费时间和最大时间(2017-12-03)间隔时间,最近购买时间的区间为0-8,将其分为4档,0-2,2-4,4-6,>6分别对应的R评分4到1。

 

计算消费频率F值

 

付费用户中消费次数从低到高为1-93次,将其分为6档。1-9,10-19,20-29,30-39,40-49,50以上,对应F评分分别为0-5分。

 

用户分类

 

这三个维度互相关联,反映了每个用户的现在价值和潜在价值,将每个维度分成5个区间进行评分,通过计算分数找到最有价值的用户,并对用户进行分类,可以有针对性对不同类型用户采用不同的营销策略。

  • 重要价值用户:R高F高。这类用户是平台的高质量用户,他们已为平台做了较多的贡献,应给予优惠回馈性服务和个性化服务,以鼓励他们持续购买的热情。
  • 重要发展用户:R高F低。这类用户最近有购买行为但频率不高,可向其提供忠诚度计划,推荐更符合用户喜好、性价比高的商品,吸引其购买,逐渐提高忠诚度。如果是新客户,则需要建立关系,提供新人优惠券鼓励消费。
  • 重要保持用户:R低F高。活跃度低的用户可通过短信等场外提醒来引导其入场参与优惠活动,并提供更新产品来鼓励他们再次购买。还可以鼓励其对之前购买的商品做评价以提高商品热度和可信度。
  • 重要挽留用户:R低F低。这类用户容易流失,需要重点挽留,必要时可主动联系客户询问流失原因。可通过拼团打折、积分兑换、捆绑销售、热卖热点商品等活动唤起用户注意力,提升用户兴趣。

依据购买次数来考察商品类别和商品种类的销售情况。

 

虽然近97%的商品无人购买,但这主要是由于统计时间过短,部分商品的购买具有季节性,所以在该时间段出现低销量的现象。此外,这些低销量的商品的存在虽然仅能满足极少数客户的需求,但其利润可通过长尾效应积累获取,同时还能为平台营造有层次感的购物氛围,部分商品还能烘托出主流商品的优势,让客户更有信心购买。

本文分析了淘宝用户行为数据共300万条,从四个不同角度提出业务问题,使用AARRR模型和BFM模型分析数据给出如下结论和建议。

a.获取用户 由于数据中没有给出每个用户第一次的登陆的时间,我们暂且把浏览行为视为用户的获取。新增用户的数据不够理想,应观察各渠道的用户获取情况,以及竞争平台近期是否在举行促销活动。 b.激活用户 用户行为包括点击、放进购物车、收藏以及购买,由于收藏和加入购物车都为浏览和购买阶段之间确定购买意向的用户行为,且不分先后顺序,因此将其算作一个阶段,从浏览到有购买意向只有9.51%的转化率,当然有一部分用户是直接购买,但也说明大多数用户以浏览页面为主而购买转化较少,此处为转化漏斗中需要改善和提高的环节。较多的用户是经过比较长的路径才到达购买页面。可在收藏、加购页面增加更多优惠提醒,精准的发放优惠券、满赠券来鼓励加入购物车的访客提交订单付款成功。还可与其他知名平台合作,加大优惠力度,增加免密支付、极速支付、月付等方式提高下单效率。 针对这一环节改善转化率的建议有(1)优化电商平台的搜索匹配度和推荐策略,主动根据用户喜好推荐相关的商品,优化商品搜索的准确度和聚合能力,对搜索结果排序优先级进行优化。 (2)在商品详情页的展示上突出用户关注的重点信息,精简信息流的呈现方式,减少用户寻找信息的成本 (3)优化加入购物车和收藏按键的触达,用户在滑屏时也能方便触达,增加功能使用的次数。 c.提高留存 淘宝APP的留存相对而言较为稳定,让用户提高、保持使用淘宝电商平台的频率相对而言更加重要。 d.增加收入 使用APP的用户中有61%的付费用户,付费转化率相当高。 e.用户推荐 淘宝本身用户基数庞大,知名度高,个人认为在一二线城市的用户基本已经达到饱和,传播工作需要针对三四线城市的渠道下沉,在这些地区针对用户价格敏感度高的特性开展类似拼多多的拼团转发和打折促销活动,扩大这部分用户的使用率。

以一周为周期进行波动,一周中的高峰期在周末,符合上班族作息时间中的空闲时期。而平时一天中,在晚十点后出现高峰期。针对高峰期进行营销活动收益最高,此时使用人数最多,活动容易触达用户,营销活动的形式可以通过促销、拼团、直播等形式进行。用户的活跃度应该结合平台的活动时段分析,考察是否符合预设目标值,同比环比等。本篇分析发现周末晚间20点-22点是用户活跃高峰期,应针对高峰期进行有效的营销活动,从而更容易触达用户。

商品售卖主要依靠长尾商品的累积效应,而非爆款商品的带动。而浏览次数前列的商品甚至没有进入销量前30,说明这些吸引用户更多注意力的商品没有很好的转化为实际销量。 针对浏览量高而销量不高的这部分商品,需要提高的是用户从点击进入商品详情页到最终购买的体验。作为商家端可以从以下几个方面提高销售额(1) 商品详情页的实际价格是否相比展示价格偏差过大,有的商家为了吸引用户点击在商品展示页投放的价格具有较强吸引力,但实际价格偏高,在用户心中反而引起反感 (2)详情页的信息流展示是否合理,是否将用户最想看到的部分置于容易看到的位置,便于信息的获取 (3)优化商品展示的形式,利用视频等方式给用户更直观的感受,提高照片的美观程度 (4)评论区评价管理,尤其对于差评区的用户反馈进行认真对待,提高自身服务质量

邀请新兴热门品牌入驻,调整商品引流通道

  • 平台的商品类别的销量有待提高,可能是平台缺乏用户喜爱的商品,也可能是商品类别的划分不够精准。可通过邀请新兴热门品牌的入驻,引进更多用户和促成热销产品的诞生,增强品类口碑。
  • 针对复购用户的喜好和习惯调整平台首页的各栏目的内容规划、显示顺序和展示区域,在提供更便捷的服务的同时鼓励用户尝试其他板块的体验。还可在成交量较高的商品大类后设置引流通道,为其他相关商品、推荐商品增加曝光量。
  • 优化商品详情页的内容和顺序,提炼热销商品的卖点和精简描述,引导用户迅速掌握商品关键信息,做出购买决策。

R和F评分都很高的用户是体系中的最有价值用户,需要重点关注,并且活动投放时需谨慎对待,综合评分大于4的用户属于活跃的成熟客户,可以积极推送营销信息,对于综合评分为4~2的用户,可以通过传递新品,通知店铺活动信息,对于评分小于2的用户,运营活动可以重点针对这部分用户,提高用户使用产品的频率,可以通过拼团打折、积分兑换等活动唤起用户注意力。从中我们可以得到用户的RFM分数,用户user_ID为337305的用户综合评分为5分,购买次数为93,是体系中的最有价值用户,综合评分大于4的用户属于活跃的成熟客户,可以积极推送营销信息,对于综合评分为4,2的用户,可以通过传递新品,通知店铺活动信息,对于评分小于2的用户,运营活动可以重点针对这部分用户,提高用户使用产品的频率,可以通过拼团打折、积分兑换等活动唤起用户注意力。我们提取出评分最高的超级用户行为数据,发现该用户每天都产生了购买行为,且从未使用过收藏功能,购物车的使用频率极低,并且购买行为在周末达到高峰,可以根据该用户的活跃规律进行相关活动的推送,由于商品种类数据为脱敏数据,很遗憾此处无法分析该用户购买的商品类型。针对用户群体特征采取差异化营销

  • 重要价值用户:通过提供优惠回馈性服务和个性化服务,鼓励持续购买的热情。
  • 重要发展用户:在优化推荐策略的基础上逐渐提高忠诚度。如果是新客户,则需要建立关系,提供新人优惠券鼓励消费。
  • 重要保持用户:活跃度低的用户可通过短信等场外提醒来引导其入场参与优惠活动,并提供更新产品来鼓励他们再次购买。还可以鼓励其对之前购买的商品做评价以提高商品热度和可信度。
  • 重要挽留用户:可主动联系客户询问流失原因。可通过促销热点商品、拼团打折、积分兑换等活动唤起用户注意力,提升用户兴趣。

参考链接

1.简书:https://www.jianshu.com/p/4f64d739fba2

    以上就是本篇文章【Python+Mysql+Tableau 电商用户行为数据分析实战】的全部内容了,欢迎阅览 ! 文章地址:http://ktsh.xhstdz.com/quote/77333.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://ktsh.xhstdz.com/mobile/ , 查看更多   
发表评论
0评