[SQL을 이용해 데이터 분석하기] 제품의 가치 분석하기 (제품 성장률 분석)

2022. 2. 7. 05:56독학으로 취업 문 뿌수기/SQL

728x90
반응형
SMALL

1. 분석 전 제품 성장률 분석용 데이터 마트 생성하기

  • Sales 테이블(mem_no) + Product 테이블(category, brand) + 구매금액, 분기 (주문일자: 2020.01~06)

2. 데이터 마트를 활용해, 분석 보고서 작성

  • 카테고리별 구매금액 성장률(%)    (2020년 1분기 >> 2020년 2분기)
  • 전분기 대비 성장률 = (2020년 2분기 / 2020년 1분기) -1
  • Beauty 카테고리 중 브랜드별 구매지표: 구매자수, 총구매금액, 인당구매금액 (=RFM)

<제품 성장률 분석용 데이터 마트>

CREATE TABLE PRODUCT_GROWTH AS
SELECT  A.MEM_NO
           ,B.CATEGORY
           ,B.BRAND
           ,A.SALES_QTY * B.PRICE AS 구매금액
           ,CASE WHEN DATE_FORMAT(ORDER_DATE, '%Y-%m') BETWEEN '2020-01' AND '2020-03' THEN '2020_1분기'
                    WHEN DATE_FORMAT(ORDER_DATE, '%Y-%m') BETWEEN '2020-04' AND '2020-06' THEN '2020_2분기'
                   END AS 분기
  FROM  SALES AS A
  LEFT
  JOIN  PRODUCT AS B
    ON  A.PRODUCT_CODE = B.PRODUCT_CODE
 WHERE  DATE_FORMAT(ORDER_DATE, '%Y-%m') BETWEEN '2020-01' AND '2020-06';


1. 카테고리별 구매금액(FROM절) 성장률 (2020년 1분기 -> 2020년 2분기)

SELECT  *
           ,2020_2분기_구매금액 / 2020_1분기_구매금액 -1AS 성장률      >>> %로 출력
  FROM  (
            SELECT  CATEGORY
                       ,SUM(CASE WHEN 분기 = '2020_1분기' THEN 구매금액 END) AS 2020_1분기_구매금액
                       ,SUM(CASE WHEN 분기 = '2020_2분기' THEN 구매금액 END) AS 2020_2분기_구매금액
             FROM  PRODUCT_GROWTH
            GROUP
                  BY  CATEGORY
            )AS A
 ORDER
       BY  4 DESC;
  • THEN은 구매금액이 되고 ELSE는 자동으로 NULL처리가 된다. NULL이 되어도 SUM함수는 NULL값은 포함하지 않기에 올바른 값이 출력된다.


2. Beauty 카테고리 중, 브랜드별 구매지표

SELECT  BRAND
           ,COUNT(DISTINCT MEM_NO) AS 구매자수
           ,SUM(구매금액) AS 구매금액_합계
           ,SUM(구매금액) / COUNT(DISTINCT MEM_NO) AS 인당_구매금액
  FROM  PRODUCT_GROWTH
 WHERE  CATEGORY = 'beauty'
 GROUP
       BY  BRAND
 ORDER
       BY  4 DESC;


엑셀 형식의 분석 보고서

제품 성장률 분석.xlsx
0.02MB


728x90
반응형
LIST