[프로젝트 진행 상황]
- 'client_id'를 기준으로 테이블(cards, transactions, users)별 데이터를 1차 그룹핑 후 결합하였다.
# 약 1200명 가량의 고객 데이터
- 그 후 고객 세그먼트에 무의미할 컬럼들(ex. [dark_web 뭐시깽이] : 전부다 NO값)을 제거하고, 파생변수를 선정하여 다음과 같은 컬럼을 제작하였다.
파생변수분류 | 파생변수명 | 조합에 사용된 원본 테이블의 컬럼 |
[고객 재무] (Financial Behavior) |
총 부채 상환비율 (DTI) - 신용도 확인 목적 |
<users> - ['total_debt', 'yearly_income'] |
신용카드 사용빈도 [비율] - 신용 한도 과도사용 여부 확인 목적 - 신용 리스크 구분 목적 |
<transaction> - ['amount', 'credit_limit'] |
|
평균 거래액 -소비 성향 파악 목적 |
<transaction> - ['amount'] |
|
거래 변동성 - 소비 일관성 확인 목적 |
<transaction> - ['amount'] |
|
[카드 특성] (Card Profile) |
카드 발급 후 유지 기간(card_age) - 개인 소비 성향 및 신용도 파악 목적 - [차후] 개인 맞춤 액션(캠페인)진행 가능 ex. 부채 돌려막기, 무의미한 신용도 사용 |
<cards> - ['acct_open_date'] |
카드 만료 기간(days_to_expire) - 단기 관리 필요 고객 식별 |
<cards> - ['expires'] |
|
pin번호 변경 주기(pin_change_gap) - 개인 보안 민감도, 습관 파악 |
<cards> - ['year_pin_last_changed'] |
|
[거래 패턴] (Usage Pattern) |
ic 칩 카드 사용 정도(chip_use_ratio) - 개인 보안 민감도, 취약도 파악 가능 |
<transactions> - ['use_chip'] |
개인의 거래 불편 경험 빈도 [비율] (error_rate) - 개인의 금융활동 만족도 파악 가능 |
<transactions> - ['errors'] |
|
이상거래 비율 [ (잔액부족 / 정상거래) / (total 년 or 월)] - 개인 연 단위, 월 단위 잔액부족거래 비율 확인 가능 - 개인 소비 패턴 및 신용도 파악 가능 - 개인 맞춤형 액션(캠페인)가능 |
<transactions> - ['date', 'errors'] |
|
개인 소비 타입 (mcc_diversity) - 집중형과 분산형 구분 - mcc 컬럼 이용 - 고객의 소비 타입 확인 - [추가 활용 시]고객 이상 탐지 가능 (ex. 기존까지의 주요 거래 카테고리가 아닌 것 + transaction의 결제내역 중에서 주된 거래 지역과 다른 가맹점 위치) |
<transactions> - ['amount', 'mcc'] |
|
사용자 별 주된 거래지역 (top_merchant_state) - 사용자의 주된 거래 지역을 확인 가능 - [추가 활용 시] 위의 개인 소비 타입과 연계할 시 이상탐지 가능 (단, 현재는 전체 거래 중에서 주된 거래지역만 그룹핑하였기에 추가적으로 가장 적은 거래 지역을 조사하여 위와 연계하면 된다.) |
<transactions> - ['merchant_state'] |
|
결제 중 고액 결제비율(high_trans_ratio) - 고객의 소비 패턴 확인 가능 - 고객 맞춤형 액션(캠페인)가능 ex. 뱅크샐러드인지 어디 어플에서 "고객 소비 습관 관리"에 대한 액션으로, 카드 사용 내역 중에서 택시 많이 타면 AI가 "그거 쓸 돈 모아서 차를 사면 된다.", "내일은 밥 안먹으려고?" 같은 문구를 적는 것을 본 것 같다. "big borther watching you! " |
<transactions> - ['amount'] |
|
[행동, 소셜] | 소득 대비 카드 개수(card_per_income) - 개인의 과소비 위험도 확인 가능 |
<users> - ['yearly_income'] |
카드 신규 발급 빈도(avg_cards_issued_per_year) [비율] - 개인의 과소비 위험도 확인 가능 (신용카드 발급 수가 많아지며 소비가 늘어난다.) |
<users> - ['acct_open_year'] |
|
야간 활동(night_txn_ratio) - 이상 거래 탐지 가능 - 고객 행동 패턴 확인 가능(고객 맞춤형 액션 가능) |
<transactions> - ['hour', 'amount'] |
|
개인 소득 예상 기간IEP | <users> ['retirement_age', 'current_age'] |
|
[신용등급] | credit_score_range - 기존의 신용 등급 컬럼을 100단위로 구분 |
<users> - ['credit_score_range'] |
총 18개의 파생 변수(컬럼) 외에도 그룹핑한 컬럼(변수) 15개가 있다.
['id', 'current_age', 'retirement_age', 'gender', 'per_capita_income',
'yearly_income', 'total_debt', 'credit_score', 'num_credit_cards', 'amount',
'use_chip', '상위카테고리', 'card_type', 'num_cards_issued', 'account_age']
따라서 1200개의 고객 그룹핑 데이터를 33개의 변수로 클러스터링을 하기 위해
이상치 탐지 및 표준-정규화를 진행한 후 추가적인 전처리(피쳐 엔지니어링, 주요 변수 선정)를 진행할 예정이다.
이후 프로젝트의 메인인 클러스터링 기법을 시도할 계획이다.
'내일배움캠프' 카테고리의 다른 글
데이터 분석 트랙 9주차 (25.04.20.) W.I.L. (0) | 2025.04.20 |
---|---|
데이터 분석 트랙 43일차 25.04.14. [TIL] (0) | 2025.04.14 |
데이터 분석 트랙 8주차 (25.04.13.) W.I.L. (0) | 2025.04.13 |
데이터 분석 트랙 41일차 25.04.10. [TIL] (1) | 2025.04.10 |
데이터 분석 트랙 40일차 25.04.09. [TIL] (0) | 2025.04.09 |