RFM मेट्रिक्स की गणना

Python में Customer Segmentation

Karolis Urbonas

Head of Data Science, Amazon

परिभाषाएँ

  • Recency - आखिरी कस्टमर ट्रांज़ैक्शन से बीते दिन
  • Frequency - पिछले 12 महीनों में ट्रांज़ैक्शनों की संख्या
  • Monetary Value - पिछले 12 महीनों में कुल खर्च
Python में Customer Segmentation

डेटासेट और प्रिपरेशन

  • वही online डेटासेट जैसा पिछली लेसन में था
  • कुछ डेटा प्रिपरेशन चाहिए
  • नया TotalSum कॉलम = Quantity x UnitPrice.

top_5_rows

Python में Customer Segmentation

डेटा प्रिपरेशन स्टेप्स

हम एक प्री-प्रोसेस्ड online DataFrame से शुरू कर रहे हैं जिसमें केवल पिछले 12 महीनों का डेटा है:

print('Min:{}; Max:{}'.format(min(online.InvoiceDate),
                              max(online.InvoiceDate)))
Min:2010-12-10; Max:2011-12-09

मान लें कि हम हाल ही में विश्लेषण कर रहे हैं, तो एक काल्पनिक snapshot_day डेटा बनाते हैं.

snapshot_date = max(online.InvoiceDate) + datetime.timedelta(days=1)
Python में Customer Segmentation

RFM मेट्रिक्स कैलकुलेट करें

# Aggregate data on a customer level
datamart = online.groupby(['CustomerID']).agg({
    'InvoiceDate': lambda x: (snapshot_date - x.max()).days,
    'InvoiceNo': 'count',
    'TotalSum': 'sum'})

# Rename columns for easier interpretation datamart.rename(columns = {'InvoiceDate': 'Recency', 'InvoiceNo': 'Frequency', 'TotalSum': 'MonetaryValue'}, inplace=True)
# Check the first rows datamart.head()
Python में Customer Segmentation

अंतिम RFM वैल्यूज़

RFM सेगमेंटेशन के लिए हमारी टेबल तैयार है!

rfm_top_5

Python में Customer Segmentation

आइए RFM वैल्यूज़ कैलकुलेट करने का अभ्यास करें!

Python में Customer Segmentation

Preparing Video For Download...