본문 바로가기

Machine Learning71

[BG/NBD] 고객 거래 행동 예측 모델 BetaGeoFitter란? 고객 이탈 예측 및 구매 확률 모델링에 사용되는 통계 모델 중 하나로, 고객 이탈 및 구매 확률을 예측하기 위해 사용된다. 이 모델은 기존 고객 데이터를 기반으로 작동하며, 특히 구매 횟수와 재구매 간격을 고려한다. BetaGeoFitter 모델을 구현하려면 Python의 lifetimes 라이브러리를 사용할 수 있다. 아래는 BetaGeoFitter 모델의 사용 예시이다. 라이브러리 import lifetimes 라이브러리를 설치하고 가져온다. !pip install lifetimes import pandas as pd from lifetimes import BetaGeoFitter from lifetimes.datasets import load_cdnow_summary 예.. 2023. 10. 10.
[Kaggle] 이커머스 데이터 분석 7 (CRM Analytics 🛍️🛒) Customer Lifetime Value 한 고객이 당신의 브랜드에 전 생애동안 얼마를 가져다줄 것인가? 에 대한 답을 찾는 과정이다. 고객 별로, 총 구매 기간, 최초 구매일로부터 지금까지 흐른 시간, 주문 횟수, 총 주문 금액을 구해 이를 예측해 보자. 먼저 고객 ID를 기준으로 그룹화를 진행한다. 이때, 기간과 관련된 정보를 다루기 위해 InvoiceDate에 두 가지 함수를 적용한다. 이를 통해 고객별 구매 기간과 최초 구매일로부터 현재까지의 시간을 도출한다 InvoiceNo는 nunique로 고유한 구매 번호로 주문 횟수를 카운트한다. TotalPrice 에는 Sum을 적용하여 얼마나 많은 돈을 썼는지 집계한다. 마지막으로 칼럼을 정리해 주는데, droplevel(0)로 그룹화되며 생성된 멀티.. 2023. 10. 10.
[Kaggle] 이커머스 데이터 분석 6 (CRM Analytics 🛍️🛒) 이번 포스팅에서는 5의 고객군 분석에 이어, 코호트 분석을 진행한다. Cohort Analysis 코호트는 어떤 공통점을 공유하는 사람들의 그룹을 의미한다. 이러한 공통점은 앱 가입 날짜, 처음 구매한 달, 지리적 위치, 획득 채널 (일반 사용자, 마케팅 유입자 등) 등이 될 수 있다. 코호트 분석에서는 이러한 사용자 그룹을 시간에 따라 추적하여 일반적인 패턴이나 행동을 식별하기 위해 사용된다. 본 예제에서는 코호트 분석 함수를 정의했으며, 함수가 긴 관계로 끊어서 설명하고 마지막에 최종 함수를 기록할 것이다. cohort(최초 주문일과 고객 당 주문 건의 날짜 추출) 데이터 프레임을 복사 고객 ID, 송장번호, 주문날짜만 추출하고, 중복된 행 제거 날짜를 월 단위의 기간(Period)으로 변환 : 각 .. 2023. 10. 8.
[Kaggle] 이커머스 데이터 분석 5 (CRM Analytics 🛍️🛒) 앞 포스팅에서 고객군을 나누어 전체적인 크기를 확인했다. 이제 좀 더 구체적으로 고객군 별 세부 사항을 파악해 본다.(R, F, M을 기준으로) Segment Analysis 1. 고객군 별 R, F, M 기술 통계 확인 segment 기준으로 r, f, m 값의 평균과 표준편차, 최댓값과 최솟값을 확인해 보자 rfm[['recency','monetary','frequency','segment']] \ .groupby('segment').agg({'mean', 'std', 'max', 'min'}) 2. 고객군 별 분포 시각화 각 고객군 별로 어떠한 양상을 보이는지 파악했다. 이제 고객군 별로 분포(수)를 시각화하여 확인해 보자. 이때, 각 고객군 수를 전체 수로 나누어 비율도 함께 표시해 준다. plt.. 2023. 10. 8.
[Kaggle] 이커머스 데이터 분석 4 (CRM Analytics 🛍️🛒) 앞의 포스팅 [Kaggle] 이커머스 데이터 분석 3 (CRM Analytics 🛍️🛒)과 이어집니다. RFM score를 바탕으로 고객 세분화를 진행한다. Segmentation 정규 표현식을 사용하여 RFM score를 바탕으로 고객의 그룹을 나눈다. r : 접두사는 문자열 리터럴을 나타내며, 이 패턴의 문자열은 Raw 문자열로 처리됨을 의미한다.(\가 이스케이프 문자로 처리되지 않음) [1-2] : 문자 클래스로, 이 부분에서 문자열에서 1 또는 2와 매칭되는 위치를 찾는다. [3-4] : 위와 동일하게, 해당 부분에서 문자열이 3 또는 4와 매칭되는 위치를 찾는다. 즉, r'[1-2][3-4]' 는 문자열에서 1 또는 2에 매칭되는 부분을 찾고, 그다음 3 또는 4에 매칭되는 부분을 찾는 것이다... 2023. 10. 8.
[Kaggle] 이커머스 데이터 분석 3 (CRM Analytics 🛍️🛒) 본 포스팅은 이커머스 데이터 분석 1, 2와 이어집니다. 전처리까지 끝낸 데이터로 RFM 분석을 해보자. RFM 이란? "Recency, Frequency, Monetary"의 약어로, 고객 세그먼테이션 및 고객 분석에 사용되는 중요한 개념이다. 이 세 가지 지표는 고객의 구매 행동 및 가치를 측정하는 데 사용된다. RFM 값 구하기 Recency를 구하기 위해서는 마지막 구매일로부터 지금까지 지난 날짜를 알아야 한다. 송장날짜의 최댓값으로 마지막 구매일을 구할 수 있다. print(df['InvoiceDate'].max()) 2011-12-09 12:50:00 datetime을 이용하여 기준 날짜를 선정한다. 고객 ID를 기준으로 그룹화를 진행한다. 이때, 송장날짜는 기준 날짜와의 차이를 계산하여 일 .. 2023. 10. 8.
[Kaggle] 이커머스 데이터 분석 2 (CRM Analytics 🛍️🛒) 🚧 이커머스 데이터 분석 1 포스팅과 이어집니다! 지금까지 데이터의 유형과 국가별 분포를 전반적으로 살펴보았다. 또한 함수를 지정하여 결측치와 중복값도 간단히 확인했다. 이제 데이터를 좀 더 구체적으로 들여다보는 '기술 통계'를 시작한다. 기술 통계 : Descriptive Statistics desc_stats 함수를 정의하여 기술 통계 값을 불러오도록 한다. df.describe(). T를 사용하여 df의 기술통계량을 계산하고, 이를 전치한다. 이 통계량을 pd.DataFrame()을 통해 새로운 데이터 프레임인 desc_df로 만든다. matplotlib의 f, ax로 Figure, Axes 객체를 생성하고, sns로 히트맵을 그려준다. annot_kws : 표시되는 숫자의 글꼴 크기 def des.. 2023. 10. 8.
[Kaggle] 이커머스 데이터 분석 1 (CRM Analytics 🛍️🛒) 이 포스팅은 이커머스 데이터 분석 과정을 스터디하기 위해 다음 kaggle 노트를 참고했습니다. https://www.kaggle.com/code/sercanyesiloz/crm-analytics 라이브러리 import import os import datetime # import squarify import warnings import pandas as pd import numpy as np import datetime as dt from operator import attrgetter import seaborn as sns import matplotlib.pyplot as plt import matplotlib.colors as mcolors import plotly.graph_objs as go f.. 2023. 10. 8.
[공모전 수상작 스터디] 일회용품 쓰레기 감소를 위한,다회용기 비즈니스 모델 개발 (서울시 빅데이터 캠퍼스) 본 포스팅은 공모전 우수작들을 스터디하고 주요 내용을 요약하기 위해 작성했습니다. (출품작의 흐름대로 작성) 출처 서울시 빅데이터 캠퍼스 : 2021 공모전 최우수작 (https://bigdata.seoul.go.kr/noti/selectNoti.do?r_id=P260&bbs_seq=499&ac_type=A1&sch_type=&sch_text=%EB%8B%A4%ED%9A%8C%EC%9A%A9%EA%B8%B0&currentPage=1) 문제 정의와 목표 제시 목적 및 문제 정의 주제를 선정하게 된 배경 : 왜 이 주제(대상)을 선정하였는지 서울시 현황 자료와 함께 제시 주제에 대한 뒷받침 설명 : 현실적으로 해당 주제가 어떤 방식으로 다루어지고 있고, 어떤 문제가 남아있는지 사례 확인 : 유사한 문제를 해.. 2023. 10. 5.
728x90