留存分析3500字干货,方法+案例+参考代码
前言
Tableau的本质还是辅助分析、辅助工作,分析思维不可少。所以在分享Tableau技能之外,也会分享些有关分析技能的内容,统一更新入“Janie碎谈”模块中。
这篇文章是我花了好几个晚上认认真真写的,自己编造的数据,自己画的图,自己写的代码。一方面写的过程中会促使我进入更深层次的思考,边改进边学习边进步;另一方面独乐乐不如众乐乐,分享出来大家一起进步,顺便也帮我指出不足。
网上有关留存的文章很多,这篇不敢说是最全的,但最起码是较全的。由于上班加带娃,又要坚持原创,又要精细的准备每一篇干货,所以大概一周一更。如有做的不足的地方,请于后台留言,督促我改进,以分享更有价值的干货。
在这个用户为大的互联网世界中,我们一起发现更多有意思的点……
目录
互联网企业面临的留存问题
什么是留存分析
留存分析常用口径
留存分析的适用场景
留存分析参考代码
留存下降的可能性原因
留存分析方法
案例实攻
1
互联网企业面临的留存问题
-
流量红利见顶、拉新成本高
在极易同质化的今天,流量竞争着实激烈,提高用户留存的重要性不言而喻,且存量用户的获客成本远远低于拉新成本。
-
新用户较易流失
企业大规模投广告、做活动,高额支出锁不住新用户,长期可持续发展有些无力,只顾眼前利益治标不治本。
2
什么是留存分析
留存率:某日用户数在第N日仍启动该App的用户比例,留存分析即分析用户随时间变化的活跃情况。获取用户只是第一步,留住用户才是所有产品最终目标。
可以理解为:由初期的摇摆用户转化为忠诚&稳定用户的过程。留存率越高,说明用户对产品越有强烈的依赖感。
可分为三个阶段:
-
初期:新用户刚注册,用户留存下降较快,需快速让用户感受到产品核心价值。
-
中期:新用户沉淀下来,形成活跃用户。此时需分析活跃留存,加强核心功能,培养用户对产品的使用习惯。
-
后期:思考产品核心价值,做好产品迭代与优化。
从时间维度划分:
常见的的有:次日留存、3日留存、7日留存、30日留存、周留存、月留存
从用户维度划分:
常见的的有:新用户留存、活跃留存
图解如下:
3
留存分析常用口径
以新用户留存为例
次日留存率=(某日新增的用户中,在注册的第2天还进行登录的用户数)/ 该日新增用户数
3日留存率=(某日新增用户中,在注册的第3天还进行登录的用户数)/ 该日新增用户数
7日留存率=(某日新增的用户中,在注册的第7天还进行登录的用户数)/ 该日新增用户数
30日留存率=(某日新增的用户中,在注册的第30天还进行登录的用户数)/ 该日新增用户数
1周后留存率=(某周新增的用户中,在注册的第2周还进行登录的用户数)/ 该周新增用户数
2周后留存率=(某周新增的用户中,在注册的第3周还进行登录的用户数)/ 该周新增用户数
1月后留存率=(某月新增的用户中,在注册的第2月还进行登录的用户数)/ 该月新增用户数
2月后留存率=(某月新增的用户中,在注册的第3月还进行登录的用户数)/ 该月新增用户数
以活跃留存为例
次日留存率=(某日登录的用户中,在第2天还进行登录的用户数)/ 该日登录用户数
3日留存率=(某日登录用户中,在第3天还进行登录的用户数)/ 该日登录用户数
7日留存率=(某日登录的用户中,在第7天还进行登录的用户数)/ 该日登录用户数
30日留存率=(某日登录的用户中,在第30天还进行登录的用户数)/ 该日登录用户数
1周后留存率=(某周登录的用户中,在第2周还进行登录的用户数)/ 该周登录用户数
2周后留存率=(某周登录的用户中,在第3周还进行登录的用户数)/ 该周登录用户数
1月后留存率=(某月登录的用户中,在第2月还进行登录的用户数)/ 该月登录用户数
2月后留存率=(某月登录的用户中,在第3月还进行登录的用户数)/ 该月登录用户数
4
留存分析的适用场景
日留存率
-
快速判断产品是否迎合市场需求,比如新手对产品的UI设计、功能设置、新手引导等的体验是否满意,是否需做调整。
-
快速判断用户粘性,比如用户是否更易受促销活动的影响等等。
周留存率
-
判断用户忠诚度,用户此时对产品基本已有完整的体验。一整套流程体验下来,继续访问的用户可判断为潜在忠诚用户。
-
分析用户再次访问的原因,找出产品最能巩固用户的点,且参考此点以一贯之,拓展应用到更多的用户身上,促使更多的用户留下来。
月留存率
-
评估迭代与优化的效果。砍掉留存率低的产品功能,进行迭代优化。
5
留存分析参考代码
有些互联网公司面试会出留存SQL题型,该代码仅供参考。
代码运行结果
语法环境:SparkSql或Impala,其他环境也可以,只是个别函数会略有差别,替换个别函数即可,无需更改代码结构。
参考代码如下:
--以a表日期作为主体select t.date_a,t.date_b,t.diff_ab,count(distinct t.user) as user_numfrom( --a、b两段代码一模一样,join之后取二者日期差值 select a.login_date as date_a ,b.login_date as date_b ,a.user ,datediff(b.login_date,a.login_date) as diff_ab from ( --a段代码 SELECT login_date ,user from dwd.user_login where login_date>='2021-08-01'and login_date<=date_sub(to_date(now()),1) )a inner join ( --b段代码 SELECT login_date ,user from dwd.user_login where login_date>='2021-08-01'and login_date<=date_sub(to_date(now()),1) )b on a.user=b.user)tgroup by 1,2,3having t.diff_ab>=0
6
留存分析下降的可能性原因
新用户留存下降
-
新用户并未快速的感受到产品的核心价值。
-
新手引导模块体验交差
-
新用户羊毛党居多
-
界面UI设计影响使用感
-
产品功能体验较差
-
……
老用户留存下降
-
产品迭代功能致使用户体验变差
-
产品迭代周期较长,用户丧失新鲜感
-
受竞品影响
-
未促使用户对产品形成习惯
-
连续打卡签到送红包模块优惠力度较小,无坚持意义
-
广告推送较多
-
客服服务响应较慢、服务较差
-
无关推送
-
产品bug较多
-
受促销活动影响较大
-
……
7
留存分析方法
其中产品功能分析:
目的:找出对留存最有价值的功能&最没价值的功能,便于后期迭代优化。
卓越功能:建议侧重优化用户体验。
大众功能:重中之重,建议反思该功能的长期价值与实用性
小众功能:建议保留该功能,但无需过多投入精力
弱势功能:建议考虑是否砍掉
8
案例实攻
案例一
该图是我在ppt上加工出来的,选取了两日来对比。
解析:
2021年5月1日注册的新用户在注册的第7日留存率趋向于平稳,此时留存率60%;2021年5月2日注册的新用户在注册的第7日留存率趋向于平稳,此时留存率20%;2日注册的用户稳定留存率较1日差。
改进思路:
应使得趋向于平稳时的留存率尽可能提高,即平稳的这段线尽量往上提。
案例二
数据纯属个人虚构,实际分析时建议多扩展日期,该图重在解析分析方法。
该表留存率:(某新增的用户中,在第N天还进行登录的用户数)/ 该日新增用户数
以8月1日的新增用户留存为例
-
新手探索期:单纯靠大额优惠吸引的用户会之间流失,产品价值未达到用户预期。
-
习惯养成期:产品功能&实用性未促使用户养成使用习惯。
-
活跃用户期:真正留下来的忠实用户。
解析:
新用户次留骤减60%:没有使得用户迅速发现产品价值
整体留存率于第10日趋向于平稳,留存率稳定于11%左右:说明8月1日的新增用户中只有11%左右发展成了忠实用户。
3留&7留出现留存率增长现象(注意:留存率并不会呈现持续下降情况),进一步定位原因,在8月3日与8月7日是否进行了促销活动?
案例三
解析:
表格中以8月6日注册用户的次留(71%)为起始点,8月1日注册用户的7留(34%)为结束点,二者形成对角线,纵向对比数据,颜色颜色部分留存率都比较高。首先需要确认8月7日这天运营是否做了动作?比如:该日做了促销活动、或者其他特殊活动?因为8月7日正好对应的是8月6日的次留,8月5日的3留……8月1日的7留。
表格中8月9日的次留是20%,远低于其他日次留,且后续留存也较其他日偏低,警惕羊毛党。
END