您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[360]:面向行为分析的数据治理和应用 - 发现报告
当前位置:首页/行业研究/报告详情/

面向行为分析的数据治理和应用

信息技术2022-10-18360绝***
面向行为分析的数据治理和应用

面向行为分析的数据治理和应用 贾毅宁2022-08-27 目录 常见的数据分析场景 数仓建模方法 数仓建模方法的优劣势 面向行为分析的分析方法-概念 面向行为分析的分析方法-整体架构 面向行为分析的分析方法-分析举例 常见的数据分析场景 结果如何-指用户行为之后,实际产生的结果 业务数据会落库业务数据表。分析业务数据的意义,可以衡量商业价值,是业务最终呈现结果,用以推动公司业务的发展。 工程实现:数仓建模 工程关键词:数据仓库、数据集市、星形数据模型、雪花形数据模型、纬度表建模、多维分析、MPP数据 库等 业务数据 电商指标:PV、UV、成交用户数、成交订单数、GMV、客单价、退款率等 广告指标:点击率、转化率、参竞率、竞得率等 金融指标:资产负债率、净利润、流动比率、毛利率等 游戏指标:付费金额、付费人数、付费率、首充人数、首充金额、ARPU、LTV等 服务的团队:各个业务团队、公司决策层、产品团队 行为数据 做了什么-指用户使用产品上的各种行为 网站行为:浏览页面、停留时长、页面的浏览路径、点击行为等 广告行为:请求、曝光、点击、广告浏览时长等 App行为:登陆、注册、功能使用、客服支持等 游戏行为:完成教程、过关、付费、升级等 工程实现-面向行为分析的数据加工和分析 主要分析方式:漏斗分析、留存分析、Segment分析、Cohort分析、用户会话分析、用户行为路径分析等 服务的团队:增长团队,存量经营团队,产品团队 数仓建模方法 ODSDWD 用户空间 用户ID 注册时间 会员等级 用户ID 登陆时间 登陆方式 点击 曝光 请求 … 数仓建模 维度表广告主题宽表用户登陆主题宽表会员注册主题宽表 报表建设特征挖掘机器学习OneID……主题 应用 增长团队存量经营团队产品团队…… 数仓建模方法的优劣势 优势 方法论成熟:已经在无数的公司中被验证过,更有像《阿里巴巴大数据实践》《BuildingTheDataWarehouse》等优秀的指导书籍。 技术栈成熟:无论是从消息中间件、数据ETL管路,数据湖、数据仓库、数据集市的各种选型等,工业界已经诞生了无数优秀的框架和数据库。 技术供应商支持完善:Google,Amazon,Microsoft,阿里云,腾讯云均提供几乎一站式的服务。 技术人才供给:各个互联网公司都有数据仓库建模的需求,人才供应充分,培养体系完备。 公司推动阻力小:数仓的重要性经历了充分的市场教育,推动起来会比较顺畅,投入产出比也比较好阐述。 应用场景:适合指标类的多维分析数据运算 劣势 建设链条长:数据采集->ODS->DWD->DWT->数据报表和应用。 数据一致性保证有挑战:不同数据主题之间会有指标和字段的重合,在工程和业务之间,不同的工程团队之间都可能造成理解的偏差。 扩展字段流程复杂:表结构需要预先定义,扩展新字段往往需要较长的开发周期和回溯数据周期。 工程实现很难统一:架构评估往往取决于承接的工程团队的过往经验和喜好,同样需求的实现差异较大。 不适合时序形的行为数据分析:因为需要按照用户维度shuffle和开窗,用户行为分析往往比较耗资源。 预聚合不够灵活:当维度不能命中预聚合的维度时,查询会退化成全表聚合。 面向行为分析的分析方法–概念 用户空间 用户事件序列 事件抽象 活跃用户群新增用户群满足X条件用户群…… 用户群计算 一个例子-7日Andoird用户的留存率 传统数仓的解决方案 1.使用数据的底表和表的字段 2.定义中间表的创建逻辑(过滤条件,分组条件,指标计算) 3.最终结果的业务逻辑 4.查询优化(过滤前置,数据倾斜,shuffle,关联方式…) 行为分析的解决方案 1.加载Android用户人群_A;加载T的活跃用户人群_B;加载T-7新增用户人群_C 2.(A,B,C)用户群求交=用户人群_D 3.(A,C)用户群求交=用户人群_E 4.(D,E)用户群计算覆盖率 整体架构 查询接入层:负责将一个复杂查询语句拆解成原子的子查询语句。 查询结果聚合层:负责将用户数据访问层的结果聚合返回 查询缓存层:每个子查询语句因为其不变形,都可以保存在缓存中 实时层:处理实时数据 IDMapping:设备ID和用户ID的关联,用户ID和用户ID的关联 用户数据访问层:执行真正的子查询语句,并行的访问用户数据 元数据层:记录文件和事件事件的关系,列在文件中的偏移量 列存储层:列存的方式存储数据,通过Deltaencoding和Dictionaryencoding优化体积和访问速度 一个例子-7日Andoird用户的留存率 (1) 将查询拆解成计算以下几个子任务: 1.T-7:的新增用户 2.T-7:的android活跃用户 3.T日的活跃用户 (7) (2) (6) (3) (4) (5) 汇总子查询的返回结果和Mapping对,最终返回查询结果。 将相对事件翻译成绝对事件,查询是否子查询的结果已经存储在缓存中。 返回:用户ID-用户ID;用户ID-设备ID两种mapping关系对。 对于没有命中缓存的字查询,分布式执行查询计划。 根据查询的时间范围和查询列,加载存储文件到计算节点中。 返回需要参与计算的数据。 MetadataHeader BloomFilter过滤User_ID Deltaencoding时间戳列Dictionary–encodeduser_id列..……..其他Dictionary-encoded属性列 列存储 MetadataHeader:文件头,记录时间的开始和结束,以及每一个列的偏移量 Deltaencoding:差分编码,减少时间戳的存储体积。 BloomFilter:布隆过滤器,快速判断是否一个用户在当前文件中。 Dictionary-encoded:属性字段用字典编码,减少体积,提高过滤和GroupBy的查询效率。 字典:[0:Beijing,1:Shanghai,2:Shenzhen] 编码后的维度值:通过编码的方式,统一存储大小,提高访问效率。减少存储体积。 倒排索引:通过属性值快速定位行索引,更高效的支持过滤条件和And/OR等逻辑条件。 Dictionary-encoded selectcity,sum(click_cnt)fromtable_t wherecategory=0orcategory=1groupbycity 元数据 文件元数据 文件保持相对固定的大小,并按照时间动态分区。 •时间久远,稀疏的文件按照高时间密度做聚合。 •时间近,但稠密的文件按照低时间密度聚合。 单个文件内部按照用户ID和时间排序。 列元数据 行元素按照 一般的查询,只会访问8~16列属性值 减少从存储层到计算层之间加载的数据量 OneID 追踪用户的设备变化,还原用户事件的最真实状态 •一个用户在多个设备上使用同一个应用,需要对该用户的唯一性进行标识,进而把用户的行为归属到同一个用户上。 •多个用户在同一台设备上操作同一个应用。 •同一个APP内,注册用户前的行为和注册用户后的行为进行关联。 •不同App之间,用户行为进行关联。 IDMapping: •User_id:Device_id:用来追踪用户的设备使用情况。如广告中的排除老用户场景 •Device_id:Deivce_id:用来追踪同一步设备或者同一个用户的多部设备。 •User_id:User_id:用来追踪同一个用户的ID的变化,具体场景取决于业务模式。 IDEncoding 为每个OneID赋予一个bit位,用来在bit数组中唯一的标识这个用户。 在计算人群时,可以通过返回bit数组来进行标识。 多个人群之间的集合运算可以通过bit数组的与/或/非进行快速的计算。 缓存层 时间版本号:数据可能会因为回填等原因引入新数据,通过时间版本 号的方式可以自动刷新缓存。 查询的时间范围:【启始时间、结束时间)用来表识查询的时间范围,一般来说,时间越近,可支持的粒度越小。 查询过滤条件:相当于SQL中的Where条件子句。 人群分组条件:相当于Group条件,表示在过滤条件下,按照分组条件对人群进行重新的划分。 用户数据访问层 1.用户请求:时间范围,过滤条件,用户群聚合条件。 2.请求元数据:确定需要访问文件的位置和列的偏移量 3.加载数据到计算节点:加载时序数据到计算节点,并缓存到本地磁 盘。可以采用LRU的方式进行淘汰。 4.用户分区计算:根据加载的用户活跃度进行分区,并行计算符合查询 条件的用户群。 5.聚合计算:对每个用户群算子的返回结果进行二次聚合,形成最终用户 群。 行为分析的应用–用户留存分析 Day(行时间+偏移量)的活跃用户群 Day(行时间+偏移量)的活跃用户群 Jul29–Aug08新增用户群 计算T-1的每日新增用户群和活跃用户群,那么就可以做任意一段时间新增用户的任意一个时间点的留存分析 行为分析的应用–漏斗分析 时序严格的转化漏斗(水平切) •同一个session内(播放->收藏->购买->下载)用户群 •同一个session内(播放->收藏->购买)用户群 •同一个session内(播放->收藏)用户群 •同一个session内(播放)用户群 非时序严格的转化漏斗(垂直切) •播放歌曲用户群 •收藏歌曲用户群 •购买歌曲用户群 •下载歌曲用户群 播放歌曲收藏歌曲购买歌曲下载歌曲 行为分析的应用–路径分析 事件的入度:一个事件发生时,其在时间轴上的前一个事件。 事件的出度:一个事件发生后,其在时间轴上的后一个事件。 计算方式 1.计算某一个事件的人群 2.按照前一个事件类型进行划分,得到出度。 3.按照后一个事件类型进行划分,得到入度。 4.对于出度人群和入度人群,分别进行N次迭代计算,最终得到N层深的路径分析, 回顾 分析了行为分析和指标分析的主要差异 阐述了数仓建模方式的优劣势,更适合用来做指标分析 阐述了行为分析的主要概念和分析思路的不同 阐述了行为分析系统建设的主要层次 阐述了行为分析系统每个层次的主要应用的技术 阐述了行为分析的主要支持的三个分析场景 Thanks