본문 바로가기
개발 기록

[신.빅.해] 제1회 신한금융그룹 빅데이터 해커톤 회고

by 지구코드 2022. 10. 8.
반응형

신.빅.해 - 신한금융그룹과 함께 하는 빅데이터 해커톤 회고 🍃

 안녕하세요. 지구입니다! 9월 16일부터 3주동안 진행되었던 '신한금융그룹과 함께 하는 빅데이터 해커톤'의 결선이 10월 7일, 어제 종료되었습니다. 이 해커톤에 트랙2 데이터 분석 분야로 지원하였습니다. 데이터 분석은 이번 기회에 처음 경험해 보았지만, 운이 좋게도 예선에 통과하여 결선 발표를 하게되었고, 값진 우수상을 받게 되었습니다! 신빅해에서 진행한 과제에 대한 설명과 배운 점들을 기록하고자 합니다.🥰


주제 

신빅해 대회 개요

 신빅해는 신한은행, 신한카드, 신한투자증권, 신한라이프, 총 네 분야로 나뉘어 과제가 제공되었습니다. 저희 팀은 '신한투자증권' 분야의 팀으로 배정되어, 이의 과제를 수행하였습니다. 

 이 과제에서 가장 중요한 것은 신한금융증권에서 제공한 데이터를 이용하여 '증권성향'의 고객을 정의하고, 활용방안을 제시하는 것이였습니다. '증권 성향 고객'은 증권사에서 거래를 할 가능성이 높은 고객을 의미합니다.

 저희 팀은 대부분이 이번 해커톤으로 데이터 분석을 처음 경험해 보았기 때문에 인프런의 '파이썬 무료 강의 (활용편5) - 데이터 분석 및 시각화' 강의를 통해 간단한 데이터 분석 스터디를 진행한 후, 과제를 진행하였습니다.

 

[무료] 파이썬 무료 강의 (활용편5) - 데이터 분석 및 시각화 - 인프런 | 강의

파이썬을 활용하여 많은 양의 데이터를 분석하고, 분석한 데이터를 그래프 형태로 시각화하여 한 눈에 쉽게 파악할 수 있게 됩니다., - 강의 소개 | 인프런...

www.inflearn.com


개요 및 데이터 변수 설명

신한투자증권에서 주어진 과제 목표가 존재하지만, 다른 팀과의 차별성을 위하여 현재 증권사의 서비스 제공 현황을 통해 증권성향의 고객을 정의해야 하는 이유를 소개하였습니다. 나아가, 카드우수고객이며 금융투자를 많이 하는 고객이 증권사에서 거래할 확률이 높을 것이라 판단하여, 해당 칼럼의 데이터 값이 1인 고객을 증권성향 고객으로 정의하였습니다. 칼럼 P에서 데이터 값이 1이라면, 해당 서비스를 사용하고 있는 고객, 0이라면, 해당 서비스를 이용하지 않는 고객임을 의미하였습니다.

개요


데이터 전처리 

 구글의 Colab을 이용하여 Pandas와 Numpy 패키지를 이용하여 데이터 분석을 진행하였습니다. 신한금융그룹에서 주어진 데이터는 2022년 6월 한 달간간의 신한카드 이용자의 데이터로, 약 180개의 column이 존재했습니다. 따라서, 은행활동고객TF, 카드우수고객TF, 금투활동고객TF의 데이터 값이 모두 0인 고객은 해당 증권사를 이용할 가능성이 매우 낮다고 판단해 전처리를 통해 분석에서 제외시켰습니다. 

데이터 전처리 (증권을 구매할 가능성 -> 증권을 이용할 가능성)


데이터 분석 

분석 과정을 크게 세 가지로 분류하였습니다.

 1. 금융투자 유무에 따른 '연령대별 고객 분포'는 어떠한가?

 2. 금융투자 유무에 따른 '연령대별 성별 비중'은 어떠한가?

 3. 금융투자 유무에 따른 '업종별 차이'는 어떠한가?

 

이 과정을 위해, 우선적으로 금융투자 유, 무를 기준으로 데이터를 분류하였습니다.

 + 결선 질의응답에 전처리에서 질문이 들어왔는데, 증권사를 이용해 거래한 고객을 '금융투자 유'로 분류하지 않았는지에 대한 질문이였습니다. 이 부분을 고려하지 못하고 전처리를 진행한 것이 아쉬운 요소입니다.😖

데이터 분석 - '금융투자 유무'를 기준으로 분류

이 후, 연령대별 고객 분포와 연령대 별 성별 비중을 matplolib과 seabon 패키지를 이용하여 시각화하였습니다.

데이터 분석 - 금융투자 유무에 따른 연령대별 고객 분포

해당 데이터에서 업종별 소비 금액을 나타내는 칼럼이 166개였기 때문에, 큰 카테고리 16개로 분류하여 분석을 진행했습니다.

데이터 분석 - 금융투자 유무에 따른 업종별 성별 분포


