피드로 돌아가기
뱅크샐러드 기술블로그Backend
원문 읽기
뱅크샐러드의 실험플랫폼 분석 인프라 살펴보기
뱅크샐러드가 Python Notebook 기반 수동 분석에서 Pyspark 자동 파이프라인으로 전환해 Data Scientist 주간 2시간 리소스 절감 및 인적 오류 제거
AI 요약
Context
실험플랫폼이 성장하면서 첫 번째 수동 분석 인프라(Python Notebook 기반)의 한계가 드러났다. 매주 Data Scientist & Analyst가 AWS Sagemaker에 접속해 Script를 실행하고 결과를 문서화하는 반복 작업으로 주당 2시간의 인적 리소스가 소모되었고, 수동 입력 값(실험명, 분석 기간 등)의 오류로 인한 데이터 정합성 문제가 발생했으며, 새로운 분석 방법론 추가 시 전체 코드 파악이 필요한 확장성 문제가 있었다.
Technical Solution
- Metric Configuration 도입: 실험 지표별로 필요한 정보를 조회하는 Event Query와 계산 방법을 정의하는 Aggregation Query를 중앙에서 관리
- Data Preparation 단계 구축: Experiment Information(실험 정의 정보), Trigger Event(사용자 실험 노출 시점), Subject Event(노출 이후 사용자 이벤트)를 각 Context별로 구조화
- Metric Calculation 파이프라인 개발: 실험 노출 시점 이후 데이터만 추출한 Experiment Event → Subject 단위 집계 → 지표 단위 통계 계산 → 최종 분석 결과 도출의 3단계 프로세스 자동화
- Two-sample z-test 통계 방법론 적용: 지표 수치, 지표 차이, p-value, 신뢰구간, 표준편차, Minimum Detectable Effect를 자동 계산
- 실험플랫폼 UI 통합: 자동 계산된 분석 결과를 UI에서 직접 확인 가능하도록 제공해 Python 이해 없이도 접근 가능
Impact
- Data Scientist & Analyst 주간 리소스 2시간 절감
- 수동 입력 오류로 인한 데이터 정합성 문제 제거
- 실험 결과 확인 빈도 증가로 데이터 기반 의사결정 성숙도 향상
Key Takeaway
실험 분석 인프라를 자동화할 때 Metric Configuration으로 지표 정의를 중앙화하고 Data Preparation에서 분석 단위별 데이터 구조화를 명확히 하면, 새로운 분석 방법론 추가 시 기존 코드 수정 없이 확장 가능한 구조를 만들 수 있다.
실천 포인트
A/B 테스트 플랫폼을 구축하는 팀에서 초기 단계의 수동 분석으로 빠르게 검증하되, 실험 수가 증가하면 Metric Configuration으로 지표 정의를 분리하고 Data Preparation에서 Trigger Time 기준의 데이터 정제를 자동화하면, 인적 오류를 제거하고 분석 인프라 확장성을 확보할 수 있다.