V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
linwenshan
V2EX  ›  PHP

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

  •  
  •   linwenshan · May 25, 2018 · 5483 views
    This topic created in 2898 days ago, the information mentioned may be changed or developed.

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