data <- read.csv("Data_Online_AD.csv") data$Imp_15 <- rowSums(data[,4:8]) data$Imp_total <- data$Imp_15+data$Imp_6 data$Test <- factor(data$Test,labels=c("control","treat"))
p_rate <- data %>% group_by(Test) %>% summarise(p_prob = mean(Purchase)) p_rate
lift <- p_rate$p_prob[2]-p_rate$p_prob[1] ind <- data$Test=="treat" return <- sum(ind)*lift t_impress <- sum(data$Imp_15[ind])/1000+sum(data$Imp_6[ind])/1000 costs <- sum(data$Imp_15[ind])*25/1000+sum(data$Imp_6[ind])*20/1000 ROI <- (return*1200-costs)/costs cpti <- return/t_impress tibble(lift=lift,return_value=return*1200,return=return,costs=costs,ROI,impress=t_impress,cpti=cpti)
idx_6 <- data$Imp_6 > 0 idx_15 <- data$Imp_15 > 0 idx <- 3*(idx_6&idx_15)+2*(idx_6&!idx_15)+1*(!idx_6&idx_15) data$idx <- factor(idx,labels=c("Web_1-5","Web_6","Both")) p_rate <- data %>% group_by(Test,idx) %>% summarise(p_prob=mean(Purchase),n=n(),t_impress=sum(Imp_total),imp_15=sum(Imp_15),imp_6=sum(Imp_6)) p_rate
lift <- p_rate$p_prob[4:6]-p_rate$p_prob[1:3] return <- p_rate$n[4:6]*lift return_value <- return*1200 costs <- p_rate$imp_15[4:6]*25/1000+p_rate$imp_6[4:6]*20/1000 ROI <- (return_value-costs)/costs cpti <- 1000*return/p_rate$t_impress[4:6] tibble(idx=p_rate$idx[4:6],lift=lift,return_value=return_value,return=return,costs=costs,ROI,impress=p_rate$t_impress[4:6]/1000,cpti=cpti)