- 인구 통계학적 세그멘테이션
- 사용기기, 연령, 성별, 소득과 같은 공통된 간단한 특성을 바탕으로 여러 그룹으로 나누는 방법
- 빠르게 세그멘테이션을 진행할 수 있으며, 가장 널리 알려진 간단한 방법
- 제한적인 데이터를 활용해야할 상황에 사용 가능
- 위치적 세그멘테이션
- 고객을 국가, 지역, 도시와 같은 위치 및 장소에 따라 여러 그룹으로 나누는 방법
- 모빌리티, 배달 산업과 같은 GIS 기반 위치가 중요한 산업에서 활용
- 심리적 세그멘테이션
- 고객을 라이프스타일, 관심사, 가치 및 태도에 따라 여러 그룹으로 분할
- 이커머스 산업에서 많이 활용
- 고객 행동 세그멘테이션
- 고객의 행동 데이터 기반으로 분할하는 방법
- 다양한 사용 패턴, 브랜드 충성도, 마케팅 채널에 대한 반응률 등과 같은 기준으로 분할 가능
- 최종 프로젝트 코호트 분석
- 코호트 기준: 해당 연도 첫 구매자
- 1년 기준 리텐션을 파악하기 위해 리텐션 차트 작성
#코호트 리텐션 차트 그리기
pre_cohort = main_order[['customer_id','order_date']]
pre_cohort['order_period'] = pre_cohort['order_date'].dt.strftime("%Y")
pre_cohort.set_index('customer_id',inplace=True)
FirstOrder = pre_cohort.groupby(pre_cohort.index)['order_date'].min()
FirstOrder = FirstOrder.dt.strftime("%Y")
pre_cohort['first_order'] = FirstOrder
pre_cohort.reset_index(inplace=True)
grouped = pre_cohort.groupby(['first_order','order_period'])
cohorts = grouped['customer_id'].nunique()
cohorts = cohorts.reset_index()
cohorts.rename(columns={'customer_id':'total_users'},inplace=True)
each_period = cohorts['first_order'].value_counts().sort_index()
cohortperiod = []
for x in each_period:
for y in range(x):
cohortperiod.append(y)
cohorts['cohort_period'] = cohortperiod
cohorts.set_index(['first_order','cohort_period'],inplace=True)
cohorts = cohorts['total_users'].unstack(1)
user_retention = cohorts.divide(cohorts[0],axis=0)
plt.figure(figsize=(12,8))
plt.title("리텐션 분석",fontsize = 20)
sns.heatmap(user_retention,annot=True,fmt=".0%")
plt.show()
'Data > [스파르타 내일배움캠프]' 카테고리의 다른 글
[TIL]본캠프 75일차 (0) | 2024.08.01 |
---|---|
[TIL]본캠프 74일차 (2) | 2024.07.31 |
[WIL]본캠프 15주차 (0) | 2024.07.26 |
[TIL]본캠프 71일차 (0) | 2024.07.26 |
[TIL]본캠프 70일차 (0) | 2024.07.25 |