프로덕트 사용 주기
Usage Interval
프로덕트 사용 주기(Usage Interval)는 유저가 핵심 가치를 경험하기 위해 프로덕트에 재방문하는 자연스러운 간격입니다. 리텐션(Retention) 분석 시 DAU/WAU/MAU 중 어떤 기준을 택할지 결정하는 핵심 기준이 됩니다. '일정 기간(예: 30일) 동안 핵심 행동을 N회 이상 수행한 유저'의 재방문 간격을 분석하여 산출합니다.
📖 개념 정의 및 실무 적용
실무에서 리텐션을 측정할 때 아무런 근거 없이 MAU나 WAU를 고르면 지표가 왜곡되거나 액션 타점을 놓치기 쉽습니다. 예를 들어, 배달 앱은 주 1~2회 사용이 자연스럽지만, 부동산 앱은 몇 달에 한 번 쓰일 수 있습니다. 사용 주기를 정확히 정의하지 않으면 프로덕트의 실제 건강 상태를 오진하게 되어 마케팅 예산과 리소스가 엉뚱한 곳에 낭비됩니다.
이 개념을 도입하면 우리 프로덕트의 본질적인 호흡에 맞는 리텐션 코호트를 설계할 수 있습니다. 유저가 이탈했다고 판단하는 기준(Inactivity Threshold)을 명확히 세워줌으로써, 푸시 알림 타이밍이나 리인게이지먼트(Re-engagement) 마케팅 캠페인의 효율을 극대화하고 불필요한 그로스 실험 리소스를 절감할 수 있습니다.
WITH user_actions AS ( SELECT user_id, CAST(event_timestamp AS DATE) AS event_date, LAG(CAST(event_timestamp AS DATE)) OVER (PARTITION BY user_id ORDER BY event_timestamp) AS prev_event_date FROM analytics_events WHERE event_name = 'core_value_action'), interval_calc AS ( SELECT user_id, DATE_DIFF(event_date, prev_event_date, DAY) AS days_between FROM user_actions WHERE prev_event_date IS NOT NULL)SELECT APPROX_QUANTILES(days_between, 100)[OFFSET(50)] AS median_usage_interval, APPROX_QUANTILES(days_between, 100)[OFFSET(75)] AS p75_usage_intervalFROM interval_calc WHERE days_between <= 90;
⚡ 5분 만에 적용하는 실행 스텝
코어 액션 정의: 유저가 프로덕트에서 가장 중요한 가치를 얻는 단 하나의 핵심 이벤트(예: 콘텐츠 생성, 주문 완료)를 확정합니다.
데이터 추출: 최근 90일~180일 동안 해당 코어 액션을 2회 이상 수행한 유저들의 이벤트 발생 간격(일 단위) 데이터를 SQL로 추출합니다.
중앙값(Median) 산출: 평균값은 극단적인 헤비 유저에 의해 왜곡되므로, 전체 유저 간격 데이터의 50번째 백분위수(Median)를 계산합니다.
리텐션 주기 매핑: 계산된 중앙값이 1~2일이면 DAU, 3~7일이면 WAU, 14일 이상이면 MAU 기반의 코호트 분석 프레임워크를 적용합니다.
🚀 실무자만 아는 한 끗 차이 Pro Tip
⚠️ 흔히 하는 실수 & 주의사항 (삽질 방지)
❓ 자주 묻는 질문 (FAQ)
사용 주기가 주 2회(약 3.5일)로 애매하게 나오면 WAU로 봐야 하나요, DAU로 봐야 하나요?
이 경우 WAU(주간 활성 유저)를 기준으로 리텐션 코호트를 설계하는 것이 안전합니다. DAU로 보기에는 매일 쓰지 않는 프로덕트 특성상 유저가 자연스럽게 이탈한 것으로 오인할 수 있기 때문입니다.
B2B SaaS와 같이 주말에 안 쓰고 평일에만 쓰는 프로덕트는 사용 주기를 어떻게 구하나요?
B2B SaaS는 주말을 제외한 '비즈니스 데이(Business Days)'를 기준으로 날짜 간격을 계산해야 정확합니다. SQL 추출 시 주말을 제외하거나, 주 단위(Weekly) 집계 방식을 적용하는 것을 권장합니다.