ПочатиПочніть безкоштовно

Обчислення значень RFM

Обчисліть значення Recency, Frequency та Monetary для набору даних online, який ми використовували раніше — його вже завантажено для вас за останні 12 місяців. У наборі online є стовпець TotalSum, обчислений множенням Quantity і UnitPrice: online['Quantity'] * online['UnitPrice'].

Також ми створили змінну snapshot_date, яку ви можете використати для розрахунку давності (recency). За потреби виведіть набір даних online і snapshot_date у Консоль. Бібліотеку pandas завантажено як pd, а datetime — як dt.

Ця вправа є частиною курсу

Сегментація клієнтів у Python

Переглянути курс

Інструкції до вправи

  • Обчисліть для кожного клієнта Recency, Frequency і Monetary (саме в такому порядку).
  • Для Recency — порахуйте різницю між значенням snapshot_date та max для InvoiceDate.
  • Перейменуйте стовпці на Recency, Frequency і MonetaryValue.
  • Виведіть заголовок із першими 5 рядками datamart.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# 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())
Редагувати та запускати код