안녕하세요.
오늘은 기간 별 활성 유저(Active User)의 의미와, 활성 유저를 집계하는 My SQL 쿼리문을 알아보겠습니다.
먼저 활성 유저는 특정 기간 동안 앱을 이용한 사용자 수를 의미합니다.
My SQL 쿼리문 작성 시 특정 기간으로 그룹핑을 하고,
DISTINCT(중복X)된 유저의 아이디를 COUNT해주면 됩니다.
아래 쿼리문을 통해 자세한 내용 살펴보겠습니다!
아래 쿼리문에 사용된 테이블과 컬럼은 하단의 박스를 참고해주세요 :)
- Table : Visit
- Column : customer_id, visited_at
* visited_at 컬럼의 데이터는 '2023-03-14' 의 포맷으로 저장되어 있습니다.
| DAU (Daily Active User)
: 일간 활성 사용자 수
예시 )
SELECT visited_at AS dalily,
COUNT(DISTINCT customer_id) AS active_user
FROM User.visit
GROUP BY dalily ;
| WAU (Weekly Active User)
: 주간 활성 사용자 수
* visited_at 컬럼의 데이터는 2023-03-14' 의 포맷으로 저장되어 있기 때문에 이 데이터의 값을 '주'로 반환할 수 있도록 변환해야합니다.
DATE_FORMAT 함수를 사용하여 '년월일' 값을 '주'로 반환해주겠습니다.
DATE_FORMAT(visited_at, '%UW')
예시 )
SELECT DATE_FORMAT(visited_at, '%UW')AS weekly,
COUNT(DISTINCT customer_id) AS active_user
FROM User.visit
GROUP BY weekly ;
| MAU (Monthly Active User)
: 월간 활성 사용자 수
* visited_at 컬럼의 데이터는 2023-03-14' 의 포맷으로 저장되어 있기 때문에 이 데이터의 값을 '월'로 반환할 수 있도록 변환해야합니다.
DATE_FORMAT 함수를 사용하여 '년월일' 값을 '년월'로 반환해주겠습니다.
DATE_FORMAT(visited_at, '%Y-%m')
예시 )
SELECT DATE_FORMAT(visited_at, '%Y-%m')AS monthly,
COUNT(DISTINCT customer_id) AS active_user
FROM User.visit
GROUP BY monthly ;
위에서 특정 기간 별 활성 유저를 파악하는 쿼리문을 살펴봤는데요.
위에서 확인된 유저 수를 통해, 서비스 의존도를 알아볼 수 있는 지표도 함께 소개드리겠습니다.
| Stickness (사용자 고착도)
사용자 고착도 지표는 DAU / MAU 또는 DAU / WAU 비율로 계산합니다.
MAU 사용자 중 특정 일에 접속한 사람의 비율을 계산하는 것 인데요.
월간 순수 이용자가 하루 동안, 1주 동안 얼마나 접속했는지를 알 수 있습니다!
Stickness (%) = (DAU / MAU) * 100
⇩ 더 읽어보면 좋은 글 🧚♀️ DATE_FORMAT 함수
2023.03.02 - [TOOLS/My SQL] - [My SQL] DATE_FORMAT 함수 / 날짜에서 요일, 시간 값 출력하기
'TOOLS > My SQL' 카테고리의 다른 글
[My SQL] 서비스 분석 | 재구매 / 구매간격 / 구매주기 (1) | 2023.07.16 |
---|---|
[My SQL] 데이터 import 오류 (ascii codec..) 해결 방법 (0) | 2023.07.09 |
[My SQL] DATEDIFF와 TIMEDIFF / 날짜와 시간 차이 반환 / 고객 구매 주기 분석 (0) | 2023.03.11 |
[My SQL] Window 함수 | RANK, DENSE_RANK, ROW_NUMBER / 행에 순위 부여하기 (0) | 2023.03.10 |
[My SQL] 고객 세분화(Customer Segmentation) 확인 - 인구 통계 정보 산출 쿼리문 (0) | 2023.03.06 |