Heim > Artikel > Backend-Entwicklung > RFM-Analyse mit Python
Python ist eine vielseitige Programmiersprache, die im Bereich Datenanalyse und maschinelles Lernen beliebt ist. Aufgrund seiner Einfachheit, Lesbarkeit und umfangreichen Bibliothek eignet es sich ideal für die Bewältigung komplexer Datenaufgaben. Eine dieser leistungsstarken Anwendungen ist die RFM-Analyse, eine Technik, die im Marketing eingesetzt wird, um Kunden anhand ihres Kaufverhaltens zu segmentieren.
In diesem Tutorial führen wir Sie durch den Prozess der Implementierung einer RFM-Analyse mit Python. Wir beginnen mit der Erläuterung des Konzepts der RFM-Analyse und ihrer Bedeutung im Marketing. Anschließend werden wir uns nach und nach mit den praktischen Aspekten der RFM-Analyse mit Python befassen. Im nächsten Teil des Artikels zeigen wir, wie man mit Python einen RFM-Score für jeden Kunden berechnet und dabei verschiedene Methoden zur Zuweisung von Scores für Aktualität, Häufigkeit und Geldwert berücksichtigt.
RFM-Analyse ist eine leistungsstarke Technik, die im Marketing eingesetzt wird, um Kunden anhand ihres Kaufverhaltens zu segmentieren. Das Akronym RFM steht für Recency, Frequency und Monetary Value, drei Schlüsselfaktoren zur Bewertung und Klassifizierung von Kunden. Lassen Sie uns jede Komponente aufschlüsseln, um ihre Bedeutung für die RFM-Analyse zu verstehen.
Aktualität: Aktualität bezieht sich auf die Zeit, die seit dem letzten Kauf des Kunden vergangen ist. Es hilft uns zu verstehen, wie Kunden in letzter Zeit mit dem Unternehmen interagiert haben.
Häufigkeit: Häufigkeit bezieht sich auf die Häufigkeit, mit der ein Kunde innerhalb eines bestimmten Zeitraums einen Kauf tätigt. Es hilft uns zu verstehen, wie oft unsere Kunden mit unserem Unternehmen interagieren.
Geldwert: Der Geldwert bezieht sich auf den Gesamtbetrag, den der Kunde für den Kauf ausgegeben hat. Es hilft uns, den Wert von Kundentransaktionen und ihren potenziellen Wert für das Unternehmen zu verstehen.
Da wir nun die RFM-Analyse verstanden haben, lernen wir im nächsten Teil dieses Artikels, wie man sie in Python implementiert.
Um eine RFM-Analyse mit Python durchzuführen, stützen wir uns auf zwei grundlegende Bibliotheken: Pandas und NumPy. Um NumPy und Pandas auf Ihrem Computer zu installieren, verwenden wir pip (Python-Paketmanager). Öffnen Sie Ihr Terminal oder Ihre Eingabeaufforderung und führen Sie den folgenden Befehl aus:
pip install pandas pip install numpy
Sobald die Installation abgeschlossen ist, können wir die RFM-Analyse mit Python weiter implementieren.
Zuerst importieren wir die notwendigen Bibliotheken in unser Python-Skript:
import pandas as pd import numpy as np
Als nächstes müssen wir die Daten laden und für die RFM-Analyse vorbereiten. Angenommen, wir haben einen Datensatz namens „customer_data.csv“, der Informationen zu Kundentransaktionen enthält, einschließlich Kunden-ID, Transaktionsdatum und Kaufbetrag. Mit Pandas können wir Daten in einen DataFrame einlesen und für die Analyse vorverarbeiten.
# 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'])
Lassen Sie uns nun fortfahren und die RFM-Metrik für jeden Kunden berechnen. Mithilfe einer Reihe von Funktionen und Vorgängen ermitteln wir eine Bewertung für die letzte Kaufzeit, die Kaufhäufigkeit und den Kaufbetrag.
# 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'})
In diesem Schritt vergeben wir Bewertungen für Aktualität, Häufigkeit und Geldwertmetriken, die es uns ermöglichen, Kunden anhand ihres Kaufverhaltens zu bewerten und zu klassifizieren. Es ist wichtig zu beachten, dass Sie die Bewertungskriterien basierend auf den individuellen Anforderungen Ihres Projekts anpassen können.
# 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
Abschließend kombinieren wir die individuellen RFM-Scores jedes Kunden zu einem RFM-Score.
# 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)
Wenn Sie den oben bereitgestellten Code ausführen, um den RFM-Score mit Python zu berechnen, sehen Sie die folgende Ausgabe:
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
Wie Sie der obigen Ausgabe entnehmen können, werden Daten für jeden Kunden angezeigt, einschließlich seiner eindeutigen Kunden-ID, seines Transaktionsdatums und seines Kaufbetrags. Die Aktualitätsspalte stellt die Aktualität in Tagen dar. Die Spalten „recency_score“, „frequenz_score“ und „monetary_score“ zeigen den Zuordnungswert für jede Metrik.
Abschließend werden in der Spalte RFM_score die einzelnen Bewertungen für Aktualität, Häufigkeit und Geldwert in einem einzigen RFM-Score zusammengefasst. Dieser Score kann verwendet werden, um Kunden zu segmentieren und ihr Verhalten und ihre Vorlieben zu verstehen.
Das ist es! Sie haben den RFM-Score jedes Kunden erfolgreich mit Python berechnet.
Zusammenfassend lässt sich sagen, dass die RFM-Analyse eine sehr nützliche Technik im Marketing ist, die es uns ermöglicht, Kunden anhand ihres Kaufverhaltens zu segmentieren. In diesem Tutorial untersuchen wir das Konzept der RFM-Analyse und ihre Bedeutung im Marketing. Wir bieten eine Schritt-für-Schritt-Anleitung zur Implementierung der RFM-Analyse mit Python. Wir stellen die notwendigen Python-Bibliotheken wie Pandas und NumPy vor und zeigen, wie man den RFM-Score für jeden Kunden berechnet. Wir bieten Beispiele und Erklärungen für jeden Schritt des Prozesses, damit er leicht nachvollziehbar ist.
Das obige ist der detaillierte Inhalt vonRFM-Analyse mit Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!