해결된 질문
작성
·
89
0
리텐션 연습 문제 푸는 중에 어려운 점이 있어 질문 남깁니다!
click_payment 이벤트 기준으로 cohort 리텐션 분석 쿼리 올바르게 작성했을까요? 유저수의 합계가 0주차일때 안 맞는 거 같습니다...
코호트 분석 시각화 했을 때 저렇게 비어 보이는 경우에는 어떻게 해석하면 좋을까?
WITH base AS (
SELECT
DISTINCT
user_id,
event_name,
TIMESTAMP_MICROS(event_timestamp) AS event_datetime,
DATE(TIMESTAMP_MICROS(event_timestamp)) AS event_date,
user_pseudo_id
FROM `advanced.app_logs`
WHERE
event_date > '2022-08-01'
AND
event_name = 'click_payment'
)
,first_week_data AS (
SELECT
DISTINCT
user_pseudo_id,
DATE_TRUNC(MIN(event_date) OVER(PARTITION BY user_pseudo_id),WEEK(MONDAY)) AS first_week,
DATE_TRUNC(event_date,WEEK(MONDAY)) AS event_week
FROM base
)
,weeks_after_first_week_data AS (
SELECT
*,
DATE_DIFF(event_week,first_week,WEEK) AS weeks_after_first_week
FROM first_week_data
)
,active_user_count AS (
SELECT
first_week,
weeks_after_first_week,
COUNT(DISTINCT user_pseudo_id) AS active_users
FROM weeks_after_first_week_data
GROUP BY ALL
)
,cohort_user_count AS (
SELECT
*,
FIRST_VALUE(active_users) OVER(PARTITION BY first_week ORDER BY weeks_after_first_week) AS cohort_users
FROM active_user_count
)
SELECT
*,
ROUND(SAFE_DIVIDE(active_users,cohort_users),2) AS rentention_rate
FROM cohort_user_count
답변 1
0
안녕하세요. 리텐션 문제 풀고 계시시네요!
쿼리를 보니까 잘 작성하신 것 같은데 왜 안맞다고 생각하시나요?
지금 시각화를 보면 5의 생각이 흰색으로 나오네요. 시각화를 할 때 작은 값이 흰색 ~ 큰 값일수록 초록색이나 빨간색으로 설정하는게 더 좋을 것 같네요.
비어있는 경우엔 그 시점에 사용한 유저가 없는거지요. 다만 지금 주차별로 했을 때 숫자가 너무 작아서 이럴 때는 월별로 해야하나?라는 생각을 할 수도 있지요. 월별로도 해보고 어떻게 나오는지 파악하는 것도 방법입니다.