R的流失率

鲁瑟

我有一个名为df_a的数据集,可运行数百万个。我要计算客户流失率并将其分组为几个月。

在样本数据上,我运行了代码以准备数据。
逻辑是根据记录查找最小月份(获取的月份)并
找到最后一个月份,以月为单位
查找差异,并以月为单位对差异进行分组

下面的代码

df_a<-data.table(df)

df_a[,"min_date" := min(yw), by=c("CUSTOMER_DIMENSION_ID")]
df_a[,"max_date" := max(yw), by=c("CUSTOMER_DIMENSION_ID")]

df_a$min_date_m<-anydate(df_a$min_date)
df_a$max_date_m<-anydate(df_a$max_date)

df_a$diff_days <- df_a$max_date_m - df_a$min_date_m
df_a$difference <- as.numeric(df_a$diff_days) /(365.25/12)


df_a$Month_Bucket<-ifelse((df_a$difference>=0 & df_a$difference<3),"3",
                          ifelse((df_a$difference>=3 & df_a$difference<6),"3-6",
                          ifelse((df_a$difference>=6 & df_a$difference<9),"6-9",
                          ifelse((df_a$difference>=9 & df_a$difference<12),"9-12",              
                          ifelse((df_a$difference>=12 & df_a$difference<24),"12-24",                
                                        "24+")))))


data_a <- df_a[c(1,1:nrow(df_a)),]
setDT(data_a)

  xxx<-(cohorts <-dcast(unique(data_a)[,cohort:=min(yw),by=CUSTOMER_DIMENSION_ID],cohort~Month_Bucket))

我得到以下格式的输出

Month        3                                                          
2020-08     92876                                                                 
2020-07     144873

但是输出不正确

我想要的是

Month      no of unique customers acquired  0-3  3-6 6-9  
2019-08       85749
2019-07      128060  

基本上,输出的结果是跨月汇总客户并分配存储桶。但是,如果我在2019-08年获得了85749个客户,我会说0-3年中有25k客户在3-6个月中又有25k客户

鲁瑟

这里一个可以做:

data_unique <- unique(data_a)

ccc <- ( cohorts <- dcast( data_unique[ , 
                                       cohort := min(yw), 
                                       by=CUSTOMER_DIMENSION_ID], 
             cohort ~ Month_Bucket,
             value.var = "CUSTOMER_DIMENSION_ID",
             function(x) { length(unique(x) } ) ) 
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用python计算季度明智的流失率和保留率

来自分类Dev

用R计算员工流失

来自分类Dev

消除流失

来自分类Dev

在R中创建客户流失的二进制响应变量

来自分类Dev

打开流失败

来自分类Dev

打开流失败

来自分类Dev

R:计算增长率/衰减率

来自分类Dev

使用Postgresql计算用户流失

来自分类Dev

在R中计算响应率

来自分类Dev

国家“流失”是什么意思?

来自分类Dev

boostrap期间发生错误:流失败

来自分类Dev

标签文字在屏幕上流失iOS Swift

来自分类Dev

Nodetool重建:-某个时间流失败

来自分类Dev

使用Python计算客户流失分数

来自分类Dev

气流失败版本命令

来自分类Dev

如何防止 MATLAB 中的内存流失?

来自分类Dev

R中的收益率曲线排序

来自分类Dev

R:解释NA的波动率函数

来自分类Dev

为什么这个简单的getInteger函数会导致流失败?

来自分类Dev

从内存流复制到文件流失败

来自分类Dev

MediaInfo Helper.Get基本视频Info()的视频流失败

来自分类Dev

类/PHPExcel_Shared_String.php):打开流失败

来自分类Dev

Elasticsearch中的日期舍入如何工作,如何影响缓存流失?

来自分类Dev

Elasticsearch中的日期舍入如何工作,如何影响缓存流失?

来自分类Dev

警告:include(1)[function.include]:打开流失败

来自分类Dev

BIGQUERY:如何查询滚动的每月活跃/流失用户

来自分类Dev

通过 CASE 表达式计算客户流失与活跃

来自分类Dev

如何更改R中的轴分辨率图

来自分类Dev

在R中设置覆盖率近似值