GA와 R을 활용하여 브랜딩 광고 효과를 정확하게 측정하기

연휴나 휴가여서 시간이 남을 때만 올라오는 성의 있는 포스팅 ㅎ..

 

지난 포스팅에서 구글 애널리틱스 데이터를 R로 불러오는 방법에 대하여 한 번 알아보았다. 사실 지난 포스팅에서 GA API를 통하여 R로 데이터를 불러오는 것에 대하여 그렇게 열광하는 사람은 많지 않았을 것 같다. 

 

 

 

그도 그럴 것이 R이 아무리 최근 빅데이터와 함께 각광 받는 툴이라고는 하지만, 일반인들에게는 여전히 생소한 도구이기도 하며, 단순히 GA 데이터를 R로 불러오는 것은 결국 '그게 그래서 뭐 어쩌라고?' 라는 반응밖에 나올 수 없기 때문이다. 또한 한가지 고백하자면, 지난번 포스팅은 내가 귀차니즘에 빠졌을 때 쓴 글인지라 그렇게 친절하게 설명하면서 적지는 않았다... 따라서 여기를 참고하면, 영문으로 되어 있기는 하지만, 조금 더 자세히 설명을 읽을 수있다.

 

그렇기 때문에 오늘은 바로 지난 포스팅에 이어서 GA 데이터를 R로 불러온 후, 무엇을 할 수 있는지 간단하게 알아보고자 하는데, 그 1번으로 광고 효과를 R을 통하여 더욱 자세히 예측해보고자 한다.

 

 

 

간단한 예로 시작을 해보자면, 옛날에는 내 블로그에 대하여 광고를 돌리지 않았다. 그 시절 내 블로그에 평균 100세션 정도 발생하였다고 해보자 (그러면 좋겠다 ㅠㅠ..)

 

어느날 나는 내 블로그에 사람들을 더 많이 끌어들이기 위하여 키워드 광고를 시작하였다. 그리고 내 사이트의 평균 트래픽이 200세션으로 올랐다.

 

대부분의 사람들 (99% 이상)은 여기에서 광고를 해서 100 세션을 더 발생시켰다~~ 하고 좋아할 것이다. 그리고 대부분의 상사들은 칭찬을 해줄 것이다. 그리고 예시와 같은 키워드 광고, 그 중에서도 브랜드 키워드 등 lower funnel에 해당하는 키워드들에 대한 광고는 이렇게 생각을 해도 대부분 맞다.

 

하지만 브랜드 인지도를 높이기 위한 브랜딩 광고라면 어떨까? 예를 들어 유튜브 광고 혹은 TV 광고를 집행하였다고 하자. 그리고 사이트 방문량이 늘었다.

 

이런 캠페인의 경우, 내가 광고를 해서 트래픽이 늘었어요!!!!! 하고 자신있게 말할 수 있을까?

 

안타깝게도 자신있게 말하는 것은 불가능하다. 그냥 날씨가 좋아서 웹사이트 트래픽이 올라갔을 수도 있다. (좀 극단적이지만...)

 

그렇다면 이러한 부분을 더 자신있게 말하려면 어떻게 해야할까? GA 데이터를 R로 불러와 Causal Impact 분석을 진행하면 브랜드 인지도 높이는 광고의 임팩트를 통계적으로 정확하게 말할 수 있다.

 

 

Causal Impact 분석이 무엇인가 하면, '광고를 키지 않았을 때 예측되는 트래픽량과 '광고를 켰을 때 발생한 트래픽량을 비교하여 광고를 켰을 때의 net change가 얼마가 발생하였는지를 통계적으로 분석'하는 것이다. (통계를 아는 사람들은 이 글을 참고하면 더 자세히 알 수 있다. 이 모델은 Time series 베이지안 모델을 기반으로 만들어졌다.)

 

이를 진행하기 위해서는 A/B 테스트를 진행하는 것이 가장 확실하다. 현재 하고 있지 않다면 하나 구성해서 만드는 것이 좋다. A/B 테스트에 대한 내용은 이전 포스팅을 확인하셔라.

 

구체적인 예를 들어보자면, 유튜브 광고를 예를 들어 서울에만 내보냈다고 해보자. 그렇다면 유튜브 광고가 서울과 비교적 비슷한 부산 (혹은 더 지리적으로 가까운 경기도) 에는 나가지 않았을 것이다. 광고를 집행한 다음에 서울의 트래픽이 늘었다고 하자.

 

