데이터 분석 예제
파이썬 데이터 분석 예제 (실습용 데이터셋 포함)|Python 데이터 분석 실무
파이썬 데이터 분석 예제로 빅데이터 분석 프로젝트 실습해보기 (고객 이탈 예측)
Editor's note
데이터는 비즈니스 의사결정에 있어 매우 중요한 역할을 합니다. 분야를 가리지 않고 데이터의 중요성이 대두되고 있는 만큼, 데이터 분석가에 대한 수요도 높아지고 있죠. 오늘은 현업에서 쓰일 만한 파이썬 데이터 분석 예제로, 통신회사의 데이터 분석가가 마주칠 수 있는 ‘유저 이탈 예측’ 프로젝트를 소개해드리겠습니다. 본문에서 제공되는 데이터셋을 다운받아, 함께 실습해보세요!
*본문의 예제는 제로베이스 ‘직무 스킬’ 과정 [파이썬 실전 데이터 분석 입문으로 효율적인 의사결정하기] 강의에서 발췌하였습니다. 강의와 함께 예제를 풀어보고 싶으신 분, 파이썬 데이터 분석에 대해 더 궁금하신 분은 한번 강의를 수강해보시길 추천드려요!

-
이번 아티클은 이렇게 구성되어 있어요!
Part 1. 이탈 예측이란?
1) 이탈 예측 뜻
2) 이탈 예측의 필요성
3) 이탈 예측 모델 알아보기
Part 2. 고객 이탈 정의하기
1) 이탈의 종류
2) 이탈의 기준
3) 이탈률 계산
Part 3. 실전 프로젝트
1) 데이터셋 & 시나리오
2) 데이터 살펴보기
3) 해결해야 할 문제
4) 결과 해석
Part 1.
이탈 예측이란?
1) 이탈 예측 뜻
이탈(churn)
: 고객이 서비스를 떠나거나 구독을 취소하는 것
cf) 서비스에 방문해 아무 이벤트 없이 나가는 것을 뜻하는 “bounce” 역시 한국어로 “이탈”이라고 표현함
이탈 예측(churn prediction)
: 고객이 이탈하기 전에 이탈할 고객을 미리 탐지하는 것
2) 이탈 예측이 필요한 이유
매출을 올리는 방법에는 3가지(신규 유저 유치, 기존 고객 당 매출 증대, 고객 유지율 상승)가 있습니다. 일반적으로 신규 고객을 확보하는 비용은 기존 고객을 유치하는 비용보다 높죠. 고객이 이탈한다는 것은 기존 고객에 들인 시간과 노력을 잃는 것과 같아요. 이탈률이 조금 변하는 것만으로도 수익에 큰 영향을 미칠 수 있습니다.
그런데 이때 이탈할 고객을 미리 알 수 있으면, 개별 고객에 대해 마케팅 액션을 취할 수 있어 유용하죠. (e.g. 쿠폰)
현업에서 데이터 분석가는 이탈 모델(churn model)을 이용해 마케팅 타겟 뿐만 아니라 마케팅 비용도 산정할 수 있습니다.
ex) 어떤 고객의 이탈 확률이 10%이고, 그 고객을 통한 연수익이 100만원이라면 기대 연수익은 90만원이다. 이때 이탈 확률을 5%까지 줄이면 기대 연수익이 95만원까지 높아지므로, 이탈 확률을 줄이기 위해 최대 5만원까지 쓸 수 있다.
3) 이탈 예측 모델 (churn prediction model) 특징
[이진 분류 모델(binary classification model)]
: 이탈함 / 이탈 안함
[학습 데이터]
: 이탈 여부(target), 고객 특징(features)
[고객 특징(features)]
- 사회통계적 특징: 성별, 나이, 교육 수준, 소득 등
- 과거 구매 이력
- 사이트 내 활동 이력
[예측 시점]
: 예측 시점과 실제 이탈 시점 간의 차이(얼마만큼 일찍 예측할 수 있는가)가 중요합니다. 너무 일찍 예측하면 정확도가 떨어지고, 너무 늦게 예측하면 효용성이 적겠죠. 이는 이탈 예측 모델이 어느 시점까지의 데이터를 입력값으로 쓰는지에 따라 결정됩니다.
[설명 가능성]
: 이탈 예측 모델은 설명할 수 있는지가 중요합니다. 고객 이탈을 예측한 이유를 알아야 어떤 액션을 취해야 할지 결정할 수 있기 때문이죠.
Part 2.
고객 이탈 정의하기
1) 이탈의 종류
서비스 종류에 따라 이탈의 정의는 달라질 수 있습니다.
- 명시적 이탈: 구독 취소 (ex. 구독 서비스), 계약 해지 (ex. 통신사, 보험)
- 암시적 이탈: 일정 기간 동안 활동 없음 (ex. 온라인 쇼핑몰, 게임)
2) 이탈의 기준
일정 기간 동안 활동 없음 - ‘일정 기간’의 기준은?
제품의 재구매 주기 등에 따라 달라질 수 있습니다. 실무자의 주관적인 판단이 들어가기도 하고, 여러 기준에 따른 이탈률을 비교할 수도 있죠. 분야에 따라 달라지기도 합니다.
일반적으로 화장품 매장의 경우 3~6개월 이내, 모바일 게임은 1~2일 정도가 이탈 기준이 될 수 있습니다.
3) 이탈률(churn rate) 계산
이탈률 = 이탈 고객 수 / 총 고객 수
총 고객 수(total number of customers)
분석 기간 첫 날 고객 수
분석 기간 마지막 날 고객 수
첫 날과 마지막 날 고객 수의 평균
이탈률 계산의 공식은 서비스에 따라, 분석 목적에 따라 달라질 수 있습니다. 그 예시로 2004년 넷플릭스가 이탈률을 인위적으로 낮게 계산한 혐의로 고소를 당한 일이 있었죠. 법원은 사건을 기각하며 “이탈률을 계산하는 산업 표준 정의는 없다”라고 말했습니다.
Part 3.
고객 이탈 예측 - 실전 프로젝트
이제 예제를 통해 고객 이탈 예측 실습을 해보도록 하겠습니다.
통신사의 고객 정보, 과거 이력을 통해 고객 이탈(통신사 계약 해지)을 예측해봅시다.
1) Project overview (데이터셋 & 시나리오)
-
1. 상황
- 회사의 매출을 늘리는 데에는 고객수를 늘리거나 고객 당 매출을 늘리는 방법이 있고, 고객수를 늘리는 데에는 신규 유저를 모집하거나 유저 이탈률을 줄이는 방법이 있다.
- 당신은 고객 이탈률을 줄이기 위한 프로젝트를 진행하게 되었다.
- 특히 이탈할 것 같은 고객을 예측하는 과제를 맡게 되었다. 이탈 고객을 예측한다면 쿠폰 등 프로모션을 통해 이탈을 줄일 수 있다.
이탈 고객을 정확히 예측할 수록 마케팅 타겟이 명확해지므로 이탈률을 효과적으로 줄일 수 있을 뿐 아니라 프로모션 비용을 줄일 수 있다.
-
2. 가설
- 회사에서 고객과 관련한 데이터를 이용하면 고객 이탈을 예측하는 모형을 만들 수 있다.
-
3. 문제 정의
- 한 달 이내에 이탈한 고객을 이탈 고객으로 정의한다. (이 정의는 비즈니스에 따라 달라질 수 있음)
[Dataset]
a.익명의 통신사 고객 데이터
b.이탈 여부가 주어짐
c.고객에 대한 인구통계학 정보, 활동 이력 등 제공
→ 실습에 필요한 데이터셋은 아래의 버튼을 누르면 무료로 받아볼 수 있습니다.
[시나리오]
a. SKT, KT 같은 통신회사에서
b. 유저가 다음달에 이탈할지를 예측한다.
c. 이탈 가능성이 높은 유저에게 프로모션을 함으로써 고객 유지를 할 수 있다.
위의 데이터셋과 시나리오를 바탕으로, 트리 모델을 사용하여 분석해보도록 하겠습니다.
*트리 모델(tree model)
: 머신 러닝 모델 중 하나로 테이블 형식 데이터(tabular data)에 적용하기 쉬운 모델입니다. 간단하고 빠르며, 모델의 결과를 이해하기 쉽다는 장점이 있죠.
2) 데이터 살펴보기
[데이터 특징]
- 21개 컬럼
- 이진 변수 / 범주형 (categorical) 변수 / 수치형 (numerical) 변수
- 2756101개 데이터
[알 수 있는 정보]
- 이탈(churn) 여부
- 각 고객이 계약한 서비스 (전화, 인터넷, TV 등)
- 고객 계정 정보 (고객 유지 기간, 지불 방법, 월 요금 등)
- 고객 인구통계 정보 (성별, 나이 구간, 파트너 여부, 자녀 여부 등)
*특징 더미화(feature dummification)
범주형 (categorical) 변수를 수치형 변수로 바꾸는 기법으로, 원 핫 인코딩(one-hot encoding)과 동일하다

