Skip to content

love-tooth/card-data-analysis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 

Repository files navigation

NAT 네트워크 기반 Elasticsearch & Kibana 데이터 분석


📍 목표

  • Ubuntu 위에 ElasticSearch 및 Kibana 환경 설정하는 방법을 습득합니다.
  • 카드사 실데이터를 활용한 Kibana 시각화를 통해 데이터 분석 능력을 기릅니다.

🗜 기술 스택

Linux Elasticsearch Kibana VirtualBox MobaXterm


✋ 개발 구성원

Project Manager Data Visualization Specialist UX/UI Designer Data Analyst
오현두 임하은 정파란 김예진
오현두 임하은 정파란 김예진

📌 목차

  1. 개요
  2. 시각화 및 인사이트 도출
  3. 아키텍처
  4. 환경 세팅
  5. 트러블 슈팅
  6. 회고
  7. 참고 문헌

📫 개요

현재 우리나라에서 애플페이를 지원하는 카드사가 적은 가운데, 많은 카드사들이 이 사업에 뛰어들기 위해 노력하고 있습니다. 이런 카드사들 가운데, ‘소비자들에게 어떤 혜택을 제공하면 자신의 카드사를 선택할 수 있을지’ 대한 인사이트를 제공하기 위해 카드 실데이터를 이용한 분석을 진행하였습니다.

💡 애플페이란 ?

  • 애플이 제공하는 모바일 결제 서비스로, 아이폰, 애플 워치 등에서 사용할 수 있습니다. 실물 카드나 현금 대신 사용할 수 있어 편리성이 뛰어납니다.
  • 하지만 현재 대한민국에선 유일하게 카드사 한 곳만 지원하고 있어 소비자들에게 불편함을 주고 있습니다.

우리는 먼저 애플페이 유저들의 주 연령층은 누구인지 확인했습니다. 애플페이 유저란 곧 아이폰 유저이기 때문에, 아이폰 유저들의 연령층에 대해 조사하였습니다. 기사에 따르면, 20~30대가 주 연령층이며, 특히 20대 여성은 75%, 30대 여성이 59%로 높은 비율을 차지했습니다.


📊 시각화 및 인사이트 도출

아이폰 유저는 20~30대가 대부분임을 확인하여 이 연령층을 집중적으로 분석하였다.


  1. 20~30대의 대부분은 카드사의 ‘라이프 스테이지’ 구분에서 ‘UNI(대학생)’ 혹은 ‘NEW_JOB(사회초년생)’임을 확인하였다.

    image


  1. 대학생 및 사회초년생은 아직 신용카드보다 체크카드 소비량이 압도적으로 많음을 확인하였다. 이를 통해 추후 분석부터 이들의 체크카드 사용량을 중심으로 분석하였다.

    image


  1. 20~30대로 필터링하여, 어느 분야에서 가장 많은 지출이 있는지 확인한 결과, ‘유통업’이 압도적으로 많음을 확인할 수 있었다. 이는 유통업이란 도매, 소매, 물류 및 운송 모든 과정을 포함한 폭 넓은 산업이기 때문임을 알 수 있었다.

    image


  1. 유통업 분야가 방대하여 정확한 분석이 어려워, 유통업을 제외하고 시각화를 진행하였다. 그 결과, 순서대로 요식업, 영리 유통업, 보험 및 병원, 그리고 일반 휴게음식업에서 높은 비율을 차지한 것을 알 수 있다.

    image

    • 따라서 카드사는 이들 분야에 대한 혜택을 강화해야 한다는 인사이트를 얻었다.

    • 예를 들어 요식업에서의 할인 혜택, 영리 유통업에서의 캐시백 프로그램, 그리고 보험 및 병원 분야에서 의료비 할인 및 포인트 적립 프로그램을 통해 고객 유입도 및 만족도를 높일 수 있다.

  2. 연령별 카드사의 모바일 서비스(앱, 웹, 홈페이지 채널) 가입 비율을 나타낸 그래프이다. 20대부터 30대가 다른 연령층에 비해 많은 비율이 가입함을 알 수 있었다.

    image

    • 그러므로 젋은 연령층은 모바일 서비스에 대한 거부감이 없기 때문에, 지출 상위 분야에 대해 온라인 혜택까지 확장하면 더 좋은 결과가 있을 수 있음을 알 수 있었다.

🌐 아키텍처

아키텍처


✨ 환경 세팅


🧨 트러블 슈팅

🚀 Elasticsearch 설정 시 Kibana 연결 문제 해결

  • ⚠️ 문제 발생: 클러스터 구조로 인한 Kibana 연결 오류
    • Elasticsearch 기본 설정 값이 여러 노드간 클러스터를 구성하도록 설계되어있다.
    • 만약, 단일 노드만 실행하려면, 클러스터 기본 설정을 해주어야 한다.

✅ 해결 방법 1: 싱글 노드 모드 활성화

  • 단일 노드 환경에서 Elasticsearch와 Kibana를 원활하게 연동하려면 discovery.typesingle-node로 설정해야 한다.
discovery.type: single-node  # 싱글 노드 환경 설정
  • 이 설정을 적용하면 Elasticsearch가 클러스터 모드가 아닌 단일 노드 환경에서 동작하며, Kibana가 데이터를 정상적으로 읽을 수 있다.

✅ 해결 방법 2: 클러스터 모드 사용 (여러 노드 환경)

  • discovery.seed_hosts 설정을 추가하여 Elasticsearch가 연결할 노드를 지정해준다.

  • discovery.seed_hosts란?

    • discovery.seed_hostsElasticsearch 클러스터를 구성할 때 사용되는 설정이다.
    • 이 설정을 사용하면 Elasticsearch가 지정된 호스트를 찾아 다른 노드들과 연결하려고 시도한다.
    • 7.0버전부터 사용 가능하다.
discovery.seed_hosts: ["127.0.0.1"] #여러 개의 노드 설정 가능
  • 위와 같이 설정하면, Elasticsearch는 "127.0.0.1"에 다른 노드가 존재한다고 가정하고 해당 노드와 연결을 시도한다.
  • 하지만 단일 노드 환경에서는 추가 노드가 없으므로, 클러스터 구성이 실패할 수 있다.
  • 이로 인해 Kibana가 Elasticsearch에 접속할 때도 연결이 제대로 이루어지지 않는 문제가 발생할 수 있다.

🎯 결론

  • discovery.seed_hosts: 클러스터 환경에서는 필요하지만, 단일 노드에서는 불필요.
  • discovery.type: single-node: 단일 노드 환경에서는 이 설정을 적용하여 Kibana와의 연결 문제 해결.

🤔 회고

  • 오현두

    • 실제 금융 데이터를 시각화하는 과정에서 Kibana와 같은 시각화 도구를 활용하여 다양한 차트와 대시보드를 통해 복잡한 데이터를 직관적으로 표현하는 방법을 배웠으며, 이를 통해 데이터에서 패턴과 트렌드를 발견하는 능력이 향상되어 금융 데이터의 의미를 더 깊이 이해하고, 의사결정에 필요한 인사이트를 도출하는 데 큰 도움이 되었습니다. 또, 프로젝트를 진행하며 기존에 하나의 Ubuntu에 여러 툴을 설치하고 운영하는 방식에서 벗어나, 여러 개의 Ubuntu 가상 머신을 설정하여 각 머신에 MySQL, Elasticsearch, Kibana를 설치하고 운영하는 방식으로 변경하면서 시스템의 안정성과 성능을 향상시킬 수 있었습니다. 이 방식은 각 서비스의 독립성을 보장하고, 문제 발생 시 빠른 대응이 가능해 이후 다른 프로젝트를 진행할 때도 유용하게 사용할 수 있을 것 같다는 생각이 들었습니다.
  • 임하은

    • VirtualBox를 사용해 여러 개의 Ubuntu 서버를 구성하며, NAT 네트워크 환경에서 VM 간 통신을 설정하고 포트 포워딩을 활용하는 방법을 익힐 수 있었습니다. 또한, Elasticsearch와 Kibana를 연동하며 싱글 노드 모드와 클러스터 모드의 차이점을 경험하고, Kibana를 통해 데이터를 효과적으로 시각화하는 방법을 학습했습니다. 실제 데이터를 분석하고 필요한 데이터를 활용하여 다양한 결과물이 도출하며 데이터 분석이 서비스 기획에 중요한 역할을 한다는 것을 실감할 수 있었습니다.
  • 정파란

    • 실제 금융 데이터를 분석하며 어떤 데이터에 집중해야할 지 느낄 수 있는 프로젝트 였습니다. 하나의 ubuntu 서버에 mysql, elastic search, kibana 등을 운용하며 실행하던 기존의 방식에서 각각 다른 ubuntu 가상머신에 분리해서 운영하며 시스템의 독립성과 서버의 부하를 줄이기 위해 노력하였습니다. 또한 포트포워딩 원리에 대해 더욱 깊이 이해하는 경험이 되었습니다.
  • 김예진

    • 이번 프로젝트를 통해 Elasticsearch와 Kibana를 활용한 카드 데이터 분석을 수행하며, 실제 금융 데이터를 효과적으로 시각화하는 방법에 대해 많은 고민을 해볼 수 있었습니다. 또한, VirtualBox의 NAT 네트워크 환경에서 여러 개의 Ubuntu 가상 머신을 구성하여 각 서비스(MySQL, Elasticsearch, Kibana)를 독립적으로 운영하며 시스템의 안정성과 확장성을 높이는 방법을 경험했습니다. 이 과정에서 포트 포워딩을 활용하여 원활한 접근을 가능하게 하도록 하는 방법 또한 익힐 수 있었습니다. 이번 프로젝트를 통해 데이터 분석뿐만 아니라 시스템 구성과 운영의 중요성을 깊이 이해하는 계기가 되었습니다.

📚 참고 문헌

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •