콘텐츠로 건너뛰기
Telemetry
제품 분석 SQL 레시피

주간 코호트 유지율 계산

첫 번째 활동 주별로 사용자를 그룹화하고 이후 몇 주 동안 돌아오는 비율을 측정합니다.

고급product_events검토됨 2026-07-27테스트됨 아파치 DataFusion 45.2.0

검토자 Telemetry 제품 팀 . SQL 호환성, 이벤트 계약, 합성 출력 및 운영상의 주의사항. 표준 및 소유권 검토

질문에 답변됨

각 가입 코호트의 몇 퍼센트가 1주부터 12주까지 돌아오나요?

단일 유지율에는 성숙한 사용자와 새로 확보된 사용자가 혼합되어 있습니다. 코호트는 시작 주를 보존하므로 제품 또는 인수 변경 사항을 동일한 조건으로 비교할 수 있습니다.

이벤트 계약

쿼리가 예상하는 필드

필드유형그것이 존재하는 이유
timestamp_utcTimestamp활동이 발생한 시간입니다.
user_idUtf8안정적인 사용자 식별자.
event_nameUtf8제품 이벤트 이름.
DataFusion SQL

쿼리 복사

sql
WITH first_activity AS (
  SELECT
    user_id,
    date_trunc('week', MIN(timestamp_utc)) AS cohort_week
  FROM product_events
  WHERE event_name = 'first_value_completed'
  GROUP BY user_id
),
weekly_activity AS (
  SELECT DISTINCT
    user_id,
    date_trunc('week', timestamp_utc) AS activity_week
  FROM product_events
  WHERE event_name = 'core_feature_used'
),
cohort_activity AS (
  SELECT
    f.cohort_week,
    (date_part('epoch', a.activity_week)
      - date_part('epoch', f.cohort_week)) / 604800 AS week_number,
    COUNT(DISTINCT a.user_id) AS retained_users
  FROM first_activity f
  JOIN weekly_activity a ON f.user_id = a.user_id
  WHERE a.activity_week >= f.cohort_week
  GROUP BY
    f.cohort_week,
    (date_part('epoch', a.activity_week)
      - date_part('epoch', f.cohort_week)) / 604800
),
cohort_sizes AS (
  SELECT cohort_week, COUNT(*) AS cohort_size
  FROM first_activity
  GROUP BY cohort_week
)
SELECT
  c.cohort_week,
  c.week_number,
  c.retained_users,
  s.cohort_size,
  100.0 * c.retained_users / NULLIF(s.cohort_size, 0) AS retention_pct
FROM cohort_activity c
JOIN cohort_sizes s ON c.cohort_week = s.cohort_week
WHERE c.week_number BETWEEN 0 AND 12
ORDER BY c.cohort_week, c.week_number;

이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.

쿼리 결과

활성화 코호트별 주간 유지율

이전 집단은 1주차에 사용자의 절반을 유지했습니다. 새로운 집단은 아직 1주차 비교를 할 만큼 충분히 성숙하지 않았습니다.

cohort_weekweek_numberretained_userscohort_sizeretention_pct
2026-07-20044100
2026-07-2012450
2026-07-27033100

합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.

Weekly retention by activation cohort: Calculate Weekly Cohort Retention 예제 결과의 합성 retention_pct 값에 대한 정적 차트
결정론적 예제 출력의 색인 생성 가능한 SVG입니다. 기사, 런북 또는 저작자가 포함된 디자인 검토를 위해 다운로드하세요.

예제 재현

공공 픽스처 다운로드

JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. reproducible 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.

SQL 작동 방식

  1. 1첫 번째 CTE는 가치 마일스톤을 처음 완료한 주부터 각 사용자의 코호트를 정의합니다.
  2. 2주간 활동은 중복 제거되므로 한 주의 여러 이벤트가 유지된 사용자 한 명으로 계산됩니다.
  3. 3타임스탬프 차이는 일 단위에서 코호트 간에 비교할 수 있는 주 단위 오프셋으로 변환됩니다.

결정해야 할 극단적인 경우

  • 다양한 연령대의 집단을 비교할 때 불완전한 향후 주를 제외하세요.
  • 페이지 보기가 아닌 의미 있는 활동에서 반환 동작을 정의합니다.
  • UTC 주 경계는 비즈니스 시간대와 일치하지 않을 수 있습니다. 선택한 경계를 문서화하십시오.

추천 대시보드

  • 히트맵 스타일 테이블: cohort_week by week_number
  • 꺾은선형 차트: retention_pct by week_number 분할 by cohort_week
  • 통계: 성숙한 집단의 4주차 유지율

알림 안내

리텐션은 일반적으로 페이징이 아닌 추세로 검토됩니다. 1주차 또는 4주차 유지율이 예상 범위를 벗어나면 성숙한 집단에 플래그를 지정합니다.

알림 설정 읽기

레시피를 활용해 보세요

관련 계측 및 가이드

분석 계속하기

실제 이벤트에서 실행

테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.

무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.

API 키 받기