一、概述
1.1 全域数据用户行为是什么
在讲全域数据用户行为是什么?我们先说下做这个项目的背景:全域用户行为数据拉通项目,旨在拉通用户在好未来集团的行为数据全貌;覆盖前台事业部如:网校,培优,小猴(原),智康,励步5个事业部用户行为数据,从不同的维度如学生、课程、班级、学科、学年学期、讲次、教学点、教师、教室等做整合,赋能上层应用项目未来画像CDP、未来看板、算法RFM模型、行业大盘本品字典、全域特征池等场景。前期模型主要以需求为主,整体缺少底层沉淀,同时也发现了一些明显问题(需求不易扩展性,数据质量不高,数据质量难定位,行为数据不够全面),基于这些问题,期望在支持上层需求的同时,还能以需求为指引,从底层业务和数据源出发,覆盖更多的前台事业部、体系化梳理和建设用户行为生命周期的更多关键节点,做全域用户行为数据拉通的纵向沉淀。
从项目背景中不难得出,全域数据:对各事业部的数据做整合,整合对象为各事业部已有的用户行为,如:购课,在网校可能叫:召回/唤醒/续报/扩科, 在智康可能叫订单支付,在励步可能叫:购买,需要对同义不同名用户行为做拉通(同名也同义)
1.2 为什么要拉通全域用户行为
降低成本
技术赋能
数据整合
赋能业务
二、架构设计
整体架构分为三层即:数据源层、数据拉通与建模层、数据应用层
数据源层:这一层是全域拉通的底层数据源,全部来源于各事业部已有的用户行为;
数据拉通与建模层:这一层分为了两部分拉通与建模层,其实还是建模,只不过把现有梳理的行为分为了私有和共有,在此基础上进行建模;
数据应用层:这一层是全域的上层应用部分,如:未来画像,作战地图,全域特征等各个不同的项目使用全域已经拉通好的数据,提供更编辑的使用;
三、建设过程
了解了什么是全域数据和为什么要实现全域,那么接下来就是梳理各事业部已有的用户行为,各事业部行为整体梳理为:268个,使用图形化形式,把每一个行为标注在图形中,构成了事业部的用户行为生命周期
3.1 用户行为生命周期
A:小猴行为生命周期
小猴现有行为生命周期数量:31个 B:励步行为生命周期
励步现有行为生命周期数量:34个 C:网校行为生命周期
网校现有行为生命周期数量:85个 D:培优行为生命周期
培优现有行为生命周期数量:99个 E:智康行为生命周期
智康现有行为生命周期数量:57个
3.2 私有与共有行为
上面的主要工作是对梳理的行为进行整合,使开发的同学对全域用户行为有整体的认知,明白做这个项目的背景和价值,同时也对收集的这些行为进行了详细的归类,主要分为私有行为和公共行为,每位老师负责不同的数据域,需要对5个事业部的当前行为进行了解,从业务熟悉和每张模型的前后依赖,其主要作用是为了当前行为可以更全的扩展特征,以下是私有和公共行为的一些截图:
1.私有行为
2.公共行为
3.3 具体的打法
上面的所有工作都是在梳理各事业部的全域用户行为,行为有了,那我们到底该怎么去做这件事情呢?
自下而上,根据数仓提供的标准化收集需求模版定期(月末)收集下个月的需求,支持数据中台横向项目.
自上而下,梳理好未来各事业部的用户行为,并标注核心用户行为,结合业务理解数据.
通过 1和2, 可以纵向沉淀出:
<1>: 沉淀模型:有需求时,根据需求设计业务过程,结合一致性维度和事实,支持了项目需求,并且从中总结沉淀模型;无需求时,根据梳理的核心行为,正常进行开发;<2>: 沉淀业务:做需求时,对某一块的业务需要有一定的理解,开发完一个模型,需总结沉淀当前的业务,避免以后踩坑;<3>: 沉淀方法:通过 1和2, 沉淀出全域的开发的整体做法(技术架构和流程),整理TTC文章,与大家一起分享; 在整个打法过程中还有两个很重要的点是: 1.对于一个行为,一定是从各事业部的DWD进行着手,DWD是经过清洗后的明细层
,对于后面的模型扩展也有一定的帮助; 2.整和一个行为时,
一定按照oneData理论进行模型字段标注,哪些是修饰词,哪些是原子指标,哪些是时间周期等,只有这个标注清楚了,才可自动派生不同的特征
; 具体的模型如下:
模型设计时已经标注清楚了时间周期、修饰词、原子指标
PS: 在接下来的两篇文章中重点和大家一起探讨oneData,这块也是我们做数仓的核心
3.4 总线矩阵
了解该业务过程对应的模型、所属的数据域;
了解该业务过程覆盖的事业部;
了解该业务过程支持的维度; 总线矩阵见知音楼文档:https://yach-doc-shimo.zhiyinlou.com/sheets/dPkpKO27RMuog7qO/ZU74n/ <04 总线矩阵>
3.5 全域建设难点
四、赋能业务
用户图谱:使用开发的自动化特征对高价值特征进行派生, 可快速提供特征平台底层数据源
集团CDP:提供已拉通的用户行为数据,可快速进行计算,减少沟通和计算成本
未来看板:提供积分数据需求查询所需模型,提高开发效率