data-group
data-group copied to clipboard
通过订单表计算新客和用户下单留存应该怎么设计模型
背景如下:目前有个订单表记录着每个用户的订单明细。想通过这个表设计出一个模型表可以支撑计算当天新客数和连续N天下单的用户数,不知道有什么较好的实现方式。
这种需求的话,我能考虑的是设计两张表:
- 中间数据表,表结构:user_id, buy_num, dt 。这份表从流水表中清洗出用户和日期,一个用户不管一天买多东西,每天只有一条记录。
- 用户购买行为特征表,表结构:user_id, first_buy_date, last_buy_date,is_continuous_buy_rcnt_7_day,is_continuous_buy_rcnt_30_day。
解释一下,第二张表,来满足日常需求,里面有每个用户的第一次购买东西的日期,最后一次购买的日期,最近7天、30天是否连续购买商品,这些都是相对来讲比较固定的特征
然后解释第一张表,第一张是一个中间表,它有两个作用,第一个作用是来计算第二张表,提高计算效率,另一个是满足一些特定的需求,比如需求方想知道指定日期是否连续购买商品了,就可以从第一张表来计算,当然会有一点计算成本,但是我们已经初步汇总了一次,计算性能能提高一大部分。