假设我有一只愤怒的小鸟游戏。
我想知道有多少玩家每月购买“强大的老鹰”武器,这些玩家在前几个月购买了强大的老鹰武器系统中的LTV
我有每个客户购买的所有商品的日期。
我实际上想要的是二维的
矩阵将告诉我从哪个球员的百分比
对于特定电流,对于X 示例: example_png
(它没有让我把图片内联,所以请按链接看图片) 现在,我找到了一种让玩家数量增加的方法
实际上来自 我尝试找出的主要是如何获得可能进行转换的人的基数。 一些定义:
最好我想在 ANSI-SQL 中使用解决方案,如果不是,那么MySQL或
MSSQL但 由于我正在寻找转换的百分比,两步计划也可以起作用,首先找到潜在的计划,然后找到那些从LTV_month_X到LTV_month_Y来衡量保留的实际计划。 最后一个问题:我需要向下钻取并找到从任何阶段X移动到任何其他阶段Y(> X)的客户的实际ID。LTV_month_X to LTV_month_Y that LTV_month_Y
的是他们当前的
使用SQL查询和Excel数据透视表在系统内进行活动的月份。LTV_month_X = DATEDIFF(MONTH, first_eagle_month, specific_eagle_month)+1
答案 0 :(得分:1)
这里使用LTV一词并不清楚。我假设你的意思是用户的生命周期。
如果我理解了这个问题,你会根据每个都有一个或多个事件的实体列表询问,如何按最后一个事件的月份和之前的一个月对实体进行分组(例如计数)最后一次活动。
在mysql中,你可以使用变量来做到这一点。我不打算对整个概念进行expalin,但基本上,当你在SELECT语句中编写@var:= column时,那个变量被分配了该列的值,你可以使用它来比较连续列之间的值,例如: LEAST(IF(@ VAR =柱,@相同:= @相同+ 1,@相同:= 0),@ VAR:=列)使用LEAST是确保执行顺序的一种技巧。
答案 1 :(得分:0)
您正在寻找的两个维度是
SELECT
player_id,
TRUNCATE(first_purchase,'MM') AS first_month ,
TRUNCATE(current_purchase_date ,'MM') AS purchase_month,
months_between(current_purchase _date, first_purchase_date)+1 AS relative_month,
SUM(purchase_amount) AS total_purchase,
COUNT(DISTINCT player_id) AS player_count
FROM ...
现在您可以将购买月份转换为相对月份并汇总