본캠프/TIL ♨

[56일차]프로젝트 마무리날: 발표끄읏~~

yssummer 2025. 4. 30. 22:14

ㅇㅇㅇㅇㅇ

 

5시부터 8시반까지 자고 일어나서

6시까지 논스톱으로 프로젝트 막판 준비를 했다 

시간이 어떻게 이렇게 됐지?

피피티 마무리까지 완전 익스프레스였다.

발표를 마치고 나서 알았는데, 이어폰으로 말하는게 음질이 더 좋아서 이어폰 끼고 말했었는데

어떤 이유에선지 목소리가 작아졌다 커졌다 했다고 한다.

다행히 끊긴 건 없었는데... 외부소음때문에 이어폰이 뭔가 조절했나?
그게 좀 아쉽지만 어쨌든 정한대로 제 시간안에 다 전달하긴 했다.

 

 

 


발표 대본:
 금융 데이터를 이용해새 카드 기획을 위한 인사이트를 도출해보았습니다.

2- 저희 조의 목표는 무한은행의 데이터 분석가가 되어, 고객들이 카드 혜택을 선택할 수 있는 맞춤형 카드를 기획하는 것입니다. 이를 위해 머신러닝 기법 중 하나인 군집을 적용 및 분석하였습니다.3- 혜택 선택 맞춤형 카드 실제 예시는 다음과 같습니다.4-발표는전처리 과정, 군집화 과정, 군집화 결과 및 해석, 인사이트 도출 순으로 진행하겠습니다.5-상세 데이터 셋입니다. 해당 데이터 안에 있는 파란색 키 컬럼을 기준으로 Cards_data와 transactions_data를 병합하였고 , transactions_data와 users_data를 병합하였습니다. 결합 후의 데이터 크기는 행이 약 1330만개, 열이 34개입니다.6- 다음은 1차 전처리 과정입니다. 카드데이터 전처리, 이상치 제거, 거래 데이터 전처리, 고객 데이터 전처리 후 데이터를 앞서 말한 대로 병합하였습니다. 또한 추가 이상치 및 결측치 처리후에 1차 데이터 셋을 만들었습니다.7- 다음은 최종 전처리 과정입니다. 날짜형 컬럼은 datetime 형식으로 변환하였고 카드종류를 필터링 및 분리하였습니다. 이후 고객의 온라인 거래비율 파생 변수를 생성하였습니다. 이에 거래관련/카드 한도 관련/ 고객의 직불 카드 사용 비율을 통한 사용습관/use_chip 컬럼을 이용했습니다.이후에 고객의 기본 정보를 추출했고, mcc_category 기준으로 업종별 소비 특성을 반영하여 최종적으로 client_id 기준으로 통합했습니다.  주요 수치형 컬럼에 대한 결측치 처리 후 고객별 소비패턴/카드한도/사용습관/인구통계 정보가 통합된 군집 분석 입력용 데이터셋을 완성하였습니다.8- 이상치 처리입니다. IQR 방식으로 하니 이상치가 많아서 해당 방식은 적합하지 않다 판단했습니다. 따라서 이후 DB scan을 했고, 중심 군집에서 거리가 멀리 떨어진 빨간색 이상치를 발견했고 해당 데이터를 제거하고 분석을 진행하였습니다.9- 수치형 데이터에서는 로그변환 필요한 게 있어서 적용했고, 이외의 수치형 데이터를 함께 표준화했습니다.
범주형 데이터들은 원핫인코딩을 진행했습니다.10- 다음과 같은 긴꼬리 분포를 가진 칼럼들에 대해 로그변환을 진행한 것입니다.11-다음으로 컬럼들간의 상관관계와 다중공선성 파악을 위한 vif 지수를 확인해보았습니다. 그 결과, 특정컬럼들이 상관관계와 vif 지수를 통해 다중공선성 위험이 있음을 인지했지만 저희에게 필요한 컬럼이라고 판단하여 제거보다는 이후 pca를 통해 위험을 낮추기로 결정했습니다.12- 이후 클러스터링 작업을 위해 스케일링과 다중공선성 확인 등의 전처리 과정을 거친 초기 칼럼의 종류는 다음과 같습니다.13- 고객의 소비패턴을 파악하기 위해 VISA mcc 코드의 카테고리를 현업에서도 자주 사용되는 7개 카테고리로 분류하였습니다.14- pca 를 2차원으로 축소한 후, 엘보포인트 결과 k값 6을 구했습니다.  디스턴스맵으로 미리 분포를 간단히 확인했습니다.15- 이어서 평면군집도와 레이더 차트 시각화를 진행했습니다. 먼저 평면군집도를 보면, 5개의 군집의 형태에 비해 연보라색이 상당히 흩어져 있는 것을 확인할 수 있었습니다.
레이더 차트에서도 마찬가지로 동일한 클러스터인 보라색 클러스터만 뾰족하게 도드라져 있었습니다.(+여기에 3차원 그래프 추가하려고 했는데 못함: 3차원으로 해도 엄청 설명분산계수가 낮게나온다는 이야기 하고 싶었음.)16- 표에서도 2번 클러스터 비중이 0.5로 매우 작은 것을 확인했습니다. 이 실험에서의 총 분산 비율은 26%, 실루엣 점수 0.34, DBI는 0.85로 확인하였습니다.(16,17 페이지 교환)17 그래서 클러스터링에 사용할 주요 컬럼을 이렇게 선정했습니다.18 (레이더 차트 수정하기) -주요 컬럼을 이용해 다시 클러스터링을 한 결과 6개의 클러스터가 군집을 뚜렷하게 형성한 것을 볼 수 있었고 레이더 차트도 뚜렷한 특징을 보였습니다.
k=6일때의 Rader chart 를 보시면 파란색으로 교통 여행 숙박 부분이 매우 뚜렷하게 나타났습니다. 군집 형태도 다른 K값으로 실험했을 때보다 뚜렷한 형태로 개선되었습니다. K값이 여기서 하나 작아지면 군집을 해석해볼 때 좀 더 뭉뚱그려진 특징이 덜 드러나는 경향이 있었고, 하나 높아지면 군집 비율이 3%대로 너무 작은 게 나왔고 또 클러스터끼리 개성이 강하지 않고 닮아가는 것도 등장하였기 때문에, 수치적으로도 시각화상으로도 k=6일때가 군집이 좋다고 판단했습니다. 이에따라 저희는 클러스터별 카드추천을 할 수 있는 비지도 학습이 뚜렷해졌다고 보았습니다.19-이에 따른 클러스터 페르소나별 6개 카드의 기획 인사이트를 소개하겠습니다.21-먼저 cluster 0은 '여행'과 '레저'를 좋아하고 주로 온라인에서 소비하는 30대입니다. 따라서 '여행' 과 '레저' 강화 카드를 기획하여 항공권, 렌터카, 레저시설 등에서 혜택을 제공할 예정입니다.22- cluster 1은 맛집 탐방과 나들이를 좋아하는 고소득 30대입니다. 따라서 식음료와 오 강화 카드를 기획하여 외식, 액티비티, 숙박 앱 등에서 혜택을 제공할 예정입니다.23-cluster 2는 가족중심으로 알뜰하게 소비하는  40대입니다. 따라서 '생필품 쇼핑'과 '차량' 에서 절약 강화 카드를 기획하여 대형마트, 주유소, 정기배송 등에서 혜택을 제공할 예정입니다.24-cluster 3은 쇼핑을 많이 하는 고소득 20대입니다.따라서 쇼핑과 식음료 강화 카드를 기획하여 쇼핑 vip 혜택과 20대가 선호하는 음식점에서의 할인 혜택을 제공할 예정입니다.25- cluster 4 필수적인 지출만 하는 장년층입니다. 따라서 공공요금과 의료 지원 강화 카드를 기획하여 통신 요금 지원, 병원비와 보험료 할인 혜택을 제공할 예정입니다.26-cluster 5 건강 관련 소비가 많은 노년층입니다. 따라서 의료와 통신요금 지원 카드를 기획하여  병원비나 보청기 지원과 고정비용 할인 혜택을 제공할 예정입니다. 이렇게 클러스터별로 카드의 혜택 인사이트를 모두 도출해보았습니다.27-이 기획에는 다음 두가지를 반영하고자 했습니다. 첫째는 고객 맞춤 전략인데요, 여러 혜택 중에 고객이 자신에게 적합한 혜택을 직접 고르는 걸 가능하게 함으로써 이용자의 편의성과 할인 효율을 높이고자 했습니다.
둘째는 리스크 방지 전략입니다. 저희가 사용한 데이터의 전체 기간인 2010년부터 19년까지 미국의 실제 경제가 어땠는지 파악해보았습니다. 미국 정부에서 제공하는 지표를 살펴보며 카드회사로서 경제 전망을 예측하려고 노력했는데요,  이 때 당시 경제는 회복되고 소비는 늘었지만 부채가 늘고 있었습니다. 앞으로는 고객들의 카드연체율이 늘어날 리스크가 있어 보여, 건전한 소비패턴 장려책을 마련하고자 했습니다. 그 예로 초기 한도 제한, 소액 결제 리워드 혜택, 6개월 이상 미 연체시 신용등급 향상과 같은 혜택도 추가하기로 생각했습니다.28-마지막으로 이 카드 기획의 기대 효과입니다. 카드 혜택이 자신에게 딱 맞고 심지어 혜택까지 커스텀으로 적용할 수 있으니 고객의 만족도와 카드 사용률이 증가될 것이라고 기대했습니다. 따라서 시장 점유율과 수익성, 무한은행에 대한 고객의 인식도 개선될 수 있으리라 기대하였습니다.

 

 

 

9일간의 사투(?) 가 끝나서 후련~~~~

팀원들 모두 너무 고생하셨다 ㅠㅠ

다음 태블로 공부도 기대되는군~~

태블로 공부하는 기간동안 지금 이 데이터셋 조금 더 만져보고 다듬을 생각이다.

전처리와 시각화 인강 안들었는데 이제라도 들어야겠다.

머신러닝 하면ㅅ ㅓ시각화 중에서 초면인 게 좀 있었기 때문에

지금이라도 빨리 들어야겠움.