시작하기무료로 시작하기

RFM 값 계산하기

이전에 사용했던 online 데이터셋에 대해 Recency, Frequency, Monetary 값을 계산하세요. 최근 12개월의 데이터가 로드되어 있습니다. online 데이터셋에는 QuantityUnitPrice를 곱해 계산한 TotalSum 열이 있습니다: online['Quantity'] * online['UnitPrice'].

또한 recency 계산에 사용할 수 있도록 snapshot_date 변수를 만들어 두었습니다. 필요하다면 online 데이터셋과 snapshot_date를 콘솔에 출력해 보세요. pandas 라이브러리는 pd로, datetimedt로 로드되어 있습니다.

이 연습은 강의의 일부입니다

Python을 활용한 고객 세분화

강의 보기

연습 안내

  • 각 고객에 대해 Recency, Frequency, Monetary 값을 이 순서로 계산하세요.
  • Recency의 경우, snapshot_date 값과 InvoiceDatemax 차이를 계산하세요.
  • 열 이름을 Recency, Frequency, MonetaryValue로 바꾸세요.
  • datamart의 상위 5개 행이 보이도록 헤더를 출력하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Calculate Recency, Frequency and Monetary value for each customer 
datamart = online.groupby(['CustomerID']).agg({
    'InvoiceDate': lambda x: (snapshot_date - x.____()).days,
    'InvoiceNo': '____',
    'TotalSum': '____'})

# Rename the columns 
datamart.rename(columns={'InvoiceDate': '____',
                         'InvoiceNo': '____',
                         'TotalSum': '____'}, inplace=True)

# Print top 5 rows
print(____.head())
코드 편집 및 실행