TIL(24.08.13.)

codataffee·2024년 8월 13일

TIL

목록 보기
127/135
post-thumbnail

#INTRO

컨디션 조절 실패...

아파 죽겄네


#코드카타

  • KATA #107

  • PANDAS

    • drop_duplicates( ) 메서드를 사용하여 중복된 값을 제거한 후,
      sort_values(ascending=False)를 통해 데이터를 내림차순으로 정렬하기

      # 중복된 급여를 제거하고, 높은 급여부터 낮은 급여 순으로 정렬하여 
      # N번째로 높은 급여를 찾기 위한 준비
      sorted_salaries = employee['salary'].drop_duplicates().sort_values(ascending=False)
    • iloc[N-1] 을 사용하여 정렬된 리스트에서 N번째 값을 선택하기

      # 인덱스는 0부터 시작하기 때문에 N-1 인덱스를 선택하여 N번째 값을 정확히 가져오기
      nth_salary = sorted_salaries.iloc[N - 1]
    • 조건문을 사용하여 N이 0보다 작거나 같은 경우 바로 None을 반환하고,
      N번째 급여가 존재하지 않으면 None을 반환하기

      # N이 음수이거나 0일 경우, null에 해당하는 None을 반환하여 불필요한 계산을 방지하기
      if N <= 0:
       return pd.DataFrame({"getNthHighestSalary({})".format(N): [None]})
      


#최종 프로젝트 진행


XAI (SHAP) 활용 이탈 고객 설명

  • SHAP Value 확인
    요약

    • Recency - Frequency / Recency - Purchase_cycle 조합의 중요도가 높다.
      (모델 성능의 개선을 기준으로 중요도 산정 - 분류에 결정적 역할을 한 변수)

    • Churn = 0 & Predict = 0 : Recency / Purchase_cycle 이 크지 않은 경우
      미이탈로 구분하는 경향이 있다.

    • Churn = 1 & Predict = 1 : Recency 값이 큰 경우 이탈로 구분하는 경향이 있다.


이탈 고객 관리 대시보드

  • 최종 기획

  • 주요 지표

    • 누적 고객 수

      (고, 중, 저 위험 기준 분포와 각 그룹별 특성 - 평균 구매주기, Recency, Frequency, 총 매출, LTV)

    • 세그먼트별 고객 이탈 확률 현황
      (세그먼트 선택 필터 - 세그먼트 내 고객 수, 고, 중, 저위험 고객 수 및 전체 고객 대비 비중)
      (산점도를 통해 세그먼트의 평균 구매액, 구매 횟수 분포 확인 - 세그먼트, 위험도 필터링)

    • 유형별 상세 이탈 현황

    1. 채널별 (온/오프라인) 이탈 위험도 분포 (막대 그래프)

    2. 연령대별 이탈 위험도 분포 (누적 막대 그래프)

    3. 리텐션 추이


대시보드 최종 정리

   
    1. 매출 현황 (Date 필터를 활용해 월별 필터링)
    
    (상단 주요 지표) 
    월 매출 + 추이 (증감) / 
    월 활성 고객 수 + 추이 (증감) / 
    월 재방문율 + 추이 (증감)  / 
    이탈 고위험 고객 비율 + 추이 (증감)
    
    (중간 시각화 그래프)
    일간 매출 추이 
    판매 채널별(온/오프라인) 매출 비중
    고객 1인당 구매 금액
    
    (하단 시각화 그래프)
    index_group_name (대분류) 기준 드릴 다운
    각 대분류 필터 기준 월간 매출 TOP3 제품 설명 (**이미지 첨부 방법 논의 필요**)
    
    2. 고객 현황 (Date 필터를 활용해 월별 필터링 + 온라인/오프라인 기준 고객 필터링)
    
    (상단 주요 지표) 
    월 매출 + 추이 (증감) / 
    월 활성 고객 수 + 추이 (증감) / 
    월 재방문율 + 추이 (증감)  / 
    이탈 고위험 고객 비율 + 추이 (증감)
    
    (중간 시각화 그래프)
    판매 채널별 매출 추이
    필터링 그룹 고객들의 연령 분포
    필터링 그룹 고객들의 FN 구독 주기 분포 (고객 연결 가능성 확인)
    
    (하단 시각화 그래프)
    세그먼트별 분포 (트리맵)
    필터링 세그먼트별 인기 제품 현황 (막대그래프)
    
    3. 이탈 고객 관리 (Date 필터를 활용해 월별 필터링)
    
    (상단 시각화 그래프)
    해당 월까지의 누적 고객 수 + 위험도에 따른 고객 분포
    세그먼트별 이탈 산점도 (위험도에 따른 고객 필터링 + 세그먼트 필터링)
    필터링된 세그먼트의 고객 수 + 세그먼트 내 위험도 (고,중,저) 고객 수 + 전체 고객 중 위험도 고객 비중
    
    (하단 시각화 그래프)
    온 오프라인 이탈 고객 위험도 분포
    연령대별 이탈 고객 위험도 분포
    이탈 고객 위험도별 리텐션 추이 
    고객 RFM / 이탈률 LIST
    

추가 작업이 필요한 지표

  1. 리텐션 추이

  2. 고객 정보 (고객 아이디, 이탈 확률, 선호 제품군 테이블)

  3. LTV 계산식


#OUTRO

오늘의 한 줄.

컨디션 조절 !

profile
커피 좋아하는 데이터 꿈나무

0개의 댓글