SlideShare a Scribd company logo
시간에 따라 변하는 데이터에

A/B 테스트를 적용하기 어려울 때,

이벤트 효과 추정하기
Today I Learned Season4 잔디 컨퍼런스
feat. CausalImpact
Datarize 이민호 Miika
Note!
- 2020-01-18에 구글 스타트업 캠퍼스에서 진행된 잔디 컨퍼런스 발표 자료입니다
- 시즌4 잔디콘 행사 소개 : https://festa.io/events/828/
- 잔디 컨퍼런스는 100일 동안 1일 1커밋을 진행하는 정원사들이 

그 동안 공부한 내용을 정리하여 외부에 공유하는 자리입니다 (특정 회사와 관련있다거나 하지 않습니다!)
- 잔디? 정원사? 무슨 소리인지 궁금하신 분들을 위한 https://brunch.co.kr/@aria-grande/27
- 공부한 내용을 바탕으로 정리했기 때문에 부족한 부분이 있을 수 있습니다!
- + 데이터 분석과 연관이 없는 청중이 많았던 관계로 학문적으로 엄밀한 표현, 수식은 최대한 배제했습니다
- 하지만 오타나 잘못된 부분이 있다면 알려주세요! Slideshare의 설명 부분에 업데이트 해두겠습니다 :D
시작하기 전에,
- 모니터링 하던 고객사의 매출이 어제부터 갑자기 치솟아 오르기 시작했습니다
- 이 사실을 알게 된 대표님은 무슨 말씀을 하셨을까요?
"이거 왜 갑자기 오른거죠?"
(픽션입니다)
시작하기 전에,
- 확인해보니 이번에 개발 중이던 제품이 적용되어 동작하기 시작하면서 

매출이 증가했다고 합니다
- 이 사실을 알게 된 대표님은 무슨 말씀을 하셨을까요?
"저희 제품 써서 매출이 얼마나 오른거죠?"
(이것도 픽션입니다)
(픽션이지만 진짜 저렇게 되면 좋겠습니다..)
데이터를 분석하는 사람이 되기 위해

다양한 공부를 했습니다
- 통계 등 데이터를 분석하기 위한 다양한 이론
- 엄청나게 큰 데이터를 최대한 빠르게 처리 (..하는 작업을 해주는 도구를 쓰는 법)
- 데이터를 통해 항목들을 분류하거나 클러스터로 묶기
- 그래프 이쁘게 그리기
- 대시보드 웹페이지 만들기
그런데 "데이터를 보는 사람"들이라면

누구든지 맡게 되는 중요한 일
- "이거 왜 갑자기 오른거죠?"
- "저희 제품 써서 효과가 얼마나 좋았나요?"
왜? 그리고 얼마나? 에 답하기
그런데 정작 이건 어떻게 하는지 모르겠어요!
아니.. 사실 어떻게든 할 수는 있었습니다
- 문제는, 해놓고도 이렇게 해도 되는건지 모르겠다는 것
- 그 때부터 공부하기 시작했습니다
- 데이터로 "왜?" 와 "얼마나?" 를 설명할 수 있을까요?
Causal Inference
Miika
- 이민호
- 넘버웍스 → 카카오 → 데이터라이즈
- 데이터 분석/모델링과 얕은 JavaScript 개발 합니다
- TIL 시즌1부터 4까지 모두 참여
- (출석률 : 91% → 100% → 71% → 70%)
TIL 출석 이벤트는

정말 효과가 있었나요?
1.
정원사들은 시간이 지날수록 힘이 빠진다
- Today I Learned 정원사 모임 시즌 1~4 진행
- 시간이 지날수록 점점 출석률이 떨어진다
- 출석률이 떨어지는 것을 방지하기 위해 다양한 이벤트를 진행해보았다
- 한시적으로 벌금 제도를 변경

(무단 불참시 벌금 2배, 연속 불참시 벌금이 피보나치 수열로 상승)
- 특정 날짜에 출석하면 1+1 인증
- 이벤트들이 실제로 효과가 있었을까?
이벤트의 효과를 측정하려면 어떻게 해야 할까?
- 이상적으로 가장 좋은 방법은 A/B Test를 진행하는 것이다
- 좋은 실험 설계를 바탕으로 A/B Test를 진행한다면

이벤트로 인한 효과를 가장 정확하게 측정할 수 있다
A/B 테스트로

어떻게 이벤트의 효과를 측정할 수 있다는 걸까?
- 이벤트로 인해 발생한 효과를 알려면 어떻게 해야 할까?
- 이벤트를 진행했을 때와 그렇지 않았을 때의 출석률을 비교한다
- 그런데 한 사람이 두 가지 상황을 모두 겪을 수는 없다
- 전체를 두 개 그룹으로 쪼개어 비교하면 두 그룹 간 평균적인 차이는 구할 수 있다
- 이 때 중요한 것은 이벤트 여부 이외에 다른 모든 변수들이 같은 비율로 나누어져야 한다
- 그런데 현실적으로 이게 가능할까?? 수작업으로 나누면 당연히 안된다
- 이것 역시 평균적으로만 같도록 하면 되겠다!
- 어떻게?? 주사위를 던진다!
Randomized Controlled Trial ( RCT )
- 대상자를 두 그룹으로 나눌 때 완전히 임의로 나눈다
- 그리고 실험군에 속한 사람들에게만 액션을 취한다
- 그러면 이벤트 참여 여부 이외의 모든 변수는 확률적으로 나누어지기 때문에,
평균을 계산할 때 그 효과가 모두 상쇄된다
- 따라서 두 그룹이 평균적으로는 이벤트 참여 여부만 달라지게 된다
A/B 군을 나누는 실험을 진행할 수 없는 상황이 있다
- Spillover Effect : 실험군에 적용한 결과가 대조군에 영향을 미칠 때
- A는 실험군, B는 대조군, 둘은 SNS 상에서 친구
- A의 피드에 실험이 적용되어 어떤 상품이 노출되었고, A가 그걸 보고 구매했다
- B는 대조군이었는데 SNS 친구인 A가 클릭한 상품이 피드에 노출되어 구매했다
- 실험이 대조군까지 영향을 미쳤기 때문에 명확한 인과관계를 파악하기 어려워진다
- 비용 등 현실적인 문제
- 윤리적 문제
- 페이스북의 감정 조작 실험
- 페이스북 사용자에게 특정 감정과 관련된 게시물들이 노출되는 것이 실제 사용자의 감정에 어떤 영향을 미치는지 실험 진행
- 이럴 때는 어떻게 하면 좋을까?
A/B 테스트가 어려울 때

