[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;
엑셀 형식의 분석 보고서
728x90
반응형
LIST
'독학으로 취업 문 뿌수기 > SQL' 카테고리의 다른 글
[SQL을 이용해 데이터 분석하기] 고객의 구매 현황 및 패턴 분석하기 (재구매율 및 구매주기 분석) (0) | 2022.02.07 |
---|---|
[SQL을 이용해 데이터 분석하기] 고객 가치 평가모형 분석 (RFM 분석) (0) | 2022.02.07 |
[SQL을 이용해 데이터 분석하기] 회원 프로파일 분석 (0) | 2022.02.07 |
기초 데이터 분석을 위한 핵심 SQL 완전 정복 (0) | 2022.02.06 |