用户路径分析及桑基图做法

贾利斋
贾利斋
贾利斋
15
文章
0
评论
2020-04-1803:05:00 评论 3,863 2394字
摘要

用户路径分析执行过程有非常多的”坑”,本文讲解细节处理,沉淀记录了2018年笔者执行用户路径分析的过程。

用户路径是什么?

用户路径是互联网行业表达用户使用产品完成转化/满足需求/达到目的所经过的流程。映射到现实即要去某个目的地,有多条路线可选,不同的人选择了不同的路,虽然都到达了目的地,但有的人高兴,有的人郁闷,有的路拥堵,有的路风景好,体验不同,对决策是否还会再来该目的地,已经是否还会再走这条路都会有显著影响。再折回看互联网,本质是"生意",是为了赚钱,须促成转化。互联网APP赚钱的方式大致两大类:

  • 用户支付

对于金融类APP、电商类APP、O2O类APP、社交网络会员卡、游戏类APP购买道具等以完成转化为目的,转化就是支付完成,这类APP会有多个入口方便用户转化成成交用户,这些入口便是在用户常用路径上设定的。这类产品会高频研究用户行为路径,找到高频路径,为用户转化添加入口,并不断优化每个入口的支付流程体验。

  • 广告费

资讯类、社交网络、应用商店等APP是通过不断提升用户量和用户的复用率,以CPM、CPC和CPD的形式来获取收入,那么资讯与社交网络类的产品会找到用户使用的高频路径节点,增加推荐,以促进用户的使用时长与访问PV,来增加收入。

用户路径在原PC时代是相对容易刻画的,因为每一步访问在页面上都有来源标识,而APP时代加大了难度,一方面用户的行为在埋点中表现为一个个独立的点击,除非每个点击特意埋上来源,否则很难串起来,但埋点工作量是庞大的,有时候一个版本的发布都要增加100多个埋点,较难实行;另一方面客户端埋点较PC端要复杂,分前端和后端埋点,用户场景不同,研发手段不同,埋点方式不同,往往耦合性比较差。

用户路径分析与漏斗分析的联系与区别

  • 漏斗是用户路径的子集,是其中的一种路径。
  • 漏斗是产品预设的路径,希望用户按照产品设计的路径来满足需求。然而有时候用户会玩出新的路径,通过用户路径分析可以发现这样的路径,这有时候会是衍生新产品的机会。比如:产品想让用户通过首页-列表页-详情页来完成内容阅读,但发现用户习惯是首页-搜索-搜索结果页-详情页来完成阅读,这背后反映了什么问题,产品应该如何改造,便有了契机和方向。
  • 漏斗是一种衡量产品路径的方式,用户路径分析是发现用户使用规律的分析模型。漏斗的统计常见的有两种,一种是抓产品流程关键节点,统计这若干节点的总使用量,监控出是哪个关键节点转化率不足;另一种是抓产品流程关键节点,统计上一步来的用户,这一步也来的有多少,来监控哪个关键节点转化率不足;后者比前者的统计更严谨一些,反映的问题更贴近真实情况些,但按预设的关键节点统计的方式,会有盲区,可能存在你不知道的用户行为路径。用户路径分析是统计出用户的每一条路径,来分析用户使用产品的行为习惯。

用户路径分析步骤(以APP为例,同样适用于移动web版和PC端)

第一步,清洗数据,梳理出用户路径统计所需的这些埋点。

每个公司的埋点都是杂乱的,都是需要清洗的,我从来不怀疑这一点。如何从杂乱无章的埋点中清洗出有效的路径信息?

  • 第一步罗列出最关键的页面,判断关键页面最好的方式是统计出所有埋点(含前端点击日志和后端server日报)的访问量,降序排列,能覆盖90%以上pv的这些埋点,就是关键页面。
  • 第二步清洗这些埋点。排名top的点中,有些非用户主动触发,而是系统随着用户的行为而触发,需要清洗掉。
  • 第三步根据埋点字典表,匹配出这些埋点的描述,再次排查异常情况,最终得到用以统计用户路径的这些点。

第二步,每个用户的行为进行排序

对每个用户触发的埋点(即用户的行为)进行排序,使用row_number() over(partition by 用户id order by 行为(埋点)的时间戳),得到用户-行为-顺序

第三步,排除重复页面的干扰

造成重复的原因:1.用户使用过程中重新刷新/点击页面;2.用户使用过程中翻页或瀑布流阅读模式下的加载都会重新产生一个埋点。这些本质是在同一个页面上,没有到下一步,这样的重复对用户路径分析意义不大。排重,即顺序序号差别为1且重复的多个埋点code,只剩1个。我使用的排重方法:自join(a表 join b表,a和b为同一表),取row_number(b-a)的差值为1且a.埋点code!=b.埋点code。排重后,再次对剩余的行为code排序,使用第二步的方法,得到排重后的用户-行为-顺序,生成数据仓库表,便于后续计算。

第四步,路径汇总

路径汇总即将每个用户的行为路径从route1/route2/route3/……每行的格式,转换成route1-route2-route3-……这样的路径格式。路径有长有端,但从可描述、可视化、易理解以及产品设计(不会有人去设计一个需要很多步才可以满足用户需求的产品)出发,看的行为数是有限制的,我往往看十步,这个因产品而异。

我的SQL实现方式:选出所有用户的第1步,left outer join第2步,以此类推,做10个这样的join,便可以得到10步中有多少个路径,每个路径有多少用户。

这个是SQL的笨方法,R和python大拿会有更牛的方法。

第五步,可视化-桑基图

将第四步得到的结果与第一步的字典表匹配,得到页面的汉字描述,是可视化易读的前提。在展示上是有一些技巧的:如果想要突出核心路径,可以把小的路径剔除,只留用户量多的路径做可视化。

关于可视化的工具,我用到的是海智bdp平台个人版。

  • 创建仪表盘,自命名。
  • 根据产品设计的路径,一步步导入数据后,点击右上角新建图表
  • 进入编辑图表页面,将字段拖拽至"维度"处,将计算字段拖拽至"数值"处,选择右部图表类型,即可绘制好桑基图。支持存储。

用户路径分析及桑基图做法

路径分析除了上述优化路径、找到运营着力点外,还可结合其他用户特征综合分析,如:结合生命周期观察成长期用户的路径特征,找到刺激用户转化为成长期用户的页面;观察新增用户进入后的路径特征,可以找到刺激新增留存的关键功能或页面;甚至可以直接使用路径对用户进行归类等等。

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: