<aside>
담당 가설: 익숙한 재방문 유저(중저가형) - 성균 🤩
<aside> 📓
내용
페르소나 조건에 맞는 유저 필터링 ('mid_50k_150k' 기준)
import pandas as pd
# 1. CSV 파일 불러오기
df = pd.read_csv("df5.csv")
df_filtered2_1 = df[ (df['user_type'] == 'returning') &
(df['price_band'] == 'mid_50k_150k') &
(df['review_clicked'] == False) &
(df['discount_exposed'] == True) &
(df['traffic_source'].isin(['organic', 'search'])) ]
df_filtered2_1
organic과 search를 묶어서 필터링
#2. pdp 체류시간별로 이탈률이 다르게 나타날 것이다.
df_filtered2_2 = df[
(df['user_type'] == 'returning') &
(df['price_band'] == 'mid_50k_150k') &
(df['review_clicked'] == False) &
(df['discount_exposed'] == True) &
(df['traffic_source'].isin(['organic', 'search']))
]
df_filtered2_2['is_abandon'] = df_filtered2_1['add_to_cart'] == "No"
result = (
df_filtered2_2
.groupby('duration_group_label')
.agg(total_users=('add_to_cart', 'count'), abandon_users=('is_abandon', 'sum'))
)
result['abandon_rate'] = result['abandon_users'] / result['total_users'] * 100
result = result.reset_index()
result

저가형 미드 비교했을 때 pdp 체류시간 같은 경우 저가형이 짧음, 매우 짧음이 가장 이탈률이 낮고, 미드의 경우 인원수가 적긴 하지만 김 부분이 제일 이탈률이 낮았음
그래서, 가격대별로 상세페이지 전략을 좀 다르게 해야 할 것 같다
리터닝이니까 둘다 신뢰 기반으로 가되
저가형 -
미드 - 가격대 품질 강조
ㄴ 최종적으로
</aside>
<aside> 💡
organic과 search 별로 확인
df_filtered = df[
(df['user_type'] == 'returning') &
(df['price_band'] == 'mid_50k_150k') &
(df['review_clicked'] == False) &
(df['discount_exposed'] == True) &
(df['traffic_source'].isin(['organic', 'search']))
]
df_filtered['is_abandon'] = df_filtered['add_to_cart'] == "No"
result = (
df_filtered
.groupby(['traffic_source', 'duration_group_label'])
.agg(total_users=('add_to_cart', 'count'), abandon_users=('is_abandon', 'sum'))
)
result['abandon_rate'] = result['abandon_users'] / result['total_users'] * 100
result = result.reset_index()
result

organic vs search 이탈률 차이False, 할인 노출이 True인 유저들만 포함됐기 때문에:
➡ 그럼에도 이탈률이 높은 건 PDP의 콘텐츠 품질이나 상품 정보가 유저의 관심을 유지시키지 못했을 가능성이 있다.
이건 gpt 생각
따라서 단순히 유입 경로만으로는 이탈을 설명하기 부족하다고 생각을 해
특히 검색 유입 유저는 “목적성 있는 방문”이 많기 때문에, 기대와 다른 콘텐츠를 보면 더 빨리 이탈하는 경향도 보여.