Hitung nilai RFM
Hitung nilai Recency, Frequency, dan Monetary untuk himpunan data online yang telah kita gunakan sebelumnya — data 12 bulan terakhir telah dimuatkan untuk Anda. Terdapat kolom TotalSum di himpunan data online yang dihitung dengan mengalikan Quantity dan UnitPrice: online['Quantity'] * online['UnitPrice'].
Selain itu, kami telah membuat variabel snapshot_date yang dapat Anda gunakan untuk menghitung recency. Silakan cetak himpunan data online dan snapshot_date ke Konsol. Pustaka pandas telah dimuat sebagai pd, dan datetime sebagai dt.
Latihan ini merupakan bagian dari kursus
Segmentasi Pelanggan dengan Python
Instruksi latihan
- Hitung nilai Recency, Frequency, dan Monetary (dalam urutan ini) untuk setiap pelanggan.
- Untuk Recency — hitung selisih antara nilai
snapshot_datedanmaxdariInvoiceDate. - Ubah nama kolom menjadi Recency, Frequency, dan MonetaryValue.
- Cetak header dengan 5 baris teratas dari
datamart.
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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())