inflearn logo
강의

Khóa học

Chia sẻ kiến thức

BigQuery(SQL) ứng dụng nâng cao (phân tích phễu, phân tích retention)

3-13. Bài tập Retention: Hãy làm rồi nộp.

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

111

dreamer8034

5 câu hỏi đã được viết

0

안녕하세요. 리텐션 과제 제출합니다.

실무 기반의 문제라 그런지 역시 난이도가 있네요. 고민을 많이 해보게 되었습니다. 리텐션 유저 기준은 게임 업계 기준으로 정의하고 문제를 풀었습니다. (플랫폼에 따라서 기준도 다르고 하지만)

보시고 피드백 있으시면 말씀을 부탁드리겠습니다.

https://app.notion.com/p/2b00de0d9a16809f94f5e378ee375b2f?source=copy_link

sql Google-Analytics firebase google-sheets bigquery

Câu trả lời 3

0

kyleschool

자유님 안녕하세요!

과제하느라 고생하셨습니다. 쿼리에서 1, 4번은 기존 쿼리에서 살짝만 바꾸면 되는거라 해석을 좀 더 깊게 해보길 바라는 문제였고, 2번은 좀 더 복잡한 쿼리를 작성하는 문제, 3번은 실제로 분석까지 하길 희망하는 과제였어요. 1/4번 쿼리는 잘 작성하셨고 2번 쿼리에 대해 리뷰를 드려볼게요


2번 문제 쿼리

  • 전체적으로 쿼리 잘 작성해주셨어요. 제가 생각하는 흐름과 비슷하게 잘 작성하셨네요

  • 다만 컬럼 중 kst가 있는데, 이 컬럼이 이후에 쓰이진 않네요. 이 쿼리를 풀 때는 event_timestamp 개념을 쓰지 않고 event_date만 쓰고 사용해도 충분합니다. 그래서 base에서 바로 daily_event로 만들어서 쓰셔도 될 것 같아요

  • 8월 한정해서가 아니라 데이터를 더 늘려서 확인해보셔도 좋을 것 같고, Weekly 기준으로도 계산해보세요! Daily보단 Weekly로 계산해보셔요! 지금 하신 것에서 크게 변하진 않을 것 같아요.

  • LAG 계산하는 부분이 2번 있네요. 한번만 하셔도 될 것 같아요. 아래 쿼리의 LAG 대신 before_last_event 컬럼을 쓰면 되어요.

  CASE WHEN first_event = event_date THEN "new"
       WHEN DATETIME_DIFF(event_date, LAG(event_date) OVER (PARTITION BY user_pseudo_id ORDER BY event_date ASC), DAY) <= 14 THEN "current"
       WHEN DATETIME_DIFF(event_date, LAG(event_date) OVER (PARTITION BY user_pseudo_id ORDER BY event_date ASC), DAY) > 14 THEN "resurrected"
        ELSE NULL END AS user_type

  • first_event, last_event 이 컬럼을 계속 가지고 다니는데 실제로 쓰고 있진 않네요.

  • DATETIME_DIFF를 사용하셨는데 쿼리를 확인하면 DATE_DIFF를 쓰시면 더 명확할 것 같아요(동작은 하지만 DATETIME_DIFF은 TIME에 대한 작업을 할 때 주로 쓰곤 해요)


그리고 각 문제를 해석한 것에 대해 의견을 드려볼게요


1번 문제

  • 그래프 자체는 잘 해석해주셨고(강의에서 다룬 내용) 그 이후에 한단계를 더 나아가면 좋습니다

—> 1) 을 개선하는 것이 더 우선적일 것으로 생각됨
1주차 리텐션을 끌어올리면, 1주차 남는 유저 파이가 증가하여 2주차 이후 리텐션이 비슷하게 유지될 것을 고려하더라도 N주차 이상에도 남는 유저가 증가하여 서비스 수익성을 좀 더 확장하기 용이해짐
단, 어느정도 수익성이 안정화되면, 2)에 대한 개선을 진행하여, 남는 유저의 수가 계속 쌓이는 구조가 되도록 해야 장기 서비스의 기반이 될 수 있을 것으로 생각됨
  • 위처럼 작성해주셨는데, Action Item은 좀 더 구체적으로 들어가면 좋습니다. 좀 더 구체적으로 분석을 하는 것인데, 예를 들어 1주차에 남은 사람들은 보통 어떤 이벤트를 많이 하는지 살펴보고 그 후 "가설"을 떠올린 후, 가설이 맞는지 확인할 수 있는 데이터를 확인합니다. 어느정도 데이터가 맞는 것이 있다면 구체적인 Action Item을 제시할 수 있습니다


2번

8월 전반적으로 신규유저(New)는 매일 들어오고, 8월 하순으로 갈수록 우상향하는 추세
다만, 1일만 접속하고 들어오지 않는 유저가 95% 이상으로 리텐션이 무너져 있는 상황으로 복귀유저(resurrected)  상당히 낮음

- dormant 유저 정의: 접속일 이후 14일 동안 접속하지 않는 유저로 8/1 - 8/16, 8/2-8/17 이런식으로 대조해보면 잔존유저가 거의 없음
- current 유저 정의: 접속일 이후 14일 이내에 다시 접속한 유저로 New 유저 유입대비 너무 극소수
- resurrected 유저 정의: dormant 유저 기반에서 재접속한 유저로 굉장히 소수인 상황

→ 일평균 95%가 넘는 이탈율을 개선하는 작업이 최우선
  • 위와 같이 남겨주셨는데, 현재 데이터 관찰은 잘 하셨고, 이걸 Weekly 기준으로 한번 그려보세요. Resurrected가 움직일 거예요.

    • 데이터가 오르락 내리락이 된다면 '어? 이건 왜 그렇지?"라는 생각을 한 후(가설 떠올리기) 진짜 그런지 데이터를 살펴봐야 합니다. 그런 과정까지 추가해보시면 더 좋을 것 같아요

    • 쿼리도 한번 점검해보시고 다시 시각화를 해보셔요


3번.

3번의 경우 간단하게 SELECT 한번으로 끝나는 문제는 아니고, 위에서 말씀드린 것처럼 데이터 보고 -> 가설 만들고 -> 살펴보고 해야 합니다. 그 과정에서 이벤트를 1번만 한 사람만 생각하는게 아니라, 여러 이벤트의 조합(검색을 했는데 결제는 안한 사람 등)으로 유저를 나눠보고 그 후에 리텐션 차이를 보는 과정이 필요합니다. 이 문제에 대해서는 조금 더 고민을 해보시는 것을 추천드려요



4번.

  • 4번의 피드백은 1번과 동일합니다. 구체적으로 더 살펴보시고, 이게 왜 이렇게 나왔을까?를 살펴보시면 좋겠습니다!



문제 푸시느라 고생하셨습니다! 계속 고민해보셔요




1

dreamer8034

안녕하세요 강사님, 자세한 피드백 감사합니다. 계속 고민해 보겠습니다.

0

kyleschool

안녕하세요. 노션의 상세 페이지들이 모두 권한이 없다고 나와요!

0

dreamer8034

안녕하세요, 회신이 늦어 죄송합니다. 상세 페이지 접근되도록 수정하였습니다.

0

kyleschool

3번은 여전히 권한이 없다고 나오네요! 1, 2, 4번에 대해서 쿼리를 짜셨으면 데이터를 보고 한번 해석해보시면 어떨까요? 쿼리만 짠다고 데이터 분석이 끝이 아니라 해석까지 해야 해요~!

0

dreamer8034

엇.. 3번 접근 권한 수정했습니다. 데이터 해석까지 진행하겠습니다.

0

dreamer8034

안녕하세요 강사님,

각 문제에 대해 데이터 해석도 추가하였습니다.

전반적으로 피드백해 주시면 감사하겠습니다:)

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. 꿈이 있는 자유님!

리텐션 과제에 대해 제출해 주셔서 감사합니다. 말씀하신 것처럼 리텐션 분석은 분야별로 기준이 다를 수 있으며, 게임 업계에서는 특히 사용자 활동을 지속적으로 분석하고 개선하는 것이 중요한 부분입니다. 관련해서 참고할 수 있는 유사한 답변과 팁을 드리겠습니다.

  1. 리텐션 과제 작성: 이 답변에서는 리텐션 측정 방법과 분석을 수행할 때 유의해야 할 점에 대한 피드백이 제공됩니다. 다양한 분석 방법론을 학습할 수 있습니다.

  2. 리텐션 분석 과제: 리텐션 분석을 더 깊이 있게 이해하기 위한 전략과 쿼리 예제가 포함되어 있으며, 리텐션을 측정할 때의 주요 지표에 대한 설명이 있습니다.

  3. 리텐션 과제_연습문제 2번: SQL 쿼리를 통해 리텐션을 분석하는 방법에 대한 단계별 접근과 설명이 되어 있습니다. 실무에 적용할 수 있는 여러 팁이 포함되어 있어 실무 적용에 도움이 될 것입니다.

리텐션 분석의 경우, 데이터의 해석과 이를 통한 인사이트 도출이 핵심입니다. 사용자가 어떻게 제품을 사용하고 있는지를 파악하여 행동 패턴을 분석하고, 이를 기반으로 개선점을 찾아내는 것이 중요합니다.

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

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

0

8

1

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

0

54

3

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

0

84

4

최종 과제 제출

0

69

3

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

0

62

2

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

0

75

2

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

0

72

2

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

0

72

2

최종 과제 제출

0

142

3

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

0

111

1

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

0

116

2

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

0

107

2

biquery 테이블 생성 오류 이슈

0

105

2

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

0

109

2

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

0

105

2

array 등

0

91

2

N day 리텐션 쿼리 관련 질문

0

97

2

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

0

94

2

윈도우 연습문제 1번 질문

0

91

1

user_id에 NULL이 나오는데 정상인가요?

0

109

2

3-13 리텐션 과제 제출

0

143

2

최종 과제 제출

0

188

3

weekly retention 구하기 과제

0

129

2

1-9. 피벗 쿼리 작성

0

111

2