듀오링고 블로그 참조
의미 있는 지표
어떻게 데이터가 프로덕트 팀의 목적을 더 날카롭게 만들어주는가!
1. 듀오링고 현황
- 많은 회사들이 마케팅에 돈을 지불해서 성장하려하지만, 듀오링고는 대부분 'organically'하게 진입한 고객을 가지고 있다.
- 추천으로 들어온 고객들이 들어와 서비스를 사용하다 보니, 점차 더 많은 기능을 찾고 결과적으로 유료 고객으로 전환되감
-좋은 이야기지만, 이러한 상황을 유지하는 것을 어려움
-> 많은 고객이 생길수록 다양한 수요가 생기기 때문
- 따라서 듀오링고는 movable metrics that matter를 중심으로 수많은 A/B 테스트를 진행
그래서 Movable Metrics that Matter 를 어떻게 정하는가?
2. 성장모델
- 2018년 많은 성장 이후 DAU의 정체 겪음
- 우리가 어떻게 DAU를 더 세분화 할 수 있을까? (더 의미있고, 더 쉽게 최적화할 수 있도록)
우선 고객을 활동 상태에 따라 분류하고, 각 상태 별로 변환율을 확인, 이 변환율은 retention, deactivation, activation rate로
이 모델은 고객을 7개의 상호독립적인 상태로 분류
- 신규고객 : 듀오링고를 처음으로 경험한 고객
- 유지고객 : 오늘 사용했고, 지난 주에도 사용한 고객
- 재활동고객 : 오늘 사용했고, 지난 달에도 사용했지만, 지난 주에는 사용하지 않은 고객
- 부활고객 : 오늘 사용했으나, 30일이 넘는 기간동안 사용하지 않은 고객
- 위험 주간 활동고객 : 지난 한 주는 사용했지만, 오늘은 사용하지 않은 고객
- 위험 월간 활동고객 : 지난 달에는 사용했지만, 지난 주에는 사용하지 않은 고객
- 휴면고객 : 지난 30일간 사용하지 않은 고객
듀오링고는 이 각 고객군 간의 변환 비율을 확인
예시
(1) 한 무리의 신규 고객이 day 1에 듀오링고 사용
(2) 일부는 다음 날에도 사용
(3) (2)에서의 일부는 NURR로 -> day2 전환은 (2)의 고객을 active 상태로 둠(유지고객으로)
- 혹시 새로운 기기로 인해 기존 고객이 신규 고객으로 변환된다면?
-> 다양한 기기에 대한 고객을 'alising'이라는 세밀한 방식으로 해결
-> 데이터 사이언스 팀은 'aliasing'을 거친 데이터를 확인
(4) (1)의 무리 중 day 2에 사용하지 않은 고객에 대해서, 이들은 '비활동'상태로 전환 -> 위험 주간 활동고객(At Risk WAU's)
-> DAU는 아니지만 지난 주에 사용 이력이 있는 고객이기 때문에 이러한 이름을 붙임. 이 비활동 고객들은 '위험 주간 활동고객'에 7일간 머물게 됨
(5) 7일이 지나면 이들은 '위험 월간 활동고객'으로 변환(At Risk MAU's), 최대 22일간 여기 머물게 됨. 다시 사용하게 되면 이들은 '재활동고객'으로 전환됨.
(6) 30일 간 사용하지 않게 되면 이들은 '휴면고객'으로 전환되고 재사용하기까지 지속적으로 여기 있게 됨. 다시 사용하게 되면 이들은 '부활 고객'으로 전환
각 비활동 상태(위험주간, 위험월간, 휴면)은 두가지 전환이 있으며, 이전에 두 번의 전환을 최소한 겪게 됨.
새로운 'Movable' 지표 찾기
-
위에서의 성장모델과 여태까지의 훈련된 데이터를 통해, 듀오링고는 성장 시뮬레이션을 수행. 이 시뮬레이션의 목표는 새로운 지표(최적화 되었을 때 DAU를 상승시킬 수 있는)를 확인하는 것.
-
듀오링고는 시스템을 통해 각 '레버'를 당겼을 때 DAU에 어떤 변화가 있는 지 확인.
-
아래 그림은 만약 각 상태 전환이 2%씩 월 성장을 할 때 이뤄지는 결과를 보여줌
-
현재 결과는 : 유지고객 전환율(CURR)을 2% 씩 증가시키면, DAU에 가장 큰 영향을 준다.
-
이후 A/B 테스트를 진행 (1) CURR이 우리가 변화시킬 수 있는 지표인지, (2) 변화하는 CURR이 실제 DAU를 변화시키는지(상관이 아닌 인과관계로서)
-
결과는 성공적, movable metric에 집중하는 팀과 함께 DAU의 성장은 이뤄졌고, 연간 지속적인 성장을 확인할 수 있었음
3. 다음 목표 : 단순 집계 지표를 넘어서
- 2018년 DAU 성장의 정체에서 '성장 모델'은 새로운 성장에 대한 지평을 열어주었다.
- 2023을 앞두고, DAU 성장은 여전히 강하고 지속적이다.
- CURR 은 지속적으로 올라가지만, 두가지 질문을 던지기 시작
(1) CURR 상승의 한계는 어디인가?
-> 아직 성장하고 있지만 선제적으로 문제를 예방하고 싶음
(2) 단순 평균을 함으로 인해 다양한 고객의 데이터를 감소시킴으로 우리가 놓치는 것은 무엇인가?
-> 평균은 편리하지만, 다양한 상태에 대해서 파악하기 어려워짐, 현재 현존 고객은 하나의 거대한 고객군으로 되어버림
- (2)로 인해서 현재 CURR은 점점 현존 고객의 행동 패턴에 대한 부정확한 측정 지표가 되어가며, 우리는 지표가 점차 변화하지 않는 위험에 처할 수 있음.
- 이런 점을 명심하고 우리는 bottom up 방힉으로 고객을 나눠나가 현재 top-down 방식을 보완해주어야함.
- top-down이 우리의 이미 인지하고 있는 생각 속에서 나타난다면, bottom-up은 기존 방식을 넘어선 새로운 시각을 보여줄 수 있을 것
참고
DAUt=ReactivatedUsert+NewUsert+ResurrectedUsert+CurrentUsert
WAUt=ReactivatedUsert+NewUsert+ResurrectedUsert+CurrentUsert+AtRiskWAUt
MAUt=ReactivatedUsert+NewUsert+ResurrectedUsert+CurrentUsert+AtRiskWAUt+AtRiskMAUt
Active states
ReactivatedUsert=ReactivationRatet∗AtRiskMAUt−1
ResurrectedUsert=ResurrectionRatet∗DormantUserst−1
CurrentUsert=NewUsert−1∗NURRt+ReactivatedUsert−1∗RURRt+ResurrectedUsert−1∗SURRt+CurrentUsert−1∗CURRt+AtRiskWAUt−1∗WAURRt
Inactive states
DormantUsert=DormantUsert−1∗DormantRRt+AtRiskMAUt−1∗MAULossRatet
AtRiskMAUt=AtRiskMAUt−1∗ARMAURRt+AtRiskWAUt−1∗WAULossRatet
AtRiskWAUt=AtRiskWAUt−1∗ARWAURRt+CurrentUsert−1∗(1−CURRt)+ReactivatedUsert−1∗(1−RURRt)+NewUsert−1∗(1−NURRt)+ResurrectedUsert−1∗(1−SURRt)