고객 세분화

pandas로 마케팅 캠페인 분석하기

Jill Rosok

Data Scientist

일반적인 세분화 기준

세분화

  • 연령
  • 성별
  • 위치
  • 과거 상호작용
  • 사용자가 상호작용한 마케팅 채널
pandas로 마케팅 캠페인 분석하기

pandas로 세분화

# House Ads만 서브셋팅
house_ads = marketing\
         [marketing['subscribing_channel'] == 'House Ads']

retained = house_ads[house_ads['is_retained'] == True]\ ['user_id'].nunique() subscribers = house_ads[house_ads['converted'] == True]\ ['user_id'].nunique() retention_rate = retained/subscribers print(round(retention_rate*100,2), '%')
58.05 %
pandas로 마케팅 캠페인 분석하기

더 쉬운 세분화 방법이 있을까요?

shutterstock_705276157.jpg

pandas로 마케팅 캠페인 분석하기

pandas로 세분화 - groupby()

# subscribing_channel별 그룹화 후 유지 수 계산
retained = marketing[marketing['is_retained'] == True]\
          .groupby(['subscribing_channel'])\
          ['user_id'].nunique()
print(retained)          
subscribing_channel
Email        109
Facebook     152
House Ads    173
Instagram    158
Push          54
Name: user_id, dtype: int64
pandas로 마케팅 캠페인 분석하기

pandas로 세분화 - groupby()

# subscribing_channel별 구분 후 구독자 수 계산
subscribers = marketing[marketing['converted'] == True]\
            .groupby(['subscribing_channel'])\
            ['user_id'].nunique()
print(subscribers)            
subscribing_channel
Email        125
Facebook     221
House Ads    298
Instagram    232
Push          77
Name: user_id, dtype: int64
pandas로 마케팅 캠페인 분석하기

세분화 결과

# DataFrame 전반의 유지율 계산
channel_retention_rate = (retained/subscribers)*100
print(channel_retention_rate)
subscribing_channel
Email        87.200000
Facebook     68.778281
House Ads    58.053691
Instagram    68.103448
Push         70.129870
Name: user_id, dtype: float64
pandas로 마케팅 캠페인 분석하기

연습해 봅시다!

pandas로 마케팅 캠페인 분석하기

Preparing Video For Download...