数仓构建案例:从需求分析到数仓构建全流程

2023-10-01 21:43:09 数据分析 0次阅读 投稿:清小墨

如何解读从数据需求到数仓构建的整体流程?这篇文章里,作者结合实际案例,从需求分析、可视化看板设计数据采集、数仓规划、维度建模等方面进行了描述和拆解,不妨来看一下,或许会对你有做帮助

一、背景

最近发文章,发现在文章中有插入广告功能假设广告插入为新上线的新功能

1. Web端链路

曝光环节:每次刷新都会有不同的内容。如下图所示:

具体落地页,大家可以自己点击看看。

2. 业务需求

功能上线一个月后,老板想看看该功能带来了多少营收?

运营人员希望分析广告投放广告曝光落地曝光支付页、支付成功转化链路的转化情况

本文以此为背景,从需求分析、可视化看板设计数据采集、数仓规划、维度建模等几个阶段去描述数据需求到数仓构建的整体流程

二、需求分析阶段

1. 目的

了解清楚业务问题和目标后,搞清楚数据怎么定义和描述这个问题?列出结果指标过程指标确定指标展现形式

2. 业务过程调研

需要整体分析角色之间存在的各类要素流动关系

3. 需求调研

根据业务调研及业务目标使用不同的数据分析分析方法列出指标体系,最终大致遵循常用指标分类方式

需求调研可以从以下角度出发:

1)根据分析师、业务运营人员的沟通获知需求

2)了解以前的报表,对现有报表系统中的报表进行研究分析,了解关键指标

4. 确定指标

5. 确定指标统计含义口径

筛选指标时,需要考虑指标数据来源、数据质量数据可靠性等因素。在此过程中,需要补充数据来源系统,来源表,来源字段,计算方式等。

三、可视化看板设计阶段

1. 根据指标需求设计可视化看板

2. 确定展示内容筛选条件

1)卡片展示内容指标名称统计口径指标值、指标单位统计日期、同比值、环比值、更新时间。

筛选条件日期支持选择今日、昨日、本周、上周、本年、去年、最近7天、最近30天等等。不能选择今天及以后。

2)支付情况变动趋势

筛选条件日期范围支持选择今日、昨日、本周、上周、本年、去年、最近7天、最近30天等等。不能选择今天及以后,支持按日、按月、按年去对比

3)下单转化漏斗

筛选条件日期范围支持选择今日、昨日、本周、上周、本年、去年、最近7天、最近30天等等。不能选择今天及以后。

可选统计方式:次数/人数

四、数据采集阶段

数据采集前需要考虑以下两点。

1)熟悉业务数据明确业务过程与表之间的关系,表与表之间的关系,字段之间的关联关系

2)调研数据情况:是否具备采集条件数据类型,存储格式通过什么方式采集。对缺失的用户行为数据进行埋点。

埋点时需根据不同埋点类型以及业务情况选择合适的埋点方案和前后端采集方案

1. 埋点需求分析

2. 自定义埋点方案设计

标准埋点方案一般由 4 张表组成

公共属性

定义事件&属性

设计埋点前,可做一些埋点文档和埋点评审的规范定义方便文档的维护工作开展

比如:事件命名由 4 部分组成类型_流程_页面_功能

未了保障数据准确性,需注意触发时机规则定义比如什么样的曝光是有效的?商品停留时间超过2s,卡片至少漏过50%。商品曝光重复:如果之前已经可见且上报了,那么不做二次上报等规则

五、数仓规划阶段

在构建数仓前,需要对数仓进行整体规划,包括:

1. 数仓分层规划

操作数据层:ODS(Operational Data Store):把操作系统数据几乎无处理地存放在数据仓库系统中。

事实明细层:DWD(Data Warehouse Detail):DWD 层是在ODS层基础上,根据业务过程建模出来的事实明细层。

公共汇总层:DWS(Data Warehouse Summary):一般根据维表数据和明细事实数据加工生成,作为通用数据模型使用

应用数据层:ADS(Application Data Store):存放数据产品个性化的统计指标根据明细层、汇总层及维表数据加工生成。

想了解更多数仓分层可查阅上篇文章《带你轻松理解数仓为啥分层?》https://www.woshipm.com/share/5892372.html

2. 主题规划

我们选择按照业务过程划分主题域:划分前提,先理清业务过程根据业务过程抽象主题比如浏览曝光,点击,都属于用户行为的业务过程,就可以划分流量主题

想了解更多主题规划查阅《如何理解主题域?》。

六、数仓设计阶段

1. 构建业务总线矩阵

数据仓库领域中,业务总线矩阵是一种用于设计组织数据仓库业务模型工具。它是基于业务需求业务过程分析明确业务过程与维度的关系。它帮助业务需求转化数据模型,并指导数据仓库的建模和设计过程

从该业务矩阵中,我们可以得知需要建设哪些DIM层维度表,DWD层的事实表。

2. 指标拆分

指标的拆分是运算过程的拆分,维度模型里的指标拆分是一种思路,是模型设计很重要的一环。想了解更多可看《原子指标、派生指标复合指标》。

原子指标:不可再分的指标

派生指标:派生指标是由原子指标、时间周期、修饰词构成,用于反映企业某一业务活动指定时间周期目标范围中的业务状况

复合指标:由派生指标直接运算而来,通常是比率型指标比如最近七天广告点击率,他的特点就是产生了新的原子指标

3. 维度表设计

根据业务总线矩阵,可构建用户维度表、时间维度表、地理位置维度表等等。

日期维度表示例

4. 事实表设计

此处拓展事实表构建流程

事实表说明

事实表包括:事务型事实表、周期快照事实表、累积快照事实表。

1)选择业务过程确定事实表类型

业务过程定义业务过程是从企业经营收益成本出发,价值链条上有影响力的用户需求事情或者事件。而且,这样的过程非常多,我们要分析当中的核心关键过程,不断细分。

核心内容企业活动事件、不可拆分原则

2)声明粒度定义事实表的每一行所表示的业务含义,尽量选择最细级别原子粒度,以确保事实表的应用具有最大的灵活性。

3)确定维度:选择能够描述清楚业务过程所处的环境的维度信息

4)确定事实:事实有可加性、半可加性、非可加性三种类型 需要将不可加性事实分解为可加的组件。

5)冗余维度:考虑更多的是提高下游用户使用效率降低数据获取复杂性,减少关联的表数量。

阅读事实表:

页面浏览事实表:

下单累计快照事实表:

交易域每日支付汇总表:

流量域每日曝光汇总表:

根据需求汇总表还需要统计每月、每年、近7天、近30天等数据汇总情况,此处不做过多表格展示。需要注意命名规范以及事实是否可加

最后:文中涉及很多概念大都一概而过,后续会慢慢分享相关内容

声明:互联网产品经理网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系137865155@qq.com