我正在计算24个月数据的客户流失曲线。 给定的行代表一个人在一个月的会员资格中拥有一种产品。
例如如果某人有一个产品使用了12个月,则他要负责12个标记为0到11的行。
截至目前,我计算了两个份额并将它们彼此除以得到1减去给定月份的客户流失率。
这是通过以下方式计算的:
Andel1 =
var Maxstart = MAX(SqlData[StartOpret])
var Minstart = CALCULATE(DATEADD(SqlData[StartOpret],-5,MONTH),SqlData[StartOpret]=Maxstart)
return
CALCULATE(COUNTROWS(SqlData),SqlData[Binary]=0,SqlData[Start+periode] <=Maxstart,SqlData[Start+periode]>=Minstart)
Andel2 =
var Maxdate = MAX(SqlData[StartOpret])
var Maxstart = CALCULATE(DATEADD(SqlData[StartOpret],0,MONTH),SqlData[StartOpret]=Maxdate)
var Minstart = CALCULATE(DATEADD(SqlData[StartOpret],-5,MONTH),SqlData[StartOpret]=Maxdate)
return
CALCULATE(COUNTROWS(SqlData),SqlData[Binary]=1,SqlData[Start+periode] <=Maxstart,SqlData[Start+periode]>=Minstart)
Fremskriv = DIVIDE([Andel1],[Andel2],1)
在满月的情况下,这将返回预期的结果:
https://i.imgur.com/XpcGq70.png
要绘制流失曲线,我需要计算几个月后仍然存在多少流失曲线。通过取“ Fremskriv”的所有先前值的乘积来尝试进行此操作。
Samlet_andel =
VAR Maks = MAX(SqlData[antal_kor])
RETURN
CALCULATE(
PRODUCTX(SUMMARIZE(
SqlData,
SqlData[antal_kor],
"Prod", [Fremskriv]),
[Prod]),
ALLEXCEPT(SqlData,SqlData[antal_kor]),SqlData[antal_kor] <= Maks)
这声称该操作缺少内存,并且如果我仅计算给定用户流失月份的值,通常情况下它确实很慢。
我很茫然,所有帮助都感激不尽:)
提前谢谢