모델링으로 추정해보자
2.
문제와 요구사항을 다시 정리해보자
- 우리가 알고자 하는 것
- 출석 이벤트로 인한 효과가 얼마나 될까?
- 우리가 가지고 있는 것
- 시즌 1~4 까지의 모든 출석 정보
- 이벤트가 진행된 기간
- 개인 단위로 볼 필요는 없고, 평균적인 효과를 구할 수 있으면 된다
- 누군가의 이벤트 참여 여부가 다른 사람에게 영향을 주지 않는다고 가정한다
우선 가장 나이브한 방법 부터 시작해보자
- Before and After (First difference)
- 단순하게 생각해보면, 이벤트 전후의 출석률을 직접 비교해 보는 방법이 있다
- 이렇게 비교한 값으로 이벤트의 효과를 알 수 있을까?
- 계산해보면 이벤트 기간의 평균 출석률이 훨씬 낮다
- 1일 1커밋 기간이 진행될수록 출석률이 낮아지기 때문이다
- "날짜" 변수는 이벤트 시점 대비 pre/post 여부와 출석률 모두에 영향을 미친다
- (1) 1~69일은 pre, 70~100일은 post (2) 시간이 지날수록 출석률은 점차 낮아진다
- 이러한 변수를 교란변수(Confounder) 라고 한다
- 교란변수를 통제하지 않으면 이벤트로 인한 효과를 정확히 계산할 수 없다
- 이벤트의 영향을 받지 않은 "대조군"이 필요하다
( X )
이벤트 출석률
날짜
이벤트 효과를 추정하기 위한 다양한 방법들
- Difference in Differences
- Synthetic Control
- CausalImpact
Difference in Differences (DD)
- 이벤트의 영향을 받지 않은 다른 데이터를 대조군으로 삼아 비교한다
- 시즌 3,4 에는 여러 가지 이슈로 인해 이벤트를 진행하지 못했다
- 이러한 시즌의 출석률 추이와 비교한다
- 비교 대상인 두 시즌의 출석률 추이가 기본적으로 비슷하다는 가정을 기반으로 한다
- 두 시즌 각각의 고유한 효과와 시간에 따른 변화(이벤트 적용 여부)를 분리한다
- 이벤트가 있었던 시즌의 이벤트 기간 전/후 차이
- 이벤트가 없었던 시즌의 이벤트 기간 전/후 차이
- 경제학에서는 오랫동안 널리 사용된 방법이다
Difference in Differences (DD)
https://www.mailman.columbia.edu/research/population-health-methods/difference-difference-estimation
(이벤트 X) 시즌 3 출석수
(이벤트 O) 시즌 1 출석수
이벤트가 효과가 없었다면?
이벤트가 효과가 있었다면?
이벤트 없는 기간 이벤트 있는 기간
DD: 모형 자체에 문제점이 일부 존재한다
- 모형이 가정하는 내용에 데이터가 부합하지 않는다
- DD의 기반인 회귀 모형에서는 각 데이터 들이 서로 독립적이어야 하는데 

시간에 따라 변화하는 데이터는 그런 가정에 부합하지 않는다
- 일반적인 회귀 모형에 시간에 따라 서로 연관되어 있는 데이터를 적용하면,

모형이 예측에 대해 지나치게 낙관하는 경향이 있다
- 대부분의 DD 방법론은 2개의 시점만 비교한다 (개입 이전 vs 이후)
- 효과가 어떻게 발생하기 시작해서 어떻게 사라지는지 알 수 없다
어떻게 하면 이벤트 효과를 더 잘 예측할 수 있을까?
- 현재 상황을 표로 정리해보자
- 우리가 구하고자 하는 이벤트 효과는 아래 표에서 Y1 - Y0 에 해당한다
- 하지만 비어있는 칸 때문에 정확한 값을 계산할 수 없는 상태다
이름 (시즌) 이벤트 대상? 출석 여부

(출석 이벤트 있는 시즌, Y1)
출석 여부

(출석 이벤트 없는 시즌, Y0)
다양한 변수들
미카 (시즌1) TRUE 데이터 있음 < ? > 데이터 있음
아리아 (시즌1) TRUE 데이터 있음 < ? > 데이터 있음
케빈 (시즌3) FALSE < ? > 데이터 있음 데이터 있음
헤니 (시즌3) FALSE < ? > 데이터 있음 데이터 있음
어떻게 하면 이벤트 효과를 더 잘 예측할 수 있을까?
이름 (시즌) 이벤트 대상? 출석 여부

(출석 이벤트 있는 시즌, Y1)
출석 여부

(출석 이벤트 없는 시즌, Y0)
다양한 변수들
미카 (시즌1) TRUE 데이터 있음 < 예측! > 데이터 있음
아리아 (시즌1) TRUE 데이터 있음 < 예측! > 데이터 있음
케빈 (시즌3) FALSE < 예측! > 데이터 있음 데이터 있음
헤니 (시즌3) FALSE < 예측! > 데이터 있음 데이터 있음
데이터로 비어있는 칸을 예측하면, 이벤트 효과를 추정할 수 있지 않을까?
( 이건 기존의 통계, 머신러닝이 잘 하던 일! )
시간에 따른 이벤트 효과를 추정하려면

어떤 것들이 필요할까?
- 모델링의 목표를 세워보자
- 시즌 1~2에 출석 이벤트를 진행하지 않았다면 출석률 추이가 어떻게 되었을까?
- 데이터
- 일별 출석률 추이를 예측하는데 필요한 변수를 확보해야 한다
- 출석 이벤트에 영향을 받지 않은 다른 정보를 확보해야 한다
- 이벤트가 없었던 시즌 3,4의 출석 정보
- 동일한 시즌에 진행했던 다른 모임의 출석 정보
- 전체 모임의 평균 출석 정보 추이
- 데이터를 구했다면, 어떤 방법론을 통해서 예측할지 결정해보자
"Counterfactual"
현실에서는 일어나지 않은 일
Synthetic Control
- 다양한 독립 변수를 활용해 가상의 대조군(Synthetic Control) 을 만들어낸다
- 우버 등 다양한 기업에서

A/B 테스트가 불가능할 때 활용하여 효과를 보았다
CausalImpact
- 기본적으로 Synthetic Control 과 유사한 컨셉을 가지고 있다
- 대조군의 시계열 데이터를 바탕으로

시즌1에 이벤트를 열지 않았다면 어떻게 되었을지(Counterfactual) 추세를 예측한다
- 예측한 추세와 실제 추세의 차이가 인과적 효과를 추정한 값이 된다
- 모형을 통해 관측한 데이터의 시간에 따른 변화를 설명한다
- Bayesian Structural time-series models
- 학습 후 시뮬레이션을 통해 값을 예측한다
- 구글에서 R 라이브러리로 구현하여 공개했다
- https://github.com/google/CausalImpact
Synthetic Control vs Causal Impact
- 두 방법론 모두 비슷한 방식으로 인과 효과를 추정한다
- "다양한 데이터를 활용해서 일어나지 않은 상황의 추이를 예측하여 비교한다"
- 다만 예측하는 과정에서 사용하는 모델링 기법들이 다르다
- Synthetic Control : 출석 이벤트 이전의 데이터로 출석 이벤트 이후를 예측한다
- CausalImpact : 전체 기간의 데이터를 바탕으로 학습하여

