用户留存【摘录】

留存,是一个产品或者说企业,能够持续存活和不断发展的立身之本。

例如企业级SaaS产品,通常采用按年为单位进行付费的订阅模式。如果产品没有留住用户的能力,用户便会在第二年取消订阅,这将使得企业之前的投入付之东流。

所以,即使通过各种方式将用户吸引过来并完成用户转化,如果没能留存住用户,依然是“竹篮打水一场空”。

1

First Point

用户留存就像蓄水池

就像小学数学中经典的蓄水池问题,水龙头源源不断地注水,另一端的出水口也在泄水。只有把握出水与入水的比例,当水的流失速度尽可能缓慢时,蓄水池才会越积越多。

我们每天都会面对新增用户,也会面对流失用户,蓄水池里剩下的水就是活跃用户。留存分析就是分析多少用户进来了,多少用户流失了,具体情况是什么,对产品会有哪些影响。

这里用一组数据来看留存的重要性:

假设,某产品每月新增1000名用户,且留存率100%没有任何流失,两年之后将会拥有24000名用户,但这是绝对理想的情况。

现在把留存率设置在90%,每月新增用户仍然为1000名,那么两年后的用户总数就只会有9000名,产品的用户总数基本饱和,不会再继续高速增长。

留存率90%已经是非常高的成绩,实际上很多C端产品的留存只有35%左右。这就是为什么很多产品发展到一定阶段时,会选择扩充产品线,开展新的业务,因为原有产品的用户数已经停滞不前。

从产品的生命周期来看,产品越成熟,新增的用户数往往趋于平稳,这时候比拼的就是产品的留存能力。

如果在某个时间节点之后,产品的留存率依然不理想,那么产品就有可能走向衰退,这时进行真实反应业务情况的留存分析就显得格外重要。

2

Second Point

留存分析的两个关键

留存分析中存在一个常见的误区,很多产品为用户提供的留存周期会默认为7天或14天,以此统计用户的回访情况。

这个做法其实不够科学,为了数据的解读能贴近实际业务,在开展留存分析之前有两点需要明确的内容:

第一点:明确产品的关键事件

关键事件是用户感受到产品核心价值所采取的行动,只有用户不断的重复关键事件,才能证明产品在对用户不断地产生价值,由此形成良性循环。

第二点:明确用户使用产品的平均周期

使用周期决定了观测留存的最终结果。像电商APP,大部分用户不会每天都进行购买,因此在观察电商类APP时,使用日留存数据毫无意义。

2.1 确定产品的关键事件

在确定产品的关键事件时,可以从两方面思考:一是从产品内部,回归到产品的价值定位,你希望用户每天使用产品时都做些什么。

例如,在京东的关键事件是完成订单,在易观方舟的关键事件是创建分析,在微博的关键事件可以是浏览好友的微博首页或是发送有内容的微博。总之,一定会有关键事件能够成为产品核心价值的体现。

二是从自身业务,你认为哪一指标能直接衡量业务发展,或者是希望其能够持续增长。关键事件的指标关乎产品的持续增长,需要不断地给予用户刺激。

例如电商APP中的个性化推荐、优惠互动、双十一大促等方式,都是为了尽可能多地促成价值交换。

2**.2 确定产品的平均使用周期**

通过以上两个方面,基本可以确定产品的关键事件。此时,再去明确产品的平均使用周期,便可以完成一次最基本的留存分析。

产品周期的确定一般需要观察60天或90天的用户行为数据,将重复2次关键事件的时间间隔情况进行分别统计。当用户分布达到80%以上时对应的周期,可以认为是产品在用户侧实际的使用间隔,进而将这个周期作为留存分析的周期。

举个例子,在过去60天内,有100名用户触发过两次产品的关键事件,将这100名用户挑选出来,计算其进行第一次和第二次关键事件之间的时间间隔。

如下表所示,统计后发现3%的用户在1天之内触发两次,20%的用户在7天之内触发两次,在第30天时,已经有81%的用户都触发两次以上。

图片

这时基本就可以认定——30天是用户对产品实际反馈的平均使用周期,30天就可以作为你在留存分析时的周期时间。

*3*

Third Point

进行留存分析

3.1 留存分析的计算方法

留存分析的两个关键明确后,接下来就可以通过易观方舟或自行写数据查询的方式,用表格进行留存分析。以下表为例,这是2018年9月12日至9月18日,某产品七天内用户的7日留存情况。

图片

首先,我们来看该产品某日拉新的所有用户的留存情况。9月12日当天有1752个新用户,到第1天只有73个人留存,到第3天仅剩14人留存。可以得到9月12日第3天用户的留存率=14/1752*100%=0.80%

然后,我们来看所有时间拉新的用户在第3天的转化情况,即把所有达到第3天的用户加起来,用第3天的合计情况除以总人数,得到第3天所有用户的留存率

=60/(1752+1852+1717+1254+1307)*100%=0.76%。

3.2 绘制留存曲线

通过以上数据,我们可以绘制出产品的留存曲线或用易观方舟自定义生成,即从第1日到第7日的用户递减曲线,再进行分析。如下图所示,为两组留存曲线的对比示意图。

