Kundensegmentierung: Beispiel mit K-Means

In der heutigen Unternehmenswelt ist es wichtig, dass Sie ein tiefes Verständnis über Ihre Kunden entwickeln. Anhand intelligenter Kundensegmentierungen durch eine Cluster-Analyse, können Sie das Verhalten Ihrer Kunden korrekt einschätzen und daraufhin konkrete Marketingkampagnen ableiten.

Sie wollen Ihre das Verhalten Ihrer Kunden genauer verstehen? Anhand einer Kundensegmentierung durch eine Cluster-Analyse, können Sie einfach Kundengruppen bilden, die sich im Verhalten sehr ähnlich sind.

Wir nutzen die Ergebnisse von Kundensegmentierungen, um personalisierte Segmentierungen zu erstellen, die wir dann für Marketingkampagnen nutzen. Die Praxis zeigt, dass um so genauer Sie Marketingkampagnen auf Ihre Kunden abstimmen, um so höher ist auch der zu erwartende Umsatz pro Kampagne.

Wenn Sie wissen wollen wie Sie den Wert Ihrer Kundenbasis steigern, dann zeige ich Ihnen jetzt, wie Sie eine Sie eine Kundensegmentierung mit einer Cluster-Analyse in Python umsetzen.

Kundensegmentierung mit einer Clusteranalyse

In diesem Artikel zeige ich, wie eine Kundensegmentierung mit einem Clustering-Algorithmus (Clusteranalyse) erstellt wird. Für diesen Anwendungsfall des maschinellen Lernens haben wir Kundendaten aus einem E-Commerce Shop zur Verfügung.

Wenn Sie genauer wissen wollen was eine Kundensegmentierung ist, dann können Sie dies in diesem Beitrag tun.

Diese Kundendaten nutzen wir, um mit einem K-Means-Clustering homogene Zielgruppen zu erstellen, die anschließen in Marketingkampagnen differenziert angesprochen werden können.

Das kleine Machine Learning Programm schreiben wir in Python, da Python sich als einfache Programmiersprache für ML durchgesetzt hat.

Der Datensatz

Der Datensatz erhält folgende Informationen über die Kunden: Kundennummer, Alter, Geschlecht, Einkommen und ein berechneter Score der Auskunft über das Konsumverhalten gibt. In der Praxis würde man je nach Anwendungsfall deutlich mehr Variablen nutzen, da dies aber dieses Beispiel zu komplex macht, habe ich mich hier bewusst auf diese geringe Anzahl von Variablen beschränkt.

Hier können Sie die Daten runterladen.

In der Praxis hat man hier oft viele weitere Kundenmerkmale zu Demografie, Nutzungsverhalten und Kaufhistorie (bspw. Einkäufe in bestimmten Warengruppen).

K-Means-Algorithmus einfach erklärt

Bevor wir in das Beispiel einsteigen, möchte ich gerne noch ein paar Grundlagen zu der Clusteranalyse und dem Algorithmus erklären, den wir zur Segmentierung nutzen werden.

Was ist ein K-Means-Algorithmus?

Der K-Means-Algorithmus ist eine maschnielle Lernmethode und für die Segmentierung von Datenpunkten geeignet.

Bei einer Gruppierung (bzw. Segmentierung) wird die gesamte Datenmenge in mehrere Teilmengen bzw. Segmente unterteilt. Die Zielsetzung des K-Means-Verfahrens besteht darin, die bestehende Datenmenge in möglichst homogene Teilmengen zu unterteilen.

Dabei werden die Informationsobjekte (z.B. Kunden) in die unterschiedlichen Gruppen (Klassen, Cluster und Segmente) eingeordnet. Die Herausforderung bei einer Gruppierung besteht darin, möglichst homogene Gruppen zu bilden. Dagegen sollten die Informationsobjekte, die sich in unterschiedlichen homogenen Gruppen befinden, möglichst unterscheiden (heterogen zwischen den Gruppen).

Häufig wird der Algorithmus auch dem Begriff des Data Mining zugeschrieben.

Wie funktioniert ein K-Means-Algorithmus?

Der K-Means-Algorithmus ist ein iteratives partitionierendes Verfahren. Folgende Schritte werden durchlaufen:

  1. Ermittlung der Clusterzentren.
  2. Zuordnung der Objekte zum nächstliegenden Cluster.
  3. Neuberechnung der Clusterzentren durch zugeordnete Objekte.
  4. Wiederhole Schritt 2 und 3 bis:
    • …keine Veränderung der Clusterzentren von der vorherigen Iteration zu verzeichnen ist oder
    • …die maximale Anzahl der Iterationen durchlaufen ist.

Der Benutzer gibt k Cluster für das Modell vor. Die Cluster sind definiert durch die jeweiligen Clusterzentren, die durch eine separate Berechnung ermittelt werden:

Wenn die Clusterzentren ermittelt wurden, kann der K-Means-Algorithmus mit seinem iterativen Prozess beginnen.

Während der zwei- oder dreidimensionale Merkmalsraum optisch noch einfach auszudrücken ist, ist dies beim höher dimensionierten Raum nicht mehr möglich. Um die Funktionsweise des K-Means-Verfahrens zu verdeutlichen, beschränke ich mich in diesem Beispiel auf den zweidimensionalen Merkmalsraum. In der folgenden Abbildung ist die Modellerstellung anhand der Merkmale Alter und Einkommen grafisch dargestellt:

Kmeans-Clustering einfach erklärt
Kmeans-Clustering einfach erklärt.

Jetzt zum datasolut Newsletter anmelden

