Heim  >  Artikel  >  Backend-Entwicklung  >  RFM-Analyse mit Python

RFM-Analyse mit Python

WBOY
WBOYnach vorne
2023-09-03 12:45:06779Durchsuche

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 verstehen

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.

Implementierung der RFM-Analyse in Python

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.

Schritt 1: Erforderliche Bibliotheken importieren

Zuerst importieren wir die notwendigen Bibliotheken in unser Python-Skript:

import pandas as pd
import numpy as np

Schritt 2: Daten laden und vorbereiten

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'])

Schritt 3: RFM-Indikator berechnen

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'})

Schritt 4: RFM-Scores zuweisen

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

Schritt 5: RFM-Ergebnisse kombinieren

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:

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.

Fazit

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen