数据分析应用:用户留存分析

用户33523432020-04-28 19:41

作者:汪谦(如需转载,请取得作者同意授权)


产品的健康成长离不开良好的用户留存,本文将介绍如何通过用户登录日志分析用户留存。(本文图表均通过网易有数制作)

假设我们有这样一份数据:某产品的用户登录日志,记录了用户每次登录的时间,如下图所示:


基于该数据,我们可以在有数里得到如下的用户周留存比例图:


其中,将2018年上半年划分为26周,在y轴上表示,x轴则表示距离首次登录间隔了多少周,每个方块上的百分比标签则表示用户的留存比例,同时留存比例越高,方块的颜色也越深。

解读示例:

下图中红色框框中的方块,表示第6周新增的用户,经历2周后,还有69%继续登录使用着产品。


通过可视化的方式我们可以直观地发现一些问题,如下图所示:

问题一:区域1出现大片空白,代表这几周没有任何用户登录产品,但是后续几周用户又重新登录了,要么统计的数据有丢失,要么就是产品在空白的这几周可能存在异常,用户无法正常登录产品,需要进一步排查。

问题二:区域2用户留存相对较低,对比参照右侧用户新增趋势图可以发现,这几周用户有较大增长,但是留存情况不太理想,可能这几周加大了市场推广,但引流的新用户黏性不高,需要重新评估市场渠道的质量。


那么如何在有数中实现用户留存分析呢,首先我们需要得到用户首次登录时间、每次登录距首次登录间隔时间等信息

在有数中创建一个计算字段,即可得到用户首次登录时间,语法如下:
{ FIXED [用户ID] : min([登录时间]) }

得到首次登录时间后,便可以计算每次登录距离首次登录间隔时间,语法如下:
DATEDIFF("week", [用户首次登录时间], [登录时间])

于是我们得到如下两列数据:


如此一来我们便可以计算用户的留存了,
1、添加一个“图表”控件,将用户首次登录时间拖入Y轴,将距首次登录时间间隔拖入X轴
2、将标记类型选择为方形
3、将用户数拖入“颜色”,从而用颜色的深浅表示用户数的多少(其中用户数也是通过计算字段得到的,语法如下:COUNTD([用户ID]),即对用户ID的去重计数)
4、将用户数拖入“标签”,从而用文字标签显示用户数的多少

我们将得到下图


下图可以通过两个维度来解读数据,横向的一行数据代表某一周的新用户在随后几周的留存情况,比如下图中框中的行表示第7周的新用户有1234个,在随后几周这些用户都有继续使用产品,登录用户始终为1234。(当然这里是造的假数据,如果现实中有这么好的留存情况,那产品团队睡着都能笑醒)


纵向的一列则表示每周的新用户在相隔同样一段时间后的留存情况。

第1列表示的是每周新增的用户数量。


第2列表示的是首次使用后1周后还继续使用的用户数量。


如果我们想得到留存的相对比例,则可以借助有数的表计算功能得到,对用户数进行表计算。


表计算的设置如下


如此一来,我们便得到最终的效果,用户周留存占比图


如果想计算7日留存或者月留存,方法相同,只要把上述计算字段中的粒度由week变更为day或者month即可。
当然,也可以添加筛选器、参数控件,这样数据报告的读者可以自行选择要分析的时间段跟留存类型。


点击了解更多网易有数