【业务数据分析】—— 用户留存分析(以挖掘Aha时刻为例)
目录
一、用户留存是什么
二、为什么要考虑用户留存
1、为什么要考虑用户留存?
2、影响用户留存的可能因素
3、用户留存的3个阶段
三、怎么进行用户留存分析(挖掘Aha时刻)
1、Aha时刻
2、Aha时刻的作用
3、挖掘Aha时刻
一、用户留存是什么
在互联网行业中,用户在某段时间内开始使用应用,经过一段时间后,仍然继续使用该应用的用户,被认作是留存用户。这部分用户占当时新增用户的比例,即用户留存率,会按照每个单位时间(例如日、周、月)来进行统计。顾名思义,留存指的是“有多少用户留下来了”。留存用户和留存率体现了应用的质量和保留用户的能力。
● 新增用户留存率=新增用户中登录用户数/新增用户数×100%(一般统计周期为天)。
● 新增用户数:在某个时间段(一般为第一整天)新登录应用的用户数。
● 登录用户数:登录应用后至当前时间,至少登录过一次的用户数。
● 第N日留存率:指的是新增用户日之后的第N日依然登录的用户占新增用户的比例。
第1日留存率(即“次留”):(当天新增的用户中,新增日之后的第1天还登录的用户数)/第1天新增总用户数。
第3日留存率:(当天新增的用户中,新增日之后的第3天还登录的用户数)/第1天新增总用户数。
第7日留存率:(当天新增的用户中,新增日之后的第7天还登录的用户数)/第1天新增总用户数。
第30日留存率:(当天新增的用户中,新增日之后的第30天还登录的用户数)/第1天新增总用户数。
二、为什么要考虑用户留存
1、为什么要考虑用户留存?
当一个新的APP上线时,我们最关心的指标就是活跃用户数及新增的用户数。我们通过不断加大广告投放,不断开源,提高APP的曝光,从而带来更多新用户。开始时,获取新用户比较容易,新用户增长快速,但慢慢地就会到达瓶颈期,用户增长速度放慢。所以,如果没有关注用户的留存情况,就会导致我们获取的新用户不断流失,一边不断地获取新用户,一边用户不断地流失。

留存是转化漏斗里承上启下的关键,一边连着拉新和激活,把用户沉下来,另一边牵着转化和口碑,让真正沉下来的用户,更好地转化和传播。所以,留存才是一种持续增长的心态,只有留存做好了,漏斗才不会变“漏洞”。下面我们用5组数据来说明为什么应该把留存看得更重要。
数据1:10%的用户在下载APP的一周后仍继续使用,一个月后,这个数字只有2.3%。用户的长期留存很重要,有一些短期留存的用户长期来看都流失了,除了看短期活跃度,还希望用户可以持续活跃在APP中,所以做好长期的留存分析是至关重要的。
数据2:52%的APP会在3个月后失去至少一半的重度用户。即使有了稳定的用户基础,也需要恰当的策略来留住他们。大多数应用的重度用户如果没有经营好,也会流失,而且这部分用户流失的代价远比流失新用户大。
数据3:获取新用户的成本比留存现有用户的成本高5倍以上。互联网的获客成本越来越高,获客难度也越来越大。
数据4:老用户比新用户尝试新功能的可能性高50%。老用户会更愿意尝试APP新出的功能,他们的行为表现可以让我们更好地发现问题,而新用户通常可能因为本身的质量原因,让我们不知道是功能问题还是用户本身的问题而造成的指标波动。
数据5:Gartner公司预测,你公司未来80%的收入将来自20%的现有用户。企业的大部分收入都来自现有用户,而新增的用户贡献的收入占比较少,因为每一个新增用户都需要经过一个漫长的阶段培养成忠实用户,然后他们才会产生付费的行为,而现有的用户已经使用APP一段时间了,具有一定的黏性和忠诚度,付费的概率更大。
2、影响用户留存的可能因素
1.获客渠道不精准,用户质量较差
2.产品使用路径指引不明,用户体验不佳
3.产品功能与用户需求预期不符合
4.产品触发不足,用户使用习惯培养不到位
5.产品吸引力不足,缺乏用户激励
6.难以实现精细化运营,用户分群欠缺
3、用户留存的3个阶段
(1)、用户留存初始阶段(Initial Retention)

用户留存的初始阶段是最关键的。如何在初始阶段吸引用户对整体留存的影响远远超过其他任何因素——如果你在初始阶段失败,那么在接下来的阶段将几乎无法弥补。初始阶段是用户对你的产品和品牌的第一印象。理想情况下,你希望新用户参与核心功能,并尽快了解产品的实用性。
(2)、用户留存中期阶段(Mid-Term Retention)

中期阶段是使用户形成新习惯。无论用户在第一次使用产品时,即初期有多么兴奋,新奇感多么强烈,在时间久了之后,这种新奇感都会消失。很多产品经理认为初始阶段成功的Aha时刻能够让老用户继续留存下去,但不幸的是,单一的良好体验并没有创造出新的习惯。所以,你需要用不同的营销策略来提高用户黏性,比如,签到功能、定期的活动等,让用户不断参与。另外,你还需要去创造更多的Aha时刻。
(3)、用户留存长期阶段
前两个留存阶段主要集中在产品引导、用户体验和行为心理学,而这个阶段的目标是最终建立一个优秀的产品,并不断改进它。
前两个留存阶段主要集中在产品引导、用户体验和行为心理学,而这个阶段的目标是最终建立一个优秀的产品,并不断改进它。举个例子来说,修图/短视频行业逐渐热门,出现了一度很大的足记、美图、秒拍等APP,但是在这个行业,没有创新,就意味着走下坡,随着快手和抖音等APP的兴起,短视频行业的格局被重新改写。所以,如何将新思维、新创新运用到产品上,是产品保持长久竞争力的关键。
三、怎么进行用户留存分析(挖掘Aha时刻)

1、Aha时刻
Aha时刻(Aha moment)也被称为惊喜时刻,是用户第一次认识到产品价值时,脱口而出:“啊哈,原来这个产品可以帮我做这个呀!”简单来说,就是用户第一次使用产品时的惊喜体验。
Aha时刻主要发生在用户激活阶段,它是用户激活的关键。当用户被吸引来后,并不是所有的用户都会转化成活跃用户,如果用户获得Aha时刻,即从产品中发现了价值,就会顺利转化成活跃用户,而且较容易转化成黏性较高的忠诚用户。
2、Aha时刻的作用
单个用户在产品中生命周期包含4个阶段,拉新→激活→留存→流失。由于拉新(获取新用户)的成本越来越大,所以我们希望每获取一个用户,都能够尽可能地留下来,所以“拉承一体化”的打法非常重要。
不只是把用户从渠道利用采买的方法吸引过来,同时要做好用户进入APP后的承接。那怎么做承接呢?需要针对用户进行相对应的Aha时刻的分析,发现留存的Aha时刻。
当我们找到用户的Aha时刻后,就可以有针对性地引导用户去找到他们的Aha时刻,从而提高用户留存率。比如,短视频类APP,通过数据分析发现,7天内用滤镜拍了3个视频的用户的留存率会大大提高,那么产品经理就可以引导用户多用滤镜拍视频,同时也可以对滤镜的功能进行相应的优化。
3、挖掘Aha时刻
挖掘Aha时刻的方法论本质是通过分析找到使用户留存率最高的那个行为。将其运用到产品设计和运营中,让所有新用户尽可能地体验到产品价值,从而持续地留下来。比如,当我们发现第1次消费与第2次消费相差3天的用户留存率最高时,就要通过各类运营策略引导并提醒用户在第1次消费3天后回来消费。
我们首先要明确分析目标:
影响用户留存率的关键行为有哪些?
这些行为和用户留存率的相关程度有多大?
所以业务问题可以转化为“挖掘与留存率相关的用户行为,并且把相关的程度量化”

以直播为例进行具体的分析:
1.关键行为特征数据的提取
利用SQL从数据仓库中提取你想要的与留存率相关的数据行为。作为数据分析师,我们需要自己大概思考有哪些用户的行为会影响到用户留存率,然后把这些猜想的行为因素与相关的业务人员进行沟通,主要是从业务人员的经验角度分析用户的哪些行为大概会影响到留存率,再去完整地提取数据,这样可以保证提取的用户行为数据较为科学和完整。

