Standardizing User Activation: How We Built a Shared Data Layer at Karrot
아키텍처
Standardizing User Activation: How We Built a Shared Data Layer at Karrot
두줄요약
카라트는 사용자 활성화 분석을 공통 Activation Layer로 표준화했습니다. 팀별 ad hoc 쿼리 대신 DBT 기반 모델로 신뢰성과 운영 안정성을 높였습니다.
핵심 내용
- 카라트의 사용자 활성화(Activation) 분석을 팀별 ad hoc 쿼리에서 벗어나, 조직 공통의 공유 데이터 레이어로 표준화한 사례
- Active User 수만으로는 증감 원인을 설명하기 어려워, 상태(Stock)와 전이(Flow) 관점의 User Activation 프레임워크를 도입
- 공통 레이어에 필요한 항목으로 활동 상태, 상태 전이, 연속성, 재방문 간격, 비활성 기간을 정의
- DBT 기반 계층 위에 FirstLast, Activation, Activation Status 모델을 연결해 신뢰성, 비용, 생산성 문제를 함께 해결하려는 구조 설계
문제 상황
- 팀마다 활성화 기준과 계산 로직이 달라 결과 검증과 재사용이 어려움
- 스케줄 실패, 재처리 등 운영 이슈로 idempotency와 freshness 보장이 흔들림
- Active User 단일 지표만으로는 증가·감소의 원인 분석이 어려움
해결 방법
- 사용자 활성화 기준을 조직 공통의 Activation Layer로 표준화
- Fact 모델을 참조 액션의 기준으로 고정하고, 모델명에 Fact명을 포함하는 네이밍 규칙 적용
- FirstLast 중간 테이블로 첫/이전 발생 시점을 관리해 스캔 비용을 줄이려는 구조 채택