RFM değerlerini hesapla
Daha önce kullandığımız online veri kümesi için Recency, Frequency ve Monetary değerlerini hesapla — son 12 aylık veriler senin için yüklendi. online veri kümesinde Quantity ile UnitPrice çarpılarak hesaplanan bir TotalSum sütunu bulunuyor: online['Quantity'] * online['UnitPrice'].
Ayrıca recency hesaplamak için kullanabileceğin bir snapshot_date değişkeni oluşturduk. İstersen Konsola online veri kümesini ve snapshot_date değerini yazdırabilirsin. pandas kütüphanesi pd, datetime ise dt olarak yüklendi.
Bu egzersiz, kursun bir parçasıdır
Python ile Müşteri Segmentasyonu
Egzersiz talimatları
- Her müşteri için (bu sırayla) Recency, Frequency ve Monetary değerlerini hesapla.
- Recency için:
snapshot_dateileInvoiceDate'inmaxdeğeri arasındaki farkı hesapla. - Sütunları Recency, Frequency ve MonetaryValue olarak yeniden adlandır.
datamartveri çerçevesinin ilk 5 satırını başlıkla birlikte yazdır.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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())