suchen

RFM-Analyse mit Python

Sep 03, 2023 pm 12:45 PM
pythonRFM-AnalyseBenehmen

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. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Der Hauptzweck von Python: Flexibilität und BenutzerfreundlichkeitDer Hauptzweck von Python: Flexibilität und BenutzerfreundlichkeitApr 17, 2025 am 12:14 AM

Die Flexibilität von Python spiegelt sich in Multi-Paradigm-Unterstützung und dynamischen Typsystemen wider, während eine einfache Syntax und eine reichhaltige Standardbibliothek stammt. 1. Flexibilität: Unterstützt objektorientierte, funktionale und prozedurale Programmierung und dynamische Typsysteme verbessern die Entwicklungseffizienz. 2. Benutzerfreundlichkeit: Die Grammatik liegt nahe an der natürlichen Sprache, die Standardbibliothek deckt eine breite Palette von Funktionen ab und vereinfacht den Entwicklungsprozess.

Python: Die Kraft der vielseitigen ProgrammierungPython: Die Kraft der vielseitigen ProgrammierungApr 17, 2025 am 12:09 AM

Python ist für seine Einfachheit und Kraft sehr beliebt, geeignet für alle Anforderungen von Anfängern bis hin zu fortgeschrittenen Entwicklern. Seine Vielseitigkeit spiegelt sich in: 1) leicht zu erlernen und benutzten, einfachen Syntax; 2) Reiche Bibliotheken und Frameworks wie Numpy, Pandas usw.; 3) plattformübergreifende Unterstützung, die auf einer Vielzahl von Betriebssystemen betrieben werden kann; 4) Geeignet für Skript- und Automatisierungsaufgaben zur Verbesserung der Arbeitseffizienz.

Python in 2 Stunden am Tag lernen: Ein praktischer LeitfadenPython in 2 Stunden am Tag lernen: Ein praktischer LeitfadenApr 17, 2025 am 12:05 AM

Ja, lernen Sie Python in zwei Stunden am Tag. 1. Entwickeln Sie einen angemessenen Studienplan, 2. Wählen Sie die richtigen Lernressourcen aus, 3. Konsolidieren Sie das durch die Praxis erlernte Wissen. Diese Schritte können Ihnen helfen, Python in kurzer Zeit zu meistern.

Python gegen C: Vor- und Nachteile für EntwicklerPython gegen C: Vor- und Nachteile für EntwicklerApr 17, 2025 am 12:04 AM

Python eignet sich für eine schnelle Entwicklung und Datenverarbeitung, während C für hohe Leistung und zugrunde liegende Kontrolle geeignet ist. 1) Python ist einfach zu bedienen, mit prägnanter Syntax, und eignet sich für Datenwissenschaft und Webentwicklung. 2) C hat eine hohe Leistung und eine genaue Kontrolle und wird häufig bei der Programmierung von Spielen und Systemen verwendet.

Python: zeitliches Engagement und LerntempoPython: zeitliches Engagement und LerntempoApr 17, 2025 am 12:03 AM

Die Zeit, die zum Erlernen von Python erforderlich ist, variiert von Person zu Person, hauptsächlich von früheren Programmiererfahrungen, Lernmotivation, Lernressourcen und -methoden und Lernrhythmus. Setzen Sie realistische Lernziele und lernen Sie durch praktische Projekte am besten.

Python: Automatisierung, Skript- und AufgabenverwaltungPython: Automatisierung, Skript- und AufgabenverwaltungApr 16, 2025 am 12:14 AM

Python zeichnet sich in Automatisierung, Skript und Aufgabenverwaltung aus. 1) Automatisierung: Die Sicherungssicherung wird durch Standardbibliotheken wie OS und Shutil realisiert. 2) Skriptschreiben: Verwenden Sie die PSUTIL -Bibliothek, um die Systemressourcen zu überwachen. 3) Aufgabenverwaltung: Verwenden Sie die Zeitplanbibliothek, um Aufgaben zu planen. Die Benutzerfreundlichkeit von Python und die Unterstützung der reichhaltigen Bibliothek machen es zum bevorzugten Werkzeug in diesen Bereichen.

Python und Zeit: Machen Sie das Beste aus Ihrer StudienzeitPython und Zeit: Machen Sie das Beste aus Ihrer StudienzeitApr 14, 2025 am 12:02 AM

Um die Effizienz des Lernens von Python in einer begrenzten Zeit zu maximieren, können Sie Pythons DateTime-, Zeit- und Zeitplanmodule verwenden. 1. Das DateTime -Modul wird verwendet, um die Lernzeit aufzuzeichnen und zu planen. 2. Das Zeitmodul hilft, die Studie zu setzen und Zeit zu ruhen. 3. Das Zeitplanmodul arrangiert automatisch wöchentliche Lernaufgaben.

Python: Spiele, GUIs und mehrPython: Spiele, GUIs und mehrApr 13, 2025 am 12:14 AM

Python zeichnet sich in Gaming und GUI -Entwicklung aus. 1) Spielentwicklung verwendet Pygame, die Zeichnungen, Audio- und andere Funktionen bereitstellt, die für die Erstellung von 2D -Spielen geeignet sind. 2) Die GUI -Entwicklung kann Tkinter oder Pyqt auswählen. Tkinter ist einfach und einfach zu bedienen. PYQT hat reichhaltige Funktionen und ist für die berufliche Entwicklung geeignet.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

MantisBT

MantisBT

Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools