camp_device=read.csv("D:/Datalicious/Campaign + Device.csv")
camp_vis=read.csv("D:/Datalicious/Campaign + Visitor Type.csv")
chann_camp=read.csv("D:/Datalicious/Channel + Campaign.csv")
chann_days=read.csv("D:/Datalicious/Channel + Days Before Conversion.csv")
chann_device=read.csv("D:/Datalicious/Channel + Device.csv")
chann_path=read.csv("D:/Datalicious/Channel + Path Position.csv")
chann_vis=read.csv("D:/Datalicious/Channel + Visitor Type.csv")
names(camp_device)
## [1] "Campaign" "Device.Category"
## [3] "Spend" "Clicks"
## [5] "Impressions" "Data.Driven.Conversions"
## [7] "Data.Driven.CPA" "Data.Driven.Conversion.Value"
## [9] "Data.Driven.ROAS"
levels(camp_device$Device.Category)
## [1] "" "desktop" "mobile" "tablet"
camp_device[camp_device$Device.Category=="",]
## Campaign Device.Category Spend Clicks Impressions
## 530 A$1,062,238.97 3,060,260 55,431,421
## Data.Driven.Conversions Data.Driven.CPA Data.Driven.Conversion.Value
## 530 17,848,506.63 A$0.06 A$163,326,459.89
## Data.Driven.ROAS
## 530 15375.68%
table(camp_device$Campaign)
##
##
## 1
## (not set)
## 3
## 30PercentAUCompetitorTargeting
## 1
## 30PercentAULooklikeTargeting
## 1
## 40PercentAULooklikeTargeting
## 1
## App - Android - Main - Broad
## 2
## App - Android - Main - Exact
## 2
## App - Android - Main - Phrase
## 2
## App - Android - Offers App - Broad
## 2
## App - Android - Offers App - Exact
## 2
## App - Android - Offers App - Phrase
## 2
## App - iOS - Main - Broad
## 2
## App - iOS - Main - Exact
## 2
## App - iOS - Main - Phrase
## 2
## App - iOS - Offers App - Broad
## 2
## App - iOS - Offers App - Exact
## 2
## App - iOS - Offers App - Phrase
## 2
## b655f61e47-Newsletter_25_07_147_25_2014
## 1
## Brand - Brand Other - Broad
## 3
## Brand - Brand Other - Exact
## 3
## Brand - Brand Other - Phrase
## 3
## Brand - Broad
## 3
## Brand - Client's Coupons - Broad
## 3
## Brand - Client's Coupons - Exact
## 3
## Brand - Client's Coupons - Phrase
## 3
## Brand - Client's Vouchers - Broad
## 3
## Brand - Client's Vouchers - Exact
## 3
## Brand - Client's Vouchers - Phrase
## 3
## Brand - Core Brand - Broad
## 3
## Brand - Core Brand - Exact
## 3
## Brand - Core Brand - Phrase
## 3
## Brand - Exact
## 3
## Brand - Phrase
## 3
## Brand - Product Names - Broad
## 3
## Brand - Product Names - Exact
## 3
## Brand - Pure Brand - Broad
## 3
## Brand - Pure Brand - Exact
## 3
## Brand - Pure Brand - Phrase
## 3
## Brand - State - ACT - Broad
## 3
## Brand - State - ACT - Exact
## 3
## Brand - State - ACT - Phrase
## 3
## Brand - State - NSW - Broad
## 3
## Brand - State - NSW - Exact
## 3
## Brand - State - NSW - Phrase
## 3
## Brand - State - NT - Broad
## 3
## Brand - State - NT - Exact
## 3
## Brand - State - NT - Phrase
## 3
## Brand - State - QLD - Broad
## 3
## Brand - State - QLD - Exact
## 3
## Brand - State - QLD - Phrase
## 3
## Brand - State - SA - Broad
## 3
## Brand - State - SA - Exact
## 3
## Brand - State - TAS - Broad
## 3
## Brand - State - TAS - Exact
## 3
## Brand - State - TAS - Phrase
## 3
## Brand - State - VIC - Broad
## 3
## Brand - State - VIC - Exact
## 3
## Brand - State - VIC - Phrase
## 3
## Brand - State - WA - Broad
## 3
## Brand - State - WA - Exact
## 3
## Brand - State - WA - Phrase
## 3
## Brand - State -ACT- Broad
## 2
## Brand - Tests - Broad
## 3
## Brand - Tests - Exact
## 3
## Brand - Tests - Phrase
## 3
## Brand - Top Performers - Broad
## 3
## Brand - Top Performers - Exact
## 3
## Brand - Top Performers - Phrase
## 3
## CHEAPEREVERYDAY5KEarlyWeekTestExisting
## 1
## Client's - Broad
## 3
## Client's - Exact
## 3
## Client's - Phrase
## 3
## Client's AU 2015/16
## 3
## Client's DSA - Menu
## 3
## Client's DSA - Offers
## 3
## Client's DSA - Others
## 3
## Client's DSA - Store Finder
## 3
## Clients AU December Campaign
## 3
## Clients AU January Campaign
## 3
## Clients AU November Campaign
## 3
## Clients AU October Campaign
## 3
## Clients August Campaign AU
## 1
## Clients NZ December Campaign
## 2
## Clients NZ January Campaign
## 1
## Clients NZ November Campaign
## 2
## Clients NZ October Campaign
## 2
## Clients September Campaign AU
## 3
## Competitors - Aggregators - Exact
## 3
## Competitors - Aggregators - Phrase
## 3
## Competitors - Competitor1 - ACT - Broad
## 3
## Competitors - Competitor1 - ACT - Exact
## 3
## Competitors - Competitor1 - Broad
## 2
## Competitors - Competitor1 - NSW - Broad
## 3
## Competitors - Competitor1 - NSW - Exact
## 3
## Competitors - Competitor1 - Phrase
## 1
## Competitors - Competitor1 - QLD - Broad
## 3
## Competitors - Competitor1 - QLD - Exact
## 3
## Competitors - Competitor1 - SA - Broad
## 3
## Competitors - Competitor1 - SA - Exact
## 3
## Competitors - Competitor1 - TAS - Broad
## 3
## Competitors - Competitor1 - TAS - Exact
## 3
## Competitors - Competitor1 - VIC - Broad
## 3
## Competitors - Competitor1 - VIC - Exact
## 3
## Competitors - Competitor1 - WA - Broad
## 3
## Competitors - Competitor1 - WA - Exact
## 3
## Competitors - Competitor2 - Broad
## 3
## Competitors - Competitor2 - Exact
## 3
## Competitors - Competitor2 - Phrase
## 3
## Competitors - Discount Sites - Broad
## 3
## Competitors - Discount Sites - Exact
## 3
## Competitors - Discount Sites - Phrase
## 3
## Competitors - Eagle Boys - Broad
## 1
## Competitors - Eagle Boys - Exact
## 3
## Competitors - Eagle Boys - Phrase
## 3
## Competitors - Independents - VIC - Exact
## 3
## Competitors - Independents - VIC - Phrase
## 3
## Competitors - Independents - WA - Exact
## 3
## Competitors - Independents - WA - Phrase
## 3
## Competitors - Pizza - Broad
## 2
## Competitors - Pizza - Exact
## 3
## Competitors - Pizza - Phrase
## 3
## Competitors - Testing - Broad
## 3
## Competitors - Testing - Exact
## 3
## Competitors - Testing - Phrase
## 3
## DART Search
## 3
## DIM
## 3
## Display - HALO
## 3
## Display Prospecting
## 3
## Display Remarketing
## 3
## Epsilon eClub - AU_EDM
## 3
## Generic - Other - Broad
## 3
## Generic - Other - Exact
## 3
## Generic - Other - Phrase
## 3
## Generic - Pizza - Broad
## 3
## Generic - Pizza - Exact
## 3
## Generic - Pizza - Phrase
## 3
## Generic - Pizza Offers - Exact
## 3
## Generic - Pizza Types - Exact
## 3
## Generic - State - ACT - Exact
## 3
## Generic - State - NSW - Broad
## 3
## Generic - State - NSW - Exact
## 3
## Generic - State - NT - Broad
## 3
## Generic - State - NT - Exact
## 3
## Generic - State - QLD - Broad
## 3
## Generic - State - QLD - Exact
## 3
## Generic - State - SA - Broad
## 3
## Generic - State - SA - Exact
## 3
## Generic - State - TAS - Broad
## 3
## Generic - State - TAS - Exact
## 3
## Generic - State - VIC - Broad
## 3
## Generic - State - VIC - Exact
## 3
## Generic - State - WA - Broad
## 3
## Generic - State - WA - Exact
## 3
## Generic - Takeaway - Broad
## 3
## Generic - Takeaway - Exact
## 3
## Generic - Takeaway - Phrase
## 3
## Generic - Tests - Broad
## 2
## Generic - Tests - Exact
## 1
## Generic - Tests - Phrase
## 1
## joinnow
## 1
## kedron
## 2
## lvm
## 1
## mec
## 3
## MEGACompetitor
## 1
## moussecomp
## 1
## mysterydeal
## 3
## nationalsms
## 1
## Oct - $5 Online & Instore
## 3
## Oct - Don Faster Ovens
## 3
## Oct - Easier Online Ordering
## 3
## Oct - Gluten Free/ Cheesy Crust/ Deep Pan
## 3
## Oct - GPS TVC
## 3
## Oct - SMS Ordering
## 3
## organicpost
## 2
## origin
## 1
## pickupdeal
## 3
## prawnrange
## 3
## Public_Site
## 2
## quickorder
## 3
## rokt
## 3
## ShopNow
## 1
## smslaunch
## 2
## smsorder
## 2
## solus
## 3
## tokenisation
## 3
## tokenization
## 3
## website
## 3
## zz - Brand - Brand Other - WA - Phrase
## 1
## zz - Brand - Pure Brand - QLD - Exact
## 1
## zz - Brand - Pure Brand - QLD - Phrase
## 1
## zz - Brand - Pure Brand - VIC - Exact
## 1
## zz - Brand - Top Performers - ACT - Exact
## 1
## zz - Brand - Top Performers - NSW - Exact
## 1
## zz - Brand - Top Performers - TAS - Exact
## 1
## zz - Brand - Top Performers - VIC - Exact
## 1
## zz - Competitors - Competitor2 - NSW - Broad
## 3
## zz - Competitors - Competitor2 - NSW - Exact
## 3
## zz - Competitors - Competitor2 - NSW - Phrase
## 2
## zz - Competitors - Competitor2 - VIC - Broad
## 2
## zz - Competitors - Competitor2 - VIC - Exact
## 1
## zz - Competitors - Competitor2 - VIC - Phrase
## 3
## zz - Competitors - Competitor2 - WA - Broad
## 3
## zz - Competitors - Competitor2 - WA - Exact
## 3
## zz - Competitors - Competitor2 - WA - Phrase
## 3
table(camp_device$Device.Category)
##
## desktop mobile tablet
## 1 176 189 164
a=camp_device[camp_device$Device.Category=="desktop",]
b=camp_device[camp_device$Device.Category=="mobile",]
c=camp_device[camp_device$Device.Category=="tablet",]
camp_device$Spend=gsub("A","",camp_device$Spend)
camp_device$Spend=gsub("[$|,]","",camp_device$Spend)
camp_device$Spend=as.numeric(camp_device$Spend)
library("dplyr")
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
summarise(group_by(camp_device,Device.Category),mean(Spend))
## # A tibble: 4 x 2
## Device.Category `mean(Spend)`
## <fctr> <dbl>
## 1 1062238.970
## 2 desktop 2221.901
## 3 mobile 2850.064
## 4 tablet 808.063
spend_agg=aggregate(Spend~Device.Category,data = camp_device,FUN = mean)
library("ggplot2")
p1<-ggplot(data = camp_device,mapping = aes(x=Device.Category,y=Spend,fill=Device.Category))+
ggtitle("Average Spends on Device Categories")+
geom_bar(stat="identity",position = "dodge")+geom_text(data=spend_agg,
aes(x=Device.Category,y=mean(Spend),label=round(spend_agg$Spend)))
spend_agg
## Device.Category Spend
## 1 1062238.970
## 2 desktop 2221.901
## 3 mobile 2850.064
## 4 tablet 808.063
camp_device$Clicks=gsub("[,]","",camp_device$Clicks)
camp_device$Clicks=as.numeric(camp_device$Clicks)
aggregate(Clicks~Device.Category,data = camp_device,FUN = sum)
## Device.Category Clicks
## 1 3060260
## 2 desktop 1046096
## 3 mobile 1623178
## 4 tablet 390986
camp_device$Impressions=gsub("[,]","",camp_device$Impressions)
camp_device$Impressions=as.numeric(camp_device$Impressions)
aggregate(Impressions~Device.Category,data = camp_device,FUN = sum)
## Device.Category Impressions
## 1 55431421
## 2 desktop 13671540
## 3 mobile 24794119
## 4 tablet 16965762
camp_device$Data.Driven.Conversions=gsub("[,]","",camp_device$Data.Driven.Conversions)
camp_device$Data.Driven.Conversions=as.numeric(camp_device$Data.Driven.Conversions)
camp_device$Data.Driven.CPA=gsub("A","",camp_device$Data.Driven.CPA)
camp_device$Data.Driven.CPA=gsub("[<|$|,]","",camp_device$Data.Driven.CPA)
camp_device$Data.Driven.CPA=as.numeric(camp_device$Data.Driven.CPA)
aggregate(Data.Driven.CPA~Device.Category,data = camp_device,FUN = sum)
## Device.Category Data.Driven.CPA
## 1 0.06
## 2 desktop 255.89
## 3 mobile 340.24
## 4 tablet 203.77
camp_device$Data.Driven.Conversion.Value=gsub("A","",camp_device$Data.Driven.Conversion.Value)
camp_device$Data.Driven.Conversion.Value=gsub("[$|,]","",camp_device$Data.Driven.Conversion.Value)
camp_device$Data.Driven.Conversion.Value=as.numeric(camp_device$Data.Driven.Conversion.Value)
aggregate(Data.Driven.Conversion.Value~Device.Category,data = camp_device,FUN = mean)
## Device.Category Data.Driven.Conversion.Value
## 1 163326459.9
## 2 desktop 303160.2
## 3 mobile 485187.5
## 4 tablet 111401.4
names(camp_device)[9]="Data.Driven.ROAS in %"
names(camp_device)
## [1] "Campaign" "Device.Category"
## [3] "Spend" "Clicks"
## [5] "Impressions" "Data.Driven.Conversions"
## [7] "Data.Driven.CPA" "Data.Driven.Conversion.Value"
## [9] "Data.Driven.ROAS in %"
camp_device$`Data.Driven.ROAS in %`=gsub("[%]","",camp_device$`Data.Driven.ROAS in %`)
camp_device$`Data.Driven.ROAS in %`=as.numeric(camp_device$`Data.Driven.ROAS in %`)
roas_agg=aggregate(`Data.Driven.ROAS in %`~Device.Category,data = camp_device,FUN = mean)
p1<-ggplot(data = camp_device,mapping = aes(x=Device.Category,y=Spend,fill=Device.Category))+
ggtitle("Average Spends on Device Categories")+
geom_bar(stat="identity",position = "dodge")+geom_text(data=spend_agg,
aes(x=Device.Category,y=mean(Spend),label=round(spend_agg$Spend)))
p2<-ggplot(data = camp_device,mapping = aes(x=Device.Category,y=`Data.Driven.ROAS in %`,fill=Device.Category))+
ggtitle("Average Return on Advertising Spends %")+
geom_bar(stat="identity",position = "dodge")+geom_text(data=roas_agg,
aes(x=Device.Category,y=mean(`Data.Driven.ROAS in %`),label=round(roas_agg$`Data.Driven.ROAS in %`)))
roas_agg
## Device.Category Data.Driven.ROAS in %
## 1 15375.680
## 2 desktop 10204.013
## 3 mobile 3063.583
## 4 tablet 3283.719
library(gridExtra)
## Warning: package 'gridExtra' was built under R version 3.4.2
##
## Attaching package: 'gridExtra'
## The following object is masked from 'package:dplyr':
##
## combine
grid.arrange(p1, p2, ncol = 1, nrow=2)

