项目背景
权益:用户可以享受的减钱,折扣,免邮,店铺单品优惠,百亿补贴;
券:一般指可以领取的优惠营销工具类型;
营销:指营销工具的底层提供方,提供创建券的能力平台;
权益投放平台:包括两部分,权益投放平台 + 权益平台;
业务背景
营销数据建设的业务场景分为四部分:
1.为管理层和产品人员提供多视角的运营数据、支持业务决策(权益离线数据看板);
2.为业务运营人员提供多维度实时数据支撑(权益实时数据看板),优化日常运营权益投放策略
3.为大促期间提供关键权益实时转化数据(实时大屏),展示大促期间投放效果;
4.基于建设的营销数据资产,支撑业务进行更多的数据应用(省钱记录);
技术方案设计
1:业务过程梳理

权益会在引流,导购,转化场景透出,业务方关心这些权益投放的成本和效率情况,因此业务过程梳理主要围绕权益的曝光,领取,核销进行数据建模。
维度模型设计期间主要涉及 4 个主要的过程,总结成 5W1H 建模法:
1.选择业务过程
从实际的业务过程中提取分析维度,并且把业务过程转化为事实。业务流程的选择还取决于该流程可被应用的质量尚可的数据。
第一步一定要谨慎且细致的对业务进行描绘。
比如权益投放,整个权益投放流程分为券发放,券曝光,券点击,券领取,券核销
2.声明粒度
粒度可以用来确定事实表中每行表示什么。同一事实表中,必须有相同的粒度
原子粒度是最低级别的数据粒度,原子粒度能够承受无法预期的用户查询。
通过原子粒度进行上卷,可以满足各类需求。
例如:在设计券领取事实表,每一行表示的就是每个用户的一次领券记录,唯一主键就是领取 id,业务
开发会用领取 id+幂等 id 作为联合主键(因为领取超时会进行重试,但不能超发);
3.确认维度
维度是事实表的基础,维度是通过不同的视角去看数据,把一堆数据进行分类,从而进行细分对比。
举个例子:产品运营希望看到每天主要场景的平台发放的各类券的领取数据,此时维度、属性、层次结构可以进行如下分解:
维度:权益类型、发放渠道、门槛、折扣;
属性:以券实体为例举例,券名称、折扣类型(满减、折扣型,固定金额)、门槛、最大折扣、活动开始时间、活动结束时间、出资类型等
层次:以权益实体为例举例,创建权益活动的时候的 purpose,一级purpose,二级 purpose,三级 purpose;权益类型有权益大类,权益子类等等;
4.确认事实
事实表示用来度量的,基本上都以数值来表示,这一步骤是用来标识事实表中的每一行。
此步骤与系统的业务用户相关联,大多数事实表行都是数值,如领取金额,核销金额等等。
举个例子:产品希望看到每天满减券类型在首页投放的领取金额。
这里的事实表示通过折扣类型、投放场景限制得到的领取金额总和。
总结:数据建模过程中,需要考虑业务的需求以及建模中需要关联的数据源。从维度建模步骤来看,重点解决业务过程、数据粒度、一致性维度确认,主要是维度表和事实表设计。
声明粒度,为业务最小活动单元或不同维度组合。以共同粒度从多个组织业务过程合并度量的事实表称为合并事实表,需要注意的是,来自多个业务过程的事实合并到合并事实表时,它们必须具有同样等级的粒度。
例如:权益核销环节,每个用户下一笔订单(为方便退单,商品粒度为sku),就对应于多条权益核销记录。
【业务过程】:券的核销过程
【粒度】:子订单 + 券 id(拆分为单个物品)
【维度】:权益类型、领取场景、发放渠道等(可供分析的角度)
【事实/度量】:核销金额,引导 GMV 等(可用于分析的数据)
总线架构
原子指标 + 时间周期 + 修饰词 = 派生指标

在明确每个数据域中有哪些业务过程后,就开始定义维度,并基于维度构 建总线矩阵,形成矩阵表。

数仓模型架构

项目中涉及的核心表 36 个,其中 ods 层 12 个,dwd 层 7 个,dim 层 5个,dws 层 9 个,ads 层3 个

ODS层
ODS 层主要包括营销系统的优惠工具表,优惠模板活动表(券类型,非券类型),优惠活动预算表,优惠活动圈品表,营销领取表,营销核销快照表,营销活动规则表,券预算实例表,权益信息,权益模板,权益投放领取表;
dim 层
Dim 层主要权益模板活动表为主表建模,把创建券模板的维度和属性信息落到 Dim 层;包括权益维度表、券维度表、场景坑位维度表、投放计划维度表、券池维度表等;
dwd 层
DWD 层是基于 ODS 层,基于权益从发放到核销的业务过程进行建模,把Dim 表中的主要分析维度(权益分类,权益属性)下沉到 DWD 层,方便下游依赖方进行查询和分析;
dws 层
DWS 层基于业务分析视角,进行各类维度的聚合汇总,形成营销数据集市,比如权益类型视角,权益投放视角,权益投放计划视角;
ads 层
ADS 层就是业务应用层,引用 DWS 层的数据进行加工组装,形成不同的ADS 层表支撑上游业务;
数据架构
营销权益数据架构图

数据建设
数据埋点介绍
埋点流程

埋点概念:
埋点是数据采集中的一个统称,通常也叫做事件追踪(Event Tracking),它主要针对特定用户行为或事件进行捕获、处理和发送的相关技术及其实施过程。埋点是为了满足快捷、高效、丰富的数据应用而做的用户行为过程及结果记录。数据埋点是一种常用的数据采集的方法。埋点是端上数据的来源。
埋点方式:
Web 埋点:记录用户在 PC 端的行为,一般就是把一段 JS 代码嵌入到Html中,采集用户在网站内的行为流,比如注册,登陆,浏览PDP, 加购等核心行为;
客户端/H5 埋点:需要接入客户端的埋点 SDK, 将实际的埋点代码嵌入到用户实际访问的页面中,一般用于采集用户的行为流等等,比如曝光,点击按钮,访问页面等等。
服务端埋点:将埋点的主体放到了服务端,通过接入服务端的 SDK 后,在服务端代码中调用埋点 API 通过打日志的方式进行相关的埋点。
埋点作用:
采集的数据可以分析网站/APP 的使用情况,用户行为习惯等,是建立用户画像、用户行为路径等数据产品的基础。
埋点字段
数据采集 SDK 的固有字段 + 扩展字段;
基础字段一般包含:utdid , 设备信息(设备类型,分辨率,运营商,网络接入类型,app 的版本号),ip 地址,本地客户端时间
埋点主要是把自定义信息上报到扩展字段中;
权益埋点设计
核心业务流程: 曝光,点击领取/关闭
权益数据建模
营销 CDM 层数据建模主要围绕营销工具创建,权益领取,权益核销业务过程进行维度建模
数据 ETL 流程
营销 CDM 层 ETL 流程图

权益投放 ETL 流程图

ODS 层数据

ods层数据要做数据探查
这里对数据表的字段进行探查,一般都要进行数据量与业务库数据量差异评估,主键唯一性评估,字段空值情况评估,枚举型字段验证取值分布情况是否合理等校验。
DIM&DWD 层


DWS 层数据


ADS 层数据

交易域指标


权益指标