출석 이벤트 기간에 이벤트가 없었을 경우를 시뮬레이션한다
실제 데이터로 확인해보자
feat. R (tidyverse + CausalImpact)
시즌별 출석률 추이
- 대체로 50일 정도까지는 비슷한 추세로 출석률이 감소한다
- 출석 이벤트가 진행된 시즌 1,2는 이벤트와 함께 (일시적으로) 출석률이 증가한다
- 이벤트가 없었던 시즌 3,4는 출석률이 계속 감소한다
Season 1 : D70부터 이벤트 시작
Season 2 : D48부터 이벤트 시작
Difference in Differences
- 일반적인 회귀 모형을 바탕으로 하기 때문에 쉽게 구현해서 사용할 수 있다
- { 이벤트 기간 여부 + 시즌 정보 + 두 변수의 상호작용 } 으로 

목표 변수를 설명하는 회귀 모형을 만든다
- 여기서 "두 변수의 상호작용" 부분이

우리가 알고자 하는 "출석 이벤트의 효과"를 의미한다
Difference in Differences (시즌1 vs 시즌3)
- R에서 선형 모형을 구성하기 위해 기본 함수 lm 을 사용한다
- 변수 x1, x2, 그리고 x1과 x2의 상호작용으로

y를 설명하는 모형을 구성한다
- 이벤트를 통해 일평균 출석수 5.28명 상승 효과를 얻었다
- p-value가 0에 가깝기 때문에 통계적으로 유의미하다고 판단

( Pr(>|t|) 와 *** 부분 )
- p-value를 해석할 때는 항상 주의!!
Difference in Differences (시즌4 vs 시즌3)
- 이벤트를 진행하지 않았던 두 개 시즌을 비교해보자
- 이벤트 기간의 효과로 출석수가 0.39 감소하는 효과가 나왔다
- 하지만 수치가 작고, p-value가 0.688 로 매우 높기 때문에

통계적으로 의미가 있기 보다는 우연히 나온 값일 가능성이 높다
CausalImpact (시즌1 vs 시즌3)
- 다음과 같은 형태로 데이터를 준비한다
- y : 시즌1의 일별 출석자수
- days : 시즌별 출석일자 (1~100)
- n_attends : 시즌3의 일별 출석자수
CausalImpact (시즌1 vs 시즌3)
- CausalImpact 함수로 이벤트 효과를 추정한다
- 이벤트로 인해 출석자 수가 3.5명 상승하는 효과를 얻었다
- 95% 신뢰구간이 [2.2, 4.7] 로 0을 포함하지 않기 때문에

통계적으로도 유의미한 결과로 보인다
실제값(실선)과 예측값(점선) 비교
일별 이벤트 효과 추정
누적 이벤트 효과 추정
CausalImpact (시즌4 vs 시즌3)
- 이벤트가 없었던 두 시즌에 대해 CausalImpact를 적용해보자
- 이벤트 기간에 출석자 수가 2.6명 상승하는 효과가 있었다
- 다만 95% 신뢰구간이 [-0.042, 5.5] 로 0을 포함하고 있다
- 통계적으로 유의미한 수준으로 출석수가 상승하지는

않은 것으로 해석할 수 있다
실제값(실선)과 예측값(점선) 비교
일별 이벤트 효과 추정
누적 이벤트 효과 추정
Summary
- 이벤트의 효과를 확실하게 측정하는 방법은 A/B 테스트를 해보는 것이지만,
테스트하기 어려울 때도 있다
- 몇 가지 가정과 다양한 데이터를 바탕으로 모델링해서

이벤트의 효과를 추정해 볼 수 있다
- Difference in Differences, Synthetic Control, CausalImpact 등 

다양한 방법론을 활용해보자
Reference
- CausalImpact
- https://github.com/google/CausalImpact
- https://google.github.io/CausalImpact/CausalImpact.html
- https://storage.googleapis.com/pub-tools-public-publication-data/pdf/41854.pdf
- DD & Synthetic Control
- https://youtu.be/j5DoJV5S2Ao
- https://towardsdatascience.com/causal-inference-using-difference-in-differences-causal-
impact-and-synthetic-control-f8639c408268
감사합니다 :D

More Related Content

What's hot

