前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「原理」产品路径分析-实操篇

「原理」产品路径分析-实操篇

作者头像
巡山猫说数据
发布2022-04-06 08:58:09
6530
发布2022-04-06 08:58:09
举报
文章被收录于专栏:巡山猫说数据巡山猫说数据

你好,这里是巡山猫编辑部,我是巡山猫。

之前,我们讲了产品分析基础:

「原理」如何优化产品路径,提高用户留存?

「原理」产品新功能分析-实操篇

「原理」如何分析产品新功能的效果?

路径分析之路径探寻

我们之前讲了路径分析中的三种方法,今天我们来基于SQL和Python,实际操作一下,绘制图片,直观的找到用户的路径。

代码语言:javascript
复制
# SQL代码
# 需要结合业务做修改,这里仅举例

with action_tbl ---将 action 基于 action_time 排序
as(
select
    day
    ,action
    ,time
    ,uid
    ,row_number()over(partition by uid order by action_time) as rank
from
    action_table
where
    day = '2022-01-01'
)

select
    pre_action
    ,aft_action
    ,count(distinct uid) as uv
from
(
select
    uid
    ,lag(action) over (PARTITION by uid order by rank) pre_action ---上一步 用户行为
    ,action as aft_action ---下一步用户行为
from
    (
        select
            uid
            ,concat(action,rank) as action ---将每一个action都标上序号,保证桑基图不会出现循环
            ,rank
        from
            action_tbl
        where
            rank <=5 ---只看前5步的数据
    )a
)b
where
    pre_action is not null ---上一步action非空
and pre_action <>''
group by
    pre_action
    ,aft_action
order by
    pre_action
    ,aft_action
limit 10000;
代码语言:javascript
复制
# Python代码
# 需要结合业务做修改,这里仅举例
# coding:utf-8
# 执行环境:python 3.8
# 需要安装 pyecharts 包

import pandas as pd
from pyecharts.charts import Sankey
from pyecharts import  options as opts

#读取excel文件
data = pd.read_excel('你的excel文件路径', sheet_name='test1', engine='openpyxl')  # excel名称和sheet名称要改

# 穷举桑基图节点含义
nodes = []

# 将两列action都
nodes_list = list(pd.unique(data['pre_action']))
nodes_list_plus = list(pd.unique(data['aft_action']))
# 如果后一个action list 里有前一个list不包含的list,则添加进去
for i in range(len(nodes_list_plus)):
    if nodes_list_plus[i] not in nodes_list:
        nodes_list.append(nodes_list_plus[i])

# 构建 sankey 图中的 noeds 节点
for i in range(len(nodes_list)):
    dic = {}
    dic['name'] = nodes_list[i]
    nodes.append(dic)

# 定义节点之前的连接关系:流向和节点大小
linkes = []

for i in data.values:
    dic= {}
    dic['source'] = i[0]
    dic['target'] = i[1]
    dic['value'] = i[2]
    linkes.append(dic)

# 画图并存入一个excel文件里
pic = (
    Sankey(
        init_opts=opts.InitOpts(
            width='1800px',  # 设置涂敷宽度
            height='2000px'  # 设置图幅高度
        )
    )
        .add('',      # 图例名称,就没啥图例
             nodes,   # 传入节点数据
             linkes,  # 传入边和流量数据
             # 设置透明度、弯曲度、颜色
             linestyle_opt=opts.LineStyleOpts(opacity=0.3, curve=0.5, color="source"),
             # 标签显示位置
             label_opts=opts.LabelOpts(position="right"),
             # 节点之前的距离
             node_gap=30,
             # 是否要竖着看
             # orient="vertical",
             )
        .set_global_opts(title_opts=opts.TitleOpts(title='用户流转路径')) #绘制的桑基图的title
)

pic.render('user_action.html') #输出一个html文件,打开文件就是桑基图

