Dieser Artikel wurde im Rahmen der Data Science Blogathon
Nachdem Sie dieses praktische Tutorial verstanden und durchgearbeitet haben, kann:
- Verstehen, was Kohorte und Kohortenanalyse ist.
- Umgang mit fehlenden Werten
- Monat aus Datum extrahieren
- Asignar cohorte a cada TransaktionDas "Transaktion" se refiere al proceso mediante el cual se lleva a cabo un intercambio de bienes, servicios o dinero entre dos o más partes. Este concepto es fundamental en el ámbito económico y legal, ya que implica el acuerdo mutuo y la consideración de términos específicos. Las transacciones pueden ser formales, como contratos, o informales, y son esenciales para el funcionamiento de mercados y negocios....
- Asignar IndexDas "Index" Es ist ein grundlegendes Werkzeug in Büchern und Dokumenten, Dies ermöglicht es Ihnen, die gewünschten Informationen schnell zu finden. Allgemein, Sie wird am Anfang einer Arbeit präsentiert und organisiert die Inhalte hierarchisch, mit Kapiteln und Abschnitten. Die richtige Vorbereitung erleichtert die Navigation und verbessert das Verständnis des Materials, was es zu einer unverzichtbaren Ressource sowohl für Studenten als auch für Fachleute in verschiedenen Bereichen macht.... de cohorte a cada transacción
- Berechnen Sie die Anzahl der eindeutigen Kunden in jeder Gruppe.
- Erstellen Sie eine Kohortentabelle für die Bindungsrate
- Visualice la tabla de cohortes usando el Heatmapein "Heatmap" ist eine grafische Darstellung, die Farben verwendet, um die Dichte von Daten in einem bestimmten Bereich anzuzeigen. Häufig in der Datenanalyse verwendet, Marketing und Verhaltensstudien, Diese Art der Visualisierung ermöglicht es Ihnen, Muster und Trends schnell zu erkennen. Durch chromatische Variationen, Heatmaps erleichtern die Interpretation großer Informationsmengen, dabei helfen, fundierte Entscheidungen zu treffen....
- Retentionsrate interpretieren
Was ist Kohorte und Kohortenanalyse?
Eine Kohorte ist eine Sammlung von Benutzern, die etwas gemeinsam haben. Eine traditionelle Kohorte, zum Beispiel, Teilen Sie die Personen nach der Woche oder dem Monat, in dem sie zum ersten Mal erworben wurden. Bei Bezugnahme auf nicht zeitabhängige Pools, Anstelle von Kohorte wird häufig der Begriff Segment verwendet.
El análisis de cohortes es una técnica AnalyseAnalytics bezieht sich auf den Prozess des Sammelns, Messen und analysieren Sie Daten, um wertvolle Erkenntnisse zu gewinnen, die die Entscheidungsfindung erleichtern. In verschiedenen Bereichen, wie Business, Gesundheit und Sport, Analysen können Muster und Trends erkennen, Prozesse optimieren und Ergebnisse verbessern. Der Einsatz fortschrittlicher Werkzeuge und statistischer Techniken ist unerlässlich, um Daten in anwendbares und strategisches Wissen umzuwandeln.... descriptiva en el análisis de cohortes. Kunden werden in sich gegenseitig ausschließende Kohorten eingeteilt, die dann über die Zeit verfolgt werden. Eitelkeitsindikatoren bieten nicht den gleichen Erkenntnisgrad wie Kohortenforschung. Hilft bei der tieferen Interpretation von Mustern auf hoher Ebene, indem Metriken über den Produkt- und Verbraucherlebenszyklus bereitgestellt werden.
Allgemein, Es gibt drei Haupttypen von Kohorten:
- Zeit Kohorten: Kunden, die sich während eines bestimmten Zeitraums für ein Produkt oder eine Dienstleistung angemeldet haben.
- Verhaltenskohorten: Kunden, die in der Vergangenheit ein Produkt gekauft oder einen Dienst abonniert haben.
- Größe Kohorten: beziehen sich auf die unterschiedliche Größe der Kunden, die die Produkte oder Dienstleistungen des Unternehmens kaufen.
Aber trotzdem, wir werden tun Zeitbasierte Kohortenanalyse. Die Kunden werden basierend auf dem Monat ihres ersten Kaufs in Kaufkohorten eingeteilt. Später, der Kohortenindex würde jedem der Einkäufe des Kunden zugeordnet werden, die die Anzahl der Monate seit der ersten Transaktion darstellt.
Ziele:
- Ermitteln Sie den Prozentsatz der aktiven Kunden im Vergleich zur Gesamtzahl der Kunden nach jedem Monat: Kundensegmentierungen
- Retentionsrate interpretieren
Hier ist der vollständige Code für dieses Tutorial. si desea seguir la información a messenDas "messen" Es ist ein grundlegendes Konzept in verschiedenen Disziplinen, , die sich auf den Prozess der Quantifizierung von Eigenschaften oder Größen von Objekten bezieht, Phänomene oder Situationen. In Mathematik, Wird verwendet, um Längen zu bestimmen, Flächen und Volumina, In den Sozialwissenschaften kann es sich auf die Bewertung qualitativer und quantitativer Variablen beziehen. Die Messgenauigkeit ist entscheidend, um zuverlässige und valide Ergebnisse in der Forschung oder praktischen Anwendung zu erhalten.... que avanza en el tutorial.
Schritt, der an der Analyse der Kohortenbindungsrate beteiligt ist
1. Laden und Bereinigen von Daten
2. Ordnen Sie die Kohorte zu und berechnen Sie die
Paso 2.1
- Kürzen Sie das Datenobjekt auf ein erforderliches Objekt (Hier brauchen wir den Monat, also das Transaktionsdatum)
- Groupby-Objekt mit Zielspalte erstellen (hier, Kundennummer)
- Transformiere mit einer min-Funktion () jedem Kunden das kleinste Transaktionsdatum im Monatswert zuzuordnen.
Das Ergebnis dieses Prozesses ist die Akquisitionsmonatskohorte für jeden Kunden, nämlich, Jedem Kunden haben wir die Kohorte des Akquisitionsmonats zugeordnet.
Paso 2.2
- Berechnen Sie den Zeitversatz, indem Sie ganzzahlige Werte des Jahres extrahieren, Monat und Tag eines datetime-Objekts ().
- Berechnen Sie die Anzahl der Monate zwischen jeder Transaktion und der ersten Transaktion für jeden Kunden. Dazu verwenden wir die Werte TransactionMonth und CohortMonth.
Das Ergebnis davon ist cohortIndex, nämlich, der Unterschied zwischen “TransaktionsMonat” Ja “KohortenMonat” in Bezug auf die Anzahl der Monate und nennen Sie die Spalte “Kohortenindex”.
Paso 2.3
- Erstellen Sie ein Groupby-Objekt mit CohortMonth und CohortIndex.
- Zählen Sie die Anzahl der Kunden in jeder Gruppe, indem Sie die pandas nunique-Funktion anwenden ().
- Setzen Sie den Index zurück und erstellen Sie einen Pandas-Pivot mit CohortMonth in den Zeilen, Die Spalten CohortIndex und customer_id zählen als Werte.
Das Ergebnis ist die Tabelle, die als Grundlage für die Berechnung der Retentionsrate und weiterer Matrizen dient.
3. Berechnen Sie kommerzielle Matrizen: Retentionsrate.
Retention misst, wie viele Kunden aus jeder Kohorte in den folgenden Monaten zurückgekehrt sind.
- Verwenden des Datenframeworks namens cohort_counts, Wir wählen die ersten Spalten aus (entspricht der Gesamtzahl der Kunden in Kohorten)
- Berechnen Sie den Anteil, wie viele dieser Kunden in den folgenden Monaten zurückgekehrt sind.
Das Ergebnis ergibt eine Retentionsrate.
4. Anzeigen der Aufbewahrungsrate
5. Interpretation der Retentionsrate
Monatliche Kohortenbindungsrate.
Lasst uns beginnen:
Bibliotheken importieren
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
import datetime as dt
import missingno as msno
from textwrap import wrap
Laden und Bereinigen von Daten
# Loading dataset transaction_df = pd.read_excel("Transkationen.xlsx") # View data transaction_df.head()
Comprobando y trabajando con valor faltante
# Inspect missing values in the dataset print(transaction_df.isnull().Werte.Summe()) # Replace the ' 's with NaN transaction_df = transaction_df.replace(" ",Np. NaN) # Impute the missing values with mean imputation transaction_df = transaction_df.fillna(transaction_df.Mittelwert()) # Count the number of NaNs in the dataset to verify print(transaction_df.isnull().Werte.Summe())
drucken(transaction_df.info()) für col in transaction_df.columns: # Check if the column is of object type if transaction_df[col].dtypes == 'object': # Impute with the most frequent value transaction_df[col] = transaction_df[col].Fillna(transaction_df[col].value_counts().Index[0]) # Count the number of NaNs in the dataset and print the counts to verify print(transaction_df.isnull().Werte.Summe())
Hier, podemos ver que tenemos 1542 Valores Nulos. Que tratamos con valores medios y más frecuentes según el tipo de datos. Ahora que hemos completado nuestra limpieza y comprensión de datos, Comenzaremos el análisis de cohorte.
Asignó las cohortes y calculó la compensación mensual.
# Eine Funktion, die die datumszeitbasierte Kohorte analysiert: 1 day of month def get_month(x): Rückgabe dt.datetime(x.Jahr, x.Monat, 1) # Create transaction_date column based on month and store in TransactionMonth transaction_df['TransactionMonth'] = transaction_df["transaction_date"].anwenden(get_month) # Grouping by customer_id and select the InvoiceMonth value grouping = transaction_df.groupby("customer_id")['TransactionMonth'] # Assigning a minimum InvoiceMonth value to the dataset transaction_df['Kohortenmonat'] = gruppieren.transform("min") # oben drucken 5 rows print(transaction_df.Kopf())
Cálculo de la compensación de tiempo en el mes como índice de cohorte
Die Berechnung der Zeitkompensation für jede Transaktion ermöglicht es Ihnen, die Metriken für jede Kohorte auf vergleichbare Weise auszuwerten.
Zuerst, wir werden schaffen 6 Variablen, die den ganzzahligen Wert von Jahren erfassen, Monate und Tage für Transaktion und Kohortendatum mit der Funktion get_date_int ().
def get_date_int(df, Säule): Jahr = df[Säule].dt.year month = df[Säule].dt.month day = df[Säule].dt.day return year, Monat, Tag # Getting the integers for date parts from the `InvoiceDay` column transcation_year, transaction_month, _ = get_date_int(transaction_df, 'TransactionMonth') # Getting the integers for date parts from the `CohortDay` column cohort_year, cohort_month, _ = get_date_int(transaction_df, 'Kohortenmonat')
Wir berechnen nun die Differenz zwischen Rechnungsdaten und Kohortendaten in Jahren, Monate separat. Berechnen Sie dann die Gesamtdifferenz der Monate zwischen den beiden. Dies wird der Kohorten- oder Vergütungsindex unseres Monats sein., die wir im nächsten Abschnitt verwenden werden, um die Retentionsrate zu berechnen.
# Get the difference in years years_diff = transcation_year - cohort_year # Calculate difference in months months_diff = transaction_month - cohort_month """ Extrahieren Sie die Differenz in Monaten aus allen vorherigen Werten "+1" am Ende hinzugefügt, so dass der erste Monat als 1 Anstatt von 0 für eine einfachere Interpretation. """ transaction_df['Kohortenindex'] = years_diff * 12 + months_diff + 1 drucken(transaction_df.Kopf(5))
Hier, anfangs, wir haben ein erstellt Gruppe() Objekt mit Kohortenmonat und KohortenIndex und speichern Sie es als Gruppierung.
Später, Wir nennen dieses Objekt, Wir wählen die Kundenidentifikation Spalte und berechnen Sie den Durchschnitt.
Wir speichern die Ergebnisse dann als cohort_data. Später, Setzen Sie den Index zurück, bevor Sie die Pivot-Funktion aufrufen, um auf die Spalten zugreifen zu können, die jetzt als Indizes gespeichert sind.
Schließlich, creamos una dynamische TabellePivotTable ist ein leistungsstarkes Tool in Tabellenkalkulationsprogrammen, wie Microsoft Excel und Google Sheets. Ermöglicht es Ihnen, zusammenzufassen, Große Datenmengen effizient analysieren und visualisieren. Durch seine intuitive Benutzeroberfläche, Benutzer können Informationen neu anordnen, Anwenden von Filtern und Erstellen von benutzerdefinierten Berichten, Erleichterung einer fundierten Entscheidungsfindung in verschiedenen Kontexten, Von der Wirtschaft bis zur akademischen Forschung.... omitiendo
- KohortenMes zum Indexparameter,
- Kohortenindex zum Parameter column,
- Kundenidentifikation zum Parameter values.
und runden Sie es auf 1 Ziffern Sie und sehen Sie, was wir bekommen.
# Counting daily active user from each chort grouping = transaction_df.groupby(['Kohortenmonat', 'Kohortenindex']) # Counting number of unique customer Id's falling in each group of CohortMonth and CohortIndex cohort_data = grouping["customer_id"].anwenden(Pd. Serie.nunique) cohort_data = cohort_data.reset_index() # Assigning column names to the dataframe created above cohort_counts = cohort_data.pivot(index='CohortMonth', Spalten="KohortenIndex", Werte="Kundennummer") # Drucken nach oben 5 rows of Dataframe cohort_data.head()
Geschäftsmetriken berechnen: Retentionsrate
Der Prozentsatz der aktiven Kunden im Vergleich zur Gesamtzahl der Kunden nach einem bestimmten Zeitintervall wird als Bindungsrate bezeichnet.
In diesem Abschnitt, Wir berechnen die Retentionszahl für jeden Kohortenmonat gepaart mit dem Kohortenindex
Jetzt, da wir für jeden eine Anzahl von Stammkunden haben kohorteMes Ja Kohortenindex. Wir berechnen die Bindungsrate für jede Kohorte.
Dazu erstellen wir eine Pivot-Tabelle.
cohort_sizes = cohort_counts.iloc[:,0] Retention = cohort_counts.divide(cohort_sizes, Achse=0) # Umrechnung der Retentionsrate in Prozent und Rundung. Retention.round(3)*100
Der Datenrahmen für die Bindungsrate stellt die Kundenbindung über alle Kohorten dar. Wir können es wie folgt lesen:
- Der Indexwert repräsentiert die Kohorte
- Die Spalten stellen die Anzahl der Monate seit der aktuellen Kohorte dar
Zum Beispiel: Der Wert in CohortMonth 2017-01-01, KohortenIndex 3 es ist 35,9 und repräsentiert 35,9% der Kunden in der Kohorte 2017-01 wurden in der gehalten 3ist mes.
Was ist mehr, Sie können im Retention Rate DataFrame sehen:
- Retention Rate Der erste Index, nämlich, der erste Monat ist 100%, da sich alle Kunden dieses bestimmten Kunden im ersten Monat angemeldet haben
- Die Haltequote kann in nachfolgenden Indizes steigen oder sinken.
- Die Werte rechts unten haben viele NaN-Werte.
Visualisierung der Retentionsrate
Bevor wir mit dem Plotten unserer Heatmap beginnen, Lassen Sie uns den Index unseres Datenrahmens für die Aufbewahrungsrate auf ein besser lesbares Zeichenfolgenformat setzen.
average_standard_cost.index = average_standard_cost.index.strftime('%Y-%m') # Initialize the figure plt.figure(Feigengröße=(16, 10)) # Adding a title plt.title("Durchschnittliche Standardkosten: Monatliche Kohorten", fontsize = 14) # Creating the heatmap sns.heatmap(average_standard_cost, annot = wahr,vmin = 0.0, vmax = 20,cmap="YlGnBu", fmt="g") plt.ylabel('Kohortenmonat') plt.xlabel("Kohortenindex") plt.yticks( rotation='360') plt.zeigen()
Interpretation der Retentionsrate
Der effektivste Weg, Kohortenanalysedaten zu visualisieren und zu analysieren, ist eine Heatmap., wie wir es zuvor getan haben. Bietet sowohl tatsächliche Metrikwerte als auch Farbcodierung, um Zahlenunterschiede visuell anzuzeigen.
Wenn Sie keine Grundkenntnisse über Heatmap haben, Sie können meinen Blog überprüfen. Explorative Datenanalyse für Einsteiger mit Python, wo ich über Heatmaps für Anfänger gesprochen habe.
Hier, haben 12 Kohorten für jeden Monat und 12 Kohortensätze. Je dunkler die Blautöne, desto höher die Werte. A) Ja, wenn wir im Monat der Kohorte sehen 2017-07 in der 5. Indexkohorte, wir sehen den dunkelblauen Ton mit a 48% was bedeutet, dass die 48% der Kohorten, die im Juli unterzeichnet haben 2017 aktiv waren 5 Monate später.
Damit ist unsere Kohortenanalyse für die Retentionsrate abgeschlossen. Ähnlich, Wir können Kohortenanalysen für andere kommerzielle Matrizen durchführen.
Klicken Sie hier, um mehr über die Kohortenanalyse für Unternehmen zu erfahren kostenlos mit DataCamp.(Affiliate-Link)
Deswegen, Wir haben unsere Kohortenanalyse abgeschlossen, wo Sie Grundlagen- und Kohortenanalyse kennengelernt haben, Durchführung von Zeitkohorten, Arbeiten mit Pandas Pivot und Erstellen einer Hold-Tabelle zusammen mit Visualisierung. Wir haben auch gelernt, wie man andere Arrays untersucht.
Jetzt, Sie können selbst damit beginnen, die Metriken zu erstellen und zu untersuchen, die für Ihr Unternehmen wichtig sind.
Die in diesem Artikel gezeigten Medien sind nicht Eigentum von DataPeaker und werden nach Ermessen des Autors verwendet.
Verwandt
zusammenhängende Posts:
- SQL für Data Science | Anfängerleitfaden zu SQL für Data Science
- Statistiken für Data Science | Ein Anfängerleitfaden zur Statistik für Data Science
- Praktikum im Bereich Data Science | Anfängerleitfaden für ein Data Science-Praktikum
- Analyse vs. Analyse | Datenanalyse vs. Datenanalyse, Sie sind sich ähnlich?