그런데 만약 광고를 집행하지 않은, 서울과 비슷한 환경을 가진 부산의 트래픽도 늘었다면? 서울의 트래픽이 늘어난 것은 광고 때문이 아닐 것이다. R을 활용하면 부산 트래픽의 트랜드를 기반으로 서울에서 광고를 돌리지 않았을 때의 트래픽 양을 추측하여 광고 돌리지 않았을 때의 서울 트래픽을 예측한다.

 

 

 

아래의 선은 위의 예에서 부산의 트래픽을 기반으로 분석한, 광고를 돌리지 않았을 때의 서울 트래픽 예측치다. 그리고 위의 선이 서울의 트래픽이다. 위와 같은 트랜드를 보인다면, 마케팅 캠페인이 충분한 효과가 있었다고 말할 수 있다.

 

 

 

STEP1: R에서 rga 패키지를 다운 받고 실행하자. + GA API 도 활성화하자. (진행 방법은 여기를 참조)

 

 

Causal Impact 패키지도 다운 받아야 하는데, R 콘솔창에서  

 

devtools::install_github("google/CausalImpact")

 

를 입력하면 설치된다. 그 후 CausalImpact 패키지를 라이브러리로 불러온다. (위의 그림 참조) 참고로 이 Causal Impact 패키지는 구글의 데이터 구루들이 만든, 검증된 패키지다 :)

 

STEP2: Google Analytics Data를 R로 불러오자 (역시 자세한 내용은 이전 포스팅 참조)

 

 

마케팅 캠페인의 영향을 받은 트래픽에 대한 정보와 마케팅 캠페인의 영향을 받지 않은 트래픽의 데이터를 각각 다른 변수에 담는다.

 

세그먼트 ID는 구글 애널리틱스 세그먼트를 적용한 후, GA 페이지 URL의 맨 뒤에서 User 라고 적힌 부분 뒷부분을 긁어오면 된다.

 

이렇게 긁어오면 아래와 같은 데이터들이 나온다. (나의 GA 데이터, 서울과 서울 제외 지역 트래픽으로 나눠서 저장하였다.)

 

 

2월 25일에 참고로 애드워즈 키워드 광고를 시작하였다.

 

STEP3: R 내에서 Causal Impact 를 쓸 수 있도록 데이터 형태를 정비한다.

 

이 부분은 R을 모르면 각 코드가 무엇을 의미하는지 알기 조금 어렵다.

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

 

R을 모르는 사람은 그냥 이대로 따라 적으면 된다.

 

 

각각의 코드를 간단히 설명하자면,
 
combinedData <- cbind(gaDataIntervention, gaDataNonIntervention):
앞서 gaDataIntervention과 gaDataNonIntervention 두 변수에 저장한 데이터를 하나의 변수 (combinedData)로 합친다.
 
head(combinedData): 
제대로 합쳐졌는지 확인한다. date, sessions, date, sessions 이렇게 행이름이 나온다.
 
workingData <- combinedData [ -c(3) ]:

3번째 열에 있었던 Date를 뺀다.

 

head(workingData): 

다시 한 번 확인해본다. 아래와 같이 나오면 성공!

 

 

 

STEP4: 광고 돌리기 직전의 기간과 돌린 직후의 기간을 정의한다.

 

 

역시 간단히 설명하자면,

 

광고를 돌리기 전의 기간을 pre.period 변수에 저장하고, 광고 돌린 이후의 기간 정보를 post.period 변수에 넣어놓는다.

 

STEP5: 거의 마지막!! Causal Impact로 돌려본다.

 

 

아무 것도 안나온다고 당황하지 말자.

 

아래의 코드도 함께 입력해준다.

 

 

 

 

 

이런 이쁜 그래프가 나오는데 이게 각자 어떤 의미를 가지는지 알아보자.

 

첫번째 그래프 (Original):

- 검은색선: 이미 관측된 데이터

- 파란색 점선: 마케팅 캠페인이 없었을 시 예측되는 데이터

 

두번째 그래프 (pointwise)

- 파란색 점선: 관측치(기록된 트래픽량)와 예측치(마케팅캠페인이 없었던 것을 가정한 예상치) 간의 차이

 

세번째 그래프 (cumulative)

- 파란색 점선: 관측치 / 예측치 간의 차이의 누적값을 보여줌

 

하늘색 구간:

