안녕하세요! 오늘은 Google Cloud Platform(GCP)의 BigQuery를 사용하여 디바이스별 MAU(Monthly Active Users)를 구하는 방법을 알려드릴게요. 초보자분들도 이해할 수 있도록, 왜 이 작업이 필요한지와 쿼리의 각 단계에서 어떤 작업을 하는지 자세히 설명드리겠습니다.

MAU란 무엇인가요?
먼저, MAU(Monthly Active Users)는 특정 기간 동안 서비스를 이용한 고유 사용자 수를 뜻합니다. 이 지표는 사용자의 활동 수준을 이해하고 서비스의 성장과 유지 상태를 파악하는 데 매우 유용합니다.
왜 디바이스별 MAU를 구하나요?
사용자들이 어떤 디바이스(예: 모바일, 데스크톱, 태블릿 등)로 접속하는지 알면, 디바이스 최적화를 위한 전략을 수립할 수 있습니다. 모바일 중심인지, 데스크톱 중심인지 파악하면 마케팅과 제품 개발 방향성을 정하는 데 큰 도움이 되죠.
BigQuery에서 디바이스별 MAU 구하기
이제 본격적으로 BigQuery에서 디바이스별 MAU를 계산하는 쿼리를 작성해보겠습니다.
1. GA4 데이터 구조 이해하기
Google Analytics 4(GA4) 데이터를 BigQuery에 익스포트하면 이벤트 기반의 데이터 구조를 가집니다. 주요 테이블은 events_*
이며, 사용자 ID와 디바이스 정보를 포함한 다양한 데이터가 저장됩니다.
주요 컬럼:
user_pseudo_id
: 고유 사용자 식별자event_date
: 이벤트가 발생한 날짜 (형식: YYYYMMDD)device.category
: 디바이스 카테고리 (예: mobile, desktop, tablet)
2. 쿼리 작성하기
이제 디바이스별로 월간 고유 사용자 수를 구하는 쿼리를 작성해 보겠습니다.
WITH device_mau AS (
SELECT
device.category AS device_category,
FORMAT_DATE('%Y-%m', PARSE_DATE('%Y%m%d', event_date)) AS month,
COUNT(DISTINCT user_pseudo_id) AS mau
FROM
`your_project_id.your_dataset_id.events_*`
WHERE
_TABLE_SUFFIX BETWEEN '20240101' AND '20240131' -- 원하는 날짜 범위 설정
GROUP BY
device_category, month
)
SELECT
device_category,
month,
mau
FROM
device_mau
ORDER BY
month, device_category;
쿼리 단계별 설명
1) WITH 절: 데이터 전처리
WITH device_mau AS (
...
)
- WITH 절은 공통 테이블 표현식(CTE)을 생성하는 데 사용됩니다.
- 여기서는 디바이스별로 월간 사용자 수를 계산하기 위한 데이터를 미리 준비합니다.
2) 디바이스 카테고리와 날짜 파싱
FORMAT_DATE('%Y-%m', PARSE_DATE('%Y%m%d', event_date)) AS month,
event_date
는 기본적으로YYYYMMDD
형식의 문자열입니다. 이를PARSE_DATE
함수를 사용해 날짜 형식으로 변환한 뒤,FORMAT_DATE
로 연도-월(YYYY-MM
) 형식으로 변환합니다.- 결과적으로 데이터가 월별로 집계됩니다.
3) 고유 사용자 수 계산
COUNT(DISTINCT user_pseudo_id) AS mau
COUNT(DISTINCT ...)
는 고유 사용자를 계산합니다. 이를 통해 동일 사용자가 여러 번 접속해도 한 번으로 카운트됩니다.
4) WHERE 조건: 날짜 필터링
WHERE
_TABLE_SUFFIX BETWEEN '20240101' AND '20240131'
_TABLE_SUFFIX
를 사용해 분석할 데이터의 날짜 범위를 설정합니다. 예를 들어, 2024년 1월 데이터를 분석합니다.
5) GROUP BY와 ORDER BY
GROUP BY
device_category, month
ORDER BY
month, device_category;
- 데이터를 디바이스 카테고리와 월별로 그룹화한 뒤, 정렬하여 가독성을 높입니다.
결과 데이터 예시
Device Category | Month | MAU |
---|---|---|
mobile | 2024-01 | 12,345 |
desktop | 2024-01 | 8,910 |
tablet | 2024-01 | 1,234 |
이 결과를 통해 디바이스별 사용자 분포를 쉽게 파악할 수 있습니다.
마무리
BigQuery로 디바이스별 MAU를 구하는 방법을 배워보았습니다. 이 데이터는 사용자 행동을 이해하고, 디바이스별 최적화를 진행하는 데 중요한 인사이트를 제공합니다.
이 글이 도움이 되셨다면 댓글로 질문이나 피드백을 남겨주세요. 더 많은 데이터 분석 팁으로 찾아뵙겠습니다! 😊
답글 남기기