데이터 분석 결과

 금융투자 유무에 따른 업종별 차이가 가장 큰 업종 세 가지는 '실외골프장, 특급호텔, 항공사'였습니다. 이 세 업종을 이용하여 활용방안을 도출하고자 하였습니다.

분석 결과 - 실외골프장, 특급호텔, 항공사


모델링

 해당 데이터가 한 달간의 단기 데이터였기 때문에, 시계열 분석과 같은 장기 데이터에 적합한 모델링 방식은 사용할 수 없었습니다. 따라서, 단기 데이터에 보다 적합한 XGBoost와 CatBoost를 이용하였습니다. 적합도는 각각 89.89%, 89.97%가 도출되었습니다.

데이터 모델링 - XGBoost

 

데이터 모델링 - CatBoost


활용방안

 위의 세 업종을 중심으로 하여 증권성향고객을 신한투자증권을 이용할 수 있도록 할 수 있는 활용방안인 '소액 자동 투자 시스템'을 고안해보았습니다. 실외골프장, 특급호텔, 항공사에서 신한카드로 결제하여 소비기록이 남는 경우, 신한투자증권에서 사용가능한 포인트를 지급하고, 일정 포인트 이상 시 고객이 원하는 종목에 자동으로 투자해주는 시스템입니다.

 직접 시스템의 UI를 만들어, 활용방안과 함께 소개하였습니다. 이 서비스를 고안할 때, 신한투자증권이 포인트를 제공해야 하기 때문에 현실가능성이 적을 것이라는 우려를 하였고, 이에 대한 해결책으로는 3개월, 6개월 등 일시적인 이벤트로 서비스를 제공하는 방안을 생각해보았습니다.

 

활용방안 - 소액 자동 투자 시스템


발표 및 질의응답 

10분 발표, 5분 질의응답으로 이루어졌으며, 결선에서 팀원 한 명과 함께 발표를 진행하였습니다. 질의응답에서 나온 질문은 다음과 같습니다.

 

 1. 증권성향고객을 정의할 때, 카드우수고객TF를 포함시킨 이유

  ➡ 실제로, 데이터 분석을 진행할 때에는 카드우수고객TF를 이용하지 않았기 때문에, 예상 질문에 포함되어 있었습니다. 따라서, 데이터 분석 전 가설과 비슷하게 정의하였으며, 실제 분석 시 업종별 소비금액 만으로도 유의미한 결과가 도출되어 이용하지 않았다고 대답하였습니다.

 

 2. 데이터 전처리 진행 시, 증권사에서 결제한 고객을 금융투자를 사용하는 고객으로 포함시키지 않은 이유

  ➡ 전처리 과정에서 이 과정을 빼놓은 팀이 많았고, 저희 팀 또한 증권사에서 결제한 고객이 금융투자를 사용하는 고객임을 인지하지 못해 이를 고려하지 못했습니다. 다음에 데이터 분석을 할 때는, 보다 주의해 전처리를 진행하겠다고 대답하였습니다.

 

 3. 활용방안에서 MZ 세대를 언급했는데, 결론과의 관련성

  ➡ 결론에 활용방안과 함께 MZ세대와 추천 종목에 대해 언급하였는데 증권성향고객과 관련이 없는 것 같다는 질문을 받았습니다. 이 질문에는 앞의 '자동 소액 투자 시스템'을 다시 소개하며, 추가적인 효과 및 홍보 방안까지 고려한 것으로 전체적인 활용방안으로 봐주시길 바란다고 답변하였습니다.


결과 및 소감 

 저희 팀은 이 해커톤에서 '우수상'을 수상하였습니다! 직접 발표를 해보고, 질의응답을 경험하며 느낀 점은 다음과 같습니다.

 첫 번째로, 증권성향고객을 정의할 때 카드우수고객 TF는 주제에서 벗어난 내용이기에 이 내용을 제외하거나, 데이터 분석 이후 증권성향고객을 재정의했다면 더 깔끔한 결론이 도출됐을 것이라 생각했습니다.

 두 번째로, MZ세대를 겨냥한 점이 오히려 결론을 흐리게 만든 것 같아, 다음 해커톤에서 활용방안을 제시하게 된다면 중심이 되는 방안을 살리고, 부가적인 요소는 생략해야겠다고 느꼈습니다.

 마지막으로, 다른 팀의 발표를 보니, 전처리와 모델링에 있어 보다 구체적이고 심화적으로 접근하였다는 것을 알게 되었습니다. 처음 진행한 데이터 분석이기에 결과에 무척 만족하지만, 다음 번에 데이터 분석을 하게 된다면 이번보다 더 심화된 분석을 진행해보고 싶다고 다짐했습니다!


 3주 동안 힘들기도 했지만, 뿌듯함이 훨씬 큽니다. 새로운 지식을 얻을 때는 실전으로 뛰어드는게 최고라는 생각을 다시 한 번 하게 되었습니다. 앞으로도 도전을 두려워하지 않고 발전하는 사람이 되고자합니다!🤩

3주 동안 매일 회의하고 열정적으로 참여한 우리 팀 너무 수고했다!💙


 

반응형

댓글