统计会员半年复购率的问题(7 天、15 天、30 天)

2018-05-25 16:36:51 +08:00
 linwenshan

order 订单表 字段 id order_no(订单编号) business_id(商户 ID) user_id (会员 ID ) money(消费金额) user 会员表 id name 会员名称 business 商户表 id name 商户名称

基数:200 个商户 一个商户可能有 200 个顾客 前提:会员购买过一次,第二次购买就算复购 问题:有什么好的设计方案和想法

目前我所想到的方法: 新建一张表,存商户和会员的关系

re_business_user

http://p29q5vjby.bkt.clouddn.com/%E5%9B%BE%E7%89%87.png

每天用户在某个商户购买商品时查询一下关系表( re_business_user )数据是否存在(where 条件中加上 date 等于当前的时间 2018-05-11),不存在新增一天记录,存在则更新购买次数+1 和购买金额增加 这样设计我就可以很快的计算出 7 天复购率,15 天复购率,30 天复购率

这样设计会造成整张表数据量过大,一个月大概会有 120W 数据(20020030)

各位大佬有什么好的想法可以解决这个问题吗?谢谢

5016 次点击
所在节点    PHP
4 条回复
wayne1027
2018-05-25 19:02:28 +08:00
没有 BI 团队吗?复购率实时性要求不高的话可以做成 T+1 离线数。用 hive&spark 每天跑一下 order 表汇总到 dw 层即可。有实时性要求可以在上述条件下再加上当天的,用 redis 解决。
zacksleo
2018-05-25 19:21:09 +08:00
定时任务做统计
whileFalse
2018-05-25 22:07:50 +08:00
提问:为什么要用专门的字段存单独一天的购买次数?
还有,楼主担心每个月会刷出 120w 数据实在是想多了。买东西不要钱的吗?你就 4w 个用户,能每个人天天买?
醒醒吧,要真是那么多人天天买,你们老板早就发大财然后把你开掉换个有经验的了。
turan12
2018-05-25 22:34:32 +08:00
直接统计购买次数不就行了?只要购买次数>1 就算复购。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/457766

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX