오랜만에 데이터를 내 의도되로 가공하게되어서 약간 낯설고 떨린다..
데이터 설명 및 참고사항
1. 데이터 히스토리 설명
KKBOX는 구독 기반의 음악 스트리밍 서비스입니다.
사용자가 서비스에 가입할 때, 사용자는 수동, 자동 구독 갱신을 선택해야만 합니다. 또한 사용자는 언제든지 멤버십을 취소할 수 있습니다.
2. Churn/Renewal 정의
Churn/Renewal는 KKBox의 구독 모델로 인해 까다로울 수 있습니다.
KKBox의 구독 기간은 대부분 30일이기 때문에, 많은 사용자가 매월 다시 구독을 하게 됩니다.
Churn/Renewal을 결정하는 주요 필드는 transaction date, membership expiration date, is_cancel 입니다.
is_cancel 필드는 사용자가 구독을 직접 취소하는지 여부를 나타냅니다.
Subscription cancellation 필드는 사용자가 이탈했음을 의미하지 않고, 요금제 변경등의 사유로 가입을 해지 할 수 있습니다.
Churn의 기준은 구독이 만료된 이후, 30일 이내 신규 서비스 가입이 없는 경우입니다.
3. Train/Test Data set 차이
- Train Dataset
2017년 2월에 구독이 만료되는 사용자
-> 2017년 3월에 이탈, 갱신 여부를 파악
- Test Dataset
2017년 3월에 구독이 만료되는 사용자
-> 2017년 4월에 이탈, 갱신 여부를 파악
*transaction date를 기준으로 데이터가 분할되었음
Object
구독이 만료된 후 고객의 이탈할지 여부를 예측
(Specifically, 만료일로부터 30일 이내 구독여부를 예측)
기타 참고사항
- 업데이트
2017년 11월 6일부로 2017년 4월 사용자 이탈을 예측하기 위해 테스트 데이터를 새로 고쳤습니다.
데이터 소개
서치를 해보니, v2는 17년 3월 데이터가, v2가 아닌것은 2월 데이터이다. 뭔가 이상하더라니;; v2의 설명은 중복이니 생략하돼, 대회 참여는 v2 데이터 셋으로 진행하겠다.
1. Train.csv
고객별 Churn 데이터
- msno : user_id
- is_churn : Target variable
- is_churn
30일 이내 구독 갱신 여부로 정의
1 : 이탈, 0 : 갱신
2. sample_submission_zero.csv
제출 예시용 샘플 데이터 셋, Train.csv와 동일한 형식
3. user_logs.csv
listening behaviors를 기록한 일일 사용자 로그.
- msno: user_id
- date: 형식 %Y%m%d
- num_25: 노래 길이 25% 미만에서 재생을 멈춘 노래 수
- num_50: 노래 길이 25% ~ 50%에서 재생을 멈춘 노래 수
- num_75: 노래 길이 50% ~ 75% 사이에서 재생을 멈춘 노래 수
- num_985: 노래 길이 75% ~ 98.5% 사이에서 재생을 멈춘 노래 수
- num_100: 노래 길이 98.5% 이상 재생된 곡 수
- num_unq: 재생한 unique song 수
- total_secs: 총 재생 시간(초)
4. members.csv
고객 정보. 데이터 셋의 모든 사용자 정보가 있는 것은 아니다. (체크 필요)
- msno
- city
- bd : age
(note : range(-7000,2015)이므로 판단을 요함)
- gender
- registered_via : 등록 방법
- registration_init_time : 등록 일자 (구독 일자 말하는 듯, 확인 필요)
(형식 : %Y%m%d)
- expiration_date : 만료일자
(형식 : %Y%m%d)
실제 이탈 행동은 없고, 스냅샷으로 추출하였다.
(특정 시점에서 추출하였다.)
5. transactions.csv
고객의 결제(거래) 정보
- msno
- payment_method_id: payment method
- payment_plan_days: length of membership plan in days
- plan_list_price: in New Taiwan Dollar (NTD)
- actual_amount_paid: in New Taiwan Dollar (NTD)
- is_auto_renew
- transaction_date: format %Y%m%d
- membership_expire_date: format %Y%m%d
- is_cancel: whether or not the user canceled the membership in this transaction.
6. 세부 정보
데이터 파일 중에 WSDMChurnLabeller.scala가 포함되어 있다. 해당 코드는 테스트 데이터 세트의 레이블을 생성하는 데 사용한 코드이다. 이 코드는 무시하고 진행을 하도록 하겠다. (scala, spark를 사용할 줄 모른다.)