图片

曲线的斜率越大,用户流失得越快;曲线趋于平缓,证明已经有一部分用户在持续地感受到产品的价值,逐渐成为忠诚用户。

通常情况下,我们都希望留存曲线在一段时间之后尽量保持平缓,而不是还是处于一个下降的态势。因为当留存相对平缓时,就能证明产品已找到市场与产品相匹配的用户群体,从而也就证明了产品在市场上所具有的价值。

当企业开展运营活动或产品改版升级时,希望整个留存曲线有抬升趋势,而抬升则意味着后续的用户留存相较之前有所提升,如上图的右侧所示,这样企业进行的相关动作才有意义。

3.3 找到提升留存的切入点

绘制完毕留存曲线,发现曲线并不是很平缓或者留存率并不是特别理想时,就需要去分析具体的原因。这里提供了5个切入点:

  • 对比不同用户群之间的留存情况
  • 对比不同功能之间的留存情况
  • 对比不同行为之间的留存情况
  • 对比不同维度下的留存情况
  • 对比重复关键事件不同频率的情况

以对比不同用户群之间的留存情况为例,我们可以先将用户分为三类:活跃用户、新用户和召回用户,这三类用户都有明确的定义标准:

图片

  • 根据用户在之前连续两个周期的表现,如果在两个周期内持续活跃稳定地访问产品,即为活跃用户;
  • 用户上一周期及以前从未有访问记录,在当前周期内活跃,即定为新用户;
  • 在某一周期中活跃了一段时间,继而沉寂了,在当前周期再次活跃,则为召回用户。

通过绘制留存曲线发现,在不同用户群的对比中,用户留存的差异显著。我们希望保持活跃用户的留存情况,同时新用户、召回用户能向活跃用户靠拢。

图片

在这里有三个值得重点分析的问题:

  1. 蓝色曲线的活跃用户为什么会有如此高的留存率,他们在产品中的行为有哪些?
  2. 橙色曲线的新用户之间是否有差异?
  3. 黑色曲线的召回用户,是因为什么促使了他们的再次活跃?

从这些问题的答案中找到下一步运营的策略,这就是我们做留存分析的基本思路。即从结果推出运营目标,然后根据目标寻找差距优化,根据优化方案设计合理的执行策略。

针对不同的用户群,我们可以借助Engagement Loop模型(关于该模型的详情可阅读《这样进行转化分析,想不提高用户转化都难》),重点考察与业务优化关联最大的阶段。

  • 分析活跃用户:围绕着用户的A-ha Monent创建分析,分析可能包括事件分析、漏斗分析、留存分析等。将发现产品价值的行为作为起始行为,分别比较活跃用户和沉默用户之间的留存情况,找到留存差异最大的行为。继而分析重复这个行为达到多少次以上时,对留存的影响最大;
  • 分析新用户:新用户达到A-ha Monent之前,会有一个Onboarding(上手)的过程,通过新手教程熟悉产品的基本使用技巧,我们可以对比完成Onboarding的新用户与未完成之间的留存差异;
  • 分析召回用户:用户沉默一段时间后,又开始使用产品,是否是因为我们近期的运营或者市场活动。对比不同触达用户的形式、用户回访来源、用户回访行为之间的留存差异,找到刺激用户的有效Trigger。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/755102.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ubuntu软件开发环境搭建

Ubuntu软件开发环境搭建 安装VMware Tools网络桥接更新软件源常用功能配置时间同步共享文件夹双向复制粘贴终端初始大小和字体设置安装必要的工具 常用指令 安装VMware Tools 点击虚拟机->安装VMware Tools… 打开终端,cd到/media/用户名/VMware Tools/下&#…

语音控制模块_雷龙发展

一 硬件原理 1,串口 uart串口控制模式,即异步传送收发器,通过其完成语音控制。 发送uart将来自cpu等控制设备的并行数据转换为串行形式,并将其串行发送到接收uart,接收uart然后将串行数据转换为接收数据接收设备的并行…

探索拓展坞的奥秘:提升电脑接口的无限可能

在数字化时代的浪潮中,电脑已成为我们日常生活和工作中不可或缺的一部分。然而,随着外接设备的日益增多,电脑接口的数量和类型往往无法满足我们的需求。这时,拓展坞便应运而生,以其强大的扩展能力和便捷的使用方式&…

云项目实战

云项目是现在工作室最常见的一种项目开发形式了,但是对于码农来说,云项目只是知道,但是如何部署,开发,配置环境等操作,是否能拿得出来呢?这是一个问题,最起码对博主来说,…

在ubuntu22.04上unsupported SSL backend ‘openssl‘. supported SSL backends: gnutls

在 Ubuntu 22.04 上遇到 Git 报告 “unsupported SSL backend ‘openssl’. supported SSL backends: gnutls” 的错误,通常是因为 Git 客户端被配置为尝试使用不支持的 SSL 后端。Ubuntu 的 Git 包默认使用 GnuTLS。这个问题可能是由于全局 Git 配置错误导致的&…

旅游系统-软件与环境