95% 신뢰수준에서 결과값 구간을 보여줌

 

(참고: 현 나의 블로그의 마케팅 캠페인 분석 결과, 서울만 타겟팅하지는 않았지만, 대부분의 광고가 서울에 노출되어 서울과 서울 제외 지역으로 나눠서 분석 진행)

 

세션 숫자가 많지 않아 95% 신뢰 구간이 위의 예시에 비해 넓은 것을 볼 수 있으나 상당 부분 기여를 하고 있는 것을 확인할 수 있었다.

 

다만, 나의 캠페인은 키워드 캠페인이었기에 향후 브랜드 캠페인으로 실행을 하여볼 때 더욱 유의미한 결과가 나올 수 있을 것 같다.

 

 

 

아래와 같이 summary() 를 활용하면 조금 더 통계적으로 정리된 수치를 뽑아볼 수 있다.

 

 

 

오늘 내용은 솔직히 말하자면 R, GA API, 간단하지만 통계 개념이 상당부분 들어가면서 다소 어려운 포스팅일 수도 있을 것 같다. (사실 국내에서 이렇게 쓰고 있는 사람이 몇일지 궁금하기도 하다.. ㅎ)

 

관련하여 자세한 내용은 영문이지만 여기에서 확인 가능하며, 댓글을 통해서도 질문을 받으니 많은 질문 남겨주시면 바로 답변드릴 수 있도록 하겠다. :)

 

긴 연휴 남는 시간에 모처럼 시간을 내서 적어보았는데 위와 같은 분석기법이 국내에서도 많이 활용이 되면 좋겠다.

 

 



출처: http://clicknote.tistory.com/31?category=481217 [Google Analytics Talk]

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
638 프레임 워크 비교 : Deeplearning4j, Torch, Theano, TensorFlow, Caffe, Paddle, MxNet, Keras 및 CNTK 졸리운_곰 2018.02.18 100
637 딥러닝 - 초보자를 위한 컨볼루셔널 네트워크를 이용한 이미지 인식의 이해 file 졸리운_곰 2018.02.18 95
636 Crawling with OpenWebSpider 오픈웹스파이더 robot.txt 무시 file 졸리운_곰 2018.02.15 86
635 포토샵 한글 영문 메뉴 고민 끝, 완벽한 비교 정리 ! 졸리운_곰 2018.02.11 589
634 PERT(Program Evaluation and Review Technique)/CPM(Critical Path Method) Pert / Cpm 자료 file 졸리운_곰 2018.02.07 58
633 의사결정모형(합리모형, 만족모형, 점증모형, 혼합모형, 최적모형, 쓰레기통모형, 공공선택모형) 졸리운_곰 2018.02.07 119
» GA와 R을 활용하여 브랜딩 광고 효과를 정확하게 측정하기 file 졸리운_곰 2018.02.06 84
631 구글 애널리틱스 데이터를 R로 불러와서 분석하기 file 졸리운_곰 2018.02.06 86
630 비트코인 원리의 이해를 돕는 간단소스 및 설명 : A peek under Bitcoin's hood file 졸리운_곰 2018.02.02 117
629 비트코인 채굴 작업의 원리 졸리운_곰 2018.01.23 189
628 [Eclipse] SVN Working copy xxx locked 문제해결 방법 졸리운_곰 2018.01.19 83
627 계량 경제학 자료 ebook file 졸리운_곰 2018.01.04 87
626 계량 경영학 자료 ebook file 졸리운_곰 2018.01.04 88
625 [정보] VS Code를 웹에서 사용할 수 있는 오픈 소스 Web Editor 졸리운_곰 2017.11.16 428
624 블록체인이 주류 기술이 될 수 없는 7가지 이유 file 졸리운_곰 2017.11.15 99
623 쉬운 블록체인 코드 예제 file 졸리운_곰 2017.11.13 221
622 엑세스 VBA로 웹 스크래핑 : Web Scraping by Access DB : 오류교정 file 졸리운_곰 2017.11.11 80
621 Awesome-crawler 웹 크롤러 / 스크래퍼 오픈소스 리스트 졸리운_곰 2017.11.07 483
620 [해외칼럼] 스타트업을 위한 온라인 마케팅 방법 file 졸리운_곰 2017.11.07 107
619 스타트업이 할 수 있는 16가지 마케팅 방법 file 졸리운_곰 2017.11.07 122
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED