业务分析方法中常用的有同期群分析,本文使用Excel和MySQL,结合同期群计算新注册用户的留存率,并放在实际的应用场景中进行分析。

一、简单介绍同期群分析

1、同期群分析(cohort analysis)是一种数据分析方法,主要用于研究不同时间段内特定群体的行为和变化。具体来说,同期群分析将特定群体划分为同一时间段内加入、注册或开始使用某个产品或服务的人群,然后对这些人的行为进行跟踪和比较,以了解他们在某个指标上的变化趋势。

2、作用:通过同期群分析,企业可以识别出哪些群体对其业务的发展最有潜力,制定更有效的策略,以提高客户满意度和利润率。

3、应用场景

  • 电商平台留存率分析:假设一家电商平台想要了解其用户留存情况,可以使用同期群分析来比较不同时间段内加入该平台的用户群体的留存率。例如,将在2020年7月1日注册的用户作为一个同期群,将在2020年7月2日注册的用户作为另一个同期群,…,直到7月9日注册的用户作为第9个同期群,然后对这九个群体的留存率进行比较,以了解用户留存情况的变化趋势。

  • 社交媒体广告效果分析:假设一家社交媒体公司想要评估其广告的效果,可以使用同期群分析来比较不同时间段内点击广告并进行购买的用户群体的转化率。例如,将在2020年第一季度点击广告并进行购买的用户作为一个同期群,将在2020年第二季度点击广告并进行购买的用户作为另一个同期群,然后对这两个群体的转化率进行比较,以了解广告效果的变化趋势。

二、效果图

1、最近31日的用户平均留存率

2、多个同期群的最近31日的平均用户留存率

三、业务需求

某APP产品为了获取新用户,在2020/7/1至2020/7/9期间开展推广活动。现希望根据7月份的新用户登录数据,分析本次活动的推广效果

分析业务需求:

  • 方法:同期群分析;

  • 指标:新用户的留存率;

  • 目标:观察新用户的留存率得出推广结论。

  • 实现过程

    1、活动期间每日的注册用户数(辅助分析);

    2、活动期间每日的登录用户数(辅助分析);

    3、计算最近31日的用户平均留存率。

    4、从7月1日到9日,每天注册的用户为一个同期群,获取每个同期群在注册之后的每日登录用户数(辅助分析);

    5、获取每个同期群在注册之后的近31日平均用户留存率。

四、制定操作步骤


MySQL:

1、处理数据:对列名进行重命名,修改为英文。

2、导入数据库:将重命名的数据导入到数据库中,接下来的操作都在数据库中进行。

3、获取图表数据:获取活动期间每日的注册用户数、活动期间每日的登录用户数、计算最近31日的用户平均留存率;获取每个同期群在注册之后的31日用户留存率。


Excel:

1、收集数据:对登录日期进行处理,保留date部分。

2、数据透视:获取活动期间每日的注册用户数、活动期间每日的登录用户数、获取每个同期群在注册之后的每日登录用户数和近31日用户留存率。


五、根据操作步骤计算用户留存率

------------------------------------------------MySQL--------------------------------------------

1、处理数据:

处理《用户登录记录》,对列名进行重命名,修改为英文

修改完成之后,将表重命名为《用户登录记录—SQL》

2、导入数据库

将重命名的数据表《用户登记记录—SQL》导入到数据库中,接下来的操作都在数据库中进行。

3、获取图表数据

3.1 获取活动期间每日的注册用户数

  • 考虑到会出现重复记录的情况,一定要对注册日期和用户同时去重。

查询代码

#1、活动期间每日的注册用户数
selectdate(login_time) as 登录日期,count(distinct user_id)
from login_info
group by 登录日期

将查询到的数据复制到excel中,并作图

3.2 活动期间每日的登录用户数

  • 考虑到会出现重复记录的情况,一定要对登录日期和用户同时去重。
#2、活动期间每日的登录用户数
selectdate(login_time) as 登录日期,count(distinct user_id)
from login_info
group by 登录日期

将查询到的数据复制到excel中,并作图

3.3 计算最近31日的用户平均留存率

计算公式: 第N日留存率 = (当天活跃的用户第N天又活跃了的用户数)/(当天活跃的用户数)

举个例子: 如果用户1在1号、2号、3号活跃;用户2在1号、2号活跃。那么次日留存率是多少?

日期 活跃用户 次日留存用户数 第3日留存用户数
1号 用户1、用户2 2 1
2号 用户1、用户2 1 0
3号 用户1 0 0
总计 5 3 1

平均次日留存率 = 3/5; 平均第三日次日留存率=1/5

以下代码是计算第31日的用户平均留存率:

