TIL

넘어산·2023년 12월 14일
0

TIL

목록 보기
13/37

주제: 이탈률 가지고 다양한 가설을 세우고 쿼리도 짜보고 시각화 하기

  • 이탈자 구하기
    • Recency가 90일 이상인 유저 수 / 총 유저 수 x 100

      WITH Churned AS (
          SELECT *
          FROM customer2
          WHERE recency >= 90
      )
      
      SELECT 
      	COUNT(Churned.id) AS ChurnedCount,
      	COUNT(customer2.id) AS TotalCustomers, 
      	COUNT(Churned.id) / COUNT(customer2.id)  * 100 AS ChurnedRate 
      FROM customer2
      LEFT JOIN Churned ON customer2.id = Churned.id;
      
  • 데이터 쿼리
    • 이탈자의 자녀 유무(kidhome, teenhome)에 따른 비율
      • 십대만 있을 경우: 30%
      • 아이만 있을 경우: 21%
      • 둘다 있을 경우: 10%
      • 둘다 없을 경우: 28%
    • 학력이 Graduation이면 58% 을 가짐
    • 연령대 별
      • 20대,30대,40대,50대,60,70대 이상

      • 40,50,60,30,70,20대순으로 많았음

        WITH AgeGroups AS (
            SELECT
                ID,
                CASE
                    WHEN Year_Birth BETWEEN 1992 AND 1996 THEN '20대'
                    WHEN Year_Birth BETWEEN 1982 AND 1991 THEN '30대'
                    WHEN Year_Birth BETWEEN 1972 AND 1981 THEN '40대'
                    WHEN Year_Birth BETWEEN 1962 AND 1971 THEN '50대'
                    WHEN Year_Birth BETWEEN 1952 AND 1961 THEN '60대'
                    WHEN Year_Birth <= 1951 THEN '70대 이상'
                END AS AgeGroup,
                Recency,
                NumDealsPurchases,
                NumWebVisitsMonth
            FROM
                customer2
        ),
        
        Churned AS (
            SELECT *
            FROM customer2
            WHERE recency >= 90
        ),
        NotChurned AS (
            SELECT *
            FROM customer2
            WHERE recency < 90
        )
        
        SELECT AgeGroups.AgeGroup, COUNT(Churned.ID)
        FROM AgeGroups
        LEFT JOIN Churned ON AgeGroups.ID = Churned.ID
        GROUP BY AgeGroup
  • 시각화
    • Tableau
    • 관련 강의 수강
  • 결론
    • 마땅히 이탈 고객들만이 가지는 특징을 찾지 못하였다. 어떤 식으로 결론 지을 지 고민하고 있다.

0개의 댓글