사용자가 얼마나 자주 우리 서비스를 사용하고 있을까요?
아웃코드 자동화에서 조회화면을 쉽게 만들 수 있는데요, DAU와 MAU 조회화면을 만들어보겠습니다.
먼저, DAU와 MAU의 정의와 측정 방법은 아래와 같습니다.
특히 DAU/MAU로 사용자 고착도(Stickness)를 측정할 수 있는데요, 앱이나 서비스의 활성화를 측정하는데 이용됩니다.
DAU나 MAU를 비교하고 두 지표의 비율을 계산하면 서비스의 고착도를 더 자세하게 들여다볼 수 있습니다. 이 비율이 높을수록 사용자가 서비스를 더 자주 사용한다는 것을 나타냅니다.
아래와 같은 DAU/MAU 조회화면을 직접 만들어보겠습니다.
1. 먼저, 아웃코드에 가입한 후, 커넥터로 측정할 데이터가 있는 데이터소스를 연결합니다. 주로 MySQL, PostgreSQL, MariaDB 등 상용 데이터베이스를 연결합니다.
2. 자동화에서 DAU/MAU 쿼리를 입력하기 전에, 아래의 샘플 데이터베이스의 데이터를 이용하도록 하겠습니다. 샘플 MySQL 데이터베이스는 이렇게 구성되어 있습니다.
3. DAU/MAU를 계산하기 위해서는 아래의 데이터를 기준으로 삼으면 됩니다.
마지막으로, 아래의 쿼리를 필요에 따라 수정해서 아웃코드 자동화에 입력하면, DAU, MAU, Stickness 를 한번에 조회 화면을 직접 만들 수 있습니다.
(위에 샘플 데이터베이스에서는 DAU를 측정하기 위해서는 login_history 테이블의 user_id와 created_at가 필요합니다. 아래 쿼리를 복사 붙여넣기하여 수정해보세요!)
WITH daily AS (
SELECT
date_format(created_at, "%Y-%m-%d") AS day,
date_format(created_at, "%M %Y") AS month,
count(*) AS dau
FROM
login_history
GROUP BY
date_format(created_at, "%Y-%m-%d"),
date_format(created_at, "%M %Y")
),
monthly AS (
SELECT
date_format(created_at, "%M %Y") AS month,
count(user_id) AS mau
FROM
login_history
GROUP BY
date_format(created_at, "%M %Y")
)
SELECT
daily.day,
daily.dau,
monthly.mau,
concat(
round(daily.dau / monthly.mau * 100, 1),
'%'
) AS 'DAU/MAU'
FROM
daily
JOIN monthly ON daily.month = monthly.monthorder BY daily.day DESC;