RFM मान कैलकुलेट करें
online डेटासेट के लिए Recency, Frequency और Monetary मान कैलकुलेट करें, जिसे हम पहले इस्तेमाल कर चुके हैं — इसमें हाल के 12 महीनों का डेटा लोड किया गया है. online डेटासेट में TotalSum कॉलम मौजूद है, जिसे Quantity और UnitPrice को गुणा करके निकाला गया है: online['Quantity'] * online['UnitPrice'].
साथ ही, हमने एक snapshot_date वैरिएबल बनाया है, जिसका उपयोग आप recency कैलकुलेट करने में कर सकते हैं. चाहें तो Console में online डेटासेट और snapshot_date को प्रिंट कर लीजिए. pandas लाइब्रेरी pd के रूप में और datetime dt के रूप में लोड है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Customer Segmentation
अभ्यास निर्देश
- हर कस्टमर के लिए इसी क्रम में Recency, Frequency और Monetary value कैलकुलेट करें.
- Recency के लिए —
snapshot_dateवैल्यू औरInvoiceDateकेmaxके बीच का अंतर निकालें. - कॉलम के नाम 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())