Causal Inference KR 커뮤니티에서 진행한 발표입니다.
프로덕트 개발 조직의 데이터 분석가로 일하며 진행했던 인과추론 분석을 회고하는 내용입니다.
자료 조회가 안되실 경우 https://drive.google.com/file/d/1GAuAqggoxbX50EEwdzTaV4z4G0j8pLRf/view?usp=sharing 를 확인해주세요.
1. 인과추론에 빠져드는 이유
2. A/B 테스트의 현실, 왜 안된다고 할까?
3. 실험이 예상치 못한 지표를 침해했다
4. 기능을 늘리는 게 MAU 성장에 도움이 될까?
이윤희 : 다짜고짜 배워보는 인과추론
발표영상 https://youtu.be/fShRiqe1Cf0
---
PAP가 준비한 팝콘 시즌1에서 프로덕트와 함께 성장하는 데이터 실무자들의 이야기를 담았습니다.
---
PAP(Product Analytics Playground)는 프로덕트 데이터 분석에 대해 편안하게 이야기할 수 있는 커뮤니티입니다.
우리는 데이터 드리븐 프로덕트 문화를 더 많은 분들이 각자의 자리에서 이끌어갈 수 있도록 하는 것을 목표로 합니다.
다양한 직군의 사람들이 모여 프로덕트를 만들듯 PAP 역시 다양한 멤버로 구성되어 있으며, 여러분들의 참여로 만들어집니다.
---
공식 페이지 : https://playinpap.oopy.io
페이스북 그룹 : https://www.facebook.com/groups/talkinpap
팀블로그 : https://playinpap.github.io
Causal Inference : Primer (2019-06-01 잔디콘)Minho Lee
- 2019-06-01 잔디컨퍼런스(잔디콘, @구글캠퍼스) 에서 발표한 자료입니다
- 데이터를 통해 인과관계를 추론하는 방법에 대해서 알아봅니다
- Potential Outcomes, Causal Graphical Models 에 대해 간단히 살펴봅니다
- 슬라이드 내에 오타가 있습니다 ㅠㅠ
- 22p, 28p : Perkson's 가 아니라 Berkson's Paradox 입니다
최보경 : 실무자를 위한 인과추론 활용 - Best Practices
발표영상 https://youtu.be/wTPEZDc6fw4
---
PAP가 준비한 팝콘 시즌1에서 프로덕트와 함께 성장하는 데이터 실무자들의 이야기를 담았습니다.
---
PAP(Product Analytics Playground)는 프로덕트 데이터 분석에 대해 편안하게 이야기할 수 있는 커뮤니티입니다.
우리는 데이터 드리븐 프로덕트 문화를 더 많은 분들이 각자의 자리에서 이끌어갈 수 있도록 하는 것을 목표로 합니다.
다양한 직군의 사람들이 모여 프로덕트를 만들듯 PAP 역시 다양한 멤버로 구성되어 있으며, 여러분들의 참여로 만들어집니다.
---
공식 페이지 : https://playinpap.oopy.io
페이스북 그룹 : https://www.facebook.com/groups/talkinpap
팀블로그 : https://playinpap.github.io
2021-07-16 잔디콘 시즌6 발표자료
- 베이지안 방법론에 Expected Loss를 활용하여 프로덕트 개선 속도를 높이는 방법에 대해 알아봅니다.
- 개발자 및 통계학 전공자가 아닌 분들을 대상으로 한 발표입니다. 다소 엄밀하지 못한 설명이 포함되었을 수 있으니 양해 부탁드립니다. 잘못된 부분은 답글로 달아주시면 감사하겠습니다.
원본 파일은 다음 링크로 다운로드 받으실 수 있습니다 :)
https://www.dropbox.com/s/zo1er99muu2oj5l/leeminho_til6_bayesian_abtest.pdf?dl=0
Causal Inference KR 커뮤니티에서 진행한 발표입니다.
프로덕트 개발 조직의 데이터 분석가로 일하며 진행했던 인과추론 분석을 회고하는 내용입니다.
자료 조회가 안되실 경우 https://drive.google.com/file/d/1GAuAqggoxbX50EEwdzTaV4z4G0j8pLRf/view?usp=sharing 를 확인해주세요.
1. 인과추론에 빠져드는 이유
2. A/B 테스트의 현실, 왜 안된다고 할까?
3. 실험이 예상치 못한 지표를 침해했다
4. 기능을 늘리는 게 MAU 성장에 도움이 될까?
이윤희 : 다짜고짜 배워보는 인과추론
발표영상 https://youtu.be/fShRiqe1Cf0
---
PAP가 준비한 팝콘 시즌1에서 프로덕트와 함께 성장하는 데이터 실무자들의 이야기를 담았습니다.
---
PAP(Product Analytics Playground)는 프로덕트 데이터 분석에 대해 편안하게 이야기할 수 있는 커뮤니티입니다.
우리는 데이터 드리븐 프로덕트 문화를 더 많은 분들이 각자의 자리에서 이끌어갈 수 있도록 하는 것을 목표로 합니다.
다양한 직군의 사람들이 모여 프로덕트를 만들듯 PAP 역시 다양한 멤버로 구성되어 있으며, 여러분들의 참여로 만들어집니다.
---
공식 페이지 : https://playinpap.oopy.io
페이스북 그룹 : https://www.facebook.com/groups/talkinpap
팀블로그 : https://playinpap.github.io
Causal Inference : Primer (2019-06-01 잔디콘)Minho Lee
- 2019-06-01 잔디컨퍼런스(잔디콘, @구글캠퍼스) 에서 발표한 자료입니다
- 데이터를 통해 인과관계를 추론하는 방법에 대해서 알아봅니다
- Potential Outcomes, Causal Graphical Models 에 대해 간단히 살펴봅니다
- 슬라이드 내에 오타가 있습니다 ㅠㅠ
- 22p, 28p : Perkson's 가 아니라 Berkson's Paradox 입니다
최보경 : 실무자를 위한 인과추론 활용 - Best Practices
발표영상 https://youtu.be/wTPEZDc6fw4
---
PAP가 준비한 팝콘 시즌1에서 프로덕트와 함께 성장하는 데이터 실무자들의 이야기를 담았습니다.
---
PAP(Product Analytics Playground)는 프로덕트 데이터 분석에 대해 편안하게 이야기할 수 있는 커뮤니티입니다.
우리는 데이터 드리븐 프로덕트 문화를 더 많은 분들이 각자의 자리에서 이끌어갈 수 있도록 하는 것을 목표로 합니다.
다양한 직군의 사람들이 모여 프로덕트를 만들듯 PAP 역시 다양한 멤버로 구성되어 있으며, 여러분들의 참여로 만들어집니다.
---
공식 페이지 : https://playinpap.oopy.io
페이스북 그룹 : https://www.facebook.com/groups/talkinpap
팀블로그 : https://playinpap.github.io
2021-07-16 잔디콘 시즌6 발표자료
- 베이지안 방법론에 Expected Loss를 활용하여 프로덕트 개선 속도를 높이는 방법에 대해 알아봅니다.
- 개발자 및 통계학 전공자가 아닌 분들을 대상으로 한 발표입니다. 다소 엄밀하지 못한 설명이 포함되었을 수 있으니 양해 부탁드립니다. 잘못된 부분은 답글로 달아주시면 감사하겠습니다.
원본 파일은 다음 링크로 다운로드 받으실 수 있습니다 :)
https://www.dropbox.com/s/zo1er99muu2oj5l/leeminho_til6_bayesian_abtest.pdf?dl=0
허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
발표영상 https://youtu.be/Yb3UU66XoIM
---
PAP가 준비한 팝콘 시즌1에서 프로덕트와 함께 성장하는 데이터 실무자들의 이야기를 담았습니다.
---
PAP(Product Analytics Playground)는 프로덕트 데이터 분석에 대해 편안하게 이야기할 수 있는 커뮤니티입니다.
우리는 데이터 드리븐 프로덕트 문화를 더 많은 분들이 각자의 자리에서 이끌어갈 수 있도록 하는 것을 목표로 합니다.
다양한 직군의 사람들이 모여 프로덕트를 만들듯 PAP 역시 다양한 멤버로 구성되어 있으며, 여러분들의 참여로 만들어집니다.
---
공식 페이지 : https://playinpap.oopy.io
페이스북 그룹 : https://www.facebook.com/groups/talkinpap
팀블로그 : https://playinpap.github.io
신뢰할 수 있는 A/B 테스트를 위해 알아야 할 것들Minho Lee
2021-09-04 프롬 특강 발표자료입니다.
---
많은 사람들이 A/B 테스트가 중요하다고 말합니다.
그런데 우리는 뭘 믿고 A/B 테스트에 의사결정을 맡기는 걸까요?
A/B 테스트는 그냥 돌리면 성과를 만들어주는 마법의 도구가 아닙니다.
신뢰할 수 있는 실험 결과를 위해 어떤 고민이 더 필요한지 살펴보려고 합니다.
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)Minwoo Kim
- 강의록 전문 읽기: http://bit.ly/2KKtzRA
데이터 분석(데이터 사이언스 말고, 통상적으로 스타트업에서 '데이터 분석'이나 '그로스'에 쓰는 데이터 분석)을 공부하려면, 어떤 기본 개념을 가지고 계시면 좋을지에 대해 만들어 본 강의 자료입니다.
카우앤독에서 지인 위주로 꾸린 강의에서 꽤 좋은 평가를 받았으나, 강의안 준비가 너무 힘들어서 실제 유료 강의로 이어지지는 않은 비운의 슬라이드...
멘탈 모델이란 무엇인지, 지표는 무엇이며 퍼널(Funnel)은 무엇인지, 등등의 이야기를 합니다. 기승전 결론은 SQL 배우세요. (https://brunch.co.kr/@minu-log/4)
박동혁 : 마케터에게 필요한 Data Literacy
발표영상 https://youtu.be/YWbJxCg7y2k
---
PAP가 준비한 팝콘 시즌1에서 프로덕트와 함께 성장하는 데이터 실무자들의 이야기를 담았습니다.
---
PAP(Product Analytics Playground)는 프로덕트 데이터 분석에 대해 편안하게 이야기할 수 있는 커뮤니티입니다.
우리는 데이터 드리븐 프로덕트 문화를 더 많은 분들이 각자의 자리에서 이끌어갈 수 있도록 하는 것을 목표로 합니다.
다양한 직군의 사람들이 모여 프로덕트를 만들듯 PAP 역시 다양한 멤버로 구성되어 있으며, 여러분들의 참여로 만들어집니다.
---
공식 페이지 : https://playinpap.oopy.io
페이스북 그룹 : https://www.facebook.com/groups/talkinpap
팀블로그 : https://playinpap.github.io
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표Dylan Ko
Gonnector(고넥터) 고영혁 대표가 주최한 스타트업 데이터 활용 세미나 '우리가 데이터를 쓰는 법' 의 첫 번째 발표 자료
세미나 : 우리가 데이터를 쓰는 법 (How We Use Data)
일시 : 2016년 4월 12일 화요일 10:00 ~ 18:00
장소 : 마루180 (Maru180) B1 Think 홀
제목 : 좋다는 건 알겠는데 좀 써보고 싶소. 데이터!
연사 : 넘버웍스 하용호 대표
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스Minwoo Kim
2018년 8월 9일, sopoong 액셀러레이팅 워크샵 강의: 데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스.
- 발표 전문 읽기: http://bit.ly/2nrDhPv
데이터에 기반한 성장을 하기 위한 기반들, 필수 선결 조건들에 대해서 이야기해보려고 합니다. 제가 생각하는 필수 선결 조건은 Product-Market Fit, Instrumentation, 그리고 프로세스 이렇게 세 가지입니다. (이건 제가 만들어낸 개념들은 아니고, 기존에 성공적으로 스타트업의 성장을 만들어 냈던 선배들에게서 배운 내용입니다.)
허현 : 닭이 먼저 달걀이 먼저? 그래인저 인과검정
발표영상 https://youtu.be/Yb3UU66XoIM
---
PAP가 준비한 팝콘 시즌1에서 프로덕트와 함께 성장하는 데이터 실무자들의 이야기를 담았습니다.
---
PAP(Product Analytics Playground)는 프로덕트 데이터 분석에 대해 편안하게 이야기할 수 있는 커뮤니티입니다.
우리는 데이터 드리븐 프로덕트 문화를 더 많은 분들이 각자의 자리에서 이끌어갈 수 있도록 하는 것을 목표로 합니다.
다양한 직군의 사람들이 모여 프로덕트를 만들듯 PAP 역시 다양한 멤버로 구성되어 있으며, 여러분들의 참여로 만들어집니다.
---
공식 페이지 : https://playinpap.oopy.io
페이스북 그룹 : https://www.facebook.com/groups/talkinpap
팀블로그 : https://playinpap.github.io
신뢰할 수 있는 A/B 테스트를 위해 알아야 할 것들Minho Lee
2021-09-04 프롬 특강 발표자료입니다.
---
많은 사람들이 A/B 테스트가 중요하다고 말합니다.
그런데 우리는 뭘 믿고 A/B 테스트에 의사결정을 맡기는 걸까요?
A/B 테스트는 그냥 돌리면 성과를 만들어주는 마법의 도구가 아닙니다.
신뢰할 수 있는 실험 결과를 위해 어떤 고민이 더 필요한지 살펴보려고 합니다.
데이터 분석에 필요한 기본 개념: 지표, Funnel 등 데이터를 이해하기 위한 멘탈 모델(Mental Model)Minwoo Kim
- 강의록 전문 읽기: http://bit.ly/2KKtzRA
데이터 분석(데이터 사이언스 말고, 통상적으로 스타트업에서 '데이터 분석'이나 '그로스'에 쓰는 데이터 분석)을 공부하려면, 어떤 기본 개념을 가지고 계시면 좋을지에 대해 만들어 본 강의 자료입니다.
카우앤독에서 지인 위주로 꾸린 강의에서 꽤 좋은 평가를 받았으나, 강의안 준비가 너무 힘들어서 실제 유료 강의로 이어지지는 않은 비운의 슬라이드...
멘탈 모델이란 무엇인지, 지표는 무엇이며 퍼널(Funnel)은 무엇인지, 등등의 이야기를 합니다. 기승전 결론은 SQL 배우세요. (https://brunch.co.kr/@minu-log/4)
박동혁 : 마케터에게 필요한 Data Literacy
발표영상 https://youtu.be/YWbJxCg7y2k
---
PAP가 준비한 팝콘 시즌1에서 프로덕트와 함께 성장하는 데이터 실무자들의 이야기를 담았습니다.
---
PAP(Product Analytics Playground)는 프로덕트 데이터 분석에 대해 편안하게 이야기할 수 있는 커뮤니티입니다.
우리는 데이터 드리븐 프로덕트 문화를 더 많은 분들이 각자의 자리에서 이끌어갈 수 있도록 하는 것을 목표로 합니다.
다양한 직군의 사람들이 모여 프로덕트를 만들듯 PAP 역시 다양한 멤버로 구성되어 있으며, 여러분들의 참여로 만들어집니다.
---
공식 페이지 : https://playinpap.oopy.io
페이스북 그룹 : https://www.facebook.com/groups/talkinpap
팀블로그 : https://playinpap.github.io
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표Dylan Ko
Gonnector(고넥터) 고영혁 대표가 주최한 스타트업 데이터 활용 세미나 '우리가 데이터를 쓰는 법' 의 첫 번째 발표 자료
세미나 : 우리가 데이터를 쓰는 법 (How We Use Data)
일시 : 2016년 4월 12일 화요일 10:00 ~ 18:00
장소 : 마루180 (Maru180) B1 Think 홀
제목 : 좋다는 건 알겠는데 좀 써보고 싶소. 데이터!
연사 : 넘버웍스 하용호 대표
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스Minwoo Kim
2018년 8월 9일, sopoong 액셀러레이팅 워크샵 강의: 데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스.
- 발표 전문 읽기: http://bit.ly/2nrDhPv
데이터에 기반한 성장을 하기 위한 기반들, 필수 선결 조건들에 대해서 이야기해보려고 합니다. 제가 생각하는 필수 선결 조건은 Product-Market Fit, Instrumentation, 그리고 프로세스 이렇게 세 가지입니다. (이건 제가 만들어낸 개념들은 아니고, 기존에 성공적으로 스타트업의 성장을 만들어 냈던 선배들에게서 배운 내용입니다.)
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다Evion Kim
DEVIEW 2013 발표 내용입니다 - http://deview.kr/2013/detail.nhn?topicSeq=36
링크드인 플랫폼 상의 다양한 Recommendation Product들, 이 제품들의 키워드는 바로 'Relevance(연관성)' 입니다. 가장 관련있는 데이터들을 제공함으로써 사용자의 삶을 더 쉽고 편하게 만들어 주는것이 링크드인 데이터 팀의 목표라 할 수 있겠습니다. 그렇다면 어떻게 해야 사용자에게 가장 연관성 높은 데이터를 제공 할 수 있을까요? 이에 대한 답을 한문장으로 요약하자면 '어제의 데이터를 분석하여 내일의 사용자의 행동을 예측한다' 가 될 것 같습니다.
본 발표에서는 이 한 문장을 좀 더 길게 풀어보려 합니다. 링크드인에서는 Hadoop, Key-Value Storage, Machine Learning등의 기술을 어떤 식으로 활용하여 연관성 높은 Recommendation Product를 만들고 있는지에 대해 소개해보겠습니다.
221105 UX/UI 해외 인기 아티클 7기 : 1주차 발표Minho Lee
2022-11-05 [프롬디자이너] UX/UI 해외 인기 아티클 스터디 7기 중 1주차 발표자료입니다.
- 작업을 깔끔하게 유지해줄 6가지 피그마 규칙
- 디자인 시스템 색상표의 "진한 노란색 문제”
- 보다 빠른 디자인-개발 핸드오프를 위한 접근성을 준수하며 조화로운 타이포그래피 시스템을 만드는 프레임워크
220806 UX/UI 해외 인기 아티클 6기 : 3주차 발표Minho Lee
2022-08-06 [프롬디자이너] UX/UI 해외 인기 아티클 스터디 6기 중 3주차 발표자료입니다.
1️⃣ 피그마에서 웹 디자인을 할때 반응형과 유동적인 그리드를 구축하는 방법
2️⃣ 나쁜 UX 디자인 - SaaS에서 피하지 못한 최악의 UX 디자인 13가지
3️⃣ UI 디자이너로 빠르게(쉽지는 않겠지만) 성장하는 방법
발표자료 원본 링크 : https://bit.ly/3P4aFpK
2022-03-19 해외인기아티클 5기 발표자료입니다.
2021년 10월 1주차 해외 인기 아티클
- 타이포그래피 크기를 만들 때 피해야될 실수 5가지 (2021년)
- 스타트업에서 당신이 유일한 디자이너일 때 디자인 시스템을 구축하는 방법
- 당신이 알아야 할 10가지 기본 UI 디자인 원칙
페이스북 그룹 UI LAB에 공유되는 아티클 중에서 2020년 3월 4주차에 인기 있었던 3가지 글을 정리하여 공유했습니다 :D
• UX 디자인을 위한 10가지 필수 인지 및 행동 패턴
• 웹 타이포그래피 디자인에 대해 알아야 할 모든 것
• UX 리서치 프로세스 머신 러닝 적용하기
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%)
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가 클릭한 상품이 피드에 노출되어 구매했다
- 실험이 대조군까지 영향을 미쳤기 때문에 명확한 인과관계를 파악하기 어려워진다
- 비용 등 현실적인 문제
- 윤리적 문제
- 페이스북의 감정 조작 실험
- 페이스북 사용자에게 특정 감정과 관련된 게시물들이 노출되는 것이 실제 사용자의 감정에 어떤 영향을 미치는지 실험 진행
- 이럴 때는 어떻게 하면 좋을까?
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 : 전체 기간의 데이터를 바탕으로 학습하여
출석 이벤트 기간에 이벤트가 없었을 경우를 시뮬레이션한다
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을 포함하지 않기 때문에
통계적으로도 유의미한 결과로 보인다
36. CausalImpact (시즌4 vs 시즌3)
- 이벤트가 없었던 두 시즌에 대해 CausalImpact를 적용해보자
- 이벤트 기간에 출석자 수가 2.6명 상승하는 효과가 있었다
- 다만 95% 신뢰구간이 [-0.042, 5.5] 로 0을 포함하고 있다
- 통계적으로 유의미한 수준으로 출석수가 상승하지는
않은 것으로 해석할 수 있다
39. Summary
- 이벤트의 효과를 확실하게 측정하는 방법은 A/B 테스트를 해보는 것이지만,
테스트하기 어려울 때도 있다
- 몇 가지 가정과 다양한 데이터를 바탕으로 모델링해서
이벤트의 효과를 추정해 볼 수 있다
- Difference in Differences, Synthetic Control, CausalImpact 등
다양한 방법론을 활용해보자