CiAgICA8IS0tIExpbmtlZEluIC0tPgogICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIF9saW5rZWRpbl9wYXJ0bmVyX2lkID0gIjEyMzUwNzMiOwogICAgICAgIHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyA9IHdpbmRvdy5fbGlua2VkaW5fZGF0YV9wYXJ0bmVyX2lkcyB8fCBbXTsKICAgICAgICB3aW5kb3cuX2xpbmtlZGluX2RhdGFfcGFydG5lcl9pZHMucHVzaChfbGlua2VkaW5fcGFydG5lcl9pZCk7CiAgICA8L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgKGZ1bmN0aW9uKCl7dmFyIHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgic2NyaXB0IilbMF07CiAgICAgICAgICAgIHZhciBiID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7CiAgICAgICAgICAgIGIudHlwZSA9ICJ0ZXh0L2phdmFzY3JpcHQiO2IuYXN5bmMgPSB0cnVlOwogICAgICAgICAgICBiLnNyYyA9ICJodHRwczovL3NuYXAubGljZG4uY29tL2xpLmxtcy1hbmFseXRpY3MvaW5zaWdodC5taW4uanMiOwogICAgICAgICAgICBzLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKGIsIHMpO30pKCk7CiAgICA8L3NjcmlwdD4KICAgIDxub3NjcmlwdD4KICAgICAgICA8aW1nIGhlaWdodD0iMSIgd2lkdGg9IjEiIHN0eWxlPSJkaXNwbGF5Om5vbmU7IiBhbHQ9IiIgc3JjPSJodHRwczovL3B4LmFkcy5saW5rZWRpbi5jb20vY29sbGVjdC8/cGlkPTEyMzUwNzMmZm10PWdpZiIgLz4KICAgIDwvbm9zY3JpcHQ+CiAgICA8IS0tIEVuZCBMaW5rZWRJbiAtLT4KICAgIA==
Generic filters
Exact matches only
Search in title
Search in excerpt
Search in content

Empfehlungssysteme: Wie man einen Korb bekommt


Im E-Commerce ist das Schaufenster besonders klein. Empfehlungssysteme sollen das hineinstellen, was den Menschen vor der virtuellen Schaufensterscheibe besonders interessieren könnte. Wir sehen uns im Detail an, wie Amazon das macht.

Was Manager über Empfehlungssysteme wissen sollten, haben wir schon gesagt. Heute gehen wir noch etwas mehr ins Detail. Wie findet Amazon zu einem Produkt im Warenkorb eine passende Empfehlung? Dazu wird die Kunden-Produkt-Matrix benötigt, die mit der Angabe einer 1 kennzeichnet, dass ein bestimmter Kunde ein bestimmtes Produkt gekauft hat. In einem einfachen Beispiel mit 8 Kunden und 7 Produkten könnte diese Matrix so aussehen:

Kunden-Produkt-Matrix der beobachteten Käufe
Die Kunden-Produkt-Matrix der beobachteten Käufe

Hier hat Kunde K1 bereits die drei Produkte P2, P3 und P5 gekauft, nicht notwendigerweise zum gleichen Zeitpunkt. Produkt P5 ist der Topseller mit 7 von 8 möglichen Käufen. Um die Ähnlichkeit A(i,j) von zwei Produkten i und j zu messen, nennt Amazon das aus der Kosinus-Ähnlichkeit ableitbare Maß

Dass über diese Formel hinaus von Amazon andere Ähnlichkeitsmaße, Produktbenotungen, zeitliche Filter auf Käufe, bereits aufgerufene Produkte und zumindest noch die Wunschliste verwendet werden, lassen wir bei dieser Einführung einmal außen vor.

Was besagt diese Formel? Sie setzt die Anzahl der Kunden, die beide Produkte gekauft haben, ins Verhältnis zu einem Ausdruck, der umso größer wird, je häufiger die beiden Produkte an sich gekauft werden. Wenn zwei Produkte i und j nie zusammen gekauft werden, dann ist A(i,j)=0, werden sie immer zusammen gekauft, dann ist A(i,j)=1. Wenn bspw. Produkt i und j jeweils 100-mal gekauft werden und in 80 von 100 Fällen sind beide Produkte gemeinsam im Warenkorb (der hier alle jemals getätigten Käufe eines Kunden beinhaltet), ist die Ähnlichkeit hoch.

Hohe Ähnlichkeit der Produkte i und j
Hohe Ähnlichkeit der Produkte i und j

Wenn Produkt i und j jeweils 10000-mal gekauft werden und in 500 von 10000 Fällen sind die Produkte gemeinsam im Warenkorb, ist die Ähnlichkeit eher niedriger.

Niedrigere Ähnlichkeit der Produkte i und j
Niedrigere Ähnlichkeit der Produkte i und j trotz einer größeren absoluten Anzahl gemeinsamer Käufe

Bei unseren Daten lässt sich die Ähnlichkeit z.B. der Produkte P2 und P3 berechnen. Zur Veranschaulichung dient ein Ausschnitt aus der ersten Tabelle, ergänzt um eine Spalte der gemeinsamen Käufe:

Berechnungsgrundlage für die Ähnlichkeit
Berechnungsgrundlage für die Ähnlichkeit zwischen Produkt 2 und Produkt 3

P2 wurde 6-mal und P3 wurde 5-mal gekauft. 4 Kunden haben beide Produkte gekauft. Die Ähnlichkeit ergibt sich somit zu

Berechnete Ähnlichkeit

Aus der Kunden-Produkt-Matrix können nun sämtliche Ähnlichkeiten berechnet werden und in einer Produktähnlichkeitsmatrix dargestellt werden:

Produktähnlichkeitsmatrix
Produktähnlichkeitsmatrix

Die Ähnlichkeit A(i,i) eines Produkts zu sich selbst ist immer 1 und da A(i,j)=A(j,i) ist, reicht es aus, die markierten Felder zu berechnen. Diese Ähnlichkeiten lassen sich somit berechnen, ohne dass überhaupt bekannt sein muss, um was für Produkte es sich hier genau handelt. Allein die gemeinsamen Käufe der zahlreich vorhandenen Kunden stellen die Ähnlichkeit her. Ähnlichkeit bedeutet auch nicht, dass sich die Produkte in ihren Produkteigenschaften ähneln müssen; es reicht aus, wenn zwei Produkte, sind sie in Aussehen und Zweck noch so verschieden, die gleichen Käufer anziehen.

Nehmen wir zunächst den Fall an, dass ein neuer Kunde das Produkt P2 in den Warenkorb gelegt hat. Aus der Produktähnlichkeitsmatrix extrahieren wir die relevante Zeile:

Relevante Zeile

Das Produkt P2 selbst ist nun natürlich nicht mehr von Interesse. Von den restlichen Produkten besitzt Produkt P5 die höchste Ähnlichkeit und wird deshalb die erste Empfehlung sein, gefolgt von Produkt P3. Obwohl der Kunde noch nie hier gekauft hat, bekommt er seine passende Empfehlung. Es ließen sich noch weitere Feinheiten einbauen: Da P5 der Topseller ist, der augenscheinlich auch so sehr bekannt ist, könnte er ignoriert werden und durch P3 als erste Empfehlung ersetzt werden.

Wie sieht es bei einem Bestandskunden aus? Kunde K1 erscheint und legt Produkt P6 in den Warenkorb. Relevant sind zunächst die folgenden Produktähnlichkeiten:

Relevante Zeile bei Bestandskunden

Aus der Kunden-Produkt-Matrix erkennen wir, dass Kunde K1 die Produkte P2, P3 und P5 bereits besitzt. Es bleiben übrig:

Relevante Empfehlungen

Das zuerst empfohlene Produkt wird somit Produkt P4 sein.

Sicherlich ist der tatsächlich angewendete Algorithmus ausgefeilter, aber die hier dargestellte Grundidee ist relativ einfach zu verstehen und nachzuvollziehen. Mit diesem Resümee empfehlen wir uns für heute.