离线电商数仓业务浅谈

以下内容是个人学习电商数仓内容的相关总结,内容仅为个人理解,如有不妥之处希望您能留下宝贵意见!

文末包含个人总结,离线数仓的进40张表的数据流图,如有不妥,恳请指正!

1.需求是什么?

image-20230223225601291

1.1访客统计需求

指标说明对应字段
访客数统计访问人数uv_count
页面停留时长统计所有页面访问记录总时长,以秒为单位duration_sec
平均页面停留时长统计每个会话平均停留时长,以秒为单位avg_duration_sec
页面浏览总数统计所有页面访问记录总数page_count
平均页面浏览数统计每个会话平均浏览页面数avg_page_count
会话总数统计会话总数sv_count
跳出数统计只浏览一个页面的会话个数bounce_count
跳出率只有一个页面的会话的比例bounce_rate

image-20230223221037950

1.2用户主题

用户综合统计

新增用户数统计新增注册用户人数new_user_count
新增下单用户数统计新增下单用户人数new_order_user_count
下单总金额统计所有订单总额order_final_amount
下单用户数统计下单用户总数order_user_count
未下单用户数统计活跃但未下单用户数no_order_user_count
流失用户数之前活跃过的用户,最近一段时间未活跃,就称为流失用户。此处要求统计7日前(只包含7日前当天)活跃,但最近7日未活跃的用户总数。user_churn_count
回流用户数之前的活跃用户,一段时间未活跃(流失),今日又活跃了,就称为回流用户。此处要求统计回流用户总数。new_order_user_count

image-20230223221118561

image-20230223221137206

1.3商品主题

​   该指标为商品综合统计,包含每个spu被下单总次数和被下单总金额

​    品牌复购率是指一段时间内重复购买某品牌的人数与购买过该品牌的人数的比值。重复购买即购买次数大于

等于2,购买过即购买次数大于1。此处要求统计最近1,7,30天的各品牌复购率。

1.4订单统计

​   该需求包含订单总数,订单总金额和下单总人数。
  
该需求包含各省份订单总数和订单总金额。

1.5优惠券主题

​    该需求要求统计最近30日发布的所有优惠券的领用情况和补贴率,补贴率是指,优惠金额与使用优惠券的订

单的原价金额的比值。

1.6活动主题

​    该需求要求统计最近30日发布的所有活动的参与情况和补贴率,补贴率是指,优惠金额与参与活动的订单原

价金额的比值。

2.我们有什么数据(ODS层)?

image-20230223222030326

2.1用户行为数据(日志埋点)

​    用户在使用产品过程中,通过埋点收集与客户端产品交互过程中产生的数据,并发往日志服务器进行保存。

比如页面浏览、点击、停留、评论、点赞、收藏等。用户行为数据通常存储在日志文件中。

2.2业务数据(后端同步)

​    就是各行业在处理事务过程中产生的数据。比如用户在电商网站中登录、下单、支付等过程中,需要和网站

后台数据库进行增删改查交互,产生的数据就是业务数据。业务数据通常存储在MySQL、Oracle等数据库中。

3.维度建模的必要性(DIM层)?

​    首先我们看本项目的需求,主要基于用户,商品,订单,优惠券,活动,地区,这些内容,这些都是描述事

实的角度,也就是我们所说的维度,在完成需求的时候,需要结合描述事实的角度,与事实的度量,相结合的方式

从而更清晰的表达,例如我们衡量一个店铺的生意好坏,我们可以从销售量这个维度+具体销售量的数字来衡量,

或从时间角度,例如商家是贩卖冬季衣物的,我们在衡量的时候,就需要在时间维度+具体销售量这一角度进行考

虑。简单来说就是将一个多层次问题展开, 分层次讨论,就是我们的维度建模的初衷。

image-20230223223819795

4.如何进行数据清洗(DWD)?

4.1用户行为数据的分类

​    从ODS层知道,我们获取的只是对应的日志文件,那么必然要进行拆分,放入不同的数据表中,这里分为启动日志,页面日志,动作日志,曝光日志,错误日志五张表。

image-20230223225101186

4.2对业务数据应该如何处理?

​    我们上述说到维度建模的理论是:在维度建模方法体系中,维度是描述事实的角度,如日期、商品、地址等,事实是要度量的指标,如用户数、销售额等。

​    也就是说,DIM层已经对事实描述的角度做出了处理,例如商品维度表抽取了ODS层的如下图8张表,对于商品来说,商品只是描述问题的维度,在后面的数据处理中,只需要对这一维度进行描述即可。

image-20230223224721562

​   因此,在后续数据向后推进过程中,不再需要同步相关数据,也就是说维度层对ODS层的部分数据进行了抽取,在接下来的DWD层中,将不再需要这些内容,只需对相关事实表进行清晰同步即可。

image-20230223225130974

5.对数据进行预先聚合(DWS)

​    到达这一步,我们已经获得了数据描述的维度以及数据描述的事实,接下来应该根据维度对事实进行聚合,

这里的聚合是按照业务需求而定的,因为对于电商项目来说以及项目需求来说,要求我们的是在一长段时间内的数

据报表,如果我们对数据直接进行从全部事实+维度这样的统计方式显然数据量很大,并且数据的复用性很低,因

此我们先以天为单位进行聚合,从而更能保证我们数仓的灵活性。

这里我们根据六个需求模块,延伸出六个数据主题:

image-20230223231304107

​    我们从用户主题举例,他需要聚合我们的几乎所有事实,也就是说,这些主题内容都是基于上一层的事实表进行抽取的。

6.数据再聚合(DWT)

​    到这一步相对来说就是对数据的进一步聚合,从而更加贴近我们的需求,也就是以DWS为基础,对数据进行累积汇总。一行信息代表一个主题对象的累积行为,例如一个用户从注册那天开始至今一共下了多少次单。这一一个过程。

image-20230223233419663

7.维度(DIM)+事实(DWT)=(ADS)

​    在这一步我们就需要结合事件描述的角度具体度量数据完成需求内容。

image-20230223232757272

8.自制电商数仓数据流图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fang GL

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值