[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
PAP (Product Analytics Playground)
 
올바른 분석을 방해하는 함정 카드 피해가기
올바른 분석을 방해하는 함정 카드 피해가기올바른 분석을 방해하는 함정 카드 피해가기
올바른 분석을 방해하는 함정 카드 피해가기
Minho Lee
 
신뢰할 수 있는 A/B 테스트를 위해 알아야 할 것들
신뢰할 수 있는 A/B 테스트를 위해 알아야 할 것들신뢰할 수 있는 A/B 테스트를 위해 알아야 할 것들
신뢰할 수 있는 A/B 테스트를 위해 알아야 할 것들
Minho Lee
 
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
Minwoo Kim
 
[팝콘 시즌1] 박동혁 : 마케터에게 필요한 Data Literacy
[팝콘 시즌1] 박동혁 : 마케터에게 필요한 Data Literacy[팝콘 시즌1] 박동혁 : 마케터에게 필요한 Data Literacy
[팝콘 시즌1] 박동혁 : 마케터에게 필요한 Data Literacy
PAP (Product Analytics Playground)
 
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
Dylan Ko
 
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
Minwoo Kim
 
서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기
승화 양
 
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
정혁 권
 
서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석
YOO SE KYUN
 
전환율 이해하기
전환율 이해하기전환율 이해하기
전환율 이해하기
Wooseok Seo
 
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
승화 양
 
[NDC 발표] 모바일 게임데이터분석 및 실전 활용
[NDC 발표] 모바일 게임데이터분석 및 실전 활용[NDC 발표] 모바일 게임데이터분석 및 실전 활용
[NDC 발표] 모바일 게임데이터분석 및 실전 활용
Tapjoy X 5Rocks
 
네이버서치ABT: 신뢰할 수 있는 A/B 테스트 플랫폼 개발 및 정착기
네이버서치ABT: 신뢰할 수 있는 A/B 테스트 플랫폼 개발 및 정착기네이버서치ABT: 신뢰할 수 있는 A/B 테스트 플랫폼 개발 및 정착기
네이버서치ABT: 신뢰할 수 있는 A/B 테스트 플랫폼 개발 및 정착기
Jin Young Kim
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
DaeMyung Kang
 
스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석
Seonggwan Lee
 
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기 [데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
choi kyumin
 
데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립
승화 양
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.
Yongho Ha
 
그로스해킹 기초
그로스해킹 기초그로스해킹 기초
그로스해킹 기초
keunbong kwak
 

What's hot (20)

[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
[팝콘 시즌1] 허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
 
올바른 분석을 방해하는 함정 카드 피해가기
올바른 분석을 방해하는 함정 카드 피해가기올바른 분석을 방해하는 함정 카드 피해가기
올바른 분석을 방해하는 함정 카드 피해가기
 
신뢰할 수 있는 A/B 테스트를 위해 알아야 할 것들
신뢰할 수 있는 A/B 테스트를 위해 알아야 할 것들신뢰할 수 있는 A/B 테스트를 위해 알아야 할 것들
신뢰할 수 있는 A/B 테스트를 위해 알아야 할 것들
 
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)
 
[팝콘 시즌1] 박동혁 : 마케터에게 필요한 Data Literacy
[팝콘 시즌1] 박동혁 : 마케터에게 필요한 Data Literacy[팝콘 시즌1] 박동혁 : 마케터에게 필요한 Data Literacy
[팝콘 시즌1] 박동혁 : 마케터에게 필요한 Data Literacy
 
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
 
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
 
서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기
 
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
린분석 with 레진코믹스 ( Lean Analytics with Lezhin Comics )
 
서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석
 
전환율 이해하기
전환율 이해하기전환율 이해하기
전환율 이해하기
 
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
 
[NDC 발표] 모바일 게임데이터분석 및 실전 활용
[NDC 발표] 모바일 게임데이터분석 및 실전 활용[NDC 발표] 모바일 게임데이터분석 및 실전 활용
[NDC 발표] 모바일 게임데이터분석 및 실전 활용
 
네이버서치ABT: 신뢰할 수 있는 A/B 테스트 플랫폼 개발 및 정착기
네이버서치ABT: 신뢰할 수 있는 A/B 테스트 플랫폼 개발 및 정착기네이버서치ABT: 신뢰할 수 있는 A/B 테스트 플랫폼 개발 및 정착기
네이버서치ABT: 신뢰할 수 있는 A/B 테스트 플랫폼 개발 및 정착기
 
Data Engineering 101
Data Engineering 101Data Engineering 101
Data Engineering 101
 
스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석
 
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기 [데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
[데이터야놀자2107] 강남 출근길에 판교/정자역에 내릴 사람 예측하기
 
데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립
 
데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.
 
그로스해킹 기초
그로스해킹 기초그로스해킹 기초
그로스해킹 기초
 

Similar to A/B 테스트를 적용하기 어려울 때, 이벤트 효과 추정하기 (2020-01-18 잔디콘)

데이터 사이언티스트를 꿈꾸는 분들을 위한 개인적인 데이터 사이언스 경험과 소회 - what I experienced as a data sc...
데이터 사이언티스트를 꿈꾸는 분들을 위한 개인적인 데이터 사이언스 경험과 소회 - what I experienced as a data sc...데이터 사이언티스트를 꿈꾸는 분들을 위한 개인적인 데이터 사이언스 경험과 소회 - what I experienced as a data sc...
데이터 사이언티스트를 꿈꾸는 분들을 위한 개인적인 데이터 사이언스 경험과 소회 - what I experienced as a data sc...
Jungmin Lee
 
Offering 효과 분석-시계열 예측 모델 활용
Offering 효과 분석-시계열 예측 모델 활용Offering 효과 분석-시계열 예측 모델 활용
Offering 효과 분석-시계열 예측 모델 활용
JeongMin Kwon
 
[도서 리뷰] 헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
[도서 리뷰]  헤드 퍼스트 데이터 분석 ( Head First Data Analysis )[도서 리뷰]  헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
[도서 리뷰] 헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
Seung-Woo Kang
 
[데이터야놀자 2023] 비즈니스 분석가 vs 프로덕트 분석가_ 데이터 분석ᄀ...
[데이터야놀자 2023]  비즈니스 분석가 vs 프로덕트 분석가_ 데이터 분석ᄀ...[데이터야놀자 2023]  비즈니스 분석가 vs 프로덕트 분석가_ 데이터 분석ᄀ...
[데이터야놀자 2023] 비즈니스 분석가 vs 프로덕트 분석가_ 데이터 분석ᄀ...
Jeongmin Ju
 
분석 현장에서 요구되는 데이터과학자의 역량과 자질
분석 현장에서 요구되는 데이터과학자의 역량과 자질분석 현장에서 요구되는 데이터과학자의 역량과 자질
분석 현장에서 요구되는 데이터과학자의 역량과 자질
Sun Young Kim
 
[Gastudy.net] Google Analytics basic
[Gastudy.net] Google Analytics basic[Gastudy.net] Google Analytics basic
[Gastudy.net] Google Analytics basic
SeHeung Oh
 
Visual ActionBoard 소개
Visual ActionBoard 소개Visual ActionBoard 소개
Visual ActionBoard 소개
The Innovation Lab
 
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
Evion Kim
 
Understanding My Data Myself [Ubicomp 2011]
Understanding My Data Myself [Ubicomp 2011]Understanding My Data Myself [Ubicomp 2011]
Understanding My Data Myself [Ubicomp 2011]
Hyunjeong Lee
 
opensurvey_trend_hobby_2022 취미생활 자기계발 트린드 리포트2022
opensurvey_trend_hobby_2022 취미생활 자기계발 트린드 리포트2022opensurvey_trend_hobby_2022 취미생활 자기계발 트린드 리포트2022
opensurvey_trend_hobby_2022 취미생활 자기계발 트린드 리포트2022
ruddhdlek
 
Display Ads Platform에 대한 약간 그럴싸한 안내와 잡담
Display Ads Platform에 대한 약간 그럴싸한 안내와 잡담Display Ads Platform에 대한 약간 그럴싸한 안내와 잡담
Display Ads Platform에 대한 약간 그럴싸한 안내와 잡담
Juseok Kim
 
20141213 기획이란무엇인가 정리
20141213 기획이란무엇인가 정리20141213 기획이란무엇인가 정리
20141213 기획이란무엇인가 정리khanbal
 
분석지향적 퍼포먼스 마케터김형철
분석지향적 퍼포먼스 마케터김형철분석지향적 퍼포먼스 마케터김형철
분석지향적 퍼포먼스 마케터김형철
Hyeongcheol Kim
 
초보자를 위한 주식 어플리케이션
초보자를 위한 주식 어플리케이션초보자를 위한 주식 어플리케이션
초보자를 위한 주식 어플리케이션
Park ahyun
 
스타트업의 데이터 분석
스타트업의 데이터 분석스타트업의 데이터 분석
스타트업의 데이터 분석Hyunjong Wi
 
Find a Leak Time in the Schedule
Find a Leak Time in the ScheduleFind a Leak Time in the Schedule
Find a Leak Time in the Schedule
Dataya Nolja
 
오피스_수정
오피스_수정오피스_수정
오피스_수정
필수 오
 
마케팅 인사이트를 위한 데이터 분석
마케팅 인사이트를 위한 데이터 분석마케팅 인사이트를 위한 데이터 분석
마케팅 인사이트를 위한 데이터 분석
ACE Trader
 
12 해결한 도출
12 해결한 도출12 해결한 도출
12 해결한 도출humana12
 
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
Hoon Park
 

Similar to A/B 테스트를 적용하기 어려울 때, 이벤트 효과 추정하기 (2020-01-18 잔디콘) (20)

데이터 사이언티스트를 꿈꾸는 분들을 위한 개인적인 데이터 사이언스 경험과 소회 - what I experienced as a data sc...
데이터 사이언티스트를 꿈꾸는 분들을 위한 개인적인 데이터 사이언스 경험과 소회 - what I experienced as a data sc...데이터 사이언티스트를 꿈꾸는 분들을 위한 개인적인 데이터 사이언스 경험과 소회 - what I experienced as a data sc...
데이터 사이언티스트를 꿈꾸는 분들을 위한 개인적인 데이터 사이언스 경험과 소회 - what I experienced as a data sc...
 
Offering 효과 분석-시계열 예측 모델 활용
Offering 효과 분석-시계열 예측 모델 활용Offering 효과 분석-시계열 예측 모델 활용
Offering 효과 분석-시계열 예측 모델 활용
 
[도서 리뷰] 헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
[도서 리뷰]  헤드 퍼스트 데이터 분석 ( Head First Data Analysis )[도서 리뷰]  헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
[도서 리뷰] 헤드 퍼스트 데이터 분석 ( Head First Data Analysis )
 
[데이터야놀자 2023] 비즈니스 분석가 vs 프로덕트 분석가_ 데이터 분석ᄀ...
[데이터야놀자 2023]  비즈니스 분석가 vs 프로덕트 분석가_ 데이터 분석ᄀ...[데이터야놀자 2023]  비즈니스 분석가 vs 프로덕트 분석가_ 데이터 분석ᄀ...
[데이터야놀자 2023] 비즈니스 분석가 vs 프로덕트 분석가_ 데이터 분석ᄀ...
 
분석 현장에서 요구되는 데이터과학자의 역량과 자질
분석 현장에서 요구되는 데이터과학자의 역량과 자질분석 현장에서 요구되는 데이터과학자의 역량과 자질
분석 현장에서 요구되는 데이터과학자의 역량과 자질
 
[Gastudy.net] Google Analytics basic
[Gastudy.net] Google Analytics basic[Gastudy.net] Google Analytics basic
[Gastudy.net] Google Analytics basic
 
Visual ActionBoard 소개
Visual ActionBoard 소개Visual ActionBoard 소개
Visual ActionBoard 소개
 
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
 
Understanding My Data Myself [Ubicomp 2011]
Understanding My Data Myself [Ubicomp 2011]Understanding My Data Myself [Ubicomp 2011]
Understanding My Data Myself [Ubicomp 2011]
 
opensurvey_trend_hobby_2022 취미생활 자기계발 트린드 리포트2022
opensurvey_trend_hobby_2022 취미생활 자기계발 트린드 리포트2022opensurvey_trend_hobby_2022 취미생활 자기계발 트린드 리포트2022
opensurvey_trend_hobby_2022 취미생활 자기계발 트린드 리포트2022
 
Display Ads Platform에 대한 약간 그럴싸한 안내와 잡담
Display Ads Platform에 대한 약간 그럴싸한 안내와 잡담Display Ads Platform에 대한 약간 그럴싸한 안내와 잡담
Display Ads Platform에 대한 약간 그럴싸한 안내와 잡담
 
20141213 기획이란무엇인가 정리
20141213 기획이란무엇인가 정리20141213 기획이란무엇인가 정리
20141213 기획이란무엇인가 정리
 
분석지향적 퍼포먼스 마케터김형철
분석지향적 퍼포먼스 마케터김형철분석지향적 퍼포먼스 마케터김형철
분석지향적 퍼포먼스 마케터김형철
 
초보자를 위한 주식 어플리케이션
초보자를 위한 주식 어플리케이션초보자를 위한 주식 어플리케이션
초보자를 위한 주식 어플리케이션
 
스타트업의 데이터 분석
스타트업의 데이터 분석스타트업의 데이터 분석
스타트업의 데이터 분석
 
Find a Leak Time in the Schedule
Find a Leak Time in the ScheduleFind a Leak Time in the Schedule
Find a Leak Time in the Schedule
 
오피스_수정
오피스_수정오피스_수정
오피스_수정
 
마케팅 인사이트를 위한 데이터 분석
마케팅 인사이트를 위한 데이터 분석마케팅 인사이트를 위한 데이터 분석
마케팅 인사이트를 위한 데이터 분석
 
12 해결한 도출
12 해결한 도출12 해결한 도출
12 해결한 도출
 
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
[NDC 2011] 게임 개발자를 위한 데이터분석의 도입
 

More from Minho Lee

230304 UX/UI 해외 인기 아티클 8기 발표
230304 UX/UI 해외 인기 아티클 8기 발표230304 UX/UI 해외 인기 아티클 8기 발표
230304 UX/UI 해외 인기 아티클 8기 발표
Minho Lee
 
221105 UX/UI 해외 인기 아티클 7기 : 1주차 발표
221105 UX/UI 해외 인기 아티클 7기 : 1주차 발표221105 UX/UI 해외 인기 아티클 7기 : 1주차 발표
221105 UX/UI 해외 인기 아티클 7기 : 1주차 발표
Minho Lee
 
220806 UX/UI 해외 인기 아티클 6기 : 3주차 발표
220806 UX/UI 해외 인기 아티클 6기 : 3주차 발표220806 UX/UI 해외 인기 아티클 6기 : 3주차 발표
220806 UX/UI 해외 인기 아티클 6기 : 3주차 발표
Minho Lee
 
220319 해외 아티클 스터디 5기 : 1주차 발표
220319 해외 아티클 스터디 5기 : 1주차 발표220319 해외 아티클 스터디 5기 : 1주차 발표
220319 해외 아티클 스터디 5기 : 1주차 발표
Minho Lee
 
201107 해외 아티클 스터디 2기 : 2주차 발표
201107 해외 아티클 스터디 2기 : 2주차 발표201107 해외 아티클 스터디 2기 : 2주차 발표
201107 해외 아티클 스터디 2기 : 2주차 발표
Minho Lee
 
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
Minho Lee
 
Today I Learned - Bayesian Statistics
Today I Learned - Bayesian StatisticsToday I Learned - Bayesian Statistics
Today I Learned - Bayesian Statistics
Minho Lee
 
그래프에서 대시보드까지, 서비스를 위한 데이터 시각화
그래프에서 대시보드까지, 서비스를 위한 데이터 시각화그래프에서 대시보드까지, 서비스를 위한 데이터 시각화
그래프에서 대시보드까지, 서비스를 위한 데이터 시각화
Minho Lee
 
For Better Data Visualization
For Better Data VisualizationFor Better Data Visualization
For Better Data Visualization
Minho Lee
 
Facebook prophet
Facebook prophetFacebook prophet
Facebook prophet
Minho Lee
 

More from Minho Lee (10)

230304 UX/UI 해외 인기 아티클 8기 발표
230304 UX/UI 해외 인기 아티클 8기 발표230304 UX/UI 해외 인기 아티클 8기 발표
230304 UX/UI 해외 인기 아티클 8기 발표
 
221105 UX/UI 해외 인기 아티클 7기 : 1주차 발표
221105 UX/UI 해외 인기 아티클 7기 : 1주차 발표221105 UX/UI 해외 인기 아티클 7기 : 1주차 발표
221105 UX/UI 해외 인기 아티클 7기 : 1주차 발표
 
220806 UX/UI 해외 인기 아티클 6기 : 3주차 발표
220806 UX/UI 해외 인기 아티클 6기 : 3주차 발표220806 UX/UI 해외 인기 아티클 6기 : 3주차 발표
220806 UX/UI 해외 인기 아티클 6기 : 3주차 발표
 
220319 해외 아티클 스터디 5기 : 1주차 발표
220319 해외 아티클 스터디 5기 : 1주차 발표220319 해외 아티클 스터디 5기 : 1주차 발표
220319 해외 아티클 스터디 5기 : 1주차 발표
 
201107 해외 아티클 스터디 2기 : 2주차 발표
201107 해외 아티클 스터디 2기 : 2주차 발표201107 해외 아티클 스터디 2기 : 2주차 발표
201107 해외 아티클 스터디 2기 : 2주차 발표
 
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기[DS Meetup] iPad로 가벼운 분석환경 구축해보기
[DS Meetup] iPad로 가벼운 분석환경 구축해보기
 
Today I Learned - Bayesian Statistics
Today I Learned - Bayesian StatisticsToday I Learned - Bayesian Statistics
Today I Learned - Bayesian Statistics
 
그래프에서 대시보드까지, 서비스를 위한 데이터 시각화
그래프에서 대시보드까지, 서비스를 위한 데이터 시각화그래프에서 대시보드까지, 서비스를 위한 데이터 시각화
그래프에서 대시보드까지, 서비스를 위한 데이터 시각화
 
For Better Data Visualization
For Better Data VisualizationFor Better Data Visualization
For Better Data Visualization
 
Facebook prophet
Facebook prophetFacebook prophet
Facebook prophet
 

A/B 테스트를 적용하기 어려울 때, 이벤트 효과 추정하기 (2020-01-18 잔디콘)

  • 1. 시간에 따라 변하는 데이터에
 A/B 테스트를 적용하기 어려울 때,
 이벤트 효과 추정하기 Today I Learned Season4 잔디 컨퍼런스 feat. CausalImpact Datarize 이민호 Miika
  • 2. Note! - 2020-01-18에 구글 스타트업 캠퍼스에서 진행된 잔디 컨퍼런스 발표 자료입니다 - 시즌4 잔디콘 행사 소개 : https://festa.io/events/828/ - 잔디 컨퍼런스는 100일 동안 1일 1커밋을 진행하는 정원사들이 
 그 동안 공부한 내용을 정리하여 외부에 공유하는 자리입니다 (특정 회사와 관련있다거나 하지 않습니다!) - 잔디? 정원사? 무슨 소리인지 궁금하신 분들을 위한 https://brunch.co.kr/@aria-grande/27 - 공부한 내용을 바탕으로 정리했기 때문에 부족한 부분이 있을 수 있습니다! - + 데이터 분석과 연관이 없는 청중이 많았던 관계로 학문적으로 엄밀한 표현, 수식은 최대한 배제했습니다 - 하지만 오타나 잘못된 부분이 있다면 알려주세요! Slideshare의 설명 부분에 업데이트 해두겠습니다 :D
  • 3. 시작하기 전에, - 모니터링 하던 고객사의 매출이 어제부터 갑자기 치솟아 오르기 시작했습니다 - 이 사실을 알게 된 대표님은 무슨 말씀을 하셨을까요? "이거 왜 갑자기 오른거죠?" (픽션입니다)
  • 4. 시작하기 전에, - 확인해보니 이번에 개발 중이던 제품이 적용되어 동작하기 시작하면서 
 매출이 증가했다고 합니다 - 이 사실을 알게 된 대표님은 무슨 말씀을 하셨을까요? "저희 제품 써서 매출이 얼마나 오른거죠?" (이것도 픽션입니다) (픽션이지만 진짜 저렇게 되면 좋겠습니다..)
  • 5. 데이터를 분석하는 사람이 되기 위해
 다양한 공부를 했습니다 - 통계 등 데이터를 분석하기 위한 다양한 이론 - 엄청나게 큰 데이터를 최대한 빠르게 처리 (..하는 작업을 해주는 도구를 쓰는 법) - 데이터를 통해 항목들을 분류하거나 클러스터로 묶기 - 그래프 이쁘게 그리기 - 대시보드 웹페이지 만들기
  • 6. 그런데 "데이터를 보는 사람"들이라면
 누구든지 맡게 되는 중요한 일 - "이거 왜 갑자기 오른거죠?" - "저희 제품 써서 효과가 얼마나 좋았나요?" 왜? 그리고 얼마나? 에 답하기 그런데 정작 이건 어떻게 하는지 모르겠어요!
  • 7. 아니.. 사실 어떻게든 할 수는 있었습니다 - 문제는, 해놓고도 이렇게 해도 되는건지 모르겠다는 것 - 그 때부터 공부하기 시작했습니다 - 데이터로 "왜?" 와 "얼마나?" 를 설명할 수 있을까요? Causal Inference
  • 8. Miika - 이민호 - 넘버웍스 → 카카오 → 데이터라이즈 - 데이터 분석/모델링과 얕은 JavaScript 개발 합니다 - TIL 시즌1부터 4까지 모두 참여 - (출석률 : 91% → 100% → 71% → 70%)
  • 9. TIL 출석 이벤트는
 정말 효과가 있었나요? 1.
  • 10. 정원사들은 시간이 지날수록 힘이 빠진다 - Today I Learned 정원사 모임 시즌 1~4 진행 - 시간이 지날수록 점점 출석률이 떨어진다 - 출석률이 떨어지는 것을 방지하기 위해 다양한 이벤트를 진행해보았다 - 한시적으로 벌금 제도를 변경
 (무단 불참시 벌금 2배, 연속 불참시 벌금이 피보나치 수열로 상승) - 특정 날짜에 출석하면 1+1 인증 - 이벤트들이 실제로 효과가 있었을까?
  • 11. 이벤트의 효과를 측정하려면 어떻게 해야 할까? - 이상적으로 가장 좋은 방법은 A/B Test를 진행하는 것이다 - 좋은 실험 설계를 바탕으로 A/B Test를 진행한다면
 이벤트로 인한 효과를 가장 정확하게 측정할 수 있다
  • 12. A/B 테스트로
 어떻게 이벤트의 효과를 측정할 수 있다는 걸까? - 이벤트로 인해 발생한 효과를 알려면 어떻게 해야 할까? - 이벤트를 진행했을 때와 그렇지 않았을 때의 출석률을 비교한다 - 그런데 한 사람이 두 가지 상황을 모두 겪을 수는 없다 - 전체를 두 개 그룹으로 쪼개어 비교하면 두 그룹 간 평균적인 차이는 구할 수 있다 - 이 때 중요한 것은 이벤트 여부 이외에 다른 모든 변수들이 같은 비율로 나누어져야 한다 - 그런데 현실적으로 이게 가능할까?? 수작업으로 나누면 당연히 안된다 - 이것 역시 평균적으로만 같도록 하면 되겠다! - 어떻게?? 주사위를 던진다!
  • 13. Randomized Controlled Trial ( RCT ) - 대상자를 두 그룹으로 나눌 때 완전히 임의로 나눈다 - 그리고 실험군에 속한 사람들에게만 액션을 취한다 - 그러면 이벤트 참여 여부 이외의 모든 변수는 확률적으로 나누어지기 때문에, 평균을 계산할 때 그 효과가 모두 상쇄된다 - 따라서 두 그룹이 평균적으로는 이벤트 참여 여부만 달라지게 된다
  • 14. A/B 군을 나누는 실험을 진행할 수 없는 상황이 있다 - Spillover Effect : 실험군에 적용한 결과가 대조군에 영향을 미칠 때 - A는 실험군, B는 대조군, 둘은 SNS 상에서 친구 - A의 피드에 실험이 적용되어 어떤 상품이 노출되었고, A가 그걸 보고 구매했다 - B는 대조군이었는데 SNS 친구인 A가 클릭한 상품이 피드에 노출되어 구매했다 - 실험이 대조군까지 영향을 미쳤기 때문에 명확한 인과관계를 파악하기 어려워진다 - 비용 등 현실적인 문제 - 윤리적 문제 - 페이스북의 감정 조작 실험 - 페이스북 사용자에게 특정 감정과 관련된 게시물들이 노출되는 것이 실제 사용자의 감정에 어떤 영향을 미치는지 실험 진행 - 이럴 때는 어떻게 하면 좋을까?
  • 15. A/B 테스트가 어려울 때
 모델링으로 추정해보자 2.
  • 16. 문제와 요구사항을 다시 정리해보자 - 우리가 알고자 하는 것 - 출석 이벤트로 인한 효과가 얼마나 될까? - 우리가 가지고 있는 것 - 시즌 1~4 까지의 모든 출석 정보 - 이벤트가 진행된 기간 - 개인 단위로 볼 필요는 없고, 평균적인 효과를 구할 수 있으면 된다 - 누군가의 이벤트 참여 여부가 다른 사람에게 영향을 주지 않는다고 가정한다
  • 17. 우선 가장 나이브한 방법 부터 시작해보자 - Before and After (First difference) - 단순하게 생각해보면, 이벤트 전후의 출석률을 직접 비교해 보는 방법이 있다 - 이렇게 비교한 값으로 이벤트의 효과를 알 수 있을까? - 계산해보면 이벤트 기간의 평균 출석률이 훨씬 낮다 - 1일 1커밋 기간이 진행될수록 출석률이 낮아지기 때문이다 - "날짜" 변수는 이벤트 시점 대비 pre/post 여부와 출석률 모두에 영향을 미친다 - (1) 1~69일은 pre, 70~100일은 post (2) 시간이 지날수록 출석률은 점차 낮아진다 - 이러한 변수를 교란변수(Confounder) 라고 한다 - 교란변수를 통제하지 않으면 이벤트로 인한 효과를 정확히 계산할 수 없다 - 이벤트의 영향을 받지 않은 "대조군"이 필요하다 ( X ) 이벤트 출석률 날짜
  • 18. 이벤트 효과를 추정하기 위한 다양한 방법들 - Difference in Differences - Synthetic Control - CausalImpact
  • 19. Difference in Differences (DD) - 이벤트의 영향을 받지 않은 다른 데이터를 대조군으로 삼아 비교한다 - 시즌 3,4 에는 여러 가지 이슈로 인해 이벤트를 진행하지 못했다 - 이러한 시즌의 출석률 추이와 비교한다 - 비교 대상인 두 시즌의 출석률 추이가 기본적으로 비슷하다는 가정을 기반으로 한다 - 두 시즌 각각의 고유한 효과와 시간에 따른 변화(이벤트 적용 여부)를 분리한다 - 이벤트가 있었던 시즌의 이벤트 기간 전/후 차이 - 이벤트가 없었던 시즌의 이벤트 기간 전/후 차이 - 경제학에서는 오랫동안 널리 사용된 방법이다
  • 20. Difference in Differences (DD) https://www.mailman.columbia.edu/research/population-health-methods/difference-difference-estimation (이벤트 X) 시즌 3 출석수 (이벤트 O) 시즌 1 출석수 이벤트가 효과가 없었다면? 이벤트가 효과가 있었다면? 이벤트 없는 기간 이벤트 있는 기간
  • 21. DD: 모형 자체에 문제점이 일부 존재한다 - 모형이 가정하는 내용에 데이터가 부합하지 않는다 - DD의 기반인 회귀 모형에서는 각 데이터 들이 서로 독립적이어야 하는데 
 시간에 따라 변화하는 데이터는 그런 가정에 부합하지 않는다 - 일반적인 회귀 모형에 시간에 따라 서로 연관되어 있는 데이터를 적용하면,
 모형이 예측에 대해 지나치게 낙관하는 경향이 있다 - 대부분의 DD 방법론은 2개의 시점만 비교한다 (개입 이전 vs 이후) - 효과가 어떻게 발생하기 시작해서 어떻게 사라지는지 알 수 없다
  • 22. 어떻게 하면 이벤트 효과를 더 잘 예측할 수 있을까? - 현재 상황을 표로 정리해보자 - 우리가 구하고자 하는 이벤트 효과는 아래 표에서 Y1 - Y0 에 해당한다 - 하지만 비어있는 칸 때문에 정확한 값을 계산할 수 없는 상태다 이름 (시즌) 이벤트 대상? 출석 여부
 (출석 이벤트 있는 시즌, Y1) 출석 여부
 (출석 이벤트 없는 시즌, Y0) 다양한 변수들 미카 (시즌1) TRUE 데이터 있음 < ? > 데이터 있음 아리아 (시즌1) TRUE 데이터 있음 < ? > 데이터 있음 케빈 (시즌3) FALSE < ? > 데이터 있음 데이터 있음 헤니 (시즌3) FALSE < ? > 데이터 있음 데이터 있음
  • 23. 어떻게 하면 이벤트 효과를 더 잘 예측할 수 있을까? 이름 (시즌) 이벤트 대상? 출석 여부
 (출석 이벤트 있는 시즌, Y1) 출석 여부
 (출석 이벤트 없는 시즌, Y0) 다양한 변수들 미카 (시즌1) TRUE 데이터 있음 < 예측! > 데이터 있음 아리아 (시즌1) TRUE 데이터 있음 < 예측! > 데이터 있음 케빈 (시즌3) FALSE < 예측! > 데이터 있음 데이터 있음 헤니 (시즌3) FALSE < 예측! > 데이터 있음 데이터 있음 데이터로 비어있는 칸을 예측하면, 이벤트 효과를 추정할 수 있지 않을까? ( 이건 기존의 통계, 머신러닝이 잘 하던 일! )
  • 24. 시간에 따른 이벤트 효과를 추정하려면
 어떤 것들이 필요할까? - 모델링의 목표를 세워보자 - 시즌 1~2에 출석 이벤트를 진행하지 않았다면 출석률 추이가 어떻게 되었을까? - 데이터 - 일별 출석률 추이를 예측하는데 필요한 변수를 확보해야 한다 - 출석 이벤트에 영향을 받지 않은 다른 정보를 확보해야 한다 - 이벤트가 없었던 시즌 3,4의 출석 정보 - 동일한 시즌에 진행했던 다른 모임의 출석 정보 - 전체 모임의 평균 출석 정보 추이 - 데이터를 구했다면, 어떤 방법론을 통해서 예측할지 결정해보자 "Counterfactual" 현실에서는 일어나지 않은 일
  • 25. Synthetic Control - 다양한 독립 변수를 활용해 가상의 대조군(Synthetic Control) 을 만들어낸다 - 우버 등 다양한 기업에서
 A/B 테스트가 불가능할 때 활용하여 효과를 보았다
  • 26. CausalImpact - 기본적으로 Synthetic Control 과 유사한 컨셉을 가지고 있다 - 대조군의 시계열 데이터를 바탕으로
 시즌1에 이벤트를 열지 않았다면 어떻게 되었을지(Counterfactual) 추세를 예측한다 - 예측한 추세와 실제 추세의 차이가 인과적 효과를 추정한 값이 된다 - 모형을 통해 관측한 데이터의 시간에 따른 변화를 설명한다 - Bayesian Structural time-series models - 학습 후 시뮬레이션을 통해 값을 예측한다 - 구글에서 R 라이브러리로 구현하여 공개했다 - https://github.com/google/CausalImpact
  • 27. Synthetic Control vs Causal Impact - 두 방법론 모두 비슷한 방식으로 인과 효과를 추정한다 - "다양한 데이터를 활용해서 일어나지 않은 상황의 추이를 예측하여 비교한다" - 다만 예측하는 과정에서 사용하는 모델링 기법들이 다르다 - Synthetic Control : 출석 이벤트 이전의 데이터로 출석 이벤트 이후를 예측한다 - CausalImpact : 전체 기간의 데이터를 바탕으로 학습하여
 출석 이벤트 기간에 이벤트가 없었을 경우를 시뮬레이션한다
  • 28. 실제 데이터로 확인해보자 feat. R (tidyverse + CausalImpact)
  • 29. 시즌별 출석률 추이 - 대체로 50일 정도까지는 비슷한 추세로 출석률이 감소한다 - 출석 이벤트가 진행된 시즌 1,2는 이벤트와 함께 (일시적으로) 출석률이 증가한다 - 이벤트가 없었던 시즌 3,4는 출석률이 계속 감소한다 Season 1 : D70부터 이벤트 시작 Season 2 : D48부터 이벤트 시작
  • 30. Difference in Differences - 일반적인 회귀 모형을 바탕으로 하기 때문에 쉽게 구현해서 사용할 수 있다 - { 이벤트 기간 여부 + 시즌 정보 + 두 변수의 상호작용 } 으로 
 목표 변수를 설명하는 회귀 모형을 만든다 - 여기서 "두 변수의 상호작용" 부분이
 우리가 알고자 하는 "출석 이벤트의 효과"를 의미한다
  • 31. Difference in Differences (시즌1 vs 시즌3) - R에서 선형 모형을 구성하기 위해 기본 함수 lm 을 사용한다 - 변수 x1, x2, 그리고 x1과 x2의 상호작용으로
 y를 설명하는 모형을 구성한다 - 이벤트를 통해 일평균 출석수 5.28명 상승 효과를 얻었다 - p-value가 0에 가깝기 때문에 통계적으로 유의미하다고 판단
 ( Pr(>|t|) 와 *** 부분 ) - p-value를 해석할 때는 항상 주의!!
  • 32. Difference in Differences (시즌4 vs 시즌3) - 이벤트를 진행하지 않았던 두 개 시즌을 비교해보자 - 이벤트 기간의 효과로 출석수가 0.39 감소하는 효과가 나왔다 - 하지만 수치가 작고, p-value가 0.688 로 매우 높기 때문에
 통계적으로 의미가 있기 보다는 우연히 나온 값일 가능성이 높다
  • 33. CausalImpact (시즌1 vs 시즌3) - 다음과 같은 형태로 데이터를 준비한다 - y : 시즌1의 일별 출석자수 - days : 시즌별 출석일자 (1~100) - n_attends : 시즌3의 일별 출석자수
  • 34. CausalImpact (시즌1 vs 시즌3) - CausalImpact 함수로 이벤트 효과를 추정한다 - 이벤트로 인해 출석자 수가 3.5명 상승하는 효과를 얻었다 - 95% 신뢰구간이 [2.2, 4.7] 로 0을 포함하지 않기 때문에
 통계적으로도 유의미한 결과로 보인다
  • 35. 실제값(실선)과 예측값(점선) 비교 일별 이벤트 효과 추정 누적 이벤트 효과 추정
  • 36. CausalImpact (시즌4 vs 시즌3) - 이벤트가 없었던 두 시즌에 대해 CausalImpact를 적용해보자 - 이벤트 기간에 출석자 수가 2.6명 상승하는 효과가 있었다 - 다만 95% 신뢰구간이 [-0.042, 5.5] 로 0을 포함하고 있다 - 통계적으로 유의미한 수준으로 출석수가 상승하지는
 않은 것으로 해석할 수 있다
  • 37. 실제값(실선)과 예측값(점선) 비교 일별 이벤트 효과 추정 누적 이벤트 효과 추정
  • 38.
  • 39. Summary - 이벤트의 효과를 확실하게 측정하는 방법은 A/B 테스트를 해보는 것이지만, 테스트하기 어려울 때도 있다 - 몇 가지 가정과 다양한 데이터를 바탕으로 모델링해서
 이벤트의 효과를 추정해 볼 수 있다 - Difference in Differences, Synthetic Control, CausalImpact 등 
 다양한 방법론을 활용해보자
  • 40. Reference - CausalImpact - https://github.com/google/CausalImpact - https://google.github.io/CausalImpact/CausalImpact.html - https://storage.googleapis.com/pub-tools-public-publication-data/pdf/41854.pdf - DD & Synthetic Control - https://youtu.be/j5DoJV5S2Ao - https://towardsdatascience.com/causal-inference-using-difference-in-differences-causal- impact-and-synthetic-control-f8639c408268