1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| # 获取LTV计算日期内所有新增用户,相较于计算日的LTV情况 SELECT dt ,SUM(pay) numerator ,COUNT(DISTINCT user_id) denominator ,'DT' static_dt FROM ( # 新增用户的消费情况 SELECT register.user_id,pay.pay,register.dt FROM ( # 指定LTV日期新增用户 SELECT user_id,dt FROM USER_REGISTER WHERE DT IN ('LTV1','',...,'LTV365') ) register LEFT JOIN ( # 用户每日付费情况 SELECT user_id,SUM(pay_amt) pay,dt FROM USER_PAY WHERE dt >= 'LTV365' AND dt <= 'DT' GROUP BY user_id,dt ) pay ON register.user_id = pay.user_id AND pay.dt >= u.dt ) detail GROUP BY dt
ps: 附带一个小的知识点,建立RFM模型(R:最近一次消费,F:消费频率,M:消费金额) 基于上面LTV的中间结果,获取上一个月新增用户的付款频次及付款金额 以付款频次为横轴,付款金额为纵轴建立坐标系,将用户散落到坐标系上 根据付款频次以及付款金额阈值进行用户分群,可以分为4类
|