본문 바로가기
SQL

[Mode Project 1] A Drop in Engagement (2)

by ISLA! 2023. 3. 7.

Mode 구조 살펴보기

WAU를 볼 수 있도록 작성된 쿼리문이다. 이미 작성된 쿼리를 직접 작성해보며 공부를 할 수 있다.

 

 

Mode 가입을 완료하면 자기 공간에서 쿼리를 작성할 수 있고, 기본적인 데이터베이스가 모두 들어있는 것을 볼 수 있다.

위와 같이 테이블을 찾아 데이터를 확인해보며, 문제에 제시된 데이터들의 구조와 특징을 파악해볼 수 있다.

 

문제해결하기 1

가설 1 . 신규가입자(growth)가 감소해서 WAU가 감소했다.

주별 신규 가입자 수(all users)와 활성 사용자 가입자 수(active users)를 비교한 차트이다.

전반적으로 주말/주중이 나뉘며 비슷한 모습을 보여준다. 그런데 8월 3일 이후 약간 다른 양상을 보이는 부분이 있다.

먼저 위 차트를 보기 위한 쿼리를 작성해보자.

 

 

MySQL이 아닌 다른 툴을 쓰고 있어서, 새로운 함수를 배우며 쿼리를 작성했다. 

  1. 먼저 user table을 가져온다. 일간 가입자 수/활성 가입자 수를 보기 위해서다.
  2. WHERE 절에 기간을 먼저 확인해서 지정해준다.
    회사의 데이터는 기간별로 저장되지 않은 경우가 많기에, 항상 기간먼저 세팅하도록 한다.
  3. 일간 가입자 수를 보기 위해 DATE_TRUNC() 함수를 사용했다.
  4. 일별로 가입자 수 합을 보기 위해 COUNT(user_id) 를 사용했다.(가입 시점에 따라 1개의 아이디만 생성되므로 distinct는 쓰지 않음)
  5. 가입자 중에서도 '활성화된' 가입자만 따로 보기 위해, CASE WHEN 을 사용했다.
    활성상태가 null 이 아니면, id 를 합산하고 / 그렇지 않은 경우는 null 로 처리!

 


✏️ 더 배우면 좋을 것 : SQL에서 증감율을 구하는 쿼리 작성
=> 일별/주별 증감율을 확인해서 가설이 정말 맞는지 틀린지 확인할 수 있음 좋겠다. 

강의에 설명되어 있지 않으니, 따로 공부할 것.
728x90