Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Analisis RFM menggunakan Python

Analisis RFM menggunakan Python

WBOY
WBOYke hadapan
2023-09-03 12:45:06766semak imbas

Analisis RFM menggunakan Python

Python ialah bahasa pengaturcaraan serba boleh yang popular dalam bidang analisis data dan pembelajaran mesin. Kesederhanaan, kebolehbacaan dan perpustakaan yang kaya menjadikannya ideal untuk mengendalikan tugas data yang kompleks. Satu aplikasi yang begitu hebat ialah analisis RFM, teknik yang digunakan dalam pemasaran untuk membahagikan pelanggan berdasarkan gelagat pembelian mereka.

Dalam tutorial ini, kami akan membimbing anda melalui proses melaksanakan analisis RFM menggunakan Python. Kami akan mulakan dengan menerangkan konsep analisis RFM dan kepentingannya dalam pemasaran. Kami kemudiannya akan secara beransur-ansur menyelami aspek praktikal analisis RFM menggunakan Python. Dalam bahagian seterusnya artikel, kami akan menunjukkan cara mengira skor RFM untuk setiap pelanggan menggunakan Python, dengan mengambil kira cara yang berbeza untuk menetapkan skor untuk keterkinian, kekerapan dan nilai kewangan.

Memahami analisis RFM

Analisis RFM ialah teknik berkuasa yang digunakan dalam pemasaran untuk membahagikan pelanggan berdasarkan gelagat pembelian mereka. Akronim RFM adalah singkatan kepada Recency, Frequency and Monetary value, tiga faktor utama yang digunakan untuk menilai dan mengklasifikasikan pelanggan. Mari kita pecahkan setiap komponen untuk memahami kepentingannya dalam analisis RFM.

  • Recency: Recency merujuk kepada masa yang telah berlalu sejak pembelian terakhir pelanggan. Ini membantu kami memahami cara pelanggan berinteraksi dengan perniagaan baru-baru ini.

  • Kekerapan: Kekerapan merujuk kepada bilangan kali pelanggan membuat pembelian dalam jangka masa tertentu. Ia membantu kami memahami kekerapan pelanggan kami berinteraksi dengan perniagaan kami.

  • Nilai Monetari: Nilai kewangan merujuk kepada jumlah amaun yang dibelanjakan oleh pelanggan untuk pembelian. Ia membantu kami memahami nilai transaksi pelanggan dan potensi nilainya kepada perniagaan.

Sekarang kita memahami analisis RFM, mari kita pelajari cara melaksanakannya dalam Python dalam bahagian seterusnya artikel ini.

Melaksanakan analisis RFM dalam Python

Untuk melakukan analisis RFM menggunakan Python, kami akan bergantung pada dua perpustakaan asas: Pandas dan NumPy. Untuk memasang NumPy dan Pandas pada komputer anda, kami akan menggunakan pip (pengurus pakej Python). Buka terminal atau command prompt anda dan jalankan arahan berikut:

pip install pandas
pip install numpy

Setelah pemasangan selesai, kami boleh terus melaksanakan analisis RFM menggunakan Python.

Langkah 1: Import perpustakaan yang diperlukan

Pertama, mari import perpustakaan yang diperlukan ke dalam skrip Python kami:

import pandas as pd
import numpy as np

Langkah 2: Muatkan dan sediakan data

Seterusnya, kita perlu memuatkan dan menyediakan data untuk analisis RFM. Katakan kita mempunyai set data yang dipanggil `customer_data.csv` yang mengandungi maklumat tentang transaksi pelanggan, termasuk ID pelanggan, tarikh transaksi dan jumlah pembelian. Kita boleh menggunakan Panda untuk membaca data ke dalam DataFrame dan memprosesnya terlebih dahulu untuk analisis.

# Load the data from the CSV file
df = pd.read_csv('customer_data.csv')

# Convert the transaction date column to datetime format
df['transaction_date'] = pd.to_datetime(df['transaction_date'])

Langkah 3: Kira penunjuk RFM

Sekarang, mari kita bergerak ke hadapan dan mengira metrik RFM untuk setiap pelanggan. Dengan menggunakan satu siri fungsi dan operasi, kami akan menentukan skor untuk masa pembelian baru-baru ini, kekerapan pembelian dan jumlah pembelian.

