Code Monkey home page Code Monkey logo

analysis-programming-project's Introduction

L사의 고객 세분화를 통한 맞춤형 상품 추천

Analysis-Programming-Project


1. 배경 & 목적

  • 협업 필터링, 군집화, 장바구니 분석, RFM 분석 등을 활용한 고객 세분화
  • 백화점 고객 세분화를 통한 맞춤형 상품 추천

2. 주최/주관 & 팀원

  • 주최/주관: AI빅데이터융합경영학과 전공 수업 ‘분석 프로그래밍’
  • 팀원: 없음 (개인 프로젝트)

3. 프로젝트 기간

  • 2020.04. ~ 2020.05. (2개월)

4. 프로젝트 소개

     L사의 데이터를 가지고 ‘고객 세분화를 통한 맞춤형 상품/서비스를 추천’을 하는 과제이다. 데이터는 고객 정보, 거래 정보, 로그 정보, 상품 정보로 크게 4가지로 나누어져 있었다. 고객 정보는 성별, 연령대를 포함한 고객을 고유하게 식별할 수 있는 테이블, 거래 정보는 구매일자, 구매 시각, 구매금액, 구매 수량 등 고유한 구매 정보를 알 수 있는 테이블, 로그 정보는 세션 일자, 조회 시각, 검색 키워드 등 온라인 행동 정보를 알 수 있는 테이블, 상품 정보는 상품 대/중/소 분류명으로 고유한 상품을 구별할 수 있는 테이블로 구성되어 있다.

     고객 세분화를 진행하기 전, 온라인 고객과 오프라인 고객의 차이가 뚜렷하게 있을 것이라 판단해 로그 데이터를 포함하는 고객과 그렇지 않은 고객을 나누어 주었다. 그에 따라 나온 각각의 테이블의 특성에 따라 결측치와 이상치 등의 전처리도 진행해 주었다. 그 후 온라인 데이터에서 주 조회시각, 조회 빈도, 방문 횟수 등의 필수적인 피처를 만들어 주었다. 그 후 군집분석이 잘될 수 있도록 Feature Selection을 통해 유사한 변수를 삭제했다.

     군집분석은 위해 K-means, DBSCAN, Gaussian Mixture Mode 모델을 실험한 결과 구현이 비교적 간단하고 데이터가 매우 방대해 본 테스크에 적합한 K-means Clustering 방식을 사용해 주었다. 최적의 군집 수를 찾기 위해 SSE & Silhouette Score, Distortion Score, Silhouette Plot를 살펴보았다. 온라인과 오프라인 데이터 모두 4개의 군집에서 가장 적절하다는 결론을 얻었다.

     RFM 분석을 진행하기 위해 RFM Score 별 Frequency의 Swarmplot을 그렸을 때 점수가 높은 고객의 빈도수가 높음을 알 수 있었다. 따라서 위의 군집화를 통해 나온 4개의 군집 별로 Recency, Frequency, Monetary 값의 평균을 구해 분석한 결과, 군집 별로 **About To Sleep(비활성고객), Champions(충성 고객), Potential Loyalists(가망 고객), Hibernating(잠재 고객)**과 같이 특성에 따라 이름을 지정해 줄 수 있었다.

     장바구니 분석을 하기 위해서는 상품을 재분류하는 과정이 필요했다. 식품 카테고리가 너무 많은 관계로 연관 분석이 잘 안되어 clac_nm1(상품 대분류명)에서 식품이 아닌 것들의 clac_nm2(상품 중분류명)을 묶어주었다. ’Women's Clothing’, 'Underwear / Socks and Hosiery / Homewear', 'Fashion Accessories’를 ‘Fashion으로 묶어준 것이 그 예이다. 그 결과 지지도가 0.2 이상, 신뢰도가 0.7 이상인 온라인 데이터에서 6개의 연관 규칙을 찾아낼 수 있었고, 지지도가 0.2 이상, 신뢰도가 0.8 이상인 오프라인 데이터에서는 20개의 연관 규칙을 찾아낼 수 있었다. 이는 교차판매, 상품 진열, 부정 탐지, 상품 카탈로그 디자인 등에 사용될 수 있을 거라 기대된다.

     마지막으로 Collaborative Filtering을 사용한 추천 시스템도 만들어 주었다. 비슷한 소비를 한 아이디 별로 군집을 생성하고 비슷한 소비를 한 이웃과 그 이웃이 가장 많이 구매한 10개의 상품을 추천해 주었다.


5. 프로젝트 담당 역할

  • 데이터 전처리 및 피처 엔지니어링
  • 장바구니 분석, RFM 분석, K-means 군집화, 협업 필터링 구현 및 최적화

6. 발표 자료

L.Point 최종 발표자료

analysis-programming-project's People

Contributors

maj34 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.