콘텐츠로 건너뛰기
제품 분석 SQL 레시피

SQL에서 가입-활성화 퍼널 구축

가입, 온보딩, 통합, 최우선 가치 마일스톤을 통해 순 사용자 전환을 계산합니다.

중급product_events검토됨 2026-07-27테스트됨 아파치 DataFusion 45.2.0

검토자 Telemetry 제품 팀 에 . SQL 문법, 필수 이벤트 필드, 예제 결과, 쿼리 사용 시 제한 사항을 확인했습니다. 이 페이지의 검토 담당자

질문에 답변됨

신규 사용자는 첫 번째 가치에 도달하기 전에 어디로 떠나나요?

퍼널은 모든 단계에 행동 정의가 있는 경우에만 유용합니다. 이 쿼리는 사용자당 하나의 행을 생성하고, 마일스톤 순서를 적용하고, 가입 및 이전 단계의 전환을 계산합니다.

이벤트 스키마

쿼리가 예상하는 필드

필드유형그것이 존재하는 이유
timestamp_utcTimestamp상품 이벤트가 발생한 시점.
user_idUtf8안정적인 사용자 식별자.
event_nameUtf8안정적인 snake_case 마일스톤 이름.
sourceUtf8획득 또는 캠페인 소스.
DataFusion SQL

쿼리 복사

sql
WITH events AS (
  SELECT user_id, event_name, timestamp_utc
  FROM product_events
  WHERE timestamp_utc >= now() - INTERVAL '30 days'
),
signups AS (
  SELECT user_id, MIN(timestamp_utc) AS signed_up_at
  FROM events WHERE event_name = 'signup_completed'
  GROUP BY user_id
),
onboarding AS (
  SELECT s.user_id, s.signed_up_at, MIN(e.timestamp_utc) AS onboarded_at
  FROM signups AS s
  LEFT JOIN events AS e ON e.user_id = s.user_id
    AND e.event_name = 'onboarding_completed'
    AND e.timestamp_utc >= s.signed_up_at
  GROUP BY s.user_id, s.signed_up_at
),
integrations AS (
  SELECT o.user_id, o.signed_up_at, o.onboarded_at,
    MIN(e.timestamp_utc) AS integrated_at
  FROM onboarding AS o
  LEFT JOIN events AS e ON e.user_id = o.user_id
    AND e.event_name = 'integration_connected'
    AND e.timestamp_utc >= o.onboarded_at
  GROUP BY o.user_id, o.signed_up_at, o.onboarded_at
),
user_funnel AS (
  SELECT i.user_id, i.signed_up_at, i.onboarded_at, i.integrated_at,
    MIN(e.timestamp_utc) AS activated_at
  FROM integrations AS i
  LEFT JOIN events AS e ON e.user_id = i.user_id
    AND e.event_name = 'first_value_completed'
    AND e.timestamp_utc >= i.integrated_at
  GROUP BY i.user_id, i.signed_up_at, i.onboarded_at, i.integrated_at
),
stage_counts AS (
  SELECT 1 AS step_order, 'Signed up' AS step, COUNT(signed_up_at) AS users
  FROM user_funnel
  UNION ALL
  SELECT 2, 'Onboarded', COUNT(onboarded_at) FROM user_funnel
  UNION ALL
  SELECT 3, 'Integrated', COUNT(integrated_at) FROM user_funnel
  UNION ALL
  SELECT 4, 'Activated', COUNT(activated_at) FROM user_funnel
)
SELECT
  step_order,
  step,
  users,
  100.0 * users
    / NULLIF(MAX(CASE WHEN step_order = 1 THEN users END) OVER (), 0)
    AS conversion_from_signup_pct,
  100.0 * users
    / NULLIF(LAG(users) OVER (ORDER BY step_order), 0)
    AS conversion_from_previous_pct
FROM stage_counts
ORDER BY step_order;

이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.

쿼리 결과

가입부터 활성화까지의 유입경로

온보딩이 완료되기 전에 가장 큰 절대 손실이 발생하는 반면 통합은 나중에 가장 강력한 병목 현상으로 남아 있습니다.

step_orderstepusersconversion_from_signup_pctconversion_from_previous_pct
1Signed up8100—
2Onboarded67575
3Integrated45066.67
4Activated337.575

합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.

Signup-to-activation funnel: Build a signup-to-activation funnel in SQL 예제 결과의 합성 users 값에 대한 정적 차트
결정론적 예제 출력의 색인 생성 가능한 SVG입니다. 기사, 런북 또는 저작자가 포함된 디자인 검토를 위해 다운로드하세요.

예제 재현

샘플 데이터 다운로드

JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. reproducible 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.

SQL 작동 방식

  1. 1Each CTE selects the first milestone at or after the previous eligible stage, retaining one row per signed-up user.
  2. 2A missing or out-of-order milestone blocks all later steps. A later valid retry can advance the user, and duplicates count once.
  3. 3쿼리는 가입 전환과 이전 단계 전환을 모두 보고하여 전체 성능과 최대 전환 손실을 함께 표시합니다.
  4. 4이벤트 이름은 사용자가 단계를 달성했음을 증명하지 않는 페이지 조회나 버튼 클릭이 아닌 완료된 이정표를 나타내야 합니다.

확인할 경계 사례

  • 가입 시간을 기준으로 코호트 기간을 사용하고 최근 가입이 활성화될 때까지 충분한 시간을 허용하십시오.
  • 늦게 도착하는 이벤트는 일시적으로 사용자를 최근 계산된 퍼널에서 뒤로 이동시킬 수 있습니다.
  • 전체 퍼널의 규모가 충분해진 후에만 획득 소스별로 분류하세요.

추천 대시보드

  • 유입경로 막대: 단계별 사용자
  • 꺾은선형 차트: 가입 주별 활성화율
  • 표: 소스, 계획 또는 페르소나별 변환

알림 안내

성숙한 가입 코호트에 대한 활성화가 최근 기준보다 크게 낮아지면 긴급도가 낮은 알림을 사용하세요.

알림 설정 읽기

이 쿼리에 필요한 이벤트 설정하기

관련 계측 및 가이드

소스 데이터 정의

이 분석을 위한 이벤트 스키마

분석 계속하기

내 이벤트로 실행하기

테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.

무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.

API 키 받기