数仓 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层重新计算数据结果。

数仓 DW层 用户留存分析主题相关推荐

  1. 数仓 DW层中主题表之页面交互事件概况主题(分享,点赞,收藏)

    数仓 DW层中主题表之页面交互事件概况主题(分享,点赞,收藏) 1. 背景 在大数据开发中,本身的数据处理分析目的一般就是2类,一个是基于现有数据找出规律,做总结和分类统计.一个是基于现有数据找出规律 ...

  2. 离线数仓——(新增用户业务指标,每日新增用户明细表,留存用户业务指标,用户留存明细表)

    文章目录 新增用户业务指标 每日新增用户明细表 留存用户业务指标 用户留存明细表 新增用户业务指标 留存用户:指某段时间的新增用户,经过一段时间后,仍继续使用应用认为是留存用户 新增会员:第一次使用应 ...

  3. 数仓(十)从0到1简单搭建加载数仓DWS层

    数仓(一)简介数仓,OLTP和OLAP 数仓(二)关系建模和维度建模 数仓(三)简析阿里.美团.网易.恒丰银行.马蜂窝5家数仓分层架构 数仓(四)数据仓库分层 数仓 (五) 元数据管理系统解析 数仓( ...

  4. 数仓建设:数据域和主题域是什么关系?

    为什么会有域的概念呢? 首先来看看数据仓库的定义吧,数据仓库是一个面向主题的.集成的.相对稳定的.反映历史变化的数据集合,用于支持管理决策. 主题域已经体现出来了 主题域用于将数据集市按照分析视角进行 ...

  5. 数仓ADS层指标计算案例分享

    数仓ADS层指标计算案例分享 ADS层数据往往是最终的结果指标数据,在大屏展示,或者实时流处理时候使用,通过下面两个例子来练习业务大屏展示sql该怎么写. 1. 会员分析案例 1.1 数据准备 表结构 ...

  6. 来拿,腾讯数据开发整理的用户留存分析(超详细)

    本文循序渐进的讲述了大数据领域用户分析不断优化的过程.借此抛砖引玉,希望读者勇于探索,追求卓越 最近小c同学一直在做用户留存分析. 这天他跟我大倒苦水:接手前同事的留存分析代码不仅可读性差且效率低. ...

  7. 用户留存分析的几种方法

    来源:数据分析不是个事儿 之前跟大家讲过同期群分析: 同期群本质上是留存分析的一种实现方式,对于用户分析有很大的价值,今天再给大家分享几个相关的分析视角. 进入互联网下半场后,互联网流量竞争愈发激烈, ...

  8. 数据采集和用户留存分析

    一.数据采集 数据采集就是通过数据埋点对特定用户行为或事件进行捕获.处理和发送的相关技术及实施过程. 数据埋点 (1)基于业务需求或产品需求对用户行为的每一个事件对应的位置进行开发埋点,通过SDK上报 ...

  9. 最近在做的用户留存分析,和几种方法。

    来源:数据分析不是个事儿 我是小z 之前跟大家讲过同期群分析: 都说经典,同同同期群分析到底是个啥? Python数据分析实战 | 经典的同期群分析(附实战数据和代码) 同期群本质上是留存分析的一种实 ...

最新文章

  1. linux改变该进程优先级,linux – 是nice()用于更改线程优先级或进程优先级吗?
  2. jenkins 打包 命令
  3. [BZOJ1030]:[JSOI2007]文本生成器(AC自动机+DP)
  4. 爱情二十九课,驾驭爱情
  5. 一款非常好看的雷姆背景的时间单页(附雷姆图片)
  6. 函数----ModifyStyle
  7. linux中括号 美元符号怎么打,键盘输入美元符号
  8. 那些人,那些事儿之小武
  9. 表格组件列属性formatter和styler使用方法
  10. 《阿里巴巴 Java开发手册》读后感
  11. 前后端离线开发相关软件下载地址大全
  12. Tomcat-Connector(连接器)
  13. 计算机远程桌面连接连接不上,电脑远程桌面时常出现连接不上问题,怎么处理问题...
  14. linux命令学习一 :touch和mkdir 创建文件和文件夹
  15. 【Asp.net入门01】动态网站基础知识
  16. 面向接口编程详解(三)
  17. es6的some和every方法使用;
  18. MySQL学生表、老师表、课程表和成绩表查询语句,全部亲测
  19. 北邮计算机学院9月推免,夏令营、预推免总结--计算机方向 (南科大、自动化所、上科大、北邮)...
  20. Android studio 报错 :Unable to delete file

热门文章

  1. gmt把ps转换成jpeg中文乱码
  2. 高通QCM2290平台组合键进9008
  3. 关于matlab的简介,Matlab 简介
  4. 学生选课系统的ER图
  5. 动态内存管理——tlsf
  6. Origin绘图教程(一)
  7. 【经典教程】怎样能把SWF反编译为fla?
  8. win10查看局域网内所有IP
  9. vscode开启LiveReload出错
  10. WebSocket connection to ‘ws://localhost:8080/api/handler‘ failed: Invalid frame header