Skip to content

yura103/bigcontest2025

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

제13회 2025 AI·데이터 경진대회 | 빅데이터 콘테스트

프로젝트: 우리 동네 가맹점, 위기 신호를 미리 잡아라!


1. 프로젝트 개요

1.1. 배경 및 목표

소상공인, 특히 프랜차이즈 가맹점은 지역 경제의 중요한 축을 담당하지만, 경기 변동, 경쟁 심화 등 다양한 외부 요인으로 인해 항상 위기에 노출되어 있습니다. 가맹점의 갑작스러운 폐업이나 매출 급락은 가맹점주 개인의 경제적 어려움을 넘어, 지역 사회와 프랜차이즈 본사에도 큰 영향을 미칩니다.

본 프로젝트는 가맹점의 운영 데이터를 심층적으로 분석하여, 폐업이나 매출 급락과 같은 위기 징후를 사전에 예측하고 경보하는 시스템을 구축하는 것을 최종 목표로 합니다. 데이터 기반의 예측 모델을 통해 가맹점의 잠재적 위험을 조기에 발견하고, 가맹점주와 프랜차이즈 본사가 선제적으로 대응할 수 있는 과학적 근거를 제공하고자 합니다.

1.2. 기대 효과

  • 가맹점주: 자신의 가맹점이 처한 위험 수준을 객관적으로 파악하고, 컨설팅, 마케팅 강화 등 위기 극복을 위한 조치를 적시에 취할 수 있습니다.
  • 프랜차이즈 본사: 부실 위험이 높은 가맹점을 조기에 식별하여 맞춤형 지원 프로그램을 제공하고, 브랜드 가치를 안정적으로 관리할 수 있습니다.
  • 금융 기관: 가맹점 대상 대출 심사 시, 데이터 기반의 신용 평가 모델로 활용하여 리스크를 정교하게 관리할 수 있습니다.

2. 데이터 소개

2.1. 데이터 출처 및 구성

본 분석에는 대회에서 제공된 3개의 주요 데이터셋과 추가적인 거시 경제지표 데이터가 사용되었습니다. 각 데이터는 가맹점의 기본 정보, 월별 매출 정보, 고객 정보 등을 포함하고 있으며, '가맹점구분번호'와 '기준년월'을 기준으로 통합하여 시계열 분석을 수행했습니다.

  • 주요 데이터셋:
    • big_data_set1_f.csv: 가맹점 기본 정보 및 월별 실적
    • big_data_set2_f.csv: 가맹점 고객의 인구통계학적 정보
    • big_data_set3_f.csv: 거주/직장/유동인구 등 고객 유형 정보
  • 데이터 레이아웃:

데이터 레이아웃1 데이터 레이아웃2 데이터 레이아웃3

2.2. 주요 변수 설명

분석에 사용된 주요 변수는 다음과 같습니다.

  • 가맹점 정보: 업종, 상권, 브랜드 구분, 운영 개월 수 등
  • 매출 정보: 월별 매출 금액/건수, 객단가, 취소율, 배달 매출 비율 등
  • 고객 정보: 성별/연령대별 고객 비중, 재방문/신규 고객 비중, 거주/직장/유동인구 비중 등
  • 경쟁 환경 정보: 동일 업종/상권 내 매출 순위, 해지 가맹점 비중 등
  • 거시 경제지표: 지역별 경제활동참가율, 실업률, 고용률 등

3. 탐색적 데이터 분석 (EDA)

데이터에 대한 깊은 이해를 바탕으로 효과적인 특성(Feature)을 생성하고 모델링 전략을 수립하기 위해, BigContest_EDA_진서유라.ipynb에서 다각적인 EDA를 수행했습니다.

3.1. 데이터 분포 확인

주요 변수들의 분포를 시각화하여 데이터의 전반적인 특징과 패턴을 파악했습니다.

  • 업종 및 상권 분포: 한식, 카페, 요리주점 등 특정 업종과 특정 상권에 가맹점이 집중되어 있는 것을 확인했습니다.
