<aside> 💡 1. 비즈니스 앱의 특성 상 activated user가 평일에 많고 주말에 적은 것은 예상할 수 있는 사실이다 2. 동료의 그래프, 쿼리로는 Growth rate를 확인할 수 없다 → Growth 정의하여 확인하기 → 7월 28일의 growth rate가 전 주에 비해 감소, 성장이 더뎌짐 3. Signups 만으로는 서비스의 성장을 전체적으로 파악할 수 없다 → Signups 와 Logins 를 함께 확인하자 → 2014년 7월 28일의 성장이 더딘 것이 가입 기능만의 문제인 것은 아님
</aside>
이 그래프, 이 쿼리로는 Growth rate를 확인할 수 없다 → Growth 정의하여 확인하기
Growth rate 재정의
따라서 growth rate를 재정의하고 이를 반영한 쿼리를 만들어보면,
$$ growth rate = (오늘 활성화된 유저 - 전날 활성화된 유저)/전날 활성화된 유저 *100 $$
SELECT A.day, (A.activated_users-B.activated_users)/B.activated_users*100
AS Growthrate_yesterday
FROM (SELECT DATE_TRUNC('day',created_at) AS day
, COUNT(*) AS all_users
, COUNT(
CASE
WHEN activated_at IS NOT NULL THEN u.user_id
ELSE NULL
END
) AS activated_users
FROM tutorial.yammer_users u
WHERE created_at >= '2014-06-01'
AND created_at < '2014-09-01'
GROUP BY day
ORDER BY day) A
INNER JOIN (SELECT DATE_TRUNC('day', created_at ) AS day
, COUNT(*) AS all_users
, COUNT(
CASE
WHEN activated_at IS NOT NULL THEN u.user_id
ELSE NULL
END
) AS activated_users
FROM tutorial.yammer_users u
WHERE created_at >= '2014-06-01'
AND created_at < '2014-09-01'
GROUP BY day
ORDER BY day) B
ON A.day = B.day + INTERVAL '1 day'
2014년 6월 1일 ~ 2016년 9월 1일에 가입한 사람들의 growth rate
Signups 만으로는 서비스의 성장을 전체적으로 파악할 수 없다 → signups 와 logins 를 함께 확인하자