간단한 데이터 마트를 활용하여 분석 시작하기 (회원 프로파일 분석)

매일 공부(ML)·2022년 2월 25일
0

회원 프로파일 분석- 회원 프로파일 분석용 데이터 마트

회원 프로파일 분석을 위해서 회원 프로파일 분석용 데이터 마트를 생성

  • Customer 테이블 + 가입년월, 나이, 연령대, 구매 여부


분석 보고서

가입년월별 회원수

성별 평균 연령/ 성별 및 연령대별 회원수

성별 및 연령대별 회원수(+구매여부)

USE PRACTICE;

/****************************************************************************/
/*******************************회원 프로파일 분석********************************/
/****************************************************************************/

/***************회원 프로파일 분석용 데이터 마트***************/
CREATE TABLE CUSTOMER_PROFILE AS
SELECT  A.*
		,DATE_FORMAT(JOIN_DATE, '%Y-%m') AS 가입년월

        ,2021 - YEAR(BIRTHDAY) + 1 AS 나이
        ,CASE WHEN 2021 - YEAR(BIRTHDAY) + 1 < 20 THEN '10대 이하'
              WHEN 2021 - YEAR(BIRTHDAY) + 1 < 30 THEN '20대'
              WHEN 2021 - YEAR(BIRTHDAY) + 1 < 40 THEN '30대'
              WHEN 2021 - YEAR(BIRTHDAY) + 1 < 50 THEN '40대'
              ELSE '50대 이상' END AS 연령대

		,CASE WHEN B.MEM_NO IS NOT NULL THEN '구매'
			  ELSE '미구매' END AS 구매여부
  FROM  CUSTOMER AS A
  LEFT
  JOIN  (
		SELECT  DISTINCT MEM_NO
          FROM  SALES
		)AS B
    ON  A.MEM_NO = B.MEM_NO;

/* 확인 */
SELECT  *
  FROM  CUSTOMER_PROFILE;

/* 1. 가입년월별 회원수 */
SELECT  가입년월
		,COUNT(MEM_NO) AS 회원수
  FROM  CUSTOMER_PROFILE
 GROUP
    BY  가입년월;

/* 2. 성별 평균 연령 / 성별 및 연령대별 회원수 */
SELECT  GENDER AS 성별
		,AVG(나이) AS 평균나이
  FROM  CUSTOMER_PROFILE
 GROUP
    BY  GENDER;

SELECT  GENDER AS 성별
		,연령대
		,COUNT(MEM_NO) AS 회원수
  FROM  CUSTOMER_PROFILE
 GROUP
    BY  GENDER
		,연령대
 ORDER
    BY  GENDER
		,연령대;   

* 3. 성별 및 연령대별 회원수(+구매여부) */
SELECT  GENDER AS 성별
		,연령대
		,구매여부
        ,COUNT(MEM_NO) AS 회원수
  FROM  CUSTOMER_PROFILE
 GROUP
    BY  GENDER
		,연령대
        ,구매여부
 ORDER
    BY  구매여부
		,GENDER
		,연령대;

profile
성장을 도울 아카이빙 블로그

0개의 댓글