survrec っていうパッケージもあるらしいけど慣れてないので survival を使います。
どのチャネルが再来訪しやすいのか、何日くらいの間隔で何パーセントくらい戻ってくるのかがわかります。
library(googleAnalyticsR)library(tidyverse)library(survival)library(ggfortify)##### ga_auth() account_list <- ga_account_list() ga_id <- account_list$viewId[3] gadata <- google_analytics_4(ga_id, date_range = c("2017-09-01","2017-09-30"), metrics = c("sessions"), dimensions = c("date","channelGrouping","dimension1"), max =20000) censor <-function(x){ n<-length(x) out <-rep(1,n) out[n]<-0 out } gadata2 <- gadata %>% group_by(date,dimension1)%>% summarise(channelGrouping=last(channelGrouping))%>% group_by(dimension1)%>% mutate(interval=as.integer(diff(c(date,as.Date("2017-10-01")))))%>% mutate(d=censor(interval))%>% ungroup() sf1 <-survfit(Surv(interval,d)~channelGrouping,data=gadata2,conf.int=0.6) autoplot(sf1,fun="event",surv.size=1,censor =FALSE,conf.int.alpha =0.2)+ ylab("retention")+ guides(colour=guide_legend(title ="channelGrouping"), fill=guide_legend(title ="channelGrouping"))
"dimension1"については【GTM版】GoogleアナリティクスのClientIDを取得する方法 | SEM Technologyを参照。