핵심 요약
당근이 Activation Layer를 구축해 per-user 상태와 상태전이를 공통 데이터 레이어에서 제공하고, 신뢰성과 운영 안정성을 확보하며 팀 간 데이터 표준 재사용성을 높였습니다.
구현 방법
- Activation Layer를 DBT 프로젝트의 Base(정제) → Fact(액션 유닛) → Activation(상태/플로우 분석) 순으로 구성
- Activation Layer 위에서 세 모델(FirstLast, Activation, Activation Status)이 단일 Fact 모델을 기반으로 연계되도록 설계
- 참조 액션을 명확히 정의하고 Activation 모델 명명에 Fact 이름을 포함하는 명명 규칙 적용
- 예시: _activation_daily, users_visited_app_activation_daily
- DBT 매크로를 도입해 SQL 작성 없이 Activation 모델을 쉽게 생성하도록 생산성 향상
- FirstLast 모델의 비용 절감을 위해 일일 스냅샷 방식 도입 및 백필 관리 최적화
- 세 모델의 데이터 흐름으로 Activation 분석에 필요한 상태/전환 정보를 순차적으로 생성
주요 결과
- 신뢰성 및 재사용성: 명확한 참조 액션 정의로 결과의 해석이 일관되고 여러 팀이 표준을 재사용 가능
- 비용 및 성능: 일일 스냅샷 기반 접근으로 스캔 범위와 계산 비용을 크게 줄이고 백필 처리 효율을 높임
- 생산성: SQL 작성 없이 DBT 매크로로 신규 Activation 모델을 빠르게 생성 가능
- 데이터 품질 관찰: 모니터링을 통한 이슈 조기 탐지 및 대응 가능