V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
linwenshan
V2EX  ›  PHP

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

  •  
  •   linwenshan · 2018-05-25 16:36:51 +08:00 · 5021 次点击
    这是一个创建于 2372 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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)

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

    4 条回复    2018-05-25 22:34:32 +08:00
    wayne1027
        1
    wayne1027  
       2018-05-25 19:02:28 +08:00
    没有 BI 团队吗?复购率实时性要求不高的话可以做成 T+1 离线数。用 hive&spark 每天跑一下 order 表汇总到 dw 层即可。有实时性要求可以在上述条件下再加上当天的,用 redis 解决。
    zacksleo
        2
    zacksleo  
       2018-05-25 19:21:09 +08:00 via iPhone
    定时任务做统计
    whileFalse
        3
    whileFalse  
       2018-05-25 22:07:50 +08:00
    提问:为什么要用专门的字段存单独一天的购买次数?
    还有,楼主担心每个月会刷出 120w 数据实在是想多了。买东西不要钱的吗?你就 4w 个用户,能每个人天天买?
    醒醒吧,要真是那么多人天天买,你们老板早就发大财然后把你开掉换个有经验的了。
    turan12
        4
    turan12  
       2018-05-25 22:34:32 +08:00
    直接统计购买次数不就行了?只要购买次数>1 就算复购。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5696 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 06:27 · PVG 14:27 · LAX 22:27 · JFK 01:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.