본문 바로가기

Pandas/실전

판다스 - 가상 쇼핑몰 고객 주문 데이터 : 우수 고객 찾기, 고객 코호트 분석

반응형

https://steadiness-193.tistory.com/155

 

판다스 - 가상 쇼핑몰 고객 주문 데이터 : 연월별 매출, 요일별 매출

https://steadiness-193.tistory.com/154 판다스 - 가상 쇼핑몰 고객 주문 데이터 : 전체 매출, 국가별 매출 https://steadiness-193.tistory.com/153 판다스 - 가상 쇼핑몰 고객 주문 데이터 : 전처리, Data clea..

steadiness-193.tistory.com

전처리, 컬럼 추가 등은 위 포스팅 참조

 

 

 

 

 

데이터 불러오기

 

 

 

우수 고객 찾기

 

1. 구매 횟수 기준

 

고객을 기준으로 해야하니

 

CustomerID로 그룹화한뒤 count메서드를 이용한다.

 

 

 

 

누락값이 없으니 아무 컬럼을 기준으로 내림차순해서 보면 된다.

 

 

구매횟수가 많은 고객 top5는

 

17841, 14911, 14096, 12748, 14606 이다.

 

 

 

 

 

 

 

2. 구매 금액 기준

 

마찬가지로 CustomerID로 그룹핑한뒤

 

CheckoutPrice 컬럼의 sum 집계값을

 

내림차순 하면 된다.

 

 

구매금액이 높은 고객 top5는

 

14646, 18102, 17450, 16446, 14911 이다.

 

 

 

 

 

 

 

고객 코호트 분석

 

https://steadiness-193.tistory.com/158

 

판다스 - 가상 쇼핑몰 고객 주문 데이터 : 고객 코호트(cohort) 분석

https://steadiness-193.tistory.com/155 판다스 - 가상 쇼핑몰 고객 주문 데이터 : 연월별 매출, 요일별 매출 https://steadiness-193.tistory.com/154 판다스 - 가상 쇼핑몰 고객 주문 데이터 : 전체 매출, 국가..

steadiness-193.tistory.com

위 코호트 분석과 내용은 같으나

 

중간의 과정만 다소 다르다.

 

다른 과정의 코드만 바꿔서 실행한다.

 

 

 

 

 

 

 

사용자 기준으로

 

 

Month : 구매한 월 (일 무시)

 

Month_Started : 고객이 처음으로 구매한 달

 

 

 

 

 

Month 컬럼 구해서 추가하기

 

 

datetime을 이용해서 InvoiceDate의 연과 월을 가져오고

 

월 기준이니 일은 1로 통일한다.

 

 

 

 

 

 

 

첫 구매월(Month_Started) 찾고 컬럼으로 추가하기

 

 

고객이 첫 주문한 월을 컬럼으로 추가했다.

 

 

 

 

 

 

 

 

Month_Passed

 

고객의 주문이 첫 주문으로부터 몇 개월이 지났는지 찾기

 

 

즉, 최초 구매월로부터 현재 구매한 월의 차이다.

 

마지막 5명의 고객은 첫 구매로부터 4개월 뒤에 또 구매한 것이다.

 

 

 

 

 

 

 

 

 

기준 월과 Month_Passed 컬럼으로 그룹핑

 

 

 

 

첫 구매월로부터 N개월이 지나서 또 구매한 

 

고객의 ID 고유값을 찾기 위해 아래 코드를 실행한다.

 

 

 

 

 

 

 

고유값 자체보다는 고유값의 개수를 구해야 한다.

 

 

 

데이터프레임으로 변환 (reset_index)

 

 

 

 

 

 

pivot으로 Month_Passed를 컬럼으로 이동

 

 

 

 

 

 

0 컬럼으로 정규화한 뒤 반올림

 

 

 

 

 

 

 

시각화

 

 

 

 

반응형