#3、第31日的用户平均留存率
select count(次日) / count(当日) as 第31日留存率
from (select distincta.user_id,date(a.login_time) as 当日,date(b.login_time) as 次日from login_info aleft join(select distinctuser_id,date(login_time) as login_timefrom login_info) b on a.user_id = b.user_id and datediff(b.login_time,date(a.login_time))= 30
) c

需要逐个修改两个日期相减得到的天数1、2、…、30,既可得到第2日、第3日、…、第31日的平均用户留存率。

将查询到的数据复制到excel中作图,最终得到最近31日的用户平均留存率的表和图,如下:

3.4 获取每个同期群在注册之后的近31日用户留存率

  • 同期群分析:按照不同的注册日期分为9个同期群。先计算每个同期群的每日登录用户数,再计算每个同期群近一个月的留存率。

计算公式:某天注册的用户留存率=该天注册用户第N天的登录人数/某天注册用户数。

其中,某天注册用户数是一个固定值。

举个例子:如果用户1在1号、2号、3号活跃;用户2在1号、2号活跃,两个用户都是在1号注册;用户4和5在2号注册,用户4号在3号活跃,用户5号在4号活跃。那么留存率是多少?

活跃日期 注册用户 次日留存用户 第3日留存用户数
1号 2 2 1
2号 2 1 1
总计 4 3 2

下面计算留存率

注册日期 第1日 次日 第3日
1号 2/2=1 2/2=1 1/2=0.5
2号 2/2=1 1/2=0.5 1/2=0.5
求平均 1 0.75 0.5

利用SQL分别计算每个注册日期用户的近31日留存率

代码如下:

#5、2020-07-01注册用户的第N日用户留存率
select count(user_id)/(select count(distinct user_id) from login_info where date(register_date) = '2020-07-01') as 用户留存率
from (select distincta.user_id,date(b.login_time) as 登录日期from login_info aleft join(select distinctuser_id,date(login_time) as login_timefrom login_info) b on a.user_id = b.user_id where date(a.register_date) = '2020-07-01'
) c
group by 登录日期
order by 登录日期

需要逐个修改日期’2020-07-01’、‘2020-07-02’、…、‘2020-07-09’,既可得到2020-07-01、2020-07-02、…、2020-07-09注册用户的第N日用户留存率。

将查询到的数据复制到excel中作图,最终得到每个注册日期用户的近31日留存率:

------------------------------------------------Excel-----------------------------------------------

1、收集数据:

对登录时间进行处理,保留date部分。使用int()函数,选择数据中的格式“短日期”。

2、数据透视:

2.1 获取活动期间每日的注册用户数

  • 考虑到会出现重复记录的情况,一定要对注册日期和用户同时去重。点击数据——数据工具(删除重复值)即可去重。使用去重后的数据插入数据透视表,拖动“注册日期”为行,“用户编号”为列。

  • 最后再制作一个活动期间的注册用户图

2.2 活动期间每日的登录用户数

  • 考虑到会出现重复记录的情况,一定要对登录日期和用户同时去重。操作步骤和2.1一样。
  • 绘图时点击登录日期可以选择展示的横坐标的范围。

2.3 获取每个同期群在注册之后的每日登录用户数

  • 考虑到会出现重复记录的情况,一定要对登录日期、注册日期和用户同时去重。
  • 拖动“注册日期”为行,“登录日期”为列,“用户编号”为值,最终得到每日登录用户数。

2.4 获取每个同期群在注册之后的近31日用户留存率

  • 对登录日期、注册日期和用户同时去重之后,用登录日期减去注册日期得到第几日登录。使用去重后的数据插入数据透视表,拖动“注册日期”为行,“第几日登录”为列,“用户编号”为值。

  • 右键选择值显示方式—百分比;基本字段:第几日登录,基本项:0。即可得到每个同期群第N天的用户留存率。

  • 画出多个同期群的最近31日的平均用户留存率

六、得出结论

1、结论:

分析“多个同期群的最近31日的平均用户留存率”,得到两个重要节点的用户留存人数:

新用户 一周后留存用户数 一个月后留存用户数
1001 510 1
  • 一周后的留存率达到50%多,但是一个月后的留存人数只剩下1人。
  • 整体的新用户的获取推广只在前期起到了一定的效果,未能使新用户转化为长期的老客户。

分析“近31日用户平均留存率”,发现有44%的概率用户会在次日再次访问,有28%的概率用户会在隔一周后再次访问,并且可以看到用户间隔很长时间不访问的概率很小,所以这部分间隔很长时间不访问的用户即可定义为流失用户。

2、建议:

  • 根据用户行为,精准推荐产品,以此提高用户的留存率。
  • 对新用户进行满意度调查,及时发现未能保留新用户的原因。