Erhalten Sie tiefe Einblicke wie Sie mit künstlicher Intelligenz und maschinellem Lernen Ihr Marketing optimieren können, sowie Zugang zu exklusiven Whitepapern und praktischen Anleitungen.

Mit der Anmeldung zu unserem Newsletter stimmst du unserer Datenschutzerklärung zu.

Beispiel: Clusterbasierte Kundensegmentierung mit Python

Datenexploration

Zunächst müssen wir die Daten laden und ersten Eindruck verschaffen. Die Merkmale die wir sehen sind: Kundennummer, Geschlecht, Alter, jährliches Einkommen ($k) und Konsumverhalten (als Score).

Python Head() Funktion liefert die ersten 5 Zeilen des Datensets zurück.

Da wir die Daten bereits in einem Flatfile haben, brauchen wir die Kundennummer nicht weiter. Lassen Sie uns einen Blick auf die Altersverteilung der Kunden werfen.

Kundenalter oft eine interessante Variable für Kundensegmentierungen.
Das Kundenalter ist oft eine interessante Variable für Kundensegmentierungen.

Die folgenden Balkendiagramme zeigen schön, dass wir in unserem Datenset mehr Frauen als Männer haben. Interessantes Wissen, wenn wir diese Daten später in der Kundensegmentierung nutzen.

Verteilung von Geschlecht.

Auch für die Variable Alter habe ich ein Balkendiagramm angefertigt, dazu habe ich die Kunden in 5 Gruppen eingeteilt. Diese Gruppen nutzen wir später in unserem Algorithmus. Beim Kundenalter ist besonders die Gruppe 26-35 stark vertreten.

Kundenalter im Überblick.

Die selben Balkendiagramme habe ich auch für das Konsumverhalten (Spending Score) angefertigt. Besonders die Gruppe 41-60 Scorepunkte, ist hier stark vertreten. Diese Informationen sind wichtige Hinweise für unseren Cluster-Algorithmus, den wir zur Kundensegmentierung nutzen.

https://gist.github.com/LaurenzW/aa286559e583bd64b324a06b1a12c838

Konsumverhalten (Score 1-100)

Auch das Einkommen (in tausend $ angegeben) habe ich visualisiert: deutlich zu sehen, dass die meisten Kunden ein jährliches Einkommen zwischen 60.000 und 90.000 $ haben.

Einkommensklassen in $k

Clusteranalyse mit K-Means

Zurück zu unserem Beispiel: Wir haben eingangs gelernt, dass wir als Benutzer, die Anzahl der Cluster (Segmente) festlegen müssen. Doch wie finden wir die optimale Anzahl von Segmenten?

Dazu gibt es die Elbow-Methode, wo berechnet wird, inwieweit ein weiteres Cluster die Distanzen innerhalb des Cluster minimiert. Daran kann man relativ einfach erkennen, wo eine gute Anzahl von Clustern ist.

Ellbow-Methode lässt uns einfach ablesen wie viele Cluster nötig sind.

Die Kennzahl heißt Within Cluster Sum Of Squares (WCSS) und durch die Visualisierung mit der Anzahl der Cluster, bekommen wir einen guten Eindruck über die optimale Anzahl von Clustern.

Kundensegmente

Wir wissen jetzt, dass 5 Cluster eine gute Einstellung für unsere Kundensegmentierung ist.

3D Visualisierung unserer Kundensegmente
3D Visualisierung unserer 5 Kundensegmente.

Wie man optisch schon erkennen kann, sind unsere 5 Kundensegmente in Ihrem Verhalten durchaus verschieden. An diesem einfachen 3-dimensionalen Beispiel kann man deutlich sehen, dass eine Kundensegmentierung mit einem maschinellen Lernansatz, wie K-Means, sinn macht. Ohne Algorithmus würde man schon bei 3 Merkmalen eindeutig Probleme bekommen, die Kunden richtig zu segmentieren.

Jetzt könnte man die 5 Kundensegmente genauer beschreiben, um gezielte Marketingkampagnen zu erstellen oder das Produktsortiment den Kundensegmenten anpassen.


Sind Sie interessiert an einer professionellen Kundensegmentierung durch maschinelles Lernen? Wenn ja, dann melden Sie sich einfach bei mir.

PS: ich habe bereits einen Artikel über 5 wertvolle Tipps für erfolgreiche Kundensegmentierungen geschrieben.

Ihr Kontakt: Laurenz Wuttke

Unternehmen sitzen auf einem ungenutzten Berg von Kundendaten. Wir von datasolut entwickeln KI, die Ihr Marketing optimiert. Damit Sie dem richtigen Kunden zur richtigen Zeit das richtige Angebot machen können.

Laurenz Wuttke

Auch interessant für Sie

Laurenz Wuttke datasolut Gmbh
Ich freue mich, wenn Sie sich zu unserem Newsletter anmelden.

Jetzt zum Newsletter anmelden!

Ihr Mehrwert:

  • Tipps zur Marketingoptimierung
  • Interessante Case Studies
  • Bewährte Praxistipps

Mit der Anmeldung stimmen Sie unserer Datenschutzerklärung zu.

KI-im-CRM Kopie

Whitepaper:
Wie künstliche Intelligenz das CRM verändert!

  • 10% mehr Zeit durch Automatisierung.
  • bis zu 300% mehr Conversions durch die richtigen Angebote zur richtigen Zeit.
  • 35% mehr User-Engagement durch personalisierte Kampagnen.

Trage deine E-Mail-Adresse ein, um die KI-Fallstudien zu erhalten: