inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

BigQuery(SQL) 활용편(퍼널 분석, 리텐션 분석)

1-9. 퍼널 SQL 쿼리 작성하기

cnt수를 구할 때 왜 user_pseudo_id 를 사용하나요?

2

나예

작성한 질문수 1

0

안녕하세요! 강의 보다 궁금한 점이 생겨서 질문합니다.

집계할 때 COUNT(user_id) 가 아니라 COUNT(DISTINCT user_pseudo_id)를 사용하는 이유는 무엇인가요?

image.png

(COUNT(user_id) 했을 때의 결과)

좋은 강의 제공해주셔서 감사합니다.

질문을 남겨주실 때 아래 부분을 같이 남겨주시면 더 빠르게 상황을 파악하고 답변드릴 수 있어요 🙂

sql Google-Analytics firebase google-sheets bigquery

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

나예님, COUNT(user_id)와 COUNT(DISTINCT user_pseudo_id)의 차이는 무엇을 하나의 사용자로 볼 것인지에 있습니다.

퍼널 분석에서는 한 사용자가 여러 이벤트를 발생시킬 수 있으므로, 단순히 COUNT(user_id)를 사용하면 이벤트 발생 횟수만큼 중복 집계될 수 있습니다. 따라서 각 퍼널 단계에 도달한 고유 사용자 수를 구하려면 COUNT(DISTINCT user_pseudo_id)를 사용하는 것이 일반적입니다.

  • COUNT(user_id): 해당 단계에서 발생한 로그 또는 이벤트 행의 개수
  • COUNT(DISTINCT user_pseudo_id): 해당 단계에 도달한 중복 제거된 사용자 수

예를 들어 한 사용자가 같은 퍼널 단계에서 5번 이벤트를 발생시켰다면 다음과 같이 집계됩니다.

COUNT(user_id)              -- 5
COUNT(DISTINCT user_pseudo_id) -- 1

또한 user_id는 로그에 따라 값이 없거나 로그인 사용자 중심으로 기록될 수 있지만, Firebase/GA4의 user_pseudo_id는 비로그인 사용자를 포함해 기기·브라우저 단위의 사용자를 식별할 때 활용할 수 있습니다. 다만 user_pseudo_id는 계정 단위의 절대적인 사용자 식별자가 아니라 기기 또는 앱 인스턴스 기준이라는 점은 주의해야 합니다.

관련해서 DISTINCT를 사용해 사용자 중복을 제거하는 이유와 로그 데이터의 중복 집계 문제를 설명한 기존 답변을 참고해 주세요.

N day 리텐션 쿼리 관련 질문

해당 답변에서도 리텐션이나 사용자 수를 집계할 때, 여러 이벤트 로그와 JOIN으로 인해 같은 사용자가 여러 번 나타날 수 있으므로 DISTINCT를 사용해 고유 사용자를 집계한다고 설명하고 있습니다.

퍼널 분석 쿼리 결과 이미지

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

최종 과제 제출합니다.

0

74

2

3-13 과제

0

75

3

3-13 리텐션 과제 제출합니다

0

81

2

app logs 데이터로 쿼리 연습

0

84

2

[과제] 연습문제 쿼리 작성했습니다!

0

75

2

6-1. 강의 최종 과제 제출합니다.

0

89

3

3-13 리텐션 과제 제출합니다

0

154

3

3-13. 리텐션 연습과제 제출합니다.

0

124

4

최종 과제 제출

0

98

3

Weekly Retention 과제 작성하였습니다.

0

77

2

3-10 강의 14분경 코호트 해석 질문드립니다.

0

86

2

Weekly 및 Monthly Retention 과제 제출합니다.

0

82

2

[과제] 퍼널 쿼리 PIVOT 테이블 작성

0

95

2

최종 과제 제출

0

166

3

BigQuery 활용편 18강 질문있습니다!

0

121

1

리텐션 공부하다가 궁금한게 생겨 질문드립니다

0

134

2

안녕하세요 강사님 코호트 쿼리 공부하다가 의문점이 생겨서 문의드립니다

0

127

2

biquery 테이블 생성 오류 이슈

0

125

2

동일하게 쿼리를 작성했는데 화면과 다른 값이 나옵니다

0

128

2

[과제] 퍼널 PIVOT 테이블 작성하기

0

134

2

array 등

0

113

2

N day 리텐션 쿼리 관련 질문

0

115

2

이동평균 계산 시 order by 기본값은 뭔가요?

0

116

2

윈도우 연습문제 1번 질문

0

114

1