Excel 利用同期群分析计算新用户留存率相关推荐

  1. 数据分析方法 - 同期群分析

    记录通过网上各类文章学习关于同期群分析的笔记,如有侵权,请联系本人删除文章. 举例 该例出自知乎"同期群"分析的好处是什么? - 于晓松 例 1:一个 App,某一天有 100 位 ...

  2. [转] 同期群分析Cohort Analysis

    一个漂亮的平均数完全是用数据创造出来的虚幻景象,会给我们的决策造成误导,因此我们需要掌握一个行之有效的方法来剖析真实的用户行为和用户价值,这个方法就是同期群分析(Cohort Analysis).事实 ...

  3. (金融)线上消费贷风控优化(单变量分析)与用户留存(同期群分析)项目——数据分析

    (金融)线上消费贷风控优化(单变量分析)与用户留存项目(同期群分析)--数据分析 一.首逾率单变量分析 案例背景: 日常监控发现某款消费贷产品首逾率有逐渐升高的趋势,需要把首逾率降下来以减少产品带来的 ...

  4. Python 数据分析实战:经典的同期群分析

    作者 | 周志鹏 责编 | 郭   芮 本文首先对同期群分析的概念做了简短介绍,然后循着数据概览.数据清洗.思路剖析.单点实现以及最终实现的流程,力图做到每一步清晰明确和可复现.跟着实践一遍,无论是模 ...

  5. 同期群分析是什么?教你用 SQL 来搞定

    目录 一.同期群分析的定义 二.SQL 步骤 1. 查看数据 2. 根据 uid .年月聚合用户人数 3. 计算年月的差额(天数) 4. 计算年月的差额(月数) 5. 透视(根据 uid .首次付费年 ...

  6. 使用Python进行同期群分析(Cohort Analysis)

    技术作者:小小明 理论修订:才哥 原文链接:https://blog.csdn.net/as604049322/article/details/116505941 文章目录 同期群分析 同期群分析概念 ...

  7. 『数据分析』使用python进行同期群分析

    目录: 同期群分析概念 数据读取 分析方向 数据预处理 同期群分析 从留存率角度进行同期群分析 从人均付款金额角度进行同期群分析 从人均购买次数角度进行同期群分析 每月总体付费情况 将结果导出网页或截 ...

  8. 分群思维(五)特殊的分群思维-同期群分析

    分群思维(五)特殊的分群思维-同期群分析 小P:小H,用户留存率降了,增长也缓慢了,这是什么原因啊,会不会是新用户出了问题啊,还是说老用户不满意了? 小H:可以尝试同期群分析,看看新老用户的差异. i ...

  9. 零售行业交易数据分析(3)——群组/同期群分析(留存率分析)

    内容简介 本文介绍了群组分析(同期群分析)的方法以及Python实现过程,并继续对一家零售公司的交易数据进行用户留存分析和可视化. 本系列的文章: <零售行业交易数据分析(1)--客户终身价值( ...

最新文章

  1. echarts自动生成图片的解决方案
  2. 生成四位验证码php,PHP生成四位整数验证码图片及使用例子
  3. 大型科技公司架构:中台模式的爱与恨
  4. Android平台如何实现屏幕数据采集并推送至RTMP服务器
  5. 2022百度职业资格考试培训行业洞察
  6. 转换汇编到shellcode的过程
  7. 八年数据库之路的感悟
  8. 手机浏览器网址_苹果手机怎么登两个微信
  9. Ubuntu 18 LTS netplan 网络配置
  10. 授权MySQL账户访问指定数据库
  11. 麦克纳姆轮全向移动机器人运动模型及应用分析
  12. Word:三线表,最底边变细,一直调不过来
  13. fanuc换刀宏程序详解_FANUC宏程序入门到精通,新手必看
  14. 线性分类器——Fisher线性判别
  15. libcef-框架架构中概念介绍-网络层(请求)-请求处理-请求拦截-代理解析(六)
  16. dict.txt(上一个程序的文件)
  17. CodeForces 140C New Year Snowmen (贪心+优先队列)
  18. Algorithms学习笔记-第一章 基础
  19. 工作中要怎样与同事相处呢?
  20. spark master web ui 端口8080被占用解决方法

热门文章

  1. 转:如何提高工作激情,打造狼性团队
  2. 什么品牌蓝牙耳机音质好?五款音质好的蓝牙耳机推荐
  3. Python批量美化excel表的格式
  4. 基础学完了,这几个python高阶函数一起来看看吧!
  5. 抗疫克艰,苏宁易购双线融合模式竞争优势凸显
  6. globalData
  7. 计算机毕业设计java+ssm社会保险养老系统(源码+系统+mysql数据库+Lw文档)
  8. 菜鸟快递系统(南航2022数据结构课设第一题)
  9. Ajax中获取Json的list集合后进行遍历读取并显示的实例
  10. Spark SQL/DSL