코흐트 분석이란?
시간 흐름에 따라 구매패턴, 행동패턴을 분석하는 방법
첫 구매월을 기준으로 각 그룹간의 패턴을 파악할 것 !
필요 데이터 :
고객 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 의 합들을 구해주면 된다.
'DATABASE' 카테고리의 다른 글
Q. 특정구매자가 구매한 상품 조회 (0) | 2023.12.05 |
---|---|
(MySQL 기준) 동작 순서 (0) | 2023.12.04 |
Q. 고객등급별 주문 건수 조회 (0) | 2023.12.02 |
Q. 재구매율이 가장 높은 상품 조회 (0) | 2023.11.30 |
Q. 주문 건수가 많은 시간대 조회 (0) | 2023.11.29 |