保留追踪
比方说,我有一个愤怒的小鸟游戏。保留追踪
我想知道有多少玩家每月购买的“雄鹰”的武器出的买入神鹰武器在他们的LTV前几个月在系统中的球员
我有日期每个客户购买的所有商品。
我几乎想什么已经是一个二维矩阵 会告诉我什么球员从 LTV_month_X搬到LTV_month_Y为X < Y各自结合特定电流 月份的百分比是多少?
一个例子:
example_png (它没有让我把PIC在线,请按链接查看图)
现在,我已经找到一种方式来获得玩家人数 实际上从LTV_month_X to LTV_month_Y that LTV_month_Y
起是他们当前的 月内的系统内使用SQL查询和Excel Pivot表的活动。
我试图找到的主要是如何获得那些可能可以做这种转变的人的基数。
一些定义: LTV_month_X = DATEDIFF(MONTH, first_eagle_month, specific_eagle_month)+1
最好,我想有解决方案ANSI-SQL,如果不是那么MySQL或 MSSQL但没有甲骨文的功能应该在所有使用。
由于我在寻找转换两步骤计划的百分比也可以起作用,请首先找到潜在的人员,然后找到实际的人员,以便衡量从LTV_month_X到LTV_month_Y的保留期限。
最后一个问题:我需要为它可以向下钻取,找到谁在任何阶段X移动到任何其他阶段Y(> X)的客户的实际标识。
两个维度您正在寻找的是
- 实际购买一个月
- 相对购买一个月
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 ...
现在,您可以透视购买一个月的相对月,总
这几乎是我们在最后做的 – TR7
此处使用术语LTV并不清楚。我假设你的意思是用户的一生。
如果我理解这个问题,您是根据每个实体有一个或多个事件的实体列表,根据最后一个事件的月份和一个月份对实体进行分组(如计数)在上次活动之前。
在mysql中,你可以使用一个变量来做到这一点。我不打算扩大整个概念,但基本上,当在SELECT语句中编写@var:= column时,那么该变量会被分配该列的值,您可以使用它来比较连续列之间的值,例如 至少(@ var = column,@ same:= @ same + 1,@ same:= 0),@ var:= column)
使用LEAST是确保执行顺序的一个技巧。
这可能属于[超级用户](http://superuser.com/) –
这是m一个算法的问题,目前没有针对任何特定的工具。 – TR7