当我们规划出大概影响用户留存率的行为时,接下来就需要把这些行为用数据指标表示出来,用数据指标来刻画这些行为。在本例子中,我们通过登录行为、观看行为、弹幕行为、和付费行为作为数据指标。
2.相关性分析
提取了和留存率可能相关的用户行为数据以后,就要挖掘与留存率相关的那些用户行为,以及把这些相关性量化。量化指的是用数字计算出来。那么,如何计算这些用户的行为和留存率的相关性大小呢?这里需要用到专业的数据分析方法,我们知道这是典型的相关性问题,所以可以采用统计学里的相关性计算方法。利用统计学的相关性计算方法,可以计算第一步中提取的每一个行为与留存率的相关性,相关性的系数越大表示这个行为与留存率越相关,就表示它可能越影响留存率。比如,用户使用产品的次数与留存率的相关系数是0.6,用户使用产品的时长和留存率的相关系数是0.8,就可以说明用户使用产品的时间和留存率更相关。
我们把上述提取的行为数据量化,指标用X表示,留存用Y表示。
import matplotlib.pyplot as plt #导入Python包
matplotlib.pyplot
import seaborn as sns #导入 Python包 seaborn
import pandas as pd #导入 Python包 pandas
retain2 = pd.read_csv ( "d:/My Documents/Desktop/train2.csv" )#读取文件的数据
retain2= retain2.astype (float) #把文件的数据格式转换为float格式
plt.figure (figsize= (16,10) ,dpi= 80) #设置展示图的大小及字体的大小
sns.heatmap ( retain2.corr () ,xticklabels=retain2.corr () .columns, yticklabels=retain2.corr () .columns,cmap='RdYlGn ' , center=0 , annot=True)# 相关图的可视化计算
# Decorations
plt.title ( 'correlogram of retain' ,fontsize=22)#设置标题
plt.xticks ( fontsize=12)# 设置x坐标字体的大小
plt.yticks ( fontsize=12)#设置y坐标字体的大小
plt.show( )#输出相关性分析的可视化图表

3.因果分析
数据分析中的相关关系不一定是因果关系,假如我们只分析出使用产品的时长和留存率具有很强的关系,但我们不知道是因为用户使用产品的时间长这个因素导致了留存率高这个结果,还是因为用户留存下来,所以使用时间比较长。所以,我们需要分析哪些行为是造成用户留存率高的原因,针对这些原因进行优化和促进才可以达到提升留存率的作用。那么用什么方法分析?这个问题就是典型的因果推断方法,可以利用因果推断常用的方法:Granger Test(因果检验)。
我们需要进行下一步的分析:因果推断,利用数据科学方法分析这几个行为因素和留存哪一个是因,哪一个是果。原假设和是否拒绝:判断X和Y是否存在因果关系R。当经过格兰杰因果关系检验后计算出来的P值大于0.05时,则接受原假设,否则拒绝原假设。

它们的因果关系如下。
● 30天登录天数是留存的原因。
● 30天日均观看时长是留存的原因。
● 30天观看品类数是留存的原因。
● 30天充值次数是留存的原因,但留存不是30天充值次数的原因。
4.Aha时刻
当我们已经判断了某个行为就是用户留存率高的原因时,比如,用户一周浏览抖音短视频的时间是下一周是否会留存的原因,但是我们不知道用户达到多少时长可以促进留存。那么,接下来就是去发现到底浏览多长时间抖音短视频是留存的Aha时刻,这个Aha时刻非常神奇,比如,用户一周使用产品288分钟,下周留存的概率会大大增加,这个“一周——使用——288分钟”就是互联网中最经典的Aha时刻。抓住了Aha时刻,也就抓住了一个产品的留存灵魂。
发现了影响留存的原因以后,我们就要寻找这些行为达到一个怎样的值后,会大大影响留存率。计算30天登录天数、7天登录天数、月日均观看时长、30天观看主播数、30天观看品类数和留存的关系。

Aha时刻的计算方法就是基于上图来寻找的。我们以30天登录天数作为例子,横轴是30天内不同登录天数,纵轴就是用户留存率,当横轴为7时,用户留存率趋于稳定,这时达到较稳定的状态,也被称作Aha时刻。其他的行为与Aha时刻的挖掘方法类似。我们可以发现几个神奇的留存的Aha时刻。
● 月登录4天:表明当用户的月登录天数达到4天时,会大幅增加留存。
● 周登录3天:表明当用户的周登录天数达到3天时,会大幅增加留存。
● 月观看7个主播数:表明当用户的月观看主播数达到7个时,会大幅增加留存。
● 月观看4个品类数:表明当用户的月观看品类数达到4个时,会大幅增加留存。
● 月日均观看时长4分钟:表明用户月日均观看时长达到4分钟时,会大幅增加留存。
参考内容:
一文说透用户留存:抓住有价值的留量红利
《数据分析方法和业务实战》
更多博客:
【数据分析】————面试总结
【业务数据分析】——数据指标和数据指标体系
【业务数据分析】——如何搭建数据指标体系
【业务数据分析】——十大常用数据分析方法
相关文章:
【业务数据分析】—— 用户留存分析(以挖掘Aha时刻为例)
目录 一、用户留存是什么 二、为什么要考虑用户留存 1、为什么要考虑用户留存? 2、影响用户留存的可能因素 3、用户留存的3个阶段 三、怎么进行用户留存分析(挖掘Aha时刻) 1、Aha时刻 2、Aha时刻的作用 3、挖掘Aha时刻 一、用户留存是什么 在互联网行业中&…...
极客的git常用命令手册
极客的git常用命令手册 1.1 权限配置篇1.1.1 创建ssh key1.1.2 本地存在多个密钥时,如何根据目标平台自动选择用于认证的密钥? 1.2 基础信息配置篇1.2.1 配置用户名1.2.2 配置用户邮箱1.2.3 设置文件名大小写区分1.2.4 设置命令行显示颜色1.2.5 检查git全…...
spring-data 一统江湖,玩转多种数据源
1、起因 因为要在项目中同时访问redis,mongo和mysql三种数据库,而且因为偏向spring-data,所以都使用了spring-data 在使用的过程中如果不做配置发现会有冲突,这篇文章也是解决这个问题,避免以后遇到同样的问题不知所…...
【EMC专题】为什么PCB上的单端阻抗控制在50欧?
每当我们在发板后和PCB板厂沟通说有些走线需要阻抗控制,控制在多少多少。其实我们所说的阻抗是传输线的特性阻抗。特性阻抗是不能用万用表测量出来的,他由传输线的结构以及材料决定,与传输线的长度、信号的幅度、频率等均无关。 特性阻抗的概念 当电磁波在电缆上…...
想自学写个操作系统,有哪些推荐看的书籍?
前言 哈喽,我是子牙,一个很卷的硬核男人。喜欢研究底层,聚焦做那些大家想学没地方学的课程:手写操作系统、手写虚拟机、手写编程语言… 今天我们将站在一个自学者的角度来聊聊如何实现自己的操作系统。并为大家推荐几本能够帮助你…...
深入理解Java虚拟机:JVM高级特性与最佳实践-总结-7
深入理解Java虚拟机:JVM高级特性与最佳实践-总结-7 类文件结构概述无关性的基石 虚拟机类加载机制概述类加载的时机 类文件结构 代码编译的结果从本地机器码转变为字节码,是存储格式发展的一小步,却是编程语言发展的一大步 概述 我们写的程…...
ES6中flat与flatMap使用
1、方法介绍 数组的成员有时还是数组,Array.prototype.flat()用于将嵌套的数组“拉平”,变成一维的数组。该方法返回一个新数组,对原数据没有影响。 [1, 2, [3, 4]].flat() // [1, 2, 3, 4]上面代码中,原数组的成员里面有一个数…...
苹果手机、电脑如何进行屏幕录制?苹果录屏功能在哪?
随着人们生活水平的提高,不少小伙伴都会选择苹果手机、苹果电脑作为主要的设备。因为使用苹果电脑进行办公,不仅仅能够提升效率,对于文件的安全性也是有一些保障的。那么,在使用苹果电脑的时候,如果需要有录屏的需求该…...
什么是研发 Lead Time?我悟了!
嗨,朋友!你听说过「新型工伤」吗? 我好像「赛博确诊」了😣 那天朋友约我吃饭,我下意识回复了句「好的,那我提一个日程」……还有上次跟一位准妈妈聊天,我好奇宝宝的预产期,结果脱口…...
android 窗口焦点介绍
背景 我们经常会遇到一种Application does not hava focused window的ANR异常,这种异常一般是没有焦点窗口FocusedWindow导致,且这类异常只会发生在key事件的派发,因为key事件是需要找到一个焦点窗口然后再派发,而触摸事件只需要找到当前显示…...
研发工程师玩转Kubernetes——构建、推送自定义镜像
这几节我们都是使用microk8s学习kubernetes,于是镜像库我们也是使用它的插件——registry。 开启镜像库插件 microk8s enable registry模拟开发环境 我们使用Python作为开发语言来进行本系列的演练。 安装Python sudo apt install python3.11安装Pip3 pip3用于…...
[网络安全]DVWA之XSS(Stored)攻击姿势及解题详析合集
[网络安全]DVWA之XSS(Stored)攻击姿势及解题详析合集 XSS(Stored)-low level源代码姿势基于Message板块基于Name板块 XSS(Stored)-medium level源代码姿势双写绕过大小写绕过Xss标签绕过 XSS(Stored)-high level源代码姿势:Xss标签绕过 XSS(S…...
VP记录:Codeforces Round 873 (Div. 2) A~D1
传送门:CF 前题提要:因为本场比赛的D题让我十分难受.刚开始以为 r − l 1 r-l1 r−l1与 r − l r-l r−l应该没什么不同.但是做的时候发现假设是 r − l 1 r-l1 r−l1的话我们可以使用线段树来维护,但是 r − l r-l r−l就让线段树维护的难度大大增加,这导致我十分烦躁,所以…...
【C++】函数提高
欢迎来到博主 Apeiron 的博客,祝您旅程愉快 !时止则止,时行则行。动静不失其时,其道光明。 目录 1、缘起 2、函数默认参数 3、函数占位参数 4、总结 1、缘起 以前学习过了函数的基本用法和功能,现在是时候学习函数…...
【可持续能源:让我们迈向绿色、可持续未来的道路】
作为未来的主要能源来源,可持续能源技术确实有潜力改变我们的世界。随着全球对传统化石燃料的依赖程度逐渐降低,可再生能源已成为许多国家推进能源转型的首选。 从太阳能和风能到地热能和潮汐能,可持续能源技术已经在许多方面取得了重大突破…...
ES6中数组新增了哪些扩展?
一、扩展运算符的应用 ES6通过扩展元素符...,好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列 console.log(...[1, 2, 3]) // 1 2 3console.log(1, ...[2, 3, 4], 5) // 1 2 3 4 5[...document.querySelectorAll(div)] // [<div>, …...
【算法】动态规划
一、基础知识 动态规划的基本思想:将待求解问题分解成若干个子问题,如果各个子问题不是独立的,不同的子问题的个数只是多项式量级,为避免大量的重复计算,用一个表记录所有已解决的子问题的答案,而在需要的…...
HNOI2014 世界树
洛谷P3233 [HNOI2014]世界树 题目大意 有一棵 n n n个点的树,每个点有一个编号,有 q q q次操作。对于每次操作,给出 m m m个点并称为议事点,树上各个点由离这个点最近的议事点管理(如果有多个议事点离这个点最近&…...
在MyBatis XML文件中处理特殊符号的方法,如“>”、“<”、“>=”、“<=”这些符号XML会报错如何处理
前言 在MyBatis的XML映射文件中,我们经常需要使用特殊符号,比如"大于"、"小于"、"大于等于"、"小于等于"等比较操作符。然而,这些符号在XML中具有特殊的含义,因此需要进行特殊处理&…...
第三章--第一篇:什么是对话系统?
对话系统是一种人机交互的技术,旨在使计算机能够与人类进行自然而流畅的对话。它是人工智能领域的重要研究方向,具有重要的实际应用价值和广泛的普适性。 首先,对话系统的重要性在于它可以提供高效便捷的人机交互方式。传统的人机界面,如图形用户界面(GUI)和命令行界面(…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...
浪潮交换机配置track检测实现高速公路收费网络主备切换NQA
浪潮交换机track配置 项目背景高速网络拓扑网络情况分析通信线路收费网络路由 收费汇聚交换机相应配置收费汇聚track配置 项目背景 在实施省内一条高速公路时遇到的需求,本次涉及的主要是收费汇聚交换机的配置,浪潮网络设备在高速项目很少,通…...
Python基于历史模拟方法实现投资组合风险管理的VaR与ES模型项目实战
说明:这是一个机器学习实战项目(附带数据代码文档),如需数据代码文档可以直接到文章最后关注获取。 1.项目背景 在金融市场日益复杂和波动加剧的背景下,风险管理成为金融机构和个人投资者关注的核心议题之一。VaR&…...
pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
云原生周刊:k0s 成为 CNCF 沙箱项目
开源项目推荐 HAMi HAMi(原名 k8s‑vGPU‑scheduler)是一款 CNCF Sandbox 级别的开源 K8s 中间件,通过虚拟化 GPU/NPU 等异构设备并支持内存、计算核心时间片隔离及共享调度,为容器提供统一接口,实现细粒度资源配额…...
保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...
