当前位置: 首页 > news >正文

数仓:用户行为类指标一网打尽

前言

用户行为分析是对用户在产品或触点上产生的行为及行为背后的数据进行分析,通过构建用户行为数据分析体系或者用户画像,来改变产品、营销、运营决策,实现精细化运营,指导业务增长。总之,很重要。

先来看下用户类行为指标说明,然后下面详解常写的指标。仅供参考,实际开发逻辑还是按业务需求为标准。

指标名称

解释说明

新增用户

首次联网使用应用的用户,如果一个用户首次打开某APP,那这个用户定义为新增用户:卸载再安装的设备,不会被算作一次新增,新增用户包括日新增用户,周新增用户,月新增用户。

活跃用户

打开应用的用户即为活跃用户,不考虑用户的使用情况,每天一台设备打开多次会话被记为一个活跃用户

周(月)活跃用户

用户以设备作为判断标准,在移动统计中,每个独立设备认为是一个独立用户。安卓系统根据imei号,IOS系统根据openUDUID来标识一个独立用户,每部手机一个用户。

沉默用户

用户仅在安装当天(次日)启动一次,后续时间无再启动的行为。该指标可以反应新增用户质量和用户与app的匹配程度

版本分布

不同版本的周内新增用户数,活跃用户数和启动次数。利于判断app各个版本之间的优劣和用户行为习惯。

本周回流用户

上周未启动过的应用,本周启动了应用的用户

连续n周活跃用户

连续n周,每周至少启动一次。

忠诚用户

连续活跃5周以上的用户

连续活跃用户

连续两周及以上活跃的用户

近期流失用户

连续n(2<=n <=4)周没有启动应用的用户。(第n+1周没有启动过)

留存用户

某段时间内的新增用户,经过一段时间后,仍然使用应用的被认作是留存用户:这部分用户占当时新增用户的比例即是留存率

用户新鲜度

每天启动应用的新老用户比例,即新增用户数占活跃用户数的比例

单次使用时长

每次启动使用的时间长度

日使用时长

累计一天内使用时间长度

用户活跃

描述

判断业务健康程度和发展趋势的一个重要指标。

业务指标场景举例

最近一个周/月内,有过连续活跃n天的人数。

最近一周/月内,每个用户的平均活跃天数。

最近一周/月内,最大沉默天数超n天的用户数。

最近七天内连续三天活跃用户数。

分析思路

以日明细,获取周,月用户明细。

活跃用户按天明细表 dws_uv_detail_day。

create  table dws_uv_detail_day
(
    `mid_id` string COMMENT '设备唯一标识',
    `user_id` string COMMENT '用户标识'
    `app_time` string COMMENT '客户端日志产生时的时间',
    . . . . . . (省略其他字段)
)
partitioned by(dt string)
. . . . . .

活跃用户按周明细表 dws_uv_detail_wk。

