廿TT

譬如水怙牛過窓櫺 頭角四蹄都過了 因甚麼尾巴過不得

[googleAnalyticsR]再発事象のカプラン・マイヤープロット

survrec っていうパッケージもあるらしいけど慣れてないので survival を使います。

f:id:abrahamcow:20171017070824p:plain

どのチャネルが再来訪しやすいのか、何日くらいの間隔で何パーセントくらい戻ってくるのかがわかります。

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 を参照。