#2
camp_vis$Data.Driven.Conversions=gsub("[,]","",camp_vis$Data.Driven.Conversions)
camp_vis$Data.Driven.Conversions=as.numeric(camp_vis$Data.Driven.Conversions)
camp_vis$Data.Driven.Conversion.Value=gsub("A","",camp_vis$Data.Driven.Conversion.Value)
camp_vis$Data.Driven.Conversion.Value=gsub("[$|,]","",camp_vis$Data.Driven.Conversion.Value)
camp_vis$Data.Driven.Conversion.Value=as.numeric(camp_vis$Data.Driven.Conversion.Value)
aggregate(Data.Driven.Conversions~New.Visitor,data = camp_vis,FUN = mean)
## New.Visitor Data.Driven.Conversions
## 1 17848506.63
## 2 No 79576.54
## 3 Yes 77235.71
aggregate(Data.Driven.Conversion.Value~New.Visitor,data = camp_vis,FUN = mean)
## New.Visitor Data.Driven.Conversion.Value
## 1 163326459.9
## 2 No 782968.9
## 3 Yes 662409.8
#3
levels(chann_camp$MCF.Channel.Grouping)
## [1] "" "(Other)" "Direct" "Display"
## [5] "Email" "Organic Search" "Paid Search" "Referral"
## [9] "Social Network"
table(chann_camp$MCF.Channel.Grouping)
##
## (Other) Direct Display Email
## 1 9 1 23 10
## Organic Search Paid Search Referral Social Network
## 1 154 1 9
chann_camp$Spend=gsub("A","",chann_camp$Spend)
chann_camp$Spend=gsub("[$|,]","",chann_camp$Spend)
chann_camp$Spend=as.numeric(chann_camp$Spend)
library("dplyr")
summarise(group_by(chann_camp,MCF.Channel.Grouping),mean(Spend))
## # A tibble: 9 x 2
## MCF.Channel.Grouping `mean(Spend)`
## <fctr> <dbl>
## 1 1062238.970
## 2 (Other) 0.000
## 3 Direct 0.000
## 4 Display 3937.627
## 5 Email 0.000
## 6 Organic Search 0.000
## 7 Paid Search 6309.568
## 8 Referral 0.000
## 9 Social Network 0.000
spend_agg=aggregate(Spend~MCF.Channel.Grouping,data = chann_camp,FUN = mean)
library("ggplot2")
p1<-ggplot(data = chann_camp,mapping = aes(x=MCF.Channel.Grouping,y=Spend,fill=MCF.Channel.Grouping))+
ggtitle("Average Spends on Channel Grouping")+xlab("Channel Grouping")+theme(axis.text.x=element_blank(),
axis.ticks.x=element_blank())+
geom_bar(stat="identity",position = "dodge")+geom_text(data=spend_agg,
aes(x=MCF.Channel.Grouping,y=mean(Spend),label=round(spend_agg$Spend)))
spend_agg
## MCF.Channel.Grouping Spend
## 1 1062238.970
## 2 (Other) 0.000
## 3 Direct 0.000
## 4 Display 3937.627
## 5 Email 0.000
## 6 Organic Search 0.000
## 7 Paid Search 6309.568
## 8 Referral 0.000
## 9 Social Network 0.000
chann_camp$Clicks=gsub("[,]","",chann_camp$Clicks)
chann_camp$Clicks=as.numeric(chann_camp$Clicks)
aggregate(Clicks~MCF.Channel.Grouping,data = chann_camp,FUN = mean)
## MCF.Channel.Grouping Clicks
## 1 3060260.000
## 2 (Other) 0.000
## 3 Direct 0.000
## 4 Display 8077.826
## 5 Email 0.000
## 6 Organic Search 0.000
## 7 Paid Search 18665.390
## 8 Referral 0.000
## 9 Social Network 0.000
chann_camp$Impressions=gsub("[,]","",chann_camp$Impressions)
chann_camp$Impressions=as.numeric(chann_camp$Impressions)
aggregate(Impressions~MCF.Channel.Grouping,data = chann_camp,FUN = mean)
## MCF.Channel.Grouping Impressions
## 1 55431420.00
## 2 (Other) 0.00
## 3 Direct 0.00
## 4 Display 1875506.22
## 5 Email 0.00
## 6 Organic Search 0.00
## 7 Paid Search 79836.21
## 8 Referral 0.00
## 9 Social Network 0.00
chann_camp$Data.Driven.Conversions=gsub("[,]","",chann_camp$Data.Driven.Conversions)
chann_camp$Data.Driven.Conversions=as.numeric(chann_camp$Data.Driven.Conversions)
aggregate(Data.Driven.Conversions~MCF.Channel.Grouping,data = chann_camp,FUN = mean)
## MCF.Channel.Grouping Data.Driven.Conversions
## 1 17848506.630
## 2 (Other) 16384.993
## 3 Direct 7203971.290
## 4 Display 87686.029
## 5 Email 2204.568
## 6 Organic Search 3891926.290
## 7 Paid Search 23827.035
## 8 Referral 891400.150
## 9 Social Network 617.360
chann_camp$Data.Driven.Conversion.Value=gsub("A","",chann_camp$Data.Driven.Conversion.Value)
chann_camp$Data.Driven.Conversion.Value=gsub("[$|,]","",chann_camp$Data.Driven.Conversion.Value)
chann_camp$Data.Driven.Conversion.Value=as.numeric(chann_camp$Data.Driven.Conversion.Value)
conv_value_agg=aggregate(Data.Driven.Conversion.Value~MCF.Channel.Grouping,data = chann_camp,FUN = mean)
p2<-ggplot(data = chann_camp,mapping = aes(x=MCF.Channel.Grouping,y=Data.Driven.Conversion.Value,fill=MCF.Channel.Grouping))+
ggtitle("Average Data.Driven.Conversion.Value for channel grouping")+ggtitle("Average Conversion Value")+
geom_bar(stat="identity",position = "dodge")+xlab("Channel Grouping")+
ylab("Conversion Value")+theme(axis.text.x=element_blank(),
axis.ticks.x=element_blank())+geom_text(data=conv_value_agg,aes(x=MCF.Channel.Grouping,y=mean(Data.Driven.Conversion.Value),label=round(Data.Driven.Conversion.Value)))
library(gridExtra)
grid.arrange(p1, p2, ncol = 1, nrow=2)