3) 해결해야 할 문제
[데이터 분석 문제]
(1) 기본적인 기술적 데이터 분석
- 얼마나 많은 고객들이 이탈했는지?
- 고객 이탈 때문에 얼마나 많은 매출 손실이 있었는지?
(2) 고객 이탈과 상관 관계가 높아보이는 정보 찾기
- 탐색을 위한 시각화

[돌발 상황]
(1) 결측치 (missing data) 발견
- TotalCharges 열에 결측치 존재
- 행 제거, 평균치 치환, 예측치 치환 등 방법
(2) 정확도를 더 높여야 한다는 요구 사항 발생
- 새로운 feature 만들기
- 모델 변경
- 하이퍼 파라미터 튜닝
- AutoML
4) 결과 해석
- 연단위로 계약한 유저보다 월단위로 계약한 유저의 이탈률이 훨씬 높으며,
이것이 이탈 고객을 예측하는 가장 중요한 지표임을 발견할 수 있습니다.
- 월단위 고객에 대한 프로모션을 높이는 동시에, 연단위 계약을 유도하는 방향으로 마케팅/영업 전략을 유도할 수 있습니다.

마치며,
지금까지 현업에서 데이터 분석가가 마주할 수 있는 ‘고객 이탈 예측’ 데이터 분석 예제를 실습해보았습니다. 문제를 해결하는 데에 어려움이 있거나, 강의 해설이 필요하다면 제로베이스 과정 [파이썬 실전 데이터 분석 입문으로 효율적인 의사결정하기]를 들어보세요.
>> [파이썬 실전 데이터 분석 입문으로 효율적인 의사결정하기]
(제로베이스 마케팅 수신 동의 시 100% 무료로 수강 가능)
실제 데이터 분석가로 일하게 되면 이 예제보다 더욱 복잡하고 다양한 데이터 분석 문제를 해결하게 되실 거예요.
빅데이터를 제대로 배워 데이터 분석 직무로 취업하고 싶다면, 제로베이스 데이터 취업 스쿨을 추천드려요.
데이터의 기초 지식부터 시작해, 실무와 유사한 데이터 분석 프로젝트 경험까지 쌓을 수 있거든요.
제로베이스는 여러분의 데이터 분야 취업을 응원합니다!
누구나 6개월 만에 데이터 분야 취업하고 싶다면
>> 데이터 취업 스쿨 바로가기
추천 컨텐츠