Mulai sekarangMulai gratis

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

Lihat Kursus

Instruksi latihan

  • Hitung nilai Recency, Frequency, dan Monetary (dalam urutan ini) untuk setiap pelanggan.
  • Untuk Recency — hitung selisih antara nilai snapshot_date dan max dari InvoiceDate.
  • 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())
Edit dan Jalankan Kode