← 목록으로
이탈 점수 계산 로직 2026.03.15 ✍️ 최하영

이탈률 가중치 점수 산출

이탈률 가중치 점수 산출

1. 이탈률 점수 설계 개요

본 시스템에서는 통신 서비스 고객의 **타 통신사 이동 및 요금제 해지 가능성(churn risk)**을 예측하기 위해 Rule-based scoring 방식의 churn risk score를 설계하였습니다.

이탈 위험도는 크게 두 가지 축으로 계산하도록 설계하였습니다.

1️⃣ 배치 기반 Feature (상태 기반)

2️⃣ 실시간 Feature (행동 기반)

이 두 점수를 결합하여 **최종 이탈 위험도 점수(final churn score)**를 계산하도록 하였습니다.


2. 이탈 위험도 등급

최종 점수는 0~100 범위로 정규화하였으며 다음과 같이 구분하였습니다.

Risk Level Score
HIGH 80 ~ 100
MEDIUM 50 ~ 79
LOW 0 ~ 49

3. 가중치 설계 원칙

가중치는 다음 네 가지 원칙을 기반으로 설계하였습니다.

1️⃣ 상태 기반 feature < 행동 기반 feature

고객의 상태 정보보다 실제 행동 로그가 churn intent에 더 가까운 신호라고 판단하였습니다. 따라서 실시간 행동 feature의 가중치를 더 크게 설정하였습니다.


2️⃣ 행동 강도에 따른 단계적 signal 구조

고객 행동은 다음과 같은 순서로 churn 의도의 강도가 증가한다고 판단하였습니다.

요금제 비교 → 위약금 조회 → 해지 프로세스 진입

이에 따라 각 단계별로 점수를 점진적으로 증가시키는 구조를 설계하였습니다.


3️⃣ 상담 signal은 감정 + 키워드 결합

상담 데이터는 다음 두 요소를 결합할 때 churn signal로서 의미가 높다고 판단하였습니다.

두 신호가 동시에 발생할 경우 강한 churn signal로 판단하도록 설계하였습니다.


4️⃣ Batch score + Real-time score 구조

최종 점수는 다음 구조로 계산하도록 설계하였습니다.

final_score = min(100, base_score + realtime_score)
Score 의미
base_score 상태 기반 점수
realtime_score 행동 기반 가산 점수

100점을 초과하는 경우 **100점으로 제한(cap)**하도록 설계하였습니다.


4. Batch 기반 Feature 설계

Batch Feature는 고객 상태 기반 churn risk를 나타내는 변수로 정의하였습니다.

Batch score의 최대값은 75으로 제한하였습니다.

이는 실시간 행동이 발생했을 때 HIGH 등급으로 상승할 수 있도록 점수 여유를 확보하기 위한 설계입니다.

base_score max ≈ 75

4.1 계약 기반 Feature

약정 종료까지 남은 기간

남은 기간 점수
0~2주 +20
3~4주 +16
5~8주 +12
9~12주 +8
13주 이상 0

약정 종료 시점은 telecom churn 연구에서 가장 강한 구조적 변수 중 하나로 알려져 있기 때문에 높은 가중치를 부여하였습니다.


가입 초기 여부

가입 기간 점수
0~4주 +10
1~3개월 +6
3개월 이상 0

가입 초기 구간은 초기 churn 발생률이 높은 구간으로 알려져 있어 해당 구간에 점수를 부여하였습니다.


4.2 요금제 변경 행동 (3개월 기준)

변경 횟수 점수
0 0
1 +5
2 +8
3 이상 +15

요금제 변경은 **가격 민감도(price sensitivity)**를 나타내는 신호로 해석하였습니다.


4.3 가격 대비 사용량 Feature

다음과 같이 usage ratio를 정의하였습니다.

usage_ratio = 실제 사용량 / 제공 데이터량
usage_ratio 점수
0~10% +15
10~30% +12
30~50% +8
50% 이상 0

사용량이 낮을수록 고객은 요금 대비 가치가 낮다고 인식할 가능성이 높다고 판단하였습니다.


4.4 상담 만족도 Feature

평균 점수 점수
1.0~1.9 +15
2.0~2.9 +10
3.0~3.9 +5
4.0 이상 0

CS dissatisfaction은 churn의 대표적인 driver로 알려져 있어 해당 점수를 반영하였습니다.


4.5 Batch Score 최대값

약정 종료: 20
가입 초기: 10
요금제 변경: 15
사용량: 15
상담 만족도: 15

≈ base_score max = 75

5. Real-time Feature 설계

Real-time feature는 실제 churn intent signal을 반영하도록 설계하였습니다.

실시간 행동 feature는 고객의 실제 churn intent를 반영하는 signal이기 때문에 batch feature보다 높은 점수 범위를 허용하였습니다. 특히 위약금 조회, 해지 프로세스 진입과 같은 행동은 churn 의도와 매우 강하게 연결되는 행동이므로 단일 이벤트만으로도 HIGH risk 상태로 상승할 수 있도록 설계하였습니다.

realtime_score theoretical max ≈ 80

5.1 요금제 비교 이벤트

로그 이벤트

click_compare

로그 중복 방지를 위해 다음 정제 규칙을 적용하였습니다.

로그 정제 규칙

같은 세션에서

30초 내 반복 클릭 → 1회로 처리

점수

비교 세션 수 점수
1 +8
2 +12
3 이상 +15

5.2 해지 위약금 조회

로그 이벤트

click_penalty

위약금 조회는 churn 의도와 매우 가까운 행동으로 판단하여 높은 가중치를 부여하였습니다.

조회 횟수 점수
1 +25
2 이상 +35

5.3 상담 이벤트

상담 이벤트는 감정 분석 + 키워드 분석을 결합하여 점수를 계산하도록 설계하였습니다.

상담 감정 키워드 점수
부정 +10 high + 20 +30
부정 + 10 medium + 10 +20
긍정 high + 20 +20
부정 + 10 없음 +10
긍정 medium + 10 +10
없음 없음 0

5.4 해지 프로세스 진입

해지 프로세스 진입은 가장 강한 churn signal로 판단하였습니다.

점수보다는 Retention Trigger로 활용하도록 설계하였습니다.

해지 프로세스 진입 → +40

6. Retention Trigger 설계

다음 조건에서 retention action을 수행하도록 설계하였습니다.

final_score >= 80
AND
해지 프로세스 진입
AND
쿠폰 발급 이력 없음

실행 액션

Retention Model 실행
→ 쿠폰 발급
→ 유지 유도 모달 노출

예시 메시지

"고객님, 지금 유지하시면 추가 할인 혜택을 받으실 수 있습니다."

7. 최종 점수 계산 구조

최종 점수는 다음과 같이 계산하도록 설계하였습니다.

final_score = min(100, base_score + realtime_score)

예시

base_score = 45
realtime_score = 38

final_score = 83
→ HIGH risk

8. Strong churn signal

다음 세 가지는 가장 강한 churn signal로 정의하였습니다.

1️⃣ 위약금 조회 2️⃣ 해지 프로세스 진입 3️⃣ 상담 중 해지 키워드 + 부정 감정

이 세 신호는 churn intent와 직접적으로 연결되는 행동으로 판단하였습니다.


9. Feature Store 확장 전략

현재 시스템은 rule-based scoring 구조로 운영하도록 설계하였습니다. 그러나 향후 실제 churn label 데이터가 축적될 경우 machine learning 모델로 확장할 수 있도록 feature store를 구축하였습니다.

예시 feature

contract_remaining_weeks
tenure_months
usage_ratio
plan_change_count_3m
avg_support_rating
compare_click_count
penalty_click_count
negative_support_count
age_group
gender
family_group_num
persona_type
raw_rule_score
rule_tier

이 데이터는 향후 다음 모델 학습에 활용할 수 있습니다.

즉 현재 구조는

Rule-based churn scoring
→ Training dataset 축적
→ ML churn prediction model

로 자연스럽게 확장될 수 있도록 설계하였습니다.


최종 정리

본 churn scoring 시스템은

두 축을 결합하여 설명 가능한 churn risk scoring 모델을 구축하였습니다.

또한 모든 feature를 feature store에 저장하도록 설계하여, 향후 실제 churn 데이터가 축적될 경우 machine learning 기반 churn prediction 모델로 확장할 수 있도록 구조를 설계하였습니다.


#로그 기반 #실시간 상담