정확한 제목 : 100+ 팀원의 의사결정에 영향을 주는 Data Scientist, Decision
좋은 글이라 정리해봅니다
당근마켓의 분석 직군
- Data Scientist, Decision : 전사의 데이터 기반 의사 결정을 더 좋은 방향으로 개선. 100명 이상에게 영향
- Data Analyst : 함께 일하는 프로덕트 팀의 의사 결정에 도움
배경
- 최초에 중고거래팀 DA로 일함
- 그로스팀을 만들며 여러 시도를 진행함. 중고거래 서비스를 사용하는 사용자들의 Aha Moment 찾기
- AB Test 자체 구축하기 : colab에서 실행하다보니 DA가 병목이 됨. 따라서 실험 기반 의사결정 정착이 어려웠음
실험 플랫폼
- 실험플랫폼 : 실험을 진행하고 결과를 볼 수 있는 플랫폼. 더 구체적으로 아래 기능이 중요
- Trigger Analysis : 특정 실험에 참여했다는 Trigger 개념 도입
- Metric Definition : 지표 정의
- SRM & outlier elimination : 신뢰성을 올리기 위한 작업
- Statistics engine : 통계 계산
- 현재 진행된 실험 350+개, 진행한 분은 80명
Triggered Analysis
- 실험에 참여한 사용자들 대상으로만 결과 분석
- 필요한 기능
- Triggering event logging
- 위 이벤트를 토대로 사용자 필터링
- 위 이벤트 이후의 이벤트만 사용하도록 필터링
Metric Definition
- 과거 지표 정의 : SQL로 진행
- 생기는 이슈
- SQL이 길어지다보니 잘못 작성
- 지표 이해가 서로 다름
- 지표를 누구나 정의하기 어려운 문제
- 같은 지표를 여러 실험에 활용하지 못함
- 실험에서 자주 사용하는 지표
- conversion ratio
- retention
- total ratio
- count
- value sum : 1인당 총 합해서 얼마를 했는지
- 구조화
- metrics.yaml : 최종적인 지표 스펙 정의
- subject_events.yaml : metrics은 subject_event의 조합 및 연산 방법의 정의로 계산됨. SQL문을 활용해 재사용
- events/*.sql : subject_event가 사용하는 재료. 사용자가 어떤 이벤트를 언제 일으켰는지
SRM & outlier elimination
- SRM(Sample Ratio Mismatch)
- 무작위 배분이 제대로 동작하지 않은 경우가 있음 => 통계적 추론은 의미를 잃음
- P value가 0.001 이하인 경우 SRM이 발생했다고 보고 후속 조치를 취함
- 실험 신뢰성을 올리기 위해 아웃라이어 제거
- 통계적으로 극적으로 떨어진 대상
- 평균으로부터 표준편차의 30배 이상 떨어지면 아웃라이어라고 정의
Statistics enginer
- NHST(Null Hopothesis significance testing) + two sample t test
- 실험군과 대조군 표준편차가 다를 수 있는 가능성을 염두하고 Welch's tow sample t test로 구현
- 검정력을 0.8로 놓고 계산한 후 필요한 사용자 수 계산
- 일반적인 power analysis가 아닌 MDE를 계산해서 알려주기
Data Scientist, Decision으로 일하며 느낀 점
- 팀워크가 중요하다 : 혼자 일했던 것을 팀워크로 같이 한다
- 임팩트를 내려면 더 긴 시간이 필요하다
- 표준이 되려면 많은 공부를 해야한다
- 끝없이 개선해야 한다
당근마켓 채용한다고 하니 관심 부탁드립니다-!
https://medium.com/daangn/100-%ED%8C%80%EC%9B%90%EC%9D%98-%EC%9D%98%EC%82%AC%EA%B2%B0%EC%A0%95%EC%97%90-%EC%98%81%ED%96%A5%EC%9D%84-%EC%A3%BC%EB%8A%94-data-scientist-decision-5c939e8a3ea9