▼오늘 배운 사항들
1. 데이터분석 모델링 종합 실습
- 군집분석 : 이탈 대상 선별
- ABtest 결과 분석 : 쿠폰 전략 효과 통계 검증
- ARIMA 시계열 분석 : 쿠폰 전략 적용 이후의 구독 유지율 예측
Part 1. 데이터분석 모델링 종합실습
[군집분석]
- 목적 : 팀장님이 전체 고객한테 쿠폰 다 뿌리지 말자고 해서, 이탈할 고객한테만 뿌리기 위해 군집분석해서 이탈대상 선별할것
- 사용 : 군집분석 - KMeans
- 데이터 분석 : 지난번 군집분석 했던 흐름과 동일하게 진행
- [전처리] 결측치 처리는 평균값으로 진행
# 결측치 처리 - 평균값으로
결측치_컬럼 = ['월청취시간','월접속횟수','구독유지개월','최근접속일수','플레이리스트수']
for col in 결측치_컬럼:
평균값 = df_고객[col].mean() # 각 컬럼의 평균 구하기
df_고객[col] = df_고객[col].fillna(round(평균값)) # 각 컬럼마다 결측치는 평균값으로 채우기




[ABtest 분석]
- 목적 : 이탈대상으로 쿠폰 실험한 결과데이터로 두 그룹의 재접속률 비교해서 쿠폰 효과 파악하기
- 사용 : t-test
- 가설설정
- 귀무가설(H0): "두 그룹에 차이가 없다" = 기본 전제, 즉 쿠폰이 효과가 없다는 가정
- 대립가설(H1): "B그룹(쿠폰)의 재접속률이 더 높다" = 우리가 증명하고 싶은 것
- 데이터 분석 : 두 그룹간 재접속률 차이의 우연 여부를 검정하기 위한 t-test 필수
- 재접속률 계산 : 0,1로만 된 컬럼은 평균으로 계산하면 비율로 확인 가능
- from scipy import stats : t test 검정
- 판정: p < 0.05 → 귀무가설 기각
쿠폰(B그룹) 효과는 통계적으로 유의미합니다.
→ B그룹 전략(30% 할인 쿠폰)을 전체 이탈위험군에 적용 결정
# 이 두 그룹의 재접속률 차이가 진짜인지 우연인지 검증하기 -> T test
# 재접속(0,1)여부로 두 그룹의 차이가 유의미한지 검정
from scipy import stats
t통계량, p값 = stats.ttest_ind(A그룹['재접속여부'], B그룹['재접속여부'])
print(f"t통계량 : {t통계량}") # t통계량 = 두 그룹의 평균의 차이가 얼마나 큰지 데이터의 흔들림으로 나타냄, 평균 차이/데이터의 변동성 -> 절대값이 클수록 차이가 뚜렷함
print(f"p값 : {p값}") # 두 그룹의 차이가 없다고 가정했을 때, 지금과 같은 결과가 우연히 나올 확률 -> 적을수록 우연일 확률이 낮음(차이가 있다는 의미)

[ARIMA 모델로 시계열 예측]
- 목적 : A/B 테스트로 검증된 쿠폰 전략을 전체 이탈 위험 고객에게 적용한 이후, 월별 구독 유지율 변화 추적(예측)
- 사용 : ARIMA
- 데이터 분석 : 지난번 시계열분석 했던 흐름과 동일하게 진행
- 구독 유지율 예측 검증시에는, 쿠폰 뿌리고 나서 많이 상승한 것과 차이가 있어 데이터 예측을 잘못했는데
- 전체값으로 향후 6개월 예측하니 흐름 그대로 가는건 ARIMA모델 장점으로 예측이 잘 나옴

더보기
으ㅏ~아ㅏ가