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")