用SQL提取完数据,再用Python处理和绘图,我们可以得到这样的一个图:

备注:图片来自于网络,大家可以自己执行下脚本绘制对应的桑基图。

通过桑基图的绘制,我们能够大概知道用户在每个步骤上流转节点。

基于每个步骤的流转节点,我们就能较清楚的知道,用户在哪个步骤损失较多,以及每种路径下的对应指标情况。

比如我们这里目标是提高用户留存率,那我们就将每种路径下,用户的留存率打标在路径上,一对比就知道每种路径下的用户的留存率的高低了。

路径分析之功能组合

上面,我们讲完了如何利用桑基图,来进行基础的路径分析方法和案例,但是不知道大家发现了一个背后的假设没有:

之前路径分析的内容都是基于既定的使用路径,也就是我们没有人为地去组合页面和产品功能。

但很多业务场景下,我们需要的是:

如何通过分析去实现功能的组合,更好地提升产品体验,提高用户留存。

大家肯定会想到关联规则算法(Apriori),毕竟啤酒与尿布的故事都说”烂“了。

啤酒与尿布,说的是超市往往会将啤酒与尿布摆放在一起,从而提高两者的销量。

背后的原因是,分析整体销售的情况,发现人们在购物时,买了啤酒大概率都会购买尿布。

这个如果用数学上的原理来解释,就是一个关联规则分析。

简单来说,我们将用户每次的购买商品都看作一个购物篮,查看购物篮中每种物品出现的频率和相关性,我们就能大致推断出,一个购物篮中,哪些物品是能够被关联购买的。

那相应的,我们将用户的一次使用看成是“购物篮”,每个操作的行为,都看成是购物篮中的商品。

那么我们也就能够通过商品的组合,关联性分析,找到哪些产品/功能之间是强相关的。

通过功能之间的联系,我们能够将行为及对应的产品进行组合,从而得到用户更喜欢,留存率更高的功能组合。

当然,我们这期先不说算法,我们来说一种更简便的计算方法。

举个例子,我们发现的用户可用的行为链路是这样的:

我们可以发现,功能 A 后续可以组合功能 B、功能 C、功能 D,那么我们如何通过关联规则,评估用户更喜欢哪种组合呢?

我们可以查看这几种组合下的占比情况和留存情况:

通过上面这两个表格,我们可以发现,虽然 A+C 组合下,用户的占比很高,但是其实留存率并不高,算是一种常规的路径。

但是我们可以看到,A+D 组合下,用户组合留存明显上涨。

那针对这个数据,我们可以做两件事情:

1、引导用户去使用 A+D 组合

2、从产品上增加 D 功能的曝光

当然,如果你说,我只保留留 A+D 组合行不行。其实也可以,但是相应地,我们得想好兜底策略和措施。

通过简单的路径观测,并结合上文所说的桑基图的流转,我们可以定位到用户路径下的占比以及相应的留存率,能够找到更为 优质 的路径。

找到路径,通过一些策略的引导,比如任务体系的构建,积分等级的搭建,主动push用户往我们定好的路径上走,从而更好的提高留存率。

当然,关于这些任务体系的搭建,以及积分登记的搭建,讲完路径分析后,我们再来讲,路径分析下篇会从算法角度上来讲解,敬请期待。

路径分析的小结

总的来说,路径分析是为了度量用户在产品中一层又一层的操作转化,而发现产品需要优化的方向的一种分析方法。

而这种分析方法呢,最需要保证的就是产品上的埋点需要全面细致。因为只有拿到完整的用户产品操作信息,我们才能更好地复现出产品操作路径,从而可以进行后续的路径分析。

没有数据,一切都是空谈。有了数据,如何用自己理解的方法去进行有效的分析,也是我们一直需要积累和总结的经验。

以上,就是本期分享。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 巡山猫说数据 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 路径分析之路径探寻
  • 路径分析之功能组合
  • 路径分析的小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档