데이터 부트캠프 - Today I Learned

[스파르타 내일배움캠프 / 데이터 분석 트랙] TIL(Today I Learned)_6주차_24.12.30

onion95 2024. 12. 30. 21:33

Today's Goals

1. 기초 프로젝트 - 다른 고객 세그먼트 방법을 적용해도 특징이 비슷하게 나올까? (다른 경우 비교대조 해보기)

 

 

 

 

RFM 분석에 따라 고객을 4그룹으로 나누었다.세상에 이런 최악이특징이 다 비슷비슷해 보인다.

 

다른 팀원과 함께 역시 글로벌 대기업이라고 했다.이미 데이터가 평균화된 결과를 보여주다니,,,

스벅 너네 프로모션 잘 하고 있었구나 ㅎ

 

그래도 혹시 모르는 궁금증은 확인하고 넘어가야 직성이 풀리기 때문에또 다른 방법으로 고객 그룹을 나누어 보았다.모든 점수를 합산하여 구분하지 않고, R-F-M이란 세 점수 조합의 경우의 수를 따져 조건을 주었다.

 

또 별 차이가 없어보인다. 내가 해석을 못하는 걸까?!

 

 

 

 

1. 기초프로젝트 진행 과정

 

 

[고객 세그먼트 방법 변경]

  • 기존 : R-F-M 점수를 모두 더하고, 총점의 사분위수를 구하여 그룹 4개로 분류
  • New : R-F-M의 점수 조합(64개 중)을 통해 그룹 4개로 분류 VIP, 잠재 고객, 이탈위험 고객, 그 외 가치 특징 없는(집중 중요도가 상대적으로 낮은) 그룹 

 

 

[결과]

  • 프로모션 참여율, 수익율 등의 면에서 기존 세그먼트 방법과 크게 달라지는 결과는 없으나, 잠재고객이 VIP 고객보다 1회 평균 결제 금액이 높게 나타나는 것이 흥미로운 결과임(소소한 차이지만..)

 

 

 

 

2. Pandas 더 알아가기



[Pandas의 Categorical 타입 데이터] 

  • categorical 타입은 기본적으로 범주형 데이터를 의미하며, 겉으로는 단순 문자값이지만 내부적으로 순서와 크기가 존재함
  • 예를들면 옷 사이즈를 xs s m .... 이런식으로 표현할 때, 알파벳 순서로 정렬하게되면 뒤죽박죽되지만 categorical 형태로 설정해주면서 xs < s < m ....을 의미하는 것도 가능해짐
  • 컬럼값을 특정 카테고리 순서로 나열해야만 할 때, 유용하게 사용 가능
#offer name 내림차순 정렬
sorted_offer_names = (
    all_group_participation[all_group_participation['segment_group'] == 'VIP'].sort_values('participation_rate', ascending=False)['offer_name']
)

#offer name 순서를 정렬된 순서로 맞추기 위한 카레고리 형태 변환
all_group_participation['offer_name'] = pd.Categorical(all_group_participation['offer_name'], categories=sorted_offer_names, ordered=True)


pivot_participation = all_group_participation.pivot_table(index='offer_name', columns='segment_group', values='participation_rate')
pivot_participation
  • VIP 그룹의 offer_name을 내림차순으로 정렬해서 offer_name 값들에게 이 순서를 고정시켜줄 수 있는 것(사진과 같은 순서로 고정됨)

https://think-tech.tistory.com/10

 

[Pandas] categorical data type(범주형 데이터 타입)이란? (category datatype 사용 예제, pandas.Series.cat 사용법)

pandas에서 사용하는 데이엍 타입은 아래와 같다. 이 중에서 Pandas에만 있고, python, numpy에는 없는 category 타입에 대해서 간단하게 알아보자. category 타입이란 text 값의 유한한 리스트를 표현할 때 사

think-tech.tistory.com