GA4 BigQuery 데이터를 활용한 코호트 분석 방법 총정리

1. 코호트 분석이란?

코호트 분석(Cohort Analysis)은 특정한 공통점을 가진 사용자 그룹(코호트)을 시간의 흐름에 따라 관찰하고, 그 그룹의 행동 변화를 분석하는 방법입니다. 주로 사용자의 첫 방문 날짜, 회원 가입 날짜, 최초 구매일 등 특정 시점을 기준으로 그룹을 나누고, 이후 사용자의 행동 패턴(유지율, 재방문율, 재구매율 등)을 측정하는데 사용됩니다.

예를 들어, 1월에 가입한 사용자들과 2월에 가입한 사용자들의 서비스 지속성과 행동 변화를 각각 따로 비교할 수 있으며, 이는 사용자의 특성이나 마케팅 캠페인의 효과를 이해하는 데 도움을 줍니다.

2. 코호트 분석이 중요한 이유

코호트 분석은 전체 사용자 데이터를 하나의 큰 덩어리로 볼 때 놓칠 수 있는 중요한 트렌드와 문제점을 명확히 발견할 수 있도록 돕습니다. 개별 사용자의 행동 변화가 아닌, 비슷한 시기에 유입된 사용자 집단이 시간이 흐르면서 어떻게 변해가는지를 분석하므로 사용자 유지율 감소나 서비스 이탈 시점을 더 정확하게 파악하고 대응할 수 있습니다.

이를 통해 서비스의 강점과 약점을 명확하게 진단하고 마케팅 전략 및 제품 개선을 효과적으로 수행할 수 있습니다.

3. GA4 BigQuery 데이터로 코호트 분석하기

GA4 데이터를 BigQuery에 연동하면, 제공되는 기본 보고서 이상의 세부적인 분석과 깊이 있는 인사이트를 도출할 수 있습니다. GA4 데이터는 events_* 테이블로 구성되어 있으며, 이를 활용해 보다 자유로운 데이터 분석이 가능합니다.

아래는 사용자들이 서비스에 처음 방문한 날짜를 기준으로 사용자 코호트를 설정하여, 이후 몇 주차까지 유지되는지를 분석하는 예시 쿼리입니다.

-- 사용자의 첫 방문일을 찾기
WITH first_visit AS (
  SELECT
    user_pseudo_id,
    MIN(DATE(event_timestamp, 'Asia/Seoul')) AS first_visit_date
  FROM
    `your_dataset.events_*`
  WHERE
    event_name = 'first_visit'
  GROUP BY
    user_pseudo_id
),

-- 각 사용자의 활동 날짜와 최초 방문일로부터 경과한 주차를 계산
user_activity AS (
  SELECT
    ev.user_pseudo_id,
    DATE(ev.event_timestamp, 'Asia/Seoul') AS activity_date,
    fv.first_visit_date,
    DATE_DIFF(DATE(ev.event_timestamp, 'Asia/Seoul'), fv.first_visit_date, WEEK) AS weeks_since_first_visit
  FROM
    `your_dataset.events_*` ev
  INNER JOIN
    first_visit fv
  ON
    ev.user_pseudo_id = fv.user_pseudo_id
)

-- 최초 방문일과 경과 주차를 기준으로 사용자 수 집계
SELECT
  first_visit_date,
  weeks_since_first_visit,
  COUNT(DISTINCT user_pseudo_id) AS active_users
FROM
  user_activity
GROUP BY
  first_visit_date,
  weeks_since_first_visit
ORDER BY
  first_visit_date,
  weeks_since_first_visit;

📌 쿼리 상세 설명

  • first_visit 서브쿼리: 각 사용자의 최초 방문일을 식별합니다. ‘first_visit’ 이벤트를 기준으로 그룹화하여 사용자별 가장 빠른 방문일을 구합니다.
  • user_activity 서브쿼리: 모든 이벤트에서 사용자의 활동일을 찾아 최초 방문일 대비 몇 주차에 해당하는지를 계산합니다. DATE_DIFF 함수를 활용해 기간을 계산합니다.
  • 최종 SELECT 쿼리에서는 최초 방문일별로 각 주차별 유지되는 활성 사용자 수를 계산하여 주간 유지율을 분석할 수 있도록 데이터를 정리합니다.

4. 코호트 분석 이후 이어질 수 있는 분석

코호트 분석으로 얻은 결과를 바탕으로 유지율 하락 구간을 찾았다면, 그 원인을 깊이 있게 탐구해야 합니다.

이때 유용한 분석 방법은 다음과 같습니다.

  • 퍼널 분석: 사용자들이 서비스 이용 과정에서 정확히 어느 단계에서 이탈하는지 명확히 하고, 그 단계의 문제점을 개선할 수 있습니다.
  • 세그먼트 분석: 유지율이 높은 코호트와 낮은 코호트 간의 특성(성별, 나이, 유입경로 등)을 비교하여 유의미한 차이점을 발견할 수 있습니다.
  • 행동 흐름 분석: 서비스 내에서 사용자들이 실제로 어떤 경로로 행동하는지를 분석해 사용성(UX/UI) 개선과 맞춤형 서비스 전략을 설계할 수 있습니다.

코호트 분석은 데이터 분석의 출발점입니다. 지속적인 분석과 개선을 통해 서비스의 장기적인 성과를 높이는 것이 데이터 분석의 진정한 목표입니다.

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다