library("ggpubr")
## Warning: package 'ggpubr' was built under R version 3.4.2
## Loading required package: magrittr
## Warning: package 'magrittr' was built under R version 3.4.3
ggarrange(p1, p2, ncol=1, nrow=2, common.legend = TRUE, legend="right")

#4
aggregate(Days.before.Conversion~MCF.Channel.Grouping,data = chann_days,FUN = mean)
## MCF.Channel.Grouping Days.before.Conversion
## 1 (Other) 12.88462
## 2 Direct 14.50000
## 3 Display 14.50000
## 4 Email 0.50000
## 5 Organic Search 14.50000
## 6 Paid Search 14.50000
## 7 Referral 14.50000
## 8 Social Network 0.00000
hist(chann_days$Days.before.Conversion)

a=chann_days[chann_days$MCF.Channel.Grouping=="Direct",]
hist(a$Days.before.Conversion)

summary(a)
## MCF.Channel.Grouping Days.before.Conversion Spend Clicks
## Direct :30 Min. : 0.00 A$0.00:30 Min. :0
## : 0 1st Qu.: 7.25 1st Qu.:0
## (Other) : 0 Median :14.50 Median :0
## Display : 0 Mean :14.50 Mean :0
## Email : 0 3rd Qu.:21.75 3rd Qu.:0
## Organic Search: 0 Max. :29.00 Max. :0
## (Other) : 0
## Impressions Data.Driven.Conversions Data.Driven.CPA
## Min. :0 106,747.93: 1 A$0.00:30
## 1st Qu.:0 39,112.85 : 1
## Median :0 39,845.55 : 1
## Mean :0 40,222.14 : 1
## 3rd Qu.:0 41,188.19 : 1
## Max. :0 41,819.22 : 1
## (Other) :24
## Data.Driven.Conversion.Value Data.Driven.ROAS
## A$1,064,979.45: 1 0.00%:30
## A$1,109,681.52: 1
## A$1,185,630.87: 1
## A$534,518.12 : 1
## A$542,896.53 : 1
## A$552,551.48 : 1
## (Other) :24
chann_days$Data.Driven.Conversions=gsub("[,]","",chann_days$Data.Driven.Conversions)
chann_days$Data.Driven.Conversions=as.numeric(chann_days$Data.Driven.Conversions)
chann_days$Data.Driven.Conversion.Value=gsub("A","",chann_days$Data.Driven.Conversion.Value)
chann_days$Data.Driven.Conversion.Value=gsub("[$|,]","",chann_days$Data.Driven.Conversion.Value)
chann_days$Data.Driven.Conversion.Value=as.numeric(chann_days$Data.Driven.Conversion.Value)
aggregate(Data.Driven.Conversions~MCF.Channel.Grouping,data = chann_days,FUN = mean)
## MCF.Channel.Grouping Data.Driven.Conversions
## 1 17848506.630
## 2 (Other) 5671.728
## 3 Direct 240132.376
## 4 Display 67225.956
## 5 Email 11022.840
## 6 Organic Search 129730.876
## 7 Paid Search 122312.112
## 8 Referral 29713.338
## 9 Social Network 5556.230
aggregate(Data.Driven.Conversion.Value~MCF.Channel.Grouping,data = chann_days,FUN = mean)
## MCF.Channel.Grouping Data.Driven.Conversion.Value
## 1 163326459.89
## 2 (Other) 42962.29
## 3 Direct 2777860.22
## 4 Display 350715.73
## 5 Email 73168.93
## 6 Organic Search 1043197.73
## 7 Paid Search 1016790.55
## 8 Referral 212608.61
## 9 Social Network 27917.65
#5
chann_device$Data.Driven.Conversions=gsub("[,]","",chann_device$Data.Driven.Conversions)
chann_device$Data.Driven.Conversions=as.numeric(chann_device$Data.Driven.Conversions)
chann_device$Data.Driven.Conversion.Value=gsub("A","",chann_device$Data.Driven.Conversion.Value)
chann_device$Data.Driven.Conversion.Value=gsub("[$|,]","",chann_device$Data.Driven.Conversion.Value)
chann_device$Data.Driven.Conversion.Value=as.numeric(chann_device$Data.Driven.Conversion.Value)
aggregate(Data.Driven.Conversions~MCF.Channel.Grouping,data = chann_device,FUN = mean)
## MCF.Channel.Grouping Data.Driven.Conversions
## 1 17848506.630
## 2 (Other) 49154.980
## 3 Direct 2401323.760
## 4 Display 672259.560
## 5 Email 7348.560
## 6 Organic Search 1297308.763
## 7 Paid Search 1223121.127
## 8 Referral 297133.383
## 9 Social Network 1852.077
aggregate(Data.Driven.Conversion.Value~MCF.Channel.Grouping,data = chann_device,FUN = mean)
## MCF.Channel.Grouping Data.Driven.Conversion.Value
## 1 1.633265e+08
## 2 (Other) 3.723398e+05
## 3 Direct 2.777860e+07
## 4 Display 3.507157e+06
## 5 Email 4.877929e+04
## 6 Organic Search 1.043198e+07
## 7 Paid Search 1.016791e+07
## 8 Referral 2.126086e+06
## 9 Social Network 9.305883e+03
#7
a=chann_vis[chann_vis$New.Visitor=="Yes",]
b=chann_vis[chann_vis$New.Visitor=="No",]
a$Data.Driven.Conversions=gsub("[,]","",a$Data.Driven.Conversions)
a$Data.Driven.Conversions=as.numeric(a$Data.Driven.Conversions)
a$Data.Driven.Conversion.Value=gsub("A","",a$Data.Driven.Conversion.Value)
a$Data.Driven.Conversion.Value=gsub("[$|,]","",a$Data.Driven.Conversion.Value)
a$Data.Driven.Conversion.Value=as.numeric(a$Data.Driven.Conversion.Value)
a_conv=aggregate(Data.Driven.Conversions~MCF.Channel.Grouping,data = a,FUN = mean)
a_conv_value=aggregate(Data.Driven.Conversion.Value~MCF.Channel.Grouping,data = a,FUN = mean)
b$Data.Driven.Conversions=gsub("[,]","",b$Data.Driven.Conversions)
b$Data.Driven.Conversions=as.numeric(b$Data.Driven.Conversions)
b$Data.Driven.Conversion.Value=gsub("A","",b$Data.Driven.Conversion.Value)
b$Data.Driven.Conversion.Value=gsub("[$|,]","",b$Data.Driven.Conversion.Value)
b$Data.Driven.Conversion.Value=as.numeric(b$Data.Driven.Conversion.Value)
b_conv=aggregate(Data.Driven.Conversions~MCF.Channel.Grouping,data = b,FUN = mean)
b_conv_value=aggregate(Data.Driven.Conversion.Value~MCF.Channel.Grouping,data = b,FUN = mean)
p1<-ggplot(data = a,mapping = aes(x=MCF.Channel.Grouping,y=Data.Driven.Conversion.Value,fill=MCF.Channel.Grouping))+
ggtitle("New visitor comparison")+ylim(0,50000000)+
geom_bar(stat="identity",position="dodge")
#+geom_text(data=a_conv_value,aes(x=MCF.Channel.Grouping,y=mean(Data.Driven.Conversion.Value),label=round(Data.Driven.Conversion.Value)))
p2<-ggplot(data = b,mapping = aes(x=MCF.Channel.Grouping,y=Data.Driven.Conversion.Value,fill=MCF.Channel.Grouping))+
ggtitle("Old visitor comparison")+
geom_bar(stat="identity",position="dodge")
#+geom_text(data=b_conv_value,aes(x=MCF.Channel.Grouping,y=mean(Data.Driven.Conversion.Value),label=round(Data.Driven.Conversion.Value)))
library(gridExtra)
grid.arrange(p1, p2, ncol = 1, nrow=2)

p1<-ggplot(data = a,mapping = aes(x=MCF.Channel.Grouping,y=Data.Driven.Conversion.Value,fill=MCF.Channel.Grouping))+
ggtitle("New visitor comparison")+ylab("Conversion value")+
geom_bar(stat="identity",position = "dodge")+theme(axis.text.x=element_blank(),
axis.ticks.x=element_blank())
#+geom_text(data=a_conv,aes(x=MCF.Channel.Grouping,y=mean(Data.Driven.Conversions),label=round(Data.Driven.Conversions)))
p2<-ggplot(data = b,mapping = aes(x=MCF.Channel.Grouping,y=Data.Driven.Conversions,fill=MCF.Channel.Grouping))+
ggtitle("Old visitor comparison")+ylab("Conversion value")+
geom_bar(stat="identity",position = "dodge")+theme(axis.text.x=element_blank(),
axis.ticks.x=element_blank())
#+geom_text(data=b_conv,aes(x=MCF.Channel.Grouping,y=mean(Data.Driven.Conversions),label=round(Data.Driven.Conversions)))
library(gridExtra)
grid.arrange(p1, p2, ncol = 1, nrow=2)

library("ggpubr")
ggarrange(p1, p2, ncol=1, nrow=2, common.legend = TRUE, legend="right")

library("dplyr")
spends_head=chann_camp%>%filter(chann_camp$MCF.Channel.Grouping=="Paid Search")%>%arrange(desc(Spend))%>%top_n(10,Spend)
library("ggplot2")
p1<-ggplot(data = spends_head,mapping = aes(x=Campaign,y=Spend,fill=Campaign))+
ggtitle("Spend VS campaign")+ylab("Spend")+
geom_bar(stat="identity",position = "dodge")+theme(axis.text.x=element_blank(),
axis.ticks.x=element_blank())+geom_text(data=spends_head,aes(x=Campaign,y=Spend,label=round(Spend)))
p2<-ggplot(data = spends_head,mapping = aes(x=Campaign,y=Data.Driven.Conversions,fill=Campaign))+
ggtitle("Conversion campaign")+ylab("Conversions")+
geom_bar(stat="identity",position = "dodge")+theme(axis.text.x=element_blank(),
axis.ticks.x=element_blank())+geom_text(data=spends_head,aes(x=Campaign,y=Data.Driven.Conversions,label=round(Data.Driven.Conversions)))
p3<-ggplot(data = spends_head,mapping = aes(x=Campaign,y=Data.Driven.Conversion.Value,fill=Campaign))+
ggtitle("Conversion value campaign")+ylab("Conversion Value")+
geom_bar(stat="identity",position = "dodge")+theme(axis.text.x=element_blank(),
axis.ticks.x=element_blank())+geom_text(data=spends_head,aes(x=Campaign,y=Data.Driven.Conversion.Value,label=round(Data.Driven.Conversion.Value)))
library(gridExtra)
grid.arrange(p1, p2, ncol = 1, nrow=2)

library("ggpubr")
ggarrange(p1, p2, p3, ncol=1, nrow=3, common.legend = TRUE, legend="right")

#3
chann_camp$Data.Driven.CPA=gsub("A","",chann_camp$Data.Driven.CPA)
chann_camp$Data.Driven.CPA=gsub("[<|$|,]","",chann_camp$Data.Driven.CPA)
chann_camp$Data.Driven.CPA=as.numeric(chann_camp$Data.Driven.CPA)
max(chann_camp$Data.Driven.CPA)
## [1] 60.36
#View(arrange(chann_camp,desc(Data.Driven.CPA)))
max_CPA=head(arrange(chann_camp,desc(Data.Driven.CPA)),10)
#View(max_CPA)
library("ggplot2")
p1<-ggplot(data = max_CPA,mapping = aes(x=Campaign,y=Data.Driven.CPA,fill=Campaign))+
ggtitle("CPA VS campaign")+ylab("Cost per Acq")+
geom_bar(stat="identity",position = "dodge")+theme(axis.text.x=element_blank(),
axis.ticks.x=element_blank())
#+geom_text(data=spends_head,aes(x=Campaign,y=Spend,label=round(Spend)))
p2<-ggplot(data = max_CPA,mapping = aes(x=Campaign,y=Data.Driven.Conversions,fill=Campaign))+
ggtitle("Conversion campaign")+ylab("Conversions")+
geom_bar(stat="identity",position = "dodge")+theme(axis.text.x=element_blank(),
axis.ticks.x=element_blank())
#+geom_text(data=spends_head,aes(x=Campaign,y=Data.Driven.Conversions,label=round(Data.Driven.Conversions)))
library("ggpubr")
ggarrange(p1, p2, ncol=1, nrow=2, common.legend = TRUE, legend="right")
