본문 바로가기
DATABASE

Q. 코흐트 분석

by nyang2 2023. 12. 6.

코흐트 분석이란?

시간 흐름에 따라 구매패턴, 행동패턴을 분석하는 방법

 

첫 구매월을 기준으로 각 그룹간의 패턴을 파악할 것 !

 

필요 데이터 :

고객 ID ➜ customerID

구매일자 ➜ InvoiceDate

가격   UnitPrice

판매수량 ➜ Quantity

 

조회방법

 

1. 고객별 첫 구매일 조회

고객별로 묶어주기 위해 group by 를 이용해 그룹화 해준다.

첫 구매일을 조회하기 위해서는 구매일 중 가장 작은 날 ! 즉 min() 최소값을 찾아주는 집계함수를 이용하여
첫 구매일을 조회한다.

 

 

2. 각 고객의 주문일자와 구매금액 조회

해석
고객 customerID
주문일자 invoiceDate
구매금액 (수량*가격) Quantity*UnitPrice 조회

 

 

3. 고객별 첫 구매일과 전체구매 내역을 join 해주기

해석
(1) 번과 (2) 번의 내용을 left join 해주면 된다.

 

 

4. ( 최초 구매년,월 / 첫 구매 이후 몇개월만에 구매를 하였는가 ) 별로 고객의 수 / 해당기간 구매한 총 금액 조회

해석
최추 구매년,월 을 구하기 위해 substr() 을 이용하여 'YYYY-MM-DD' 형식의 문자열을 'YYYY-MM' 으로 잘라준다.

첫 구매이후 몇개월만에 구매를 하였는지 조회하기 위해
timestampDiff() 함수를 사용한다. ➜ 날짜의 차이를 연산기준으로 구해주게 된다.
인자로는 연산기준설정, 날짜1, 날짜2 가 들어가게 되는데,
연산기준으로는 Year, Month, Quater, Week, Day, Hour 등이 있다.

고객의 수를 조회하기 위해
count() 집계함수를 이용한다. 이때, 고객이 중복일 수는 없기에 distinct 를 이용해 중복제거를 해준다.

해당기간 구매한 총 금액은
Sales 의 합들을 구해주면 된다.