# Calculate recency by subtracting the latest transaction date from each customer's transaction date
df['recency'] = pd.to_datetime('2023-06-02') - df['transaction_date']

# Calculate frequency by counting the number of transactions for each customer
df_frequency = df.groupby('customer_id').agg({'transaction_id': 'nunique'})
df_frequency = df_frequency.rename(columns={'transaction_id': 'frequency'})

# Calculate monetary value by summing the purchase amounts for each customer
df_monetary = df.groupby('customer_id').agg({'purchase_amount': 'sum'})
df_monetary = df_monetary.rename(columns={'purchase_amount': 'monetary_value'})

Langkah 4: Tetapkan markah RFM

Dalam langkah ini, kami akan menetapkan markah untuk metrik kebaruan, kekerapan dan nilai kewangan, membolehkan kami menilai dan mengklasifikasikan pelanggan berdasarkan gelagat pembelian mereka. Adalah penting untuk ambil perhatian bahawa anda boleh menyesuaikan kriteria pemarkahan berdasarkan keperluan unik projek anda.

# Define score ranges and assign scores to recency, frequency, and monetary value
recency_scores = pd.qcut(df['recency'].dt.days, q=5, labels=False)
frequency_scores = pd.qcut(df_frequency['frequency'], q=5, labels=False)
monetary_scores = pd.qcut(df_monetary['monetary_value'], q=5, labels=False)

# Assign the calculated scores to the DataFrame
df['recency_score'] = recency_scores
df_frequency['frequency_score'] = frequency_scores
df_monetary['monetary_score'] = monetary_scores

Langkah 5: Gabungkan markah RFM

Akhir sekali, kami akan menggabungkan skor RFM individu setiap pelanggan menjadi satu skor RFM.

# Combine the RFM scores into a single RFM score
df['RFM_score'] = df['recency_score'].astype(str) + df_frequency['frequency_score'].astype(str) + df_monetary['monetary_score'].astype(str)

# print data  
print(df)

Apabila anda melaksanakan kod yang disediakan di atas untuk mengira skor RFM menggunakan Python, anda akan melihat output berikut:

Output

   customer_id transaction_date  purchase_amount  recency  recency_score  frequency_score  monetary_score RFM_score
0      1234567       2023-01-15             50.0 138 days              3                1               2       312
1      2345678       2023-02-01             80.0 121 days              3                2               3       323
2      3456789       2023-03-10            120.0  84 days              4                3               4       434
3      4567890       2023-05-05             70.0  28 days              5                4               3       543
4      5678901       2023-05-20            100.0  13 days              5                5               4       554

Seperti yang anda lihat daripada output di atas, ia menunjukkan data untuk setiap pelanggan, termasuk id_pelanggan unik mereka, tarikh_urusniaga dan jumlah_pembelian. Lajur kebaharuan mewakili kebaharuan dalam hari. Lajur skor_kebaruan, skor_kerapan dan skor_kewangan menunjukkan skor peruntukan untuk setiap metrik.

Akhir sekali, lajur RFM_score menggabungkan skor individu untuk keterkinian, kekerapan dan nilai kewangan ke dalam satu skor RFM. Skor ini boleh digunakan untuk membahagikan pelanggan dan memahami tingkah laku dan pilihan mereka.

Itu sahaja! Anda telah berjaya mengira skor RFM setiap pelanggan menggunakan Python.

Kesimpulan

Kesimpulannya, analisis RFM adalah teknik yang sangat berguna dalam pemasaran, yang membolehkan kami membahagikan pelanggan berdasarkan gelagat pembelian mereka. Dalam tutorial ini, kami meneroka konsep analisis RFM dan kepentingannya dalam pemasaran. Kami menyediakan panduan langkah demi langkah untuk melaksanakan analisis RFM menggunakan Python. Kami memperkenalkan perpustakaan Python yang diperlukan seperti Pandas dan NumPy, dan menunjukkan cara mengira skor RFM untuk setiap pelanggan. Kami menyediakan contoh dan penjelasan untuk setiap langkah proses, menjadikannya mudah untuk diikuti.

Atas ialah kandungan terperinci Analisis RFM menggunakan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam