RFM Menggunakan Python – Part 3

Pada modul ini kita akan fokus menyiapkan hal yang diperlukan oleh model RFM.

Membuat frequency groups.

#Create Frequency Groups
df['F'] = pd.qcut(x = df['Frequency'], q = 4, labels = range(1, 5, 1))
df['M'] = pd.qcut(x = df['monetary'], q = 4, labels = range(1, 5, 1))
df['R'] = pd.qcut(x = df['Recency'], q = 4, labels = range(4, 0, -1))

Membuat RFM scores

#RFM Score
df['RFM'] = df[['R', 'F', 'M']].sum(axis = 1)

Membuat fungsi RFM untuk menentukan segmentasi.

#Create the RFM function
def rfm_segment(df):
  if df['RFM'] >= 11:
    return 'Platinum'
  elif ((df['RFM'] >=8) and (df['RFM'] < 11)):
    return 'Gold'
  elif ((df['RFM'] >=6) and (df['RFM'] < 8)):
    return 'Silver'
  else:
    return 'Bronze'

Sampai disini kita sudah selesai melakukan persiapan RFM. Pada modul selanjutnya kita mulai mengaplikasikan RFM.

Sharing is caring: