Die Kund*innen des Frischemarkts

Der Frischemarkt ist ein kleiner Supermarkt mit 70 Stammkund*innen. Der Markt speichert zwar einige Daten über jeden Einkauf, jedoch weiß niemand, wer die Kund*innen wirklich sind.

Maya ist als Datenwissenschaftlerin beim Frischemarkt angestellt und analysiert die gespeicherten Daten. Da ihr der Datenschutz wichtig ist, werden für jeden Einkauf nur zwei Zahlen gespeichert: Wie häufig im Monat jemand im Frischemarkt einkauft und wie viel diese Person im Durchschnitt in Euro ausgibt. Dadurch ergibt sich eine große Menge an Zahlen, die per Hand nicht weiter untersucht werden können.

Die Chefin des Frischemarktes möchte gerne mehr über die Kund*innen ihres Supermarktes erfahren, um so bessere Angebote machen zu können. Sie beauftragt Maya, aus den bereits gesammelten Daten, Informationen und Muster zu extrahieren. Da in den Daten keine weiteren Informationen über die Kund*innen gespeichert sind, visualisiert Maya die Daten zunächst.

Jeder Punkt im Diagramm stellt ein*e Kund*in dar. Die horizontale X-Achse zeigt, wie häufig die Person im Frischemarkt einkaufen geht und die vertikale Y-Achse zeigt, wie viel Geld die Person im Schnitt für den Einkauf ausgibt.

Wie häufig geht jemand einkaufen →
Durchschnittliche Ausgaben pro Einkauf →
Gehe mit der Maus über einen Kund*innen-Punkt, um die Informationen für diesen zu sehen. Siehst du bereits Muster oder Gruppen von ähnlichen Personen? Nimm dir ruhig etwas Zeit, dir die Daten genau anzuschauen.

Deine Intuition

Maya überlegt, wie sie nun die Daten anhand des Einkaufsverhaltens in Personengruppen mit ähnlichem Kund*innenprofil aufteilen kann und erinnert sich dabei an den k-Means Algorithmus, den sie im Informatikstudium kennengelernt hat. Bevor wir den Algorithmus erklären, probier es selber!

Ziehe mit der Maus einen Kreis um die Punkte, die deiner Meinung nach zusammengehören.

Wie häufig geht jemand einkaufen →
Durchschnittliche Ausgaben pro Einkauf →
Während wir Menschen Daten meistens intuitiv nach Bauchgefühl gruppieren können, kann der Computer das natürlich nicht. Um automatisiert Daten zu gruppieren, verwendet man im maschinellen Lernen dann häufig den k-Means Algorithmus.

Initiale Mittelwerte

Maya möchte nun den k-Means Algorithmus zum automatischen Finden der Personengruppen anwenden. Dafür muss sie eine wichtige Entscheidung treffen: Wie viele Gruppen mit ähnlichem Kund*innenprofil soll der Algorithmus finden? Diese Anzahl nennt man häufig k, woher auch der erste Teil des Namens k-Means stammt.

Der zweite Teil des namens ist means also Mittelwerte. Damit ist gemeint, dass jede Gruppe über einen Mittelwert beschrieben ist. Alle Punkte, die diesem Mittelwert am nächsten sind, gehören zur Gruppe. In diesem Bild siehst du drei Mittelwerte: rot, grün und blau. Alle Punkte, die dem roten Mittelwert am nächsten sind, sind rot markiert - und so weiter.

Verschiebe die drei Mittelwerte und schau,
wie sich die Zuordnung der Kund*innen zu Profilen verändert

Wie häufig geht jemand einkaufen →
Durchschnittliche Ausgaben pro Einkauf →
—
Kund*innen pro Profil

Wie der Algorithmus arbeitet

Wenn wir uns für Start-Mittelwerte auf der letzten Seite entschieden haben, geht der Algorithmus wie folgt vor:

  1. 1. Alle Punkte werden dem jeweils nächsten Mittelwert zugeordnet.
  2. 2. Die Mittelwerte werden – wie der Name schon sagt – auf den Mittelwert aller Punkte mit der gleichen Farbe verschoben.

Und das wird immer wieder holt: Zuordnen, Verschieben, Zuordnen, Verschieben und so weiter.

Um zu sehen, wie der Algorithmus arbeitet, kannst du unten entweder auf
den Nächsten Schritt- oder den Play Button klicken.

0
Vollendete Runden
—
Anzahl Profil gewechselt
Warten
Status
Wie häufig geht jemand einkaufen →
Durchschnittliche Ausgaben pro Einkauf →
Klicke Nächster Schritt um den ersten Schritt des Algorithmus zu sehen.

Wie viele Gruppen?

Der Algorithmus ist abgeschlossen, in der Fachsprache sagt man auch konvergiert. Das heißt, dass nun jeder Punkt, also alle Kund*innen einem Profil zugeordnet sind. Maya kann sich nun das Ergebnis und die durchschnittlichen Zahlen in jedem Profil anschauen und dadurch den Gruppen einen Namen, also eine Bedeutung, wie Großeinkäufer*innen, Sparfüchse oder Stammkund*innen, geben. Das kann der Algorithmus alleine nicht, da dieser nur Gruppen von Punkten findet, die ähnliche Eigenschaften haben. Was diese Eigenschaften im Kontext der Daten aussagen, muss man immer selbst interpretieren.

Experimentiere wie sich die Anzahl der Gruppen, also das k, auf das Ergebnis auswirkt.

Wie häufig geht jemand einkaufen →
Durchschnittliche Ausgaben pro Einkauf →
Move the slider or press a button above. See how the groupings change completely - same customers, different lens.

Wie können wir einen sinnvollen Wert von k automatisch bestimmen?

Woher wissen wir, wie viele Gruppen tatsächlich sinnvoll sind? Wenn wir k zu klein wählen, werden zu viele Punkte in einer großen Gruppe zusammengefasst. Wählen wir k zu groß, entstehen hingegen sehr viele kleine und häufig bedeutungslose Gruppen. Eine Methode zur Bestimmung von k ist die sogenannte Elbow-Methode, auf Deutsch Ellenbogen-Methode, welche den Punkt sucht, an dem das Hinzufügen weiterer Gruppen keine wesentliche Verbesserung mehr bringt. Dafür werden verschiedene Werte für k getestet und gemessen wie viel neue Information durch die neu hinzugefügte Gruppe hinzugewonnen wird. Das dadurch entstehende Diagramm besitzt eine gebogene Kurve, die wie ein Ellbogen aussieht, und es wird der Wert für k im Knick der Kurve verwendet, wo diese beginnt abzuflachen.

Was haben wir gelernt?

Maya ist mit 70 Datenpunkten über das Kaufverhalten der Kund*innen des Frischemarkts gestartet und hat mittels des k-Means Algorithmus unterschiedliche Gruppen in der Kundschaft finden können.

Weißt du auch noch, wie das funktioniert hat? Hier ist ein kleines Quiz für dich:

1. Was passiert wenn zwei Startpunkte in derselben Region platziert werden?

2. Der Algorithmus ist fertig falls ...

3. Du hast den Algorithmus mit k = 6 getestet, aber die Gruppen sind sehr klein? Was kannst du dagegen tun?

Der k-Means Algorithmus wird in vielen Verschiedenen Situationen in der echten Welt angewendet. Zum Beispiel nutzen Supermärkte, wie der Frischemarkt in dem Maya arbeitet, den Algorithmus um Angebote auf bestimmte Gruppen von Kund*innen zuzuschneiden. Daneben können Plattformen wie Spotify den Algorithmus nutzen um Nutzer*innen nach deren Musikgeschmack zu gruppieren, um so neue Vorschläge machen zu können. Aber auch in der Stadtplanung kann der Algorithmus zum Beispiel beim Planen des öffentlichen Nahverkehrs eingesetzt werden, um zu ermitteln, wo Menschen wohnen und arbeiten und wo dafür sinnvoll neue Bushaltestellen gebaut werden können.

Dennoch kann es bei der Anwendung zu Problemen kommen. Wie wir bereits gesehen haben, hängt das Ergebnis des Algorithmus stark von den initialen Startpunkten ab. Somit kann es schnell passieren, dass auf denselben Daten bei nur leicht unterschiedlichen Initialisierung ein anderes Ergebnis heraus kommt. Ein weiteres Problem, ist das Wählen eines geeigneten Wertes für k. Genau wie die Startpunkte, beeinflusst dieser Wert das resultierende Ergebnis stark, weshalb viele Methoden, wie zum Beispiel die Elbow-Methode, entwickelt wurden um diesen Wert zu bestimmen. Wie du vielleicht beim experimentieren gemerkt hast, werden immer alle vorhandenen Datenpunkte einer Gruppe zugeordnet. Das kann dazu führen, dass sehr ungewöhnliche Datenpunkte, zum Beispiel eine Person, die 100 mal im Monat in den Frischemarkt einkaufen geht, das Ergebnis verfälschen.

← Zurück zu den anderen Demos