【发布时间】:2019-06-02 05:21:17
【问题描述】:
我正在尝试编写 SQL 查询(Presto SQL 语法)来生成客户保留表(参见下面的示例)。 一个月内至少完成一笔交易的客户将被视为当月留存。
这是桌子
user_id transaction_date
bdcff651- . 2018-01-01
bdcff641 . 2018-03-15
这是我想要的结果
第一行应该这样理解: 在 2018 年 1 月(定义为“Jan Activation Cohort”)进行首次交易的所有客户中,35% 随后在第一次交易日期后的一个月内进行了交易,23% 在下个月进行了交易,15下个月的百分比等等。
Date 1st Month 2nd Month 3rd Month
2018-01-01 35% 23% . 15%
2018-02-0 33 % 26% . 13%
2018-03-0 36% 27% 12%
例如,如果某人 XYZ 在 2018 年 2 月 10 日进行了他的第一笔交易,那么他的第一个月将是从 2018 年 2 月 11 日到 2018 年 3 月 10 日,第二个月是从 2018 年 3 月 11 日到 2018 年 4 月 10 日,依此类推。此人的详细信息需要出现在客户保留表的 2018 年 2 月同类群组中。
将不胜感激任何帮助!谢谢。
【问题讨论】:
-
您能否添加一些有关如何计算百分比的详细信息?从你的问题看不清楚。例如,是否是该月发生的客户总交易数?
-
第一行应理解为:在 2018 年 1 月(定义为“Jan Activation Cohort”)进行首次交易的所有客户中,35% 随后在第一个交易日后一个月,下个月 23%,下个月 15%,依此类推。
-
@kdq0 嘿,我编辑了帖子