본문 바로가기
Specialist/SQL

[빅쿼리 - SQL] 샘플 매출 데이터로 Z 차트 구성하기

by 홍원 2022. 5. 12.

매출의 성장 또는 쇠퇴를 다양한 각도에서 살펴보기 위해 Z 차트를 활용하는 것은 매우 좋은 방법이다.

이번 글에서는 Z차트의 정의와 샘플 데이터 셋을 빅쿼리 SQL을 통해 구성하는 법을 알아보겠다. 


Z 차트란?

 

z차트 - 파란선 : 월차매출, 주황선 : 매출누계, 초록선 : 이동년계

'월차매출,'매출누계','이동년계'라는 3가지 지표로 구성되어, 계절변동의 영향을 배제하고 트렌드를 분석하는 방법이다.

이를 통해 데이터의 단기적 추이(매출누계)와 장기적 추이(이동년계)를 알 수 있다.

 

월차매출 : 월별 매출 합계

매출누계 : 해당 월의 매출에 이전 월까지의 매출 누계 (ex : 2018년 03월 기준 ---> 2018년 1월, 2월, 3월 매출의 합)

이동년계 : 해당 월의 매출에 과거 11개월의 매출을 합한 값

(ex : 2018년 3월 기준 ---> 2017년 2월 ~ 2018년 3월 매출의 합)

Z차트를 구성하기위해 필요한 3가지 지표


SQL을 사용하여 Z차트 구성하기

샘플 데이터를 활용하여 Z차트 지표를 구성하는 쿼리문 전체

데이터 셋 : 샘플 매출 데이터

 

1번 박스 - with 절

2번 박스 - 일별 매출 임시 테이블(daily_purchase), 월별 매출 임시 테이블(monthly_purchase)

 

이번 쿼리 역시 이전 글에서 사용한 매출 샘플 데이터와 with 절을 활용한다.

활용한 데이터와 1번, 2번 SQL문 해석을 보고 싶다면 이전 글에서 확인

이전 글 보러 가기 :  빅쿼리 SQL - 기본적인 매출 데이터 분석 '한방 정리' 쿼리

 

빅쿼리SQL - 기본적인 매출 데이터 분석 '한방 정리' 쿼리

매출 데이터를 급하게 분석해 달라는 요구에 신속하게 대응하기 위해서는 기준점이 되는 매출 지표를 알고 있어야 한다. 이번 글에서는 기본적인 매출 지표엔 어떤 것이 있는지 모르는 학생들

khw742002.tistory.com

 

3번 박스 - 연간 매출 관련 임시 테이블(cal_index)

3번 박스의 쿼리문 풀이

캡처에서 생략했지만 3번 역시 with 절의 임시 테이블 중 하나이기 때문에

2번 sql 문이 선행되어야 한다는 점을 잊지 말자. 

3번 SQL 문의 결과

위 쿼리 결과는 3번 쿼리문의 결과이다. 즉 cal_index 임시 테이블의 모습

여기서 주목해야 할 열은 cal_sale(매출 누계), year_sale(이동년계)

 

cal_sale : 2018년의 매출누계를 구하기 위해 sum(case문)을 활용하였고,

각각의 행(월별) 마다 시행해야 하므로 over(year, month(정렬) ROWS UNBOUNDED PRECENDING)을 활용해 당월까지의 매출 합을 구함

 

year_sale : sum(월별 매출)을 사용하여 매출합을 구하나, 행별로 당월 포함 12 개월 간의 매출 누계를 구하기 위해 over(year,month(정렬) ROWS BETWEEN 11 PRECENDING AND CURRENT ROW) 를 사용

 

 

4번 박스 -  Z차트를 구성하는 3가지 지표 집계하기

1번 monthly_purchase 테이블에서 월별매출

2번 cal_index 테이블에서 매출누계,이동년계를 구했으므로 

4번 박스

4번 쿼리문을 사용해 집계하면 완성

Z차트를 구성하기위해 필요한 3가지 지표

 


Z 차트 시각화 및 해석

파이썬을 활용하여 이번 데이터 셋의 Z차트 시각화 하기

https://github.com/hongwon2/BigQuery-Practice/blob/main/Z_%EC%B0%A8%ED%8A%B8_SQL_.ipynb

 

GitHub - hongwon2/BigQuery-Practice: 데이터 분석을 위한 빅쿼리SQL 연습 레파지토리입니다.

데이터 분석을 위한 빅쿼리SQL 연습 레파지토리입니다. Contribute to hongwon2/BigQuery-Practice development by creating an account on GitHub.

github.com

z차트 - 파란선 : 월차매출, 주황선 : 매출누계, 초록선 : 이동년계

장기 트렌드를 나타내는 이동 합계증가 추세를 나타냄. 또한 단기 추이를 보이는 매출 누계 역시 증가하는 것을 알 수 있음. 이는 2018년 말 월차 매출증가가 영향을 끼침

 

 


 

*참고 : 추가적인 Z차트 예시 및 해석

좌측부터 1번, 2번, 3번 Z차트

 

1번 Z 차트 : 매출이 거의 일정한 상태 하지만 일종의 정체기로 해석할 수 있음

2번 Z 차트 : 매출이 성장하는 상태의 Z 차트

3번 Z 차트 : 작년에 매출이 성장했지만, 올해 성장을 멈춘 상태를 나타내는 Z 차트 

                - 월별 매출과 매출 누계는 직선이지만 이동년계가 내려가는 중

 

 

 

 

,


<데이터 분석을 위한 SQL 레시피> 도서를 참고하여 작성되었습니다.

댓글