create table dws_uv_detail_wk( 
    `mid_id` string COMMENT '设备唯一标识',
    `user_id` string COMMENT '用户标识'
    `app_time` string COMMENT '客户端日志产生时的时间',
    `monday_date` string COMMENT '周一日期',
    `sunday_date` string COMMENT  '周日日期' ,
    . . . . . . (省略其他字段)

PARTITIONED BY (`wk_dt` string)
. . . . . .

案例

最近七天内连续三天活跃用户数思路。

(1)查询出最近7天的活跃用户,并对用户活跃日期进行排名。

(2)计算用户活跃日期及排名之间的差值。

(3)对同用户及差值分组,统计差值个数。

(4)将差值相同个数大于等于3的数据取出,然后去重,即为连续3天及以上活跃的用户数。

select
    '2022-01-04',
    concat(date_add('2022-01-04',-6),'_','2022-01-04'),
    count(*)
from
(
    select uid_id
    from
    (
        select uid_id      
        from
        (
            select 
                uid_id,
                date_sub(dt,rank) date_diff
            from
            (
                select 
                    uid_id,
                    dt,
                    rank() over(partition by uid_id order by dt) rank
                from dws_uv_detail_day
                where dt>=date_add('2022-01-04',-6) and dt<='2022-01-04'
            )t1
        )t2 
        group by uid_id,date_diff
        having count(*)>=3
    )t3 
    group by uid_id
)t4;

用户(设备)新增

描述

用户第一次打开应用,那这个用户定义为新增用户。

业务指标场景举例

日新增用户。

周新增用户。

月新增用户。

分析思路

每日活跃设备 left join 每日新增产生的结果,每日新增的设备id为null,则为新增。

案例

每日新增用户(设备)

dws_uv_detail_day:每日活跃用户表

dws_new_mid_day:每日新增设备表

select  
    ud.mid_id,
    ud.user_id
from dws_uv_detail_day ud left join dws_new_mid_day nm on ud.mid_id=nm.mid_id
where ud.dt='2022-01-04' and nm.mid_id is null;

用户留存

描述

「用户留存」:某段时间内的新增活跃用户,经过一段时间后,有继续访问或者使用应用被称为留存用户。

留存可以看成是一个用户在今天出现,在明天也出现,那就是次日留存。

一个用户在今天出现,在后天出现,那就是2日留存。

「留存率」:留存用户占新增活用户的比例。

业务指标场景举例

次日留存率

3日留存率

7日留存率

分析思路

统计2022-01-04日,以统计2022-01-03日留存率为业务需求分析:

「2022-01-03设备留存率= 01-03日新增设备 且 01-04日活跃的 占  01-03日新增设备。」

(1) 01-03日新增设备

01-04日活跃表 left join 每日新增表,新增表id为null的为新增设备。

(2)01-03日新增设备 且 01-04日活跃的

01-03日新增 join 01-04的活跃。

(3)代入上面公式

案例

计算前1天新用户访问留存明细

dws_uv_detail_day:每日活跃用户表

dws_user_retention_day:每日留存用户明细表

dws_new_mid_day:每日新增设备表

select  
    nm.mid_id mid_id,
    nm.user_id user_id,
    ud.dt dt,
    1 retention_day // 留存天数
from dws_uv_detail_day ud join dws_new_mid_day nm 
        on ud.mid_id =nm.mid_id 
where ud.dt='2022-01-04' and nm.create_date=date_add('2022-01-04',-1)

沉默用户

描述

指的是只在安装当天启动过,且启动时间是在一周/月(某段时间)前。

分析思路

(1)按照设备id对日活表分组

(2)过滤只是在启动当天用过的

(3)时间在某个时间前的

案例

7日沉默用户(设备)数。

dws_uv_detail_day:每日活跃用户表

select 
    '2022-01-04' dt,
    count(*) silent_count
from 
(
    select mid_id
    from dws_uv_detail_day
    where dt<='2022-01-04'
    group by mid_id
    having count(*)=1 and min(dt)<=date_add('2022-01-04',-6)
) t1;

回流用户

描述

相当于回头客的意思,以前用过某物,过一段时间再次使用某物,这样的用户就是回流用户。用户已经记录n日以及n日以上未有登录(即先认定这部分用户已经流失),而在今天有登录,那在今天这部分用户称之为回流用户。

业务指标场景举例

(时间周期)回流=(时间周期活跃-(时间周期新增-(上个时间周期)活跃

如:本周回流=本周活跃-本周新增-上周活跃。

分析思路

本周活跃 left join 本周新增 left join 上周活跃。

条件是:本周新增id为null,上周活跃id为null。

案例

本周回流

dws_uv_detail_wk:每周活跃用户表

dws_new_mid_day:每日新增设备表

mid_id:设备id

select 
   '2022-01-04' dt,
   concat(date_add(next_day('2022-01-04','MO'),-7),'_',date_add(next_day('2022-01-04','MO'),-1)) wk_dt,
   count(*)
from 
(
    select t1.mid_id
    from 
    (
        select mid_id
        from dws_uv_detail_wk
        where wk_dt=concat(date_add(next_day('2022-01-04','MO'),-7),'_',date_add(next_day('2022-01-04','MO'),-1))
    )t1
    left join
    (
        select mid_id
        from dws_new_mid_day
        where create_date<=date_add(next_day('2022-01-04','MO'),-1) and create_date>=date_add(next_day('2022-01-04','MO'),-7)
    )t2
    on t1.mid_id=t2.mid_id
    left join
    (
        select mid_id
        from dws_uv_detail_wk
        where wk_dt=concat(date_add(next_day('2022-01-04','MO'),-7*2),'_',date_add(next_day('2022-01-04','MO'),-7-1))
    )t3
    on t1.mid_id=t3.mid_id
    where t2.mid_id is null and t3.mid_id is null
)t4;

流失用户

描述

最近n天(自己定义)未登录我们称之为流失用户。

案例

流失用户数:最近7天未登录用户。

dws_uv_detail_day:每日活跃用户表

select
     '2022-01-04',
     count(*)
from 
(
    select mid_id
from dws_uv_detail_day
    group by mid_id
    having max(dt)<=date_add('2022-01-04',-7)
)t1;

浏览数与访客数

浏览量(PV):网站各页面被查看的次数。用户多次打开或刷新同一个页面,该指标值累加。

访客数(UV):网站各页面的访问人数。所选时间段内,同一访客多次访问会进行去重。

这两个指标没啥说的,count取值或者去重count即可。

用户行为漏斗分析

描述

举例说明订单转化率

访问到下单转化率 = 下单人数 / 日活跃人数

下单到支付转化率 = 支付人数 / 下单人数

SQL

dws_uv_detail_day:每日活跃用户表

dws_user_action:用户行为表


select 
    '2022-01-04',
    uv.day_count 日活跃人数,
    ua.order_count 下单数,
    cast(ua.order_count/uv.day_count as  decimal(10,2)) 访问到下单转化率,
    ua.payment_count 支付人数,
    cast(ua.payment_count/ua.order_count as  decimal(10,2)) 下单到支付转化率
from  
(
select 
        sum(if(order_count>0,1,0)) order_count,
        sum(if(payment_count>0,1,0)) payment_count
    from dws_user_action
where dt='2022-01-04'
group by dt
)ua 
join 
(select 
 dt ,
 count(*)  day_count 
 from dws_uv_detail_day 
 where dt='2022-01-04' group by dt
 )
 uv on uv.dt=ua.dt

相关文章:

数仓:用户行为类指标一网打尽

前言 用户行为分析是对用户在产品或触点上产生的行为及行为背后的数据进行分析&#xff0c;通过构建用户行为数据分析体系或者用户画像&#xff0c;来改变产品、营销、运营决策&#xff0c;实现精细化运营&#xff0c;指导业务增长。总之&#xff0c;很重要。 先来看下用户类…...

mysql数据库的主从复制

一、实现主从复制的方式。 异步复制&#xff1a;它是mysql默认的同步方式&#xff0c;从库通过io线程去拉取 bin log时&#xff0c;主库不需要关注这个时候是否有从库在同步数据&#xff0c;他只做自己的事情就可以了&#xff0c; 整个复制过程都是异步完成的 ; 半同步复制&…...

【极海APM32替代笔记】低功耗模式、WFI命令等进入不了休眠的可能原因(系统定时器SysTick一直产生中断)

【极海APM32替代笔记】低功耗模式、WFI命令等进入不了休眠的可能原因&#xff08;系统定时器SysTick一直产生中断&#xff09; 【STM32笔记】低功耗模式配置及避坑汇总 前文&#xff1a; blog.csdn.net/weixin_53403301/article/details/128216064 【STM32笔记】HAL库低功耗模…...

一文搞懂秒杀系统,欢迎参与开源,提交PR,提高竞争力。早日上岸,升职加薪。

前言 秒杀和高并发是面试的高频考点&#xff0c;也是我们做电商项目必知必会的场景。欢迎大家参与我们的开源项目&#xff0c;提交PR&#xff0c;提高竞争力。早日上岸&#xff0c;升职加薪。 知识点详解 秒杀系统架构图 秒杀流程图 秒杀系统设计 这篇文章一万多字&#xff0c;…...

华为OD机试真题 用 C++ 实现 - 子序列长度 | 多看题,提高通过率

最近更新的博客 华为OD机试 - 入栈出栈(C++) | 附带编码思路 【2023】 华为OD机试 - 箱子之形摆放(C++) | 附带编码思路 【2023】 华为OD机试 - 简易内存池 2(C++) | 附带编码思路 【2023】 华为OD机试 - 第 N 个排列(C++) | 附带编码思路 【2023】 华为OD机试 - 考古…...

华为OD机试题 - 符合条件的子串长度(JavaScript)| 包含代码编写思路

最近更新的博客 华为OD机试题 - 字符串加密(JavaScript) 华为OD机试题 - 字母消消乐(JavaScript) 华为OD机试题 - 字母计数(JavaScript) 华为OD机试题 - 整数分解(JavaScript) 华为OD机试题 - 单词反转(JavaScript) 华为OD机试题 最近更新的博客使用说明符合条件的子…...

快速读懂网络拓扑图

快速读懂网络拓扑图几重常见的网络拓扑总线型拓扑简介优点缺点环型拓扑简介优点缺点星型拓扑简介优点缺点网络层级机构节点结点链路通路不同的连接线代表什么意思&#xff1f;不同颜色、粗细的直线代表什么意思&#xff1f;闪电线-串行链路几重常见的网络拓扑 总线型拓扑 简介…...

《上海市创新型企业总部认定和奖励管理办法》

各区人民政府、有关单位&#xff1a; 为加快推动上海创新型经济发展&#xff0c;支持各类高成长性企业和研发机构升级打造创新型企业总部&#xff0c;培育壮大更多高能级创新主体&#xff0c;为建设具有全球影响力的科技创新中心提供支撑&#xff0c;现将《上海市创新型企业总…...

LeetCode 160. 相交链表 -- 消除长度差

相交链表 简单 2K 相关企业 给你两个单链表的头节点 headA 和 headB &#xff0c;请你找出并返回两个单链表相交的起始节点。如果两个链表不存在相交节点&#xff0c;返回 null 。 图示两个链表在节点 c1 开始相交&#xff1a; 题目数据 保证 整个链式结构中不存在环。 注意…...

《分布式技术原理与算法解析》学习笔记Day19

分布式通信&#xff1a;消息队列 什么是消息队列&#xff1f; 队列是一种具有先进先出特点的数据结构&#xff0c;消息队列是基于队列实现的、存储具有特定格式的消息数据。消息以特定格式放入这个队列的尾部后直接返回&#xff0c;不需要系统马上处理&#xff0c;之后有其他…...

云、安全、网络三位一体,Akamai 推出大规模分布式边缘和云平台 Akamai Connected Cloud

出品 | CSDN 云计算 云服务市场规模在持续增长。 基于网络技术积累与优势&#xff0c;与布局边缘计算之后&#xff0c;巨头 Akamai 在继续推进它的技术与产品进程。近日&#xff0c;Akamai 正式推出大规模分布式边缘和云平台 Akamai Connected Cloud&#xff0c;包含云计算、安…...

生产者消费者模型(多线程工作)

目录 1.模型前提 2.阻塞队列&#xff08;消费场所&#xff09; 3. 实验 4.有关效率 1.模型前提 以单生产者对单消费者为例子&#xff1a; 前提一&#xff1a;有一个缓冲区作为消费场所。 前提二&#xff1a;有两种功能不同的线程分别具有消费与生产的能力。 前提三&…...

InnoDB锁

1、共享排他锁 Shared and Exclusive Locks--共享锁&#xff08;SLock&#xff09;&#xff0c;允许持有该锁的事务读取一行数据--排它锁&#xff08;XLock&#xff09;&#xff0c;允许持有该锁的事务删除或者更新一行数据特性&#xff1a;--行级锁--如果一个事务持有当前行的…...

Java Stream、File、IO 超详细整理,适合新手入门

目录 Java Stream Java File Java IO Java Stream Java Stream 是 Java 8 中引入的一种新的抽象数据类型&#xff0c;它允许开发人员使用函数式编程的方式来处理集合数据。 使用 Java Stream 可以方便地进行过滤、映射、排序和聚合等操作。下面是一个简单的示例&#xff1a;…...

华为OD机试真题Python实现【寻找密码】真题+解题思路+代码(20222023)

寻找密码 题目 小王在进行游戏大闯关,有一个关卡需要输入一个密码才能通过,密码获得的条件如下: 在一个密码本中,每一页都有一个由 26 个小写字母组成的若干位密码, 从它的末尾开始依次去掉一位得到的新密码也在密码本中存在。 请输出符合要求的密码,如果由多个符合要求…...

springboot和springframework版本依赖关系

springboot和springframework版本依赖关系 springboot版本springframework版本发布时间1.0.x1.0.0.RELEASE4.0.3.RELEASE2014.041.0.1.RELEASE4.0.3.RELEASE2014.041.0.2.RELEASE4.0.3.RELEASE2014.041.1.x1.1.0.RELEASE4.0.5.RELEASE2014.061.1.1.RELEASE4.0.5.RELEASE2014.0…...

Java-多线程-增强篇-锁 强化 第一篇

今天我们来学一下锁 会持续保持更新 欢迎追更哈 Java - 多线程 - 锁和提升 第1篇 首先强调一点&#xff1a;Java多线程的锁都是基于对象的&#xff0c;Java中的每一个对象都可以作为一个锁。同时&#xff0c;类锁也是对象锁&#xff0c;类是Class对象 Java8锁 核心思想 关键…...

Java static+private实现单例模式

1. 单例模式介绍 在Java中单例设计模式准确来说是&#xff0c;类的单例设计模式&#xff0c;就是采取一定的方法保证在整个的软件系统中&#xff0c;对某个类只能存在一个对象实例&#xff0c;并且该类只提供一个取得其对象实例的方法。 2. 实现思路 如果我们要让类在一个虚…...

华为OD机试 - 查找充电设备组合(Python)【2023-Q1 新题】

华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.net/hihell/category_12199275.html 华为OD详细说明:https://dream.blog.csdn.net/article/details/128980730 查找充电设备组合…...

Authing 入选德勤“中国明日之星”企业榜单

近日&#xff0c;德勤发布“德勤中国明日之星”榜单&#xff0c;该项目致力于发掘和表彰蓬勃成长、持续创新、积极承担社会责任的卓越企业。该榜单1995 年创立至今&#xff0c;被业界誉为“全球高成长企业的标杆”。Authing 凭借在 IDaaS&#xff08;身份云&#xff09; 领域突…...

深刻理解智能指针特性

文章目录RAII思想unique_ptr 独占型shared_ptr 共享型weak_ptr 弱引用型总结RAII思想 RAII&#xff1a;资源获取即初始化—>把资源的生命周期绑定到栈上对象的生命周期&#xff0c;栈上对象离开作用域就自动销毁了 对象构造&#xff0c;拿到资源对象析构&#xff0c;释放资…...

Speechless:微博内容永久保存的终极解决方案

Speechless&#xff1a;微博内容永久保存的终极解决方案 【免费下载链接】Speechless 把新浪微博的内容&#xff0c;导出成 PDF 文件进行备份的 Chrome Extension。 项目地址: https://gitcode.com/gh_mirrors/sp/Speechless 当你多年积累的微博内容因平台政策调整突然消…...

别再死记硬背公式了!用Python+NumPy手把手推导并可视化ULA/UPA阵列导向矢量

用PythonNumPy从零构建天线阵列导向矢量&#xff1a;可视化相位差与波束成形 天线阵列技术是现代无线通信系统的核心&#xff0c;但许多初学者往往陷入公式记忆的困境。本文将带你用Python和NumPy从物理直觉出发&#xff0c;亲手实现均匀线阵(ULA)和均匀面阵(UPA)的导向矢量计算…...

第7章 运算符-7.6 成员运算符

成员运算符用于检查字符串、列表、元组、字典和集合中是否存在指定的元素。表7-6中列出了Python中的成员运算符&#xff0c;在该表中&#xff0c;假设变量a的值为3&#xff0c;变量lt的值为[1,2,3,4]。表7-6 成员运算符运算符描述实例in如果在字符串、列表、元组、字典和集合中…...

大模型转型实战指南:从入门到求职,避坑全攻略

这两年&#xff0c;大模型技术彻底打破行业壁垒&#xff0c;从科研领域的专属议题&#xff0c;变成后端、测试、运维乃至跨行者的职业新选项&#xff0c;更是不少人职业转型的核心方向。 日常对接学员和行业朋友时&#xff0c;类似的疑问反复出现&#xff1a; “我做测试/运维…...

终极指南:3分钟掌握QQ音乐QMC加密文件无损解密技巧

终极指南&#xff1a;3分钟掌握QQ音乐QMC加密文件无损解密技巧 【免费下载链接】qmc-decoder Fastest & best convert qmc 2 mp3 | flac tools 项目地址: https://gitcode.com/gh_mirrors/qm/qmc-decoder 在数字音乐的世界里&#xff0c;你是否曾遇到过这样的困扰&a…...

基于hadoop+spark+hive的高校科研项目管理系统的设计与实现

前言在高校科研项目管理领域&#xff0c;传统管理方式逐渐显露出诸多问题&#xff0c;亟待更为有效的解决方案。本研究聚焦于此&#xff0c;尝试借助 Python、Django、Vue 以及 MySQL 等技术&#xff0c;探索设计并实现一款高校科研项目管理系统。 研究过程中&#xff0c;运用文…...

Win11Debloat完全指南:3步打造纯净高效的Windows 11系统

Win11Debloat完全指南&#xff1a;3步打造纯净高效的Windows 11系统 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter and …...

3分钟掌握Windows安卓应用安装:免费轻量级APK安装器完全指南

3分钟掌握Windows安卓应用安装&#xff1a;免费轻量级APK安装器完全指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 想在Windows电脑上直接运行安卓应用却不想安装…...

利用codex与快马平台,十分钟快速生成待办事项应用原型

最近在尝试快速验证一个待办事项应用的想法&#xff0c;发现用InsCode(快马)平台配合AI模型真的能十分钟就搞出可运行的原型。整个过程特别适合像我这样想快速验证产品概念的人&#xff0c;记录下具体操作和思考过程。 明确核心功能需求 首先梳理出最简功能清单&#xff1a;输入…...