一. 软件 1.Navicat、phpstudy、Idea、Vsode 参考 网盘链接 二.配置文件 1.NodeJS、JDK、Mysql 参考 网盘链接 注意点: 1.Mysql 切记需要环境变量配置 2.数据库密码要好记点的,别乱设 3.环境变量配置的路径要能找到 三.安装运行 1.下载网盘内的软件&am…

Linux docker1--环境及docker安装

一、基础环境要求 Docker分为ce版本(免费,试用7个月)和ee版本(收费)。 最低配置要求:64位操作系统,centOS 7及以上,内核版本不低于3.10 二、部署docker 1、查看服务的基础环境是否满…

使用 ONLYOFFICE API 构建 Java 转换器,在 Word 和 PDF 之间进行转换

文章作者:ajun 随着文档处理需求的增加,格式转换成为了一个重要的需求点。由于PDF格式具有跨平台、不易被篡改的特性,将Word格式(.docx)转换为PDF格式(.pdf)的需求尤为强烈。ONLYOFFICE作为一个强大的办公套件,提供了这样的转换功…

C语言数据结构与算法笔记(排序算法)

排序算法 基础排序 冒泡排序 核心为交换,通过不断进行交换,将大的元素一点一点往后移,每一轮最大的元素排到对应的位置上,形成有序。 设数组长度为N,过程为: 共进行N轮排序每一轮排序从数组的最左边开始&#xff0…

Django templates 存放html目录

模板 一概述 模板由两部分组成,一部分是HTML代码,一部分是逻辑控制代码(变量,标签,过滤器) 作用:可以通过一些逻辑控制代码减少一些重复的操作更快速的生成HTML代码,并且实现简单的…

基于Spring Boot的宿舍管理系统

摘 要 随着信息时代的来临,过去的传统管理方式缺点逐渐暴露,对过去的传统管理方式的缺点进行分析,采取计算机方式构建宿舍管理系统。本文通过课题背景、课题目的及意义相关技术,提出了一种楼宇信息、宿舍信息、宿舍安排、缺勤信息…

pyav 处理 rtsp 视频流 options 参数选项

背景 最近接到一个老项目,算法开发的python代码,去拉取视频流,拿出来解析 里面用到了pyav,这个不是纯的python库,里面是加了其他东西的 代码里面拉取视频流很多时候会超时,就想着去修改连接选项&#xff0…

mysql笔记:21. 演示脏读、不可重复读和幻读现象

文章目录 脏读1. 设置窗口B中事务的隔离级别2. 演示脏读3. 重新设置窗口B中事务的隔离级别4. 再次验证脏读 不可重复读1. 演示不可重复读2. 设置窗口B中事务的隔离级别3. 再次验证不可重复读 幻读1. 设置窗口B中事务的隔离级别2. 演示幻读3. 重新设置窗口B中事务的隔离级别4. 再…

计算机网络:TCP篇

计网tcp部分面试总结 tcp报文格式: 序列号:通过SYN传给接收端,当SYN为1,表示请求建立连接,且设置序列号初值,后面没法送一次数据,就累加数据大小,保证包有序。 确认应答号&#x…

Prometheus修改默认数据存储时间

Prometheus的默认数据存储时间可以通过修改启动脚本中的相关参数来调整。具体来说,可以通过修改--storage.tsdb.retention.time参数来改变数据保留的时长。该参数决定了何时删除旧数据,默认为15天。如果需要延长数据保留时间,可以将该参数的值…

【机器学习】函数

sigmoid函数 import matplotlib.pyplot as plt import numpy as npdef sigmoid(x):return 1/(1np.exp(-x))def plot_sigmoid():# param:起点,终点,间距x np.arange(-10, 10, 0.1) #起点,终点,间距y sigmoid(x)plt.plot(x, y)plt…

鸿蒙Harmony应用开发—ArkTS声明式开发(绘制组件:Rect)

矩形绘制组件。 说明&#xff1a; 该组件从API Version 9开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 无 接口 Rect(value?: {width?: string | number,height?: string | number,radius?: string | number | Array<s…

Sentinel基础使用

1. 概念解释 限流&#xff1a;对并发访问进行限速。限流的一些行为&#xff1a; 1. 拒绝服务&#xff1a;将多余的请求直接拒绝掉2.服务降级&#xff1a;降级甚至关闭后台的某些服务3.特权请求&#xff1a;在多租户或者对用户进行分级时&#xff0c;考虑让特权用户进行访问4.延…

得物java春训营(一面面经)

1.聊项目技术点。 2.java中的threadlocal有了解过吗&#xff1f;使用threadlocal要注意什么呢&#xff1f;&#xff08;平时也没用过&#xff0c;后来复盘的时候才知道有内存泄露的问题&#xff0c;面试官提示到了和线程池共用&#xff0c;最后也没答出来。&#xff09; 3.线程…

代码随想录算法训练营day25 | 216.组合总和III、17.电话号码的字母组合

目录 组合总和III思路解题方法复杂度Code 电话号码的字母组合思路解题方法复杂度Code 总结 组合总和III 链接: 组合总和III 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9 每个数字 最多使用一次 返回 所有可能的有效组合的列…