본문 바로가기

Project/Kaggle

[Kaggle] 통신사 고객 이탈 예측 - 재현율/ 정밀도의 손익분기점

 

3. 실전이라면? - 손익분기점 파악

 

이전 포스팅인 Part 2 에서 예측의 두 가지 오류에 대해서 언급했습니다.

 

    1) 이탈할 사람을 이탈하지 않을 것이라고 잘못 예측한 경우

    2) 이탈하지 않을 사람을 이탈할 것이라고 잘못 예측한 경우

 

1번의 경우에는 이탈을 막지 못해 손해가 발생하고, 2번의 경우에는 불필요한 사람에게 솔루션을 제공해서 손해가 발생합니다.

그리고 1번의 경우에는 낮은 재현율에 따른 손해이고, 2번의 경우에는 낮은 정밀도에 따른 손해입니다.

 

우리는 재현율이 정밀도보다 중요하다고 여기기 때문에 재현율을 높이는 것을 목표로 하지만,

재현율을 높이게 되면 정밀도가 낮아지기 때문에 적당한 선까지만 재현율을 높여야 합니다.

 

이탈할 사람 대부분을 예측하는 것이 중요하지만, 적자가 되면 안된다는 말입니다.

그래서 생각한 개념이 손익분기점 입니다.

각 오류에 따른 손해액을 비교하면서 '적당한' 지점까지 재현율을 높이는 것을 목표로 합니다. 

 

 


 

 

먼저 각 오류에 따른 손해액과 그 사이 관계를 정의해보겠습니다.

인원수 * 1인당 손해비용

 

  • 재현율 오류에 대한 손해 (A) : (데이터 수 * (1-재현율)) * (mothly charge * tenure)
  • 정밀도 오류에 대한 손해 (B) : (데이터 수 * (1-정밀도)) * 1인당 투자하는 솔루션 비용
  • A-B = diff_loss : 0인 지점 = 손익분기점
  • A+B = total_loss : 가장 작은 지점 = 최적의 재현율, 정밀도

 

이제 모든 임계값에 따라 재현율과 정밀도를 대입하고 그래프를 그려보면 되는데,

전체 집단에 대해 모두 같은 솔루션 비용을 처리하는 것보다 

고객 집단을 분류해서 솔루션 비용을 다르게 처리하는게 현실적이기 때문에 집단을 나눠서 진행하겠습니다.

(월 청구 금액이 높고 약정이 긴 집단의 이탈을 막기 위해서 더 많은 돈(솔루션 비용)을 투자하기 때문)

 

  • 그룹 1 : 낮은 요금제, 짧은 임기
  • 그룹 2 : 낮은 요금제, 긴 임기
  • 그룹 3 : 높은 요금제, 짧은 임기
  • 그룹 4 : 높은 요금제, 긴 임기

 


 

가정 :

  • 그룹 1, 2 에는 솔루션 비용 1인당 4만원
  • 그룹 3, 4 에는 솔루션 비용 1인당 40만원

 

- 그룹 1

임계값을 약 0.46으로 맞추면 최적 

그룹 1
그룹 1

 

 

 

- 그룹 2

임계값을 약 0.21로 맞추면 최적

그룹 2
그룹 2

 

 

 

- 그룹 3

임계값을 약 0.75로 맞추면 최적

그룹 3
그룹 3

 

 

 

- 그룹 4

임계값을 약 0.63으로 맞추면 최적

그룹 4
그룹 4

 

 


 

전체 코드는 아래 깃허브를 참고해주세요.

https://github.com/sanghwi-git/predict_churn/blob/master/clustering%20for%20recall%2C%20precision.ipynb

 

sanghwi-git/predict_churn

Contribute to sanghwi-git/predict_churn development by creating an account on GitHub.

github.com

 

 

 


 

 

결론

집단 별로 재현율을 높이는 것에 따른 정밀도의 마지노선을 찾을 수 있었습니다.

또한 모든 집단의 total_loss 그래프가 양의 선형관계를 가지기 때문에 그 마지노선 지점이 손실이 가장 적은 부분으로, 가장 적합한 임계값으로 생각됩니다.

 

그래프가 1차 방정식이 아닌 2차 방정식 형태가 나왔다면 더 훌륭한 분석을 할 수 있었을텐데 하는 아쉬움이 있지만

솔루션 비용을 임의로 정했고, 손익분기점으로 정의한 수식이 불완전하기 때문에 당연히 만족스러운 결과를 얻지 못했다고 생각합니다.

 

사실 이 커널을 분석하게 된 계기는 '한이음'에서 주관한 산업체 연계형 프로젝트 중 한 통신사 기업(KT, SKT, LG 중 하나)의 '고객 이탈 예측 프로젝트'에 참여하게 되었기 때문인데,

지금 했던 부족한 점들을 그 프로젝트를 진행하며 보완하고 정리해서 포스팅하겠습니다.