Python ile Müşteri Segmentasyonu
Karolis Urbonas
Head of Data Science, Amazon
online veri kümesiTotalSum sütunu = Quantity x UnitPrice.
Yalnızca son 12 ayı içeren, önceden işlenmiş online DataFrame ile başlıyoruz:
print('Min:{}; Max:{}'.format(min(online.InvoiceDate),
max(online.InvoiceDate)))
Min:2010-12-10; Max:2011-12-09
Yakın zamanda analiz yapıyormuşuz gibi varsayımsal bir snapshot_day oluşturalım.
snapshot_date = max(online.InvoiceDate) + datetime.timedelta(days=1)
# Müşteri düzeyinde veriyi özetleyin datamart = online.groupby(['CustomerID']).agg({ 'InvoiceDate': lambda x: (snapshot_date - x.max()).days, 'InvoiceNo': 'count', 'TotalSum': 'sum'})# Yorumlamayı kolaylaştırmak için sütunları yeniden adlandırın datamart.rename(columns = {'InvoiceDate': 'Recency', 'InvoiceNo': 'Frequency', 'TotalSum': 'MonetaryValue'}, inplace=True)# İlk satırları kontrol edin datamart.head()
RFM segmentasyonu için tablomuza hazırız!

Python ile Müşteri Segmentasyonu