数仓 DW层 用户留存分析主题

hive_用户留存主题(尚硅谷资料) 用户留存主题 在这里插入代码片 hive (gmall)> drop table if exists `dws_user_retention_day`; create table `dws_user_retention_day` ( `mid_id` string COMMENT '设备唯一标识', `user_id` string COMMENT '用户标识', `version_code` string COMMENT '程序版本号', `vers 阅读详情

数仓 DW层 用户留存分析主题

1. 背景

  1. 在app运营和产品设计中,一般都是拉新和留存2个最关键指标来衡量对用户的吸引力程度。
  2. 拉新,顾名思义, 拉新用户进来
  3. 留存,顾名思义,让用户留下来,这里面有老用户也有新用户。从运营策略和效果来看,其实留住老用户的效果和成本都会比留住新用户更高,但在资本冲击之下,如果资本足够,往往会将资源往新用户上倾斜,这也是目前大数据杀熟被很多人吐槽的原因–老用户不再被重视和尊重。
    PS:在互联网的今天,固定类型的互联网群体其实已经差不多到顶了,也就是中国所有可以上网的人基本固定下来。国内现在各个app就需要从对方手里抢用户,这时候吸引新用户就至关重要了。只是在互联网媒体曝光之后,大家才发现大数据杀熟如此普遍,而新用户补贴在目前国内互联网用户市场饱和情况下会如此之多,以至于很多人会临时使用新手机号和新邮箱来享受这些福利和补贴。

2. 案例

在这里插入图片描述
经常可以看到的用户留存一般是上述的图所示

  1. 技术分析
  • 其实留存可以看成是一个用户在今天出现,在明天也出现,那就是次日留存。
  • 一个用户在今天出现,在后天出现,那就是2日留存。至于明天是否出现,不重要。
  • 这样一来,其实就可以反过来,
    在这里插入图片描述
    计算每天数据,对比前一天,前2天,前3天,前四天,,,一直到前14天的留存数据。所谓留存数据就是今天出现了,此前第x天也出现了。那么只需要将2天的数据做一次join,join上的就是出现的用户。再统计join上的用户数即可
  • 换一种思路,可以利用bitmap、bloomfilter、hyperloglog等高效算法,将每一天出现的用户guid换算为位标记。如果需要判定第x天和第y天之间的留存,只需要将2者的位标记做位运算,这样速度更快,而且可以运算效率更高。只不过除了bitmap算法之外,另外2种都有一定误差,需要结合业务考虑。

注意,大数据开发中,如果横表不好计算,可以考虑使用纵表来承载数据,可能就会豁然开朗

大数据开发中,思路比代码实现要优先,一定是现有数据处理思路,再动手写代码或者写sql。
在实际处理生产数据之前,一般都先伪造一些假数据进行流程和逻辑验证,确保无误之后,再验证生产的数据是否ok。

注意,大数据处理由于其特殊性,如果出现bug,由于数据量巨大,很多时候一些小的数据错误和偏差并不能很好察觉,一些bug一旦发生,影响的数据可能会非常大。
这也是为什么有些公司会将ODS数据保存不止半年,甚至会保存更久的原因,因为一旦计算出错,还可以从ODS层重新计算数据结果。

数仓搭建-ADS层 7.1 新数据生成 1)重启行为数据通道 [atguigu@hadoop102 module]$ cluster.sh stop [atguigu@hadoop102 module]$ cluster.sh start 2)修改/opt/module/applog下的application.properties #业务日期 mock.date=2020-06-16 注意:分发至其他需要生成数据的节点 [atguigu@hadoop102 applog]$ xsync application.proper 阅读详情

相关推荐

电商数仓(ads 层)

一、ads 层介绍 对电商系统各大主题指标分别进行分析,本项目中分析了四大主题·:设备主题、会员主题、商品主题、营销主题。 二、业务术语 1、用户 用户以设备为判断标准,在移动统计中,每个独立设备认为是一个独立用户。Android 系统根据 IMEI 号,IOS 系统根据 OpenUDID 来标识一个独立用户,每部手机一个用户。 2、新增用户 首次联网使用应用的用户。如果一个用户首次打开某 APP...

a1786742005的博客 9375

电商离线数仓项目-用户行为数仓(活跃/新增/留存主题)

电商离线数仓项目,分四层搭建,基本框架搭建好了之后,编写具体的需求.这些需求主要是在DWS层和ADS层两层进行搭建。 用户活跃主题 目标就是统计日活/周活和月活的每个设备明细。 思路:首先要明确活跃的定义,在这里用户当日活跃记录为用户使用该设备登录过APP,那么也就是说启动表中只要有mid(设备唯一标识)字段,则记为1次的活跃。所以不管一台设备一天切换了多少个用户登录APP,都是只看设备的唯一标识这个字段mid,记录成一次活跃。 所以可以写成如下:通过从启动事件日志表里面对mid_id字段进行groupby

weixin_43586713的博客 2139

数据仓库系列:如何优雅地规划数仓体系

0x00 前言 数仓规划是数仓建设的蓝图,涵盖从需求分析开始到最终的数仓评估验收整个环境;数仓规划之所以重要,是因为它是描述了数据流动的概念性框架,为元数据管理奠定了基础,对数据加工过程的理解、数仓建设的交流分享、数据的使用和问题排查、数仓健康度的评估都提供了极大的帮助。 需要强调的是本节是从宏观上描述数仓的框架,具体到数据模型的细节对比、存储选型和管理、接入数据源管理等数仓建设的周边在本节不...

乔治大哥的博客 1107

数仓 DW层 用户活跃度分析主题

数仓 DW层 用户活跃度分析主题 1. 背景 在大数据分析行为日志数据中,很多时候需要分析用户活跃度,这是判断业务健康程度和发展趋势的一个重要指标。 当用户活跃度低的时候,就需要分析原因,改善或者添加功能,让用户活跃起来。这也是为什么支付宝一直想做社交的原因,也是为什么现在开始在支付宝内做各种业务,做小程序平台的原因。 其实从侧面来看,运营一个app就跟运营一个商场一样,先把名气打起来,增加用户流入(新增用户,DAU等指标),然后留住用户(用户漏斗),然后想办法增加订单交易额(GMV)。如果可以,还需要建

xiaohu21的博客 611

数仓建设实践——用户留存分析专题模型设计

数仓建设实践——用户留存分析专题模型设计

爱吃辣条的博客 1775

数仓实战07:数仓搭建-ADS层

1.设备主题 1.1 活跃设备数(日、周、月) 需求定义: 日活:当日活跃的设备数 周活:当周活跃的设备数 月活:当月活跃的设备数 1)建表语句 hive (gmall) > DROP TABLE IF EXISTS ads_uv_count; CREATE external TABLE ads_uv_count ( `dt` string COMMENT '统计日期', `day_count` BIGINT COMMENT '当日用户数量', `wk_count` BIGINT COMMEN

qq_28286027的博客 888

数仓经典面试题三:用户留存

题目要求: 如何计算留存率 留存率是考察企业留住用户的能力,我们经常会计算次日留存、2日留存、7日留存等,如果现在让你用SQL实现,该怎么操作呢? 表部分数据如下: 留存数据字段说明: 用户id:用户唯一标识; APP应用名称:是手机中的某个应用,例如相机、微信、大众点评等。 启动时长:某一天中使用某应用多长时间(分钟)。 启动次数:某一天中启动了某应用多少次。 登陆时间:使用手机的日期。例如2018-05-01。 现在该手机厂商想要分析手机中的应用(相机)的活跃情况,需统计如下数据: 某日活跃用户(用户

cts618 1041

APM32F103 配置CAN

摘要: 本文介绍了基于APM32F103RCT6的CAN通信实现,包含GPIO初始化、CAN配置、数据收发功能。通过配置CAN1的GPIO引脚(PB8/PB9)和波特率(500Kbps),实现标准帧格式的数据传输。发送函数支持8字节数据包,接收函数通过FIFO0处理消息,并根据接收ID触发响应发送(如ID 0x1回复0x2)。代码还包含错误状态检测(如总线关闭处理)和过滤器配置(32位掩码模式)。整体实现了基础的CAN通信与错误管理功能。

weixin_43676660的博客 862

Hive——函数操作(一)

一,系统内置函数: 1.查看系统函数 -- 查看系统自带函数 show functions; -- 显示自带函数的用法 desc function upper; desc function extended upper; 2,日期函数

m0_46621363的博客 290

手把手教你用Anaconda安装李沐d2l-zh包(附常见报错解决方案)

本文提供了一份详尽的Anaconda环境下安装李沐d2l-zh包的实战指南。文章从创建虚拟环境、配置国内镜像源加速下载入手,分步讲解核心依赖的预安装策略,并重点剖析了安装过程中常见的报错及其解决方法,旨在帮助初学者和开发者高效、稳定地搭建深度学习实验环境。

efc1234567的博客 1010

FortiOS路径遍历漏洞CVE-2022-41328实战复现:从环境搭建到漏洞利用全记录

本文深入解析FortiOS路径遍历漏洞CVE-2022-41328,从漏洞背景、影响范围到技术原理进行全面剖析。提供详细的漏洞复现环境搭建步骤和实战利用方法,并给出官方修复方案与临时缓解措施,帮助企业有效防御此类防火墙漏洞风险。

weixin_30485379的博客 522

数仓 DW层 用户固定漏斗分析主题

数仓 DW层 用户固定漏斗分析主题 1. 背景 在app业务和流程设计中,页面和页面之间,流程和流程之间的每个环节并不是100%流转下去的。例如大家使用购物App,从商品详情页到下单页面,到支付页面,中间可能随时因为各种原因跳出。这时候就涉及到漏斗分析,也就是分析这些环节之间的转换率。 在当今快节奏开发,推崇敏捷开发时代,不管是什么app,都不会一开始就做成尽善尽美,反而只会有核心功能,然后接入比较完整的数据分析和观察工具后,每个迭代周期根据线上数据分析和用户反馈进行迭代优化。这样就可以使用2周一个迭代的

xiaohu21的博客 557

SSTI模板注入及绕过姿势(基于Python-Jinja2)

http://xmctf.top:8962/?name={{%22%22[%22\x5f\x5fclass\x5f\x5f%22]["\x5F\x5Fbase\x5F\x5F"]["\x5F\x5Fsubclasses\x5F\x5F"]()[233]["\x5F\x5Finit\x5F\x5F"]["\x5F\x5Fglobals\x5F\x5F"]["\x5F\x5Fbuiltins\x5F\x5F"]['eval']("\x5F\x5Fimport\x5F\x5F('os'))")}}

Y4tacker的博客 1万+

数仓搭建——ADS层

数仓搭建笔记——ADS层

zhangzhagn_的博客 3742

告别调参难!YOLO超参数优化指南(网格搜索+贝叶斯优化实战)

YOLO超参数优化的本质,不是“试遍所有参数”,而是“用工具化方法,在场景约束内找到最优平衡”——网格搜索稳、贝叶斯优化快,两者结合(先粗搜再精调)是工业场景的最优解。先定范围:基于工业场景(小目标/边缘设备/多类别)缩小参数搜索范围,避免无效探索。先调核心:优先优化数据增强、学习率、输入尺寸,这些参数对精度影响最大。工具赋能:用网格搜索+贝叶斯优化替代人工试错,再用TensorBoard监控,让调参“有据可依”。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 698

飞牛fnNAS个人小账本导入微信账单

本文介绍了将微信支付账单导入ezBookkeeping个人记账系统的详细方法。首先通过微信申请导出账单文件,接收后需进行Excel预处理:删除前导行、添加账户和分类列、整理金额格式等。在ezBookkeeping中需预先设置"微信"分类和账户。导入时需注意列映射关系,包括交易时间、账户名称等关键字段的对应设置。文章还提到处理交易标签、格式转换等细节问题,并建议避免使用"修改余额"功能。该方法同样适用于支付宝账单导入,解决了直接导入可能出现的格式不兼容问题。

dgnankai的专栏 482

数仓学习笔记(8)——数仓搭建(ADS层)

此处要求统计新增留存率,新增留存率具体是指留存用户数与新增用户数的比值,例如2020-06-14新增100个用户,1日之后(2020-06-15)这100人中有80个人活跃了,那2020-06-14的1日留存数则为80,2020-06-14的1日留存率则为80%。该需求要求统计最近30日发布的所有优惠券的领用情况和补贴率,补贴率是指,优惠金额与使用优惠券的订单的原价金额的比值。该需求要求统计最近30日发布的所有活动的参与情况和补贴率,补贴率是指,优惠金额与参与活动的订单原价金额的比值。

qq_64557330的博客 1337

在armv8架构中,有哪些是serror

(3)、RAS(Reliability, Availability, and Serviceability)错误:一些对于系统的可靠性、可用性和可维护性有影响的错误可能会触发 SError。(2)、ECC(Error Correction Code)错误:在访问带有错误校验的内存(如ECC内存)时,如果发现错误校验失败,可能会产生SError。2、其实呢,大多数Serror都是实现定义的,真正实现的serror就没有多少个。Serror(也称System Error),是异步异常的一种,一般是来自。

baron-周贺贺-代码改变世界ctw 1013

大数据之数仓术语(面试篇)

特别说明:本文续更。 1、RDBMS :关系型数据库 2、Prometheus、Grafana :都是组件监控 3、工作流,其实也调度工具(常用):azkaban、oozie、airflow 4、日志区分:行为日志、内容日志、业务数据 行为日志:用户与平台交互产生的数据 业务日志:是由公司服务端业务系统`产生的数据 日内日志:公司在不同的业务需求产生的 5、关于二次开发编写Flume Interceptor的原因 hive是可以自动识别json格式的message,但是无法识别base64

默主归沙的博客 2384

C 语言多文件编程 : 大型程序的组织与管理

本文介绍了C语言多文件编程的核心概念与实践方法。主要内容包括:1. 多文件编程的必要性:解决单文件编程在大型项目中的维护和协作问题;2. 文件组织方式:头文件(.h)负责声明接口,源文件(.c)实现具体功能;3. 编译链接过程:分阶段编译和链接多个源文件;4. 头文件设计原则:包含接口声明、使用保护机制、保持自包含性;5. 模块化实践:通过示例展示学生信息管理系统的模块划分;6. 构建工具:介绍Makefile的编写和使用方法。文章还提供了创建静态库和动态库的指导,并强调了模块化设计、信息隐藏等软件工程原则

2503_91057718的博客 1947

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

【项目】数仓项目(十)

(图片来源于网络,侵删) 一、数仓搭建 - DWS 层 结束语 都看到这里了,点赞评论一下吧!!! 点击查看???? 敬请期待!

Together 2540

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

黑马Hive+Spark离线数仓工业项目--数仓事实层DWB层构建(3)

黑马Hive+Spark离线数仓工业项目--数仓事实层DWB层构建

技术专家 1296

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

如何优雅地规划数仓体系

0x00 前言 数仓规划是数仓建设的蓝图,涵盖从需求分析开始到最终的数仓评估验收整个环境;数仓规划之所以重要,是因为它是描述了数据流动的概念性框架,为元数据管理奠定了基础,对数据加工过程的理解、数仓建设的交流分享、数据的使用和问题排查、数仓健康度的评估都提供了极大的帮助。需要强调的是本节是从宏观上描述数仓的框架,具体到数据模型的细节对比、存储选型和管理、接入数据源管理等数仓建设的周边在本节不涉及。...

weixin_40479337的博客 274
上一篇: 数仓 DW层 用户活跃度分析主题
下一篇: 数仓 DW层 用户固定漏斗分析主题
闻香识代码
博客等级 码龄12年 314粉丝 223原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值