dantezhao / data-group

77 stars 12 forks source link

通过订单表计算新客和用户下单留存应该怎么设计模型 #17

Open datayie opened 6 years ago

datayie commented 6 years ago

背景如下:目前有个订单表记录着每个用户的订单明细。想通过这个表设计出一个模型表可以支撑计算当天新客数和连续N天下单的用户数,不知道有什么较好的实现方式。

dantezhao commented 6 years ago

这种需求的话,我能考虑的是设计两张表:

  1. 中间数据表,表结构:user_id, buy_num, dt 。这份表从流水表中清洗出用户和日期,一个用户不管一天买多东西,每天只有一条记录。
  2. 用户购买行为特征表,表结构:user_id, first_buy_date, last_buy_date,is_continuous_buy_rcnt_7_day,is_continuous_buy_rcnt_30_day。

解释一下,第二张表,来满足日常需求,里面有每个用户的第一次购买东西的日期,最后一次购买的日期,最近7天、30天是否连续购买商品,这些都是相对来讲比较固定的特征

然后解释第一张表,第一张是一个中间表,它有两个作用,第一个作用是来计算第二张表,提高计算效率,另一个是满足一些特定的需求,比如需求方想知道指定日期是否连续购买商品了,就可以从第一张表来计算,当然会有一点计算成本,但是我们已经初步汇总了一次,计算性能能提高一大部分。