업종별 가맹점 분포 상권별 가맹점 분포
업종별 가맹점 분포 상권별 가맹점 분포
  • 주요 수치형 변수 분포: 매출액, 매출 건수 등 주요 지표들이 대부분 오른쪽으로 꼬리가 긴(right-skewed) 분포를 보였습니다. 이는 소수의 고매출 가맹점이 존재함을 시사합니다.
주요 변수 분포 1 주요 변수 분포 2
분포1 분포2
분포3 분포4

3.2. 그룹별 비교 분석

폐업 여부, 브랜드 유형 등 특정 그룹 간의 데이터 차이를 비교하여 위기 징후에 대한 단서를 탐색했습니다.

  • 폐업/운영 가맹점 비교: 폐업 가맹점은 운영 가맹점에 비해 평균적으로 매출액이 낮고, 특정 연령대 고객 비중에서 차이를 보였습니다.
폐업 여부에 따른 고객 유형 비교 1 폐업 여부에 따른 고객 유형 비교 2
폐업 비교1 폐업 비교2
폐업 비교3 폐업 비교4
  • 고객 유형별 분석: 거주, 직장, 유동인구 등 고객 유형에 따라 매출 패턴이 어떻게 달라지는지 분석했습니다.
고객 유형 분석 1 고객 유형 분석 2
고객 분석1 고객 분석2
고객 분석3 고객 분석4

3.3. 시계열 및 기타 분석

시간에 따른 데이터 변화와 변수 간의 복합적인 관계를 추가적으로 분석했습니다.

  • 월별 매출 추이: 전체 가맹점의 월별 평균 매출 추이를 통해 계절적 요인이나 특정 이벤트의 영향을 파악했습니다.
  • 변수 간 상관관계: 히트맵을 통해 변수 간의 상관관계를 분석하여, 다중공선성 문제와 모델링에 사용할 변수 조합에 대한 힌트를 얻었습니다.
기타 분석 1 기타 분석 2
기타1 기타2
기타3 기타4
기타5 기타6
기타7 기타8

4. 모델링

modeling_성현.ipynb종합경보_초아.ipynb 노트북을 통해 가맹점의 위기 신호를 예측하는 모델을 개발했습니다.

4.1. 특성 공학 (Feature Engineering)

모델의 예측 성능을 극대화하기 위해, 원본 데이터를 가공하여 의미 있는 새로운 변수들을 생성했습니다.

  • 위험 지표 정의 (Target_Final): 가맹점의 위기 상황을 종합적으로 판단하기 위해 다음과 같은 세부적인 위험 지표들을 정의하고, 이 중 하나라도 해당될 경우 최종 위험 신호(Target_Final=1)로 간주했습니다.

    1. Target_폐업: 특정 시점으로부터 1년 이내에 폐업한 경우
    2. Target_매출급락: 최근 6개월간의 매출 중앙값 대비 50% 이상 하락한 경우
    3. Target_낮은매출: 최근 6개월간의 매출 구간 점수가 지속적으로 최하위(1, 2등급)에 머무른 경우
  • 동적/정적 변수 생성: 시간에 따라 변하는 동적 변수와 변하지 않는 정적 변수를 구분하여 모델링에 활용했습니다.

    • 동적 변수: 매출/고객 관련 지표들의 최근 6개월 추세(기울기), 변동성(변화량 평균), 최신 값 등을 롤링(Rolling) 기법으로 생성
    • 정적 변수: 업종, 상권, 최초 개설일 등 가맹점의 고유한 정보

4.2. 생존 분석 (Survival Analysis)

가맹점의 '생존'(운영)과 '사망'(폐업)이라는 사건 발생까지의 시간을 분석하기 위해 생존 분석 기법을 적용했습니다. 이 방법론은 단순히 폐업 여부(0/1)를 예측하는 것을 넘어, 시간의 흐름에 따른 폐업 확률을 분석할 수 있게 해줍니다.

  • Kaplan-Meier 생존 곡선: 시간에 따른 가맹점의 누적 생존율을 시각적으로 보여줍니다. 이를 통해 특정 기간 내에 가맹점이 얼마나 살아남는지를 직관적으로 파악할 수 있습니다.

생존 곡선

  • Cox 비례위험 모델: 여러 변수들이 가맹점의 생존(폐업)에 미치는 영향을 분석하는 모델입니다. 각 변수의 위험 비율(Hazard Ratio)을 통해, 특정 변수가 폐업 위험을 얼마나 높이거나 낮추는지를 정량적으로 해석할 수 있습니다.

4.3. 위기 예측 모델링

  • 모델 선택 (PyCaret): PyCaret 라이브러리를 활용하여 Logistic Regression, LightGBM, RandomForest 등 10여개의 다양한 분류 모델의 성능을 신속하게 비교 평가했습니다. AUC, Accuracy, F1-Score 등 종합적인 평가지표를 고려하여 최종 모델을 선정했습니다.

  • 최종 모델: RandomForest: 비교 평가 결과, 개별 의사결정나무(Decision Tree)들을 결합하여 예측 안정성과 정확도를 높인 앙상블 모델인 RandomForest가 가장 우수한 성능을 보여 최종 모델로 선정했습니다. RandomForest는 과적합(Overfitting)에 강하고, 변수 중요도를 제공하여 모델 해석이 용이하다는 장점이 있습니다.


5. 모델 해석 및 결과

5.1. 특성 중요도 (Feature Importance)

학습된 RandomForest 모델이 어떤 변수를 중요하게 보고 위기 신호를 예측했는지 분석했습니다. 특성 중요도 분석 결과, 다음과 같은 변수들이 가맹점 위기 예측에 큰 영향을 미치는 것으로 나타났습니다.

  • 상위 중요 변수: 동일 업종 내 매출 순위 비율, 총운영일, 매출금액 구간 점수

5.2. 모델 성능 평가

  • 혼동 행렬 (Confusion Matrix): 모델의 예측 결과를 실제 값과 비교하여, 모델이 얼마나 정확하게 위기(True Positive)와 정상(True Negative) 상태를 예측했는지 평가했습니다. 이를 통해 모델의 정밀도(Precision)와 재현율(Recall)을 파악할 수 있습니다.
KNN 혼동 행렬 ET 혼동 행렬
KNN 혼동 행렬 ET 혼동 행렬
  • 기타 평가지표: AUC(Area Under the Curve), F1-Score 등을 통해 모델의 전반적인 성능을 종합적으로 평가했습니다.

ROC Curve


6. 모델 활용 방안

6.1. 위기 경보 대시보드 구축

개발된 예측 모델을 기반으로, 각 가맹점의 현재 위험도를 실시간으로 모니터링할 수 있는 대시보드를 구축할 수 있습니다. 가맹점주와 본사 담당자는 이 대시보드를 통해 위험도 상위 가맹점 목록, 주요 위험 요인, 과거 위험도 변화 추이 등을 한눈에 파악하고 신속하게 대응할 수 있습니다.

대시보드 예시1

6.2. 가맹점 맞춤형 컨설팅 지원

설명 모델이 제시하는 주요 위험 요인을 바탕으로 가맹점별 맞춤형 컨설팅을 제공할 수 있습니다. 예를 들어, '재방문 고객 비중'이 주요 위험 요인으로 나타난 가맹점에는 고객 충성도 프로그램을, '동일 상권 내 매출 순위'가 문제인 가맹점에는 지역 타겟 마케팅 전략을 제안하는 등 데이터 기반의 구체적인 해결책을 제시할 수 있습니다.

EDA 과정에서 생성된 추가 시각화 자료

img1 img2
img3 img4
img5 img6
img7 img8
img9 img10
img11 img12
img13 img14
img15 img16
img17 img18
img19 img20
img21 img22
img23 img24
img25 img26
img27 img28
img29 img30
img31

7. 결론

본 프로젝트를 통해 가맹점의 다양한 운영 데이터를 활용하여 위기 신호를 예측하는 모델을 성공적으로 개발했습니다. RandomForest 모델과 생존 분석을 결합하여, 단순히 위기 발생 여부를 예측하는 것을 넘어 위기에 영향을 미치는 주요 요인과 시간의 흐름에 따른 위험도를 종합적으로 분석할 수 있었습니다. 이 모델은 가맹점의 안정적인 운영을 지원하고 프랜차이즈 산업의 건전한 발전에 기여할 수 있는 실질적인 도구가 될 잠재력을 가지고 있습니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •