Project

[Team Project] 구매 성향에 따른 분류와 그에 따른 마케팅 방안 제시

여연찌 2024. 6. 25. 13:28
 

Marketing and Retail Analyst E-comerce

 

www.kaggle.com

 

마케팅 실무에 가장 가까운 내용이며, 실무에 투입하게 된다면 가장 기본적으로 분석해야하는 내용으로 확인되어 이 데이터를 선정 후 분석하게 되었다.

이번 프로젝트에서는 전처리 후 군집분석을 하여 우리가 놓치고 있는 중요한 고객의 패턴을 확인하여 새로운 기준에 따라 유저를 그룹화를 한 후 그 기준을 통해 인사이트를 찾고, 마케팅 방안까지 생각해보았다.

집사즈_심화프로젝트 (1).pdf
8.05MB

 

프로젝트 요약

  1. 프로젝트 소개: 머신러닝 기능을 사용하여 기존에 발견하지 못한 새로운 기준에 따라 유저를 그룹화 한 후 그에 따른 마케팅 방안 제시
  2. 사용 스킬 & 도구
    프로그래밍 언어: Python, SQL
    분석 도구: Pandas, NumPy, Scikit-learn, Matplotlib, Seaborn, StandardScaler, Yellowbrick, MySQL
    코드 실행 및 결과 시각화: Jupyter Notebook, Dbeaver
  3. 문제 해결 프로세스
    문제 정의: 놓치고 있었던 기존 고객 분류를 찾아내고, 그에 따른 마케팅 방안 제시
    데이터: Marketing and Retail Analyst E-commerce Dataset(123,205 row | 22 column)
    데이터 전처리: Pandas, SQL 를 사용하여 이상치, 결측치 처리 및 Main Table 생성
    데이터 분석: 분류의 정확도를 높이기 위한 파생 변수 생성 후, Scikit-learn 을 사용한 클러스터 분석
    추가 분석: 분류된 군집 중, 목표와 부합한 군집에 대한 마케팅 방안 제시
  4. 결과 및 성과
    군집 별 인사이트를 도출하고, 그에 따라 세부 데이터를 분석
    특정 군집에서 기존의 개념과 다른 양상을 보이는 군집을 발견하였음

1. 프로젝트 목적

  • 데이터 분석을 통해 고객의 소비 성향을 파악하고 기준을 새로 정의 후 마케팅 방안 제시

 

2. 데이터 소개

  • 데이터 수집: kaggle
  • 데이터 소개: Marketing and Retail Analyst E-comerce
    • customers(4 Column, 99441 Row)
    • orders(7 Column, 99441 Row)
    • payments(5 Column, 103886)
    • order_items(6 Column, 112650 Row)
    • products(6 Column, 32949 Row)

 

3. 데이터 전처리

  • 데이터 결측치 처리
    • Products: (product_category_name, product_weight_g ) / 무게가 0인 경우 결측치로 분류
    • Orders: (order_delivered_timestamp, order_approved_at) / 주문이 확정되지 않았거나, 배송완료되지 않은 것은 주문 건이 완료되지 않은 것으로 판단
    • Payments: (payment_type) / not-defined 값 존재, 결제수단을 알 수 없으므로 결측치로 분류
  • 데이터 이상치 처리
    • payment_installments: 0~24 의 값 중 0과 1이 둘다 일시불이란 뜻이 될 수 있으므로 0을 이상치로 판단후 1로 변환
    • payment_sequential: 약 95% 이상의 행이 3 이하의 값이며, 실생활에서 분할 결제시 3회 정도라고 판단후 4 이상의 값은 이상치로 판단 후 drop 처리

→ 전처리 완료 후 join

 

 

4. 파생변수 및 데이터 스케일링

  • 데이터 범위 지정
    • order_delivered_timestamp: 상품이 배송된 시점을 나타내는 컬럼으로 배송완료 = 주문건 종결로 판단, 매출 발생의 기준 컬럼으로 사용함
    • 정확한 고객 구매성향 파악을 위해 주문이 확정된(=배송이 완료된) 컬럼만을 사용함
    • 분석 목표에 따라 고객의 최신 주문 정보를 담고 있는 2018년 데이터만을 사용함
  • 파생변수 생성
    • total_price(제품 당 주문 금액): 구매갯수 * (가격+배송료)
    • order_cnt(고객 당 주문 건수): 고객 ID 당 주문 ID 의 갯수
    • avg_order_hour(평균 주문 시간)
    • lead_time(주문일과 배송완료일 간 차이): 배송 완료 일자 - 주문 일자
    • delivery_datediff(실 배송일 수 차이): 배송완료일 - 예상배송일[더 빨리 도착한 것은 양수(+) 로 표현]
    • product_volume(제품의 부피): 길이*너비*높이
    • priceper100g(100g당 제품 가격): (제품 별 주문 금액/무게) * 100
    • sum_payment(총 결제 금액)
  • 중복값 제거
    • product_id 중복 제거: 한 주문 건에 중복되는 경우 더 높은 금액을 가지는 product_id 를 total_price(구매 개수*(가격+배송비)) 로 지정함으로써 중복값 제거
      1. 여러 종류의 제품을 구매한 경우(product_id 여러개)
      2. 한 상품을 여러 개 구매했을 경우(product_id 중복적으로 n개)

→ 고액 결제를 하는 고객을 식별할 수 있고,

각 고객의 최대 구매력을 알기 위해 높은 금액의 total_price 를 남기기로 하였다.

 

    • order_id 중복 제거: 고액 결제를 하는 고객을 식별하고, 객단가 관리 및 마케팅 전략 수립에 유리
      1. 한 고객이 여러번 주문을 한 경우(order_id 중복): 고객 당 하나의 주문만을 남기기 위해 최종 결제 금액이 높은 주문건 선택
  • 데이터 표준화
    • 표준화에 사용된 컬럼 리스트
    • 주문/결제: 
      1. max_sequential
      2. max_installment
      3. sum_payment
      4. total_price
      5. order_cnt
      6. priceper100g
    • 배송/시간:
      1. lead_time
      2. delivery_datediff
      3. avg_order_hour
    • 상품:
      1. product_weight_g
      2. product_length_cm
      3. product_length_cm
      4. product_width_cm
      5. product_volume

 

5. 분석 과정 및 검증 

  • 초기 설정값 확인
    • 클러스터링 컬럼 설정: 
      1. max_installment
      2. sum_payment
      3. lead_time
      4. delivery_datediff
      5. avg_order_hour
      6. total_price
      7. product_weight_g
      8. product_length_cm
      9. product_height_cm
      10. product_width_cm
      11. product_volume_㎤
    • 주성분 개수 선정:
      1. 주성분 개수: 6개
      2. 설명력: 85%
    • K 값(군집개수) 선정:
      1. 엘보우포인트를 통한 K 값: 6
      2. k 값 범위 조정 (3,10)

  • Clustering
    • 2차원 Scatter Plot 생성: 군집 분포를 확인하기 위해 2차원 그래프 생성
    • Line Plot 생성: 군집별 특성 확인을 위한 라인 플롯 생성

군집(섹션) 별로 잘 분류되었음

  • 0번 군집: 오후 시간 구매 선호(light user)
    • average_order_hour 에서 큰 양의 값을 보여주므로, 오후시간에 구매를 선호하는 유저로 판단
  • 1번 군집: 배송 시간 고려 X
    • lead_time이 양의 값으로 크게 치솟았고, delivery_datediff 에서는 음수로 크게 감소하였으므로 두 변수와 관련있는 유저로 판단/ 배송 기간에 영향을 받지 않는 유저이며 빠른 배송이 필요없을 것으로 추측
  • 2번 군집: 안정적, 유보적 구매자
    • max_installment 값이 가장 큰, 할부 기간이 가장 긴 집단이며 total_price,sum_payment 값도 높음 / 비교적 비싼 제품에 대해 할부를 적극적으로 이용하는 유보적 성향의 고객들로 이루어진 군집으로 판단
  • 3번 군집: 오전 시간 구매 선호(light user)
    • average_order_hour 에서 양의 값을 보여주므로, 오전시간에 구매를 선호하는 유저로 판단
  • 4번 군집: 비싸고 큰 제품
    • total_price 값이 높고, product_weight, width, volume 값이 크게 나타남 / 비싸고 큰 제품군을 구매하는 유저로 판단 
  • 5번 군집: 특정 사이즈의 제품
    • 제품의 사이즈와 무게를 나타내는 지표만 다소 높게 나타내는 것으로 보아 특정 사이즈의 제품을 구매하는 유저로 추측

→  모든 군집에 대해 분석해본 결과

기존의 개념이 아닌, 다른 결과를 보여준 2번 군집에 대해 마케팅 방안 제시

 

2번 군집 선정 이유:

할부 개월 수가 군집 중에 가장 높아, 유보적 소비성향을 갖은 유저로 추측하였으나

실 데이터 분석시, 오히려 비싸더라도 원하는 제품에 대하여 과감히 소비하고

비교적 금액이 낮고, 필수품으로 분류되는 제품에 대해서는 할부를 적극적으로 이용하는 정반대의 성향을 보였음

 

⇒ 유보적일 것이라고 생각하였으나, 오히려 과감히 소비하는 결제성향을 보임

 

6. 결론 및 마케팅 방안

  • 주문 수량 기준 (TOP10)

 

  • 1위 toys, 2위 watches_gifts, 3위 health_beauty
  • 다른 군집에 비해 고가의 제품을 많이 구매함
  • 비교적 낮은 주문 금액의 제품(가구, 주방용품) 에 대한 할부 개월이 더 높은 편

    →필수품 보다 본인의 관심사에 맞는 제품에 대해 과감하게 소비

  • 주문 빈도 기준

  • 주문 빈도가 다른 군집에 대해 비교적 잦은편(평균 1.05 회로 군집들 중 1위)
  • 주문 빈도 3회 이상인 고객들의 평균 주문 금액이 월등히 높으며, 할부 개월 수가 점점 줄어드는 경향을 보임
  • lead_time 이 비교적 짧고, 예상 배송일 보다 평균 14일 빠르게 배송됨
    → 본인의 관심사에 대한 과감한 소비와 즉각적인 만족을 추구하는 특성

 

  • 주문 기간 기준 (TOP 10)

  • 주 주문 시간은 오전 10시~오후7시로 비교적 이른 오후 시간에 집중적으로 이루어짐
  • 오후2시, 4시 오후6~7시에 주문 금액이 높은 편
    1. 오후 2시, 4시는 주문 금액이 더 높은 데 반해 할부 개월이 비교적 높지 않음(마니악 소비 활성 시간)
    2. 오후 6~7시에는 2시,4시에 비해 주문 금액은 낮지만 할부 개월이 0.4개월 정도 높음(필수품 소비 활성 시간)

→ 시간대 별로 다른 액션플랜 필요

 

  • 결제 수단 기준
  • 신용카드를 통한 결제가 가장 많기는 하지만, 결제 수단별 평균 주문 금액 차이가 약7배 가량 차이 남
  • 할부 개월 수가 가장 높다는 군집적 특성을 가지고 있지만, 오히려 높은 금액일 때 할부를 이용하지 않는 아이러니한 구매 경향을 보이고 있음

→ 관심사에 맞는 제품에 대한 과감한 소비 뒷받침

 

  • 2번 군집 요약
    • 자신의 관심사에 맞는 제품에 대해 적극적으로 소비한다.
    • 비싸더라도 자신이 원하는 제품에 대해 과감히 소비한다.
    • 리드타임에 민감하고 즉각적인 만족감을 추구한다.

 

  • 마케팅 방안
    • 리미티드 에디션, 한정판 굿즈 제작: 장난감, 고급시계, 컴퓨터용품 등의 리미티드 에디션을 제작하여 소비 촉진
      1. 무신사의 구독회원 전용 구매아이템
      2. 마니아층 공략을 위한 콜라보레이션 한정판 진행
    • 배송 관련 구독 서비스: 구독제를 도입하여, 구독한 회원에 한해 빠른 배송 시스템 제공, 이로인한 즉각적인 소비
      1. 쿠팡의 로켓와우회원전용 배송
    • 활성 유저별 맞춤 마케팅 혜택 알림 서비스
      1. 오후2시,4시(마니아층 이용): 리미티드 에디션 발매알림, 구독 첫 달 100원 딜, 구매금액별 혜택 제공
      2. 오후6시,7시(필수품 집중 구매): 가구/생활용품 기획전, 가격 할인 쿠폰 제공 등

→ 위 마케팅 방안을 통해 집중과 관심도를 올릴 수 있다면 좋은 매출증대 효과를 노릴 수 있습니다.

 

 

7. 별첨

  • 아쉬운점
    • 데이터 컬럼에 대한 추가 설명(ex. 컬럼 설명서) 필요 → 유관 부서와의 공유 데이터 디테일 및 스케일 up
    • 고객에 대한 더 상세한 데이터의 필요성 → 선택 정보 수집을 통한 CRM 마케팅 도입/활용 추진
    • 퍼널 분석을 추가 활용할 수 있도록 유입 관련( 진입률, CTR,이벤트 참여율 등) 데이터가 있다면 고객 패턴에 대한 더 상세한 분석이 가능 할 것으로 기대 → 고객 활동 로그에 대한 데이터 추가 수집 필요
    • 인사이트에 활용할 수 있는 추가 지원 필요 → 타 기관(DMC 등) 에 등록된 레포트 열람 포인트 지원 등

 

 


KPT 회고

https://lyj-01.tistory.com/194

 

KPT 회고 - 구매 성향에 따른 분류와 그에 따른 마케팅 방안 제시

Keep 이번 프로젝트도 팀원들과의 끊임없는 소통으로 잘 마무리 될 수 있었던 프로젝트이다.초반에 한번 뒤엎는 작업이 있었으나 무사히 발표회까지 마무리 하였다. 머신러닝의 이해를 위해 튜

lyj-01.tistory.com