Code IQ: ログ解析 (https://codeiq.jp/ace/codeiq/q60)

## Load data
log.aug <- read.table(header = FALSE, file = "./ログデータ8月.txt", skip = 1)
log.sep <- read.table(header = FALSE, file = "./ログデータ9月.txt", skip = 1)

## Add month variable
log.aug$month <- "aug"
log.sep$month <- "sep"

log.combo <- rbind(log.aug, log.sep)
log.combo$month <- factor(log.combo$month)

names(log.combo)[1:3] <- c("Page","SessionID","TrafficCode")

月別/promotion別のA,B,C,D,Eのヒット数とD-Eの通過割合

library(plyr)
library(doMC)
registerDoMC()

output1 <- ddply(log.combo, c("month","TrafficCode"),
      function(x) {
          summary(x$Page)
      })

output1 <- within(output1, {
    D.to.E <- round(E / D, 3)
})

split(output1, output1[,c("TrafficCode")])
$promotion1
  month TrafficCode    A    B    C   D   E D.to.E
1   aug  promotion1 1521 2108 1006 158 109  0.690
4   sep  promotion1 1325  712 1998 107  74  0.692

$promotion2
  month TrafficCode    A    B    C  D  E D.to.E
2   aug  promotion2 1065  945 1032 84 56  0.667
5   sep  promotion2 1211 1213  944 98 66  0.673

$promotion3
  month TrafficCode    A    B    C  D  E D.to.E
3   aug  promotion3 1199  789 1102 68 48  0.706
6   sep  promotion3 1098 1254  789 85 59  0.694

DからEへの通過割合はpromotionの種類によらず大きな変化はない。promotionごとにA,B,Cの内訳が変化している様子が見られる。それぞれのlanding pageからDへの通過の割合を検討すべき。

月別/promotion別/landing page別のlanding pageヒット数,Dヒット数,Eヒット数と通過割合

output2 <- ddply(.parallel = TRUE,
                 log.combo, c("month","SessionID","TrafficCode"),
                 function(x) {
                     table(x$Page)
                 })

output3 <- ddply(.parallel = TRUE,
                 output2, c("month","TrafficCode","A","B","C"),
                 function(x) {
                     colSums(x[,c("A","B","C","D","E")])
                 })

library(reshape2)
output4 <- melt(output3, id.vars = c("month","TrafficCode","D","E"), variable.name = "landing", value.name = "hit")
output4 <- output4[output4$hit > 0, c("month","TrafficCode","landing","hit","D","E")]

output4 <- within(output4, {
    D.to.E       <- round(E / D, 3)
    landing.to.D <- round(D / hit, 3)
})

split(output4, output4[,c("landing","TrafficCode")])
$A.promotion1
   month TrafficCode landing  hit  D  E landing.to.D D.to.E
3    aug  promotion1       A 1521 46 32        0.030  0.696
12   sep  promotion1       A 1325 41 28        0.031  0.683

$B.promotion1
   month TrafficCode landing  hit  D  E landing.to.D D.to.E
20   aug  promotion1       B 2108 95 65        0.045  0.684
29   sep  promotion1       B  712 34 23        0.048  0.676

$C.promotion1
   month TrafficCode landing  hit  D  E landing.to.D D.to.E
37   aug  promotion1       C 1006 17 12        0.017  0.706
46   sep  promotion1       C 1998 32 23        0.016  0.719

$A.promotion2
   month TrafficCode landing  hit  D  E landing.to.D D.to.E
6    aug  promotion2       A 1065 29 19        0.027  0.655
15   sep  promotion2       A 1211 31 21        0.026  0.677

$B.promotion2
   month TrafficCode landing  hit  D  E landing.to.D D.to.E
23   aug  promotion2       B  945 38 25        0.040  0.658
32   sep  promotion2       B 1213 51 34        0.042  0.667

$C.promotion2
   month TrafficCode landing  hit  D  E landing.to.D D.to.E
40   aug  promotion2       C 1032 17 12        0.016  0.706
49   sep  promotion2       C  944 16 11        0.017  0.688

$A.promotion3
   month TrafficCode landing  hit  D  E landing.to.D D.to.E
9    aug  promotion3       A 1199 28 20        0.023  0.714
18   sep  promotion3       A 1098 25 18        0.023  0.720

$B.promotion3
   month TrafficCode landing  hit  D  E landing.to.D D.to.E
26   aug  promotion3       B  789 30 21        0.038  0.700
35   sep  promotion3       B 1254 49 34        0.039  0.694

$C.promotion3
   month TrafficCode landing  hit  D E landing.to.D D.to.E
43   aug  promotion3       C 1102 10 7        0.009  0.700
52   sep  promotion3       C  789 11 7        0.014  0.636

考察
Landing page (A,B,C)からDへの通過割合は両月ともページBが4%程度と他よりも良好で、対してCは不良。
8月から9月で、Promotion 2と3についてはlandingがBで起こる数が増えて、Cで起こる数が減っており、効率の良いB経路に人が流れている。
これに対してPromotion 1は8月から9月で、BからCに1000名程度と大幅に経路が変化して、効率の悪いC経路に人が流れてしまっている。

このためPromotion 1の効率の低下はlanding pageへの流れの変化(BからC)が影響しているものと考えられる。効率の良いlanding page Bへの誘導が起こっているpromotion 2/3のみを残す考え方もあるが、landing page Cの継続の可否を含めたlanding pageの見直しも必要と考えられる。

-(1) 弘史君レポートで書かれている【今後の打ち手】を採択すべきでしょうか。: 選択の一つではあると考える。
-(2) その理由を教えてください。: 上記考察
-(3) (仮に採択しない場合)成果向上のために何をするのが効果的か教えてください。: landing pageの見直しの方が効率的な可能性がある。具体的にはCの廃止も含めた検討が必要。