Ich durchsuche Ihre Inhalte, um Ihnen zu helfen, schnell Antworten auf Ihre Fragen zu finden.
Personalisierung mit KI meistern
Stellen Sie sich die E-Commerce-Landschaft in ihren Anfängen vor. Unternehmen begannen gerade erst, das Potenzial der Personalisierung zu entdecken. Sie teilten ihre Kunden anhand gemeinsamer Merkmale wie Alter, Wohnort oder bisheriger Einkaufsgewohnheiten in Segmente ein. Anschließend passten die Unternehmen ihre Marketingstrategien an diese Segmente an.
Fällt ein Kunde in das Segment„junge Erwachsene“, könnte das Unternehmen vorrangig Produkte anzeigen, die bei anderen jungen Erwachsenen beliebt sind. Dadurch können die Suchergebnisse für den Kunden relevanter werden und die Kaufwahrscheinlichkeit steigen.
Ebenso könnte die E-Commerce-Plattform einem Kunden, der zum Segmentder „Luxuskäufer“ gehört, hochwertige Luxusprodukte empfehlen. Und wenn ein Kunde zur Gruppeder „Schnäppchenjäger“ gehört, könnte das Unternehmen ihm Artikel empfehlen, die gerade im Angebot sind oder erhebliche Rabatte bieten.
Es war einfach, effizient und hat funktioniert – bis zu einem gewissen Grad. Genauso wie wir unsere Freunde nach gemeinsamen Interessen in Gruppen einteilen: Manche sind vielleicht tolle Begleiter für einen Sommerurlaub mit ihren Kindern, andere sind eher freigeistig und bereit, die ganze Nacht durchzufeiern. Wenn man sie zusammenbringt, könnte das zu einer perfekten Katastrophe führen.
Oder stell dir Folgendes vor: Du teilst dein Netflix-Konto mit deinem Geschwisterteil oder Mitbewohner. Auch wenn ihr beide gerne Serien auf Netflix schaut, könnten eure Vorlieben völlig unterschiedlich sein. Du bist vielleicht ein Fan von spannenden Krimidokumentationen, während der andere eher auf unbeschwerte romantische Komödien steht. Da ihr beide unter demselben Konto „zusammengefasst“ seid, wären die Empfehlungen ein Mischmasch aus euren gemeinsamen Sehgewohnheiten.
Plötzlich schlägt Ihnen Ihre Netflix-Startseite vielleicht „Bridgerton“ vor, obwohl Sie eigentlich Lust auf „Mindhunter“ haben. Dies verdeutlicht, wie segmentbasierte Personalisierung bei der Bereitstellung wirklich individueller Empfehlungen zu kurz greifen kann. Es ist so, als würde man versuchen, ein Einheitshemd so anzupassen, dass es jedem perfekt passt – das wird einfach nicht funktionieren.
Springen wir nun ein Stück in die Zukunft. Mithilfe von maschinellem Lernen schaffen Unternehmen heute ein Einkaufserlebnis, das so einzigartig ist wie jeder einzelne Kunde. Stellen Sie sich vor, Sie betreten ein Geschäft, in dem alles in den Regalen speziell für Sie ausgewählt wurde. Das ist Hyper-Personalisierung, 1:1-Personalisierung, alles nur für Sie – ein virtueller Personal Shopper, der Ihren Geschmack und Ihre Einkaufsgewohnheiten genau kennt. Das ist eine bahnbrechende Neuerung, die die Art und Weise, wie Unternehmen mit Erstbesuchern, wiederkehrenden Nutzern oder Stammkunden interagieren, völlig neu gestaltet.
KI ist der Superheld, der diesen Wandel möglich macht. Stellen Sie sich vor, Sie hätten eine Superkraft, mit der Sie aus einer Fülle von Nutzerdaten Muster erkennen könnten. Genau das leistet Deep Learning für Ihre E-Commerce-Website oder -Anwendung: Es versucht, die Absichten der Nutzer wirklich zu verstehen und auf dieser Grundlage ein maßgeschneidertes Erlebnis zu bieten.
Aber hier ist der Haken: Personalisierung muss:
Das ist nicht gerade ein Kinderspiel, oder? Es erfordert Investitionen in Technologie und Fachwissen zur Datenanalyse, vor allem aber die Fähigkeit, die richtigen Daten zu erfassen. Im Zusammenhang mit Personalisierungssystemen beziehen wir uns dabei hauptsächlich auf nutzerzentrierte Daten: Verhaltensdaten, Ereignisse, Klickströme – das ist notwendig, um ein zentralisiertes Nutzerprofil zu erstellen, das dann genutzt werden kann, um die Nutzererfahrung kanalübergreifend zu personalisieren.
Echte Personalisierung beginnt beim Nutzer. Nicht beim Inhalt (Seiten, Produkte usw.). Deshalb möchte ich Sie auf eine Reise einladen … die Reise des Endnutzers – und Ihnen die 5 Ws der Gestaltung eines modernen Personalisierungserlebnisses näherbringen: Wer, Was, Wann, Wo und Warum.
Die erste Frage, die man sich stellen sollte, lautet:Wie hoch ist das Verhältnis zwischen neuen und wiederkehrenden Besuchern?
Dies ist der entscheidende Ausgangspunkt, um zu verstehen, worauf wir den Fokus unserer Personalisierungsstrategie legen sollten. Es gibt diese (fehlgeleitete) Erwartung, dass neue Nutzer das gleiche Maß an personalisierter Erfahrung erhalten sollten wie wiederkehrende Nutzer, obwohl neue Nutzer in Wirklichkeit kaum oder gar keine Interaktionen vorweisen. Wie soll man eine Erfahrung personalisieren, wenn man nicht einmal den geringsten Hinweis auf deren Vorlieben hat?
Zumindest können für Erstbesucher Standort- und Gerätedaten erfasst werden: Stadt, Browser, Gerätemarke, Betriebssystem, Bildschirmauflösung. Und wenn ihre Sitzung etwas länger dauert oder sie zahlreiche Interaktionen (Klicks, Aufrufe, Konversionen usw.) vorweisen, kann eine Personalisierung in Echtzeit während der Sitzung angewendet werden.
Ja, es mag zwar sein, dass neue Besucher in größerer Zahl auf Ihre Website kommen, doch wiederkehrende Besucher reagieren eher auf Personalisierung, und ihre Konversionsraten oder ihr durchschnittlicher Bestellwert (AOV) sind in der Regel höher. Deshalb ist es eine kluge Strategie, insbesondere wenn man ganz von vorne anfängt, einen Personalisierungsplan zu entwickeln, der in erster Linie auf wiederkehrende Nutzer abzielt.
Gehen wir noch einen Schritt weiter und schauen wir uns die verschiedenen Arten von wiederkehrenden Nutzern genauer an.
Ein Besucher kann innerhalb eines beliebigen Zeitraums (Stunden, Tage, Wochen, Monate usw.) wiederholt mit Ihrer Website oder Anwendung interagieren, auch wenn diese Person kein Konto bei Ihrem Unternehmen angelegt hat. Dies allein könnte ein Hinweis auf eine geringe Absicht sein, mit Ihrem Unternehmen in Kontakt zu treten. Oder es könnte einfach daran liegen, dass sich der Nutzer aus Bequemlichkeit nicht angemeldet hat.
Unabhängig davon ist dies der erste Status des Besuchers, der unserem Personalisierungssystem tatsächlich wertvolle Signale liefern kann: Verweildauer auf der Website, Anzahl der Sitzungen, Anzahl der Seitenaufrufe, Absprungrate usw. Je nachdem, wie Ihre Website aufgebaut ist, kann es natürlich sogar vorkommen, dass Besucher eine Conversion tätigen, ohne ein Konto zu erstellen.
Sobald sich Besucher anmelden, werden sie zu Nutzern. Ob sie nun konvertieren oder nicht – vielleicht sind sie Erstbesucher, die beschlossen haben, Ihrem Unternehmen zu vertrauen und ein Konto anzulegen. Dies ist ein hervorragender Indikator für ihre Absicht, mehr zu tun: in Zukunft auf Ihre Website oder in Ihre App zurückzukehren oder sogar eine Bestellung aufzugeben.
Sicher ist, dass wir nun über noch mehr Daten verfügen, die wir nutzen können, um unseren neu gewonnenen Nutzern ein sinnvolles Erlebnis zu bieten: Name, Handynummer, E-Mail-Adresse, Geburtsdatum, Beruf, Geschlecht usw.
An dieser Stelle würden wir uns zu sehr in die Details zum Thema personenbezogene Daten und deren Umgang im Rahmen der Einhaltung von Datenschutzgesetzen vertiefen. Auch wenn es sich dabei um ein wichtiges Thema handelt, werden wir darauf in diesem Artikel nicht näher eingehen. (Weitere Informationen zum Thema Datenschutz finden Sie in diesem Artikel.)
Schließlich gibt es noch Nutzer, die einen Kauf getätigt haben und damit den Status „Käufer cum laude“ erreicht haben. Besucher können bereits bei ihrer ersten Sitzung oder bei einer der folgenden Sitzungen zu Kunden werden, und es ist wichtig, die Vielschichtigkeit ihres Profils zu verstehen und zu erkennen, was dies für ihre späteren Interaktionen mit unserer Website bzw. Anwendung bedeuten kann.
Zu diesem Zeitpunkt haben sie bereits ganz klar ihre Vorlieben hinsichtlich der von uns angebotenen Produkte bzw. Artikel zum Ausdruck gebracht. Anhand ihrer bisherigen Bestellungen – insbesondere wenn es sich um Stammkunden handelt – können wir mit ziemlicher Sicherheit sagen, ob sie eine bestimmte Marke bevorzugen, welche Größe sie tragen, welche Farben oder Muster ihnen gefallen usw. Oder im Falle von Lebensmitteln, welche Ernährungsvorlieben sie haben.
Eigenschaften, die uns möglicherweise bekannt sind, sobald ein neuer oder wiederkehrender Nutzer auf der Website landet

Nachdem wir nun ein besseres Verständnis dafür gewonnen haben, mit welcher Art von Nutzern wir es zu tun haben und wie diese verteilt sind, wenden wir uns der nächsten Frage zu: Was ist die beste Personalisierungsstrategie für jedes dieser übergeordneten Segmente?

Von einfach bis komplex umfasst das Reifegradmodell für Personalisierung folgende Stufen: inhaltsbasierte Strategien (keine Personalisierung), die Gestaltung von Erlebnissen für bestimmte Nutzersegmente (schwache Personalisierung) und schließlich KI-gestützte Personalisierung oder 1:1-Personalisierung, auch bekannt als Hyper-Personalisierung – der Gipfel des Kundenerlebnisses in jeder Branche.
Dies ist keine Personalisierungsstrategie im eigentlichen Sinne, da wir in diesem Schritt tatsächlich nichts dergleichen tun. Das heißt, wir richten uns nicht zum richtigen Zeitpunkt mit den richtigen Inhalten an den einzelnen Nutzer. Stattdessen basiert das Nutzererlebnis auf Beliebtheit und/oder manuell kuratierten Inhalten. Dieser Ansatz eignet sich vor allem für Szenarien, in denen wir nicht über genügend Daten zu unseren Nutzern auf individueller Ebene verfügen, aber dennoch bestrebt sind, das Erlebnis unserer Erstbesucher so weit wie möglich individuell anzupassen.
Inhaltsbasierte Mechanismen lassen sich in zwei Kategorien unterteilen: (1) solche, die lediglich den Produktkatalog benötigen (Bilder, Titel, Beschreibungen oder Attribute), und (2) solche, die zusätzliche aggregierte Nutzerdaten benötigen (Klicks, Aufrufe, Käufe usw.).

Zeige ähnliche Bilder, Artikel oder Produkte auf der Grundlage eines bestimmten Bildes, Artikels oder Produkts an. In diesem Fall werden keine Nutzerinteraktionen (Klicks, Aufrufe, Konversionen) berücksichtigt.
Python
import pandas as pd
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
# Initialize data
data = {
'title': [
'Product 1', 'Product 2', 'Product 3', 'Product 4', 'Product 5',
'Product 6', 'Product 7', 'Product 8', 'Product 9', 'Product 10'],
'description': [
'This is the first product.',
'This is the second product.'
'This is the third product.'
'This is the fourth product.
'This is the fifth product.',
'This is the sixth product.',
'This is the seventh product."
'This is the eighth product.
'This is the nineth product.',
'This is the tenth product.'
],
'attributes': [
'Size: Small, Color: Blue, Material: Cotton',
'Size: Medium, Color: Red, Material: Silk',
'Size: Large, Color: Green, Material: Wool',
'Size: Extra Large, Color: Black, Material: Leather',
'Size: Small, Color: White, Material: Linen',
'Size: Medium, Color: Blue, Material: Linen',
'Size: Small, Color: Black, Material: Silk',
'Size: Large, Color: White, Material: Leather',
'Size: Extra Large, Color: Red, Material: Cotton',
'Size: Medium, Color: Green, Material: Wool'
]
}
# Create DataFrame
df = pd.DataFrame(data)
# Print DataFrame
print(df)
# Assuming you have a DataFrame df with 'title', 'description', and
'attributes' as columns
# In a realistic scenario, the data could be more complex and you might need to
perform data cleaning.
# Combine the 'title', 'description', 'attributes' columns into a single
'content' column
df['content'] = df['title']+' '+df['description']+' '+df['attributes']
# Initialize the TfidfVectorizer
tfidf = TfidfVectorizer (stop_words='english')
# Construct the required TF-IDF matrix by fitting and transforming the data
tfidf_matrix = tfidf.fit_transform(df['content'])
# Compute the cosine similarity matrix
cosine_sim = cosine_similarity (tfidf_matrix, tfidf_matrix)
# Function that takes in product title as input and outputs most similar
products
def get_recommendations (title, cosine_sim-cosine_sim):
# Get the index of the product that matches the title
indices = pd.Series (df.index, index=df['title']) .drop_duplicates()
idx = indices [title]
# Get the pairwise similarity scores of all products with that product
sim_scores = list(enumerate (cosine_sim[idx]))
# Sort the products based on the similarity scores
sim_scores = sorted (sim_scores, key-lambda x: x[1], reverse=True)
# Get the scores of the 3 most similar products
sim_scores = sim_scores [1:4]
# Get the product indices
product_indices = [i[0] for i in sim_scores]
# Get the titles of the top 3 most similar products
titles = df['title'].iloc[product_indices]
# Create a DataFrame that contains the indices, scores, and titles
result = pd.DataFrame({
'index': product_indices,
'Score': sim_scores,
'title': titles
})
# Return the result
return result
# Test the function
print(get_recommendations ('Product 3'))
Andererseits müssen wir bei einem item-basierten Collaborative-Filtering-Ansatz anhand der aggregierten Nutzerinteraktionen die Menge der Items ermitteln, die dem Ziel-Item am ähnlichsten sind. Die Idee besteht darin, die Ähnlichkeit zwischen jedem Item-Paar danach zu berechnen, wie viele Klicks, Aufrufe oder Käufe die Nutzer bei der Interaktion mit beiden Items generiert haben.

Python
import pandas as pd
from sklearn.metrics.pairwise import cosine_similarity
# Given data
data = {
'user_id': ['user1', 'user2', 'user', 'user3', 'user2', 'user', 'user3', 'user1', 'user4', 'user2'],
'product_title': ['Product A', 'Product B', 'Product C', 'Product A',
'Product C', 'Product B', 'Product D', 'Product D', 'Product A', 'Product D'],
'clicks': [5, 6, 3, 8, 5, 7, 4, 6, 8, 7]
}
df = pd.DataFrame(data)
# Create a user-item matrix
user_item_matrix = df.pivot_table(index='user_id', columns='product_title',
values='clicks').fillna(0)
# Compute item similarity matrix
item_similarity = cosine_similarity (user_item_matrix.T) # .T transposes the matrix to switch users with items
item_similarity_df = pd.DataFrame(item_similarity,
index=user_item_matrix.columns, columns=user_item_matrix.columns)
def recommend_products (product_title, item_similarity=item_similarity_df):
# Get similarity scores for the product
similarity_scores = item_similarity[product_title]
# Sort in descending order
similarity_scores = similarity_scores.sort_values (ascending=False)
# Return the top 3 most similar products return similarity_scores [1:4]
print (recommend_products('Product A'))

Natürlich gibt es auch das Szenario, bei dem sowohl Inhalte als auch aggregierte Nutzermerkmale berücksichtigt werden, um eine Liste ähnlicher Bilder, Artikel oder Produkte zu erstellen. Eine ausführlichere Erläuterung gängiger Modelle und Techniken für Empfehlungssysteme finden Sie in einem unserer früheren Blogbeiträge.
Denken Sie daran: Als wir oben die neuen Besucher beschrieben haben, kamen wir zu dem Schluss, dass wir die Echtzeit-Personalisierung während der Sitzung für sie erst dann wirklich in Gang setzen können, wenn sie auf sinnvolle Weise mit unserer Website interagiert haben (Klicks, Aufrufe, Käufe usw.).
Tatsächlich spielt Echtzeit bei rein inhaltsbasierten Szenarien für neue Nutzer nicht einmal eine Rolle für die Qualität des Nutzererlebnisses, da ein Großteil der angezeigten Inhalte auf Beliebtheit basiert oder manuell kuratiert wird – was sich auch durch Echtzeit-Interaktionen nicht wesentlich ändert. Dies gilt natürlich nicht für segmentbasierte oder KI-basierte Szenarien, auf die im nächsten Abschnitt näher eingegangen wird.
Wir können uns also auf die folgenden inhaltsbasierten Methoden zur Gewinnung neuer Nutzer verlassen:
Wenn keine Benutzerdaten verfügbar sind (siehe Code-Beispiel Nr. 1 oben):
Auf den Produktdetailseiten:
Wenn aggregierte Nutzerdaten einbezogen werden (siehe Code-Beispiel Nr. 2 oben):
Auf den Produktdetailseiten:
Auf der Suchergebnisseite:
Inhaltsbasierte Strategien können für wiederkehrende Nutzer angewendet werden, unabhängig davon, ob sie angemeldet sind oder nicht bzw. ob sie zuvor etwas gekauft haben oder nicht. Da wir jedoch auf individueller Ebene mehr über diese Nutzer wissen, ist es sinnvoller, segmentbasierte und KI-gestützte Personalisierungsstrategien zu prüfen, da diese zu besseren Ergebnissen führen können.
Als Faustregel gilt: Die ausschließliche Anwendung inhaltsbasierter Strategien bei wiederkehrenden Nutzern ist keine optimale Vorgehensweise, da dabei die expliziten und impliziten Informationen, die die Nutzer bereitgestellt haben, nicht genutzt werden.
Nehmen wir einmal eine Buchhändlerin, die einige ihrer Stammkunden sehr gut kennt. Eine inhaltsorientierte Strategie würde darin bestehen, Bücher ausschließlich anhand von Bestsellern zu empfehlen, unabhängig davon, ob es sich bei dem Kunden um einen Stammkunden oder einen Neukunden handelt.
Beispielsweise könnte der Besitzer Fantasy-Romane von George R. R. Martin empfehlen, nur weil dieser Autor in dieser Woche gerade im Trend liegt. Diese Strategie kann bei allen Kunden funktionieren, egal ob Stammkunden oder Neukunden, da sie nicht darauf beruht, mehr über sie als Einzelpersonen zu wissen als die Tatsache, dass sie die Buchhandlung betreten haben.
Für die Stammkunden verfügt die Inhaberin jedoch über weitaus mehr Informationen – sie kennt deren Vorlieben, ihre bevorzugten Autoren und Genres, wie oft sie neue Bücher kaufen und so weiter. Eine segmentbasierte oder KI-gestützte Personalisierungsstrategie würde bedeuten, diese zusätzlichen Informationen zu nutzen, um ihre Empfehlungen maßzuschneidern. Beispielsweise könnte sie wissen, dass ein bestimmter Stammkunde Krimis mag, aber auch eine Leidenschaft für historische Sachbücher hat. So könnte sie einen historischen Krimi empfehlen, den eine rein inhaltsbasierte Strategie möglicherweise übersehen würde.
Auch wenn wir diesen Aspekt nicht völlig außer Acht lassen sollten, müssen wir doch verstehen, dass es keine optimale Strategie wäre, sich bei diesen Stammkunden ausschließlich auf inhaltsbasierte Methoden zu verlassen. Das ist so, als würde die Buchhändlerin all die zusätzlichen Informationen, die sie über ihre Stammkunden weiß, ignorieren und jeden wie einen neuen Besucher, wie einen Fremden behandeln. Zwar könnte sie dem Kunden immer noch ein Buch empfehlen, das ihm gefällt, doch verpasst sie damit die Chance, eine noch individuellere Empfehlung abzugeben, die der Kunde vielleicht mehr zu schätzen wüsste.
Sobald wir Zugriff auf die Daten einzelner Nutzer haben (Klicks, Aufrufe, Käufe usw.), können wir darüber nachdenken, ein personalisierteres Erlebnis anzubieten. Die erste Stufe der Personalisierung ist der segmentierungsbasierte Ansatz.
Die Zuordnung eines Segments zu einem neuen Nutzer, der auf die Website bzw. in die App gelangt, setzt voraus, dass in unserem System bereits ein oder mehrere vordefinierte Segmente vorhanden sind. Sobald die erforderlichen Nutzerattribute korrekt identifiziert wurden, kann der Nutzer einem oder mehreren Segmenten zugeordnet werden, woraufhin verschiedene Aktionen ausgelöst werden können.
Nehmen wir das folgende Benutzerprofil als Beispiel: Während „user123“ auf der Website navigiert und mit Produkten interagiert, generiert er Klicks, Aufrufe und sogar Käufe.
JavaScript
{
"user_id": "user123",
"activity": {
"clicks": [
{
"product_id": "product567",
"title": "Smartphone X",
"description": "Latest model with 5G connectivity and high resolution camera",
"price": 999.99,
"timestamp": "2823-87-24T14:30:00"
},
{
"product_id": "product891",
"title": "Sports Watch Y",
"description": "Water resistant with multiple sport modes",
"price": 199.99,
"timestamp": "2023-07-24T15:00:00"
}
],
"views": [
{
"product_id": "product234",
"title": "Novel Z",
"description": "Bestselling fiction novel by renowned author",
"price": 14.99,
"timestamp": "2023-87-24T13:45:00"
},
{
"product_id": "product567",
"title": "Smartphone X",
"description": "Latest model with 56 connectivity and high resolution camera",
"Price":999.99,
"timestamp": "2023-07-24T14:15:00"
}
],
"purchases" : [
{
"product_id": "product891",
"title": "Sports Watch Y",
"description": "Water resistant with multiple sport modes",
"price": 199.99,
"timestamp": "2023-87-24T15:38:00"
}
]
},
"affinities":["Electronics", "Books", "Fashion", "Sports", "Home Decor"]
}
Nehmen wir an, wir haben zuvor die folgenden Segmente definiert:
JavaScript
{
"segment1": {
"name": "High Value Electronics Enthusiasts",
"description": "Users who have viewed or purchased high-priced electronic items",
"definition": {
"affinities": ["Electronics"],
"activity": {
"views": {
"price_range": [500, 1000]
},
"purchases" : {
"price_range": [500, 1000]
}
}
}
},
"segment2": {
"name": "Budget-Conscious Book Readers",
"description": "Users who have viewed or purchased medium-priced books” ,
"definition": {
"affinities": [ "Books"],
"activity": {
"views": {
"price_range":[10, 25]
},
"purchases": {
"price_range":[10, 25]
}
}
}
}
}
Angesichts der obigen Definitionen von „Segment1“ und „Segment2“ nehmen wir an, dass auf der Website die folgenden Aktionen ausgelöst werden sollen:
Das Benutzerprofil ist leer, wenn ein neuer Nutzer zum ersten Mal auf die Website gelangt. Sobald mehr Aktivität (Klicks und Aufrufe) vorliegt, kann der Nutzer einem bestimmten Segment zugeordnet und eine Aktion ausgelöst werden.
JavaScript
{
"user_id": "user123",
"Segments":[
{
"segment_id":"segment1"
}
]
}
In seiner ersten Sitzung hat unser Nutzer „user123“ auf einige Produkte im Preisbereich zwischen 500 und 1.000 US-Dollar geklickt, die dem Segment „segment1“ zugeordnet sind. In diesem Fall wird der Nutzer – basierend auf den oben definierten Aktionen – dazu aufgefordert, sich zu registrieren und einen Rabatt auf seinen ersten Einkauf zu erhalten. Infolgedessen kauft „user123“ schließlich einen Artikel.
Keine anderen Nutzer haben diese Aufforderung gesehen, es sei denn, sie erfüllten die Bedingung, dass sie neue Nutzer aus Segment 1 sind. Da Nutzer123 noch kein wiederkehrender Nutzer ist, wird die oben beschriebene zweite Aktion (Banner für kostenlosen Versand) nicht ausgelöst.
Beim erneuten Aufrufen der Kategorie „Bücher“ werden jedoch Bücher im Preisbereich von 10 bis 25 Dollar für user123 ganz oben angezeigt, da die oben beschriebene dritte Aktion ausgelöst wird.
| user123 | Maßnahme Nr. 1 | Maßnahme Nr. 2 | Maßnahme Nr. 3 |
|---|---|---|---|
| Zustand | Neuer Benutzer & Segment 1 | Wiederkäufer & Segment 1 | Segment 2 |
| Ausgelöst | Ja | Nein |
Ja |
Ein paar Tage später kehrt user123 auf die Website zurück und wird diesmal mit einem Banner für kostenlosen Versand begrüßt, da er zum Segment1 gehört.
| user123 | Maßnahme 1 | Maßnahme 2 | Maßnahme 3 |
|---|---|---|---|
| Zustand | Neuer Benutzer & Segment 1 | Wiederkäufer & Segment 1 | Segment 2 |
| Ausgelöst | Nein | Ja | Ja |
Wenn er zudem den Bereich „Bücher“ erneut aufruft, wird ihm wieder eine Liste mit Büchern angezeigt, die entsprechend seinen Preisvorlieben hervorgehoben wurden. Beachten Sie, dass Segment2 nicht vom Nutzertyp (Neukunde oder Stammkunde) abhängt, sodass diese Aktion in beiden Fällen ausgelöst wird.
Eine Frage, die Sie sich vielleicht stellen, lautet: Können wir den Nutzertyp in die Definition unserer Segmente einbetten? Kurze Antwort: Natürlich, das ist ein gangbarer Ansatz. Der einzige Unterschied besteht darin, dass wir dann drei statt zwei Segmente hätten, und natürlich müsste die dritte Aktion mit Segment 3 verknüpft sein.
KI/ML ermöglicht eine Hyper-Personalisierung, und diese 1:1-Personalisierung macht wiederum menschliches Eingreifen überflüssig. Im Gegensatz zur manuellen Segmentierung muss bei der KI-gestützten Personalisierung kein Merchandiser die Bedingungen festlegen, unter denen die Personalisierung zum Tragen kommt.
Nehmen wir zum Beispiel denselben Nutzer wie oben (user123). Im Rahmen der 1:1-Personalisierung würden die Suchergebnisse bei einer Suche sofort auf der Grundlage seiner Vorlieben neu sortiert werden. Das Gleiche gilt für alle anderen Nutzer, die über ein gültiges Nutzerprofil verfügen. Selbst wenn sie also genau dieselben Suchbegriffe verwenden, sieht jeder Nutzer leicht unterschiedliche Ergebnisse. Oder genauer gesagt: Die Ergebnisse werden entsprechend ihrer Präferenzen neu sortiert. Das ist echte Personalisierung.
Wie wir bereits bei den anderen Strategien gesehen haben, gibt es feine Unterschiede bei der Anwendung von Personalisierung für neue Nutzer im Vergleich zu wiederkehrenden Nutzern.
Eine 1:1-Personalisierung für neue Nutzer bedeutet Personalisierung in Echtzeit. Dabei gibt es jedoch einen Vorbehalt: Wie wir in den vorangegangenen Abschnitten gesehen haben, können Sie in der ersten Sekunde, in der ein Nutzer auf Ihrer Website landet, im Hinblick auf die 1:1-Personalisierung noch nicht viel über ihn wissen. Ja, Sie haben vielleicht Zugriff auf Standort- und Gerätedaten, doch diese sagen nichts über die individuellen Vorlieben des Nutzers aus.
Würde eine 60-Sekunden-Sitzung einen Unterschied hinsichtlich der Aussagekraft des Nutzerprofils bewirken?
Vielleicht: wenn der Nutzer tatsächlich mit der Website interagiert. Andernfalls greift man wieder auf inhaltsbasierte Strategien zurück, anstatt auf eine 1:1-Personalisierung. Dann stellt sich die Frage: Wie viele Interaktionen reichen aus, um ein aussagekräftiges Nutzerprofil zu erstellen?
Können wir nach dem ersten Klick mit der Personalisierung beginnen?
Nicht wirklich, denn dann stößt man auf eine übermäßige Personalisierung – die Inhalte, die besonders hervorgehoben werden, sind zu eng gefasst und weisen keine Vielfalt auf. Dies kann zu verschiedenen Problemen führen:
Eine Möglichkeit, das ausdrückliche Feedback der Endnutzer darüber zu berücksichtigen, ob sie bereit sind, ein personalisiertes Erlebnis zu erhalten oder nicht, besteht darin, die entsprechende Option tatsächlich in die Suchleiste zu integrieren – ein Ansatz, den Instagram nutzt:
Nach unserer Erfahrung scheinen im Zusammenhang mit der Echtzeit-Personalisierung jene Nutzerprofile am besten geeignet zu sein, bei denen ein Gleichgewicht zwischen der Sitzungsdauer einerseits und dem Umfang sowie der Tiefe der Interaktionen andererseits besteht. Das bezeichnen wir als „personalisierungsfähige Sitzung“, die geeignet ist, aussagekräftige Nutzerprofile zu generieren, die wiederum die Grundlage für eine 1:1-Personalisierungsstrategie bilden können.
Hier ist ein einfaches Nutzerprofil, das auf der Grundlage der Produktklicks und -aufrufe eines Nutzers erstellt wird. Es ist wichtig zu beachten, dass es sich hierbei um eine vereinfachte Darstellung handelt und reale Szenarien komplexere Verfahren erfordern würden:
JavaScript
// Sample user activity
data.let userActivity = {
"user123": {
"clicks": [
{"productId": "product567","attributes":["Electronics", "Smartphone"]},
{"productId": "product891","attributes":["Sports", "Watch"]
}],
"views": [
{"productId": "product234","attributes": [ "Books", "Novel"]},
{"productId": "product567","attributes":["Electronics", "Smartphone"]}
]
}
}
// Calculate user profile
function calculateUserProfile(userId) {
let userProfile = {"userId": userId,"affinities": []};
let user = userActivity[userId];
if(user) {
let activity = [...user.clicks, ...user.views];
let attributeCount = {};
for(let action of activity) {
for (let attribute of action.attributes)
if(attributeCount[attribute]) {
attributeCount[attribute]++;
}
else {
attributeCount [attribute] = 1;
}
}
}
userProfile.affinities = Object.entries (attributeCount)
.sort((a, b) => b[1] - a[1])
.map (item => item[0]);
}
return userProfile;
}
console.log(calculateUserProfile("user123"));
Das so erstellte Benutzerprofil kann anschließend an Algolia übermittelt werden, um die Suchergebnisse in Echtzeit zu personalisieren:
JavaScriptconst
algoliasearch = require('algoliasearch');
// Connect to Algolia
const client = algoliasearch('YourApplicationID', 'YourAdminAPIKey");
const index = client.initIndex('products');
// User profile from previous code
const userProfile = {
"userId": "user123",
"affinities": ["Electronics", "Smartphone", "Books", "Novel", "Sports","Watch"]};
// Generate optional filters based on user profilelet optional
Filters = userProfile.affinities.map(affinity =>`category:$(affinity}');
// Search Algolia with user filters
index.search(
'query string',
{optionalFilters: optionalFilters}
).then((( hits }) => {
console.log(hits);
}).catch(err => {console.log(err):});
Die 1:1-Personalisierung kommt bei nicht authentifizierten, authentifizierten und wiederkehrenden Käufern besonders gut zur Geltung, da diese Nutzergruppen in der Regel eine höhere Konversionsrate aufweisen als Neukunden. Im vorigen Abschnitt habe ich das Beispiel der Personalisierung von Suchergebnissen angeführt. Schauen wir uns nun an, wie wir Empfehlungen für wiederkehrende Nutzer personalisieren können.
recommend = require('@algolia/recommend');
// Algolia credentials and settings
const appId = 'Your ApplicationID";
const apiKey='Your APIKey";
const indexName = "Your IndexName';
// Initiate Algolia client
const client = algoliasearch (appId, apikey);
const recommendClient = recommend(client);
// User profile from previous code
const userProfile = {
"userId": "user123",
"affinities": [
"Electronics",
"Smartphone",
"Books",
"Novel",
"Sports",
"Watch"]};
recommendClient.getRelatedProducts({
indexName,model: 'bought-together', // The model can be bought-together or viewed-together
objectID: [currentObjectID], //Replace with an actual objectID from yourdata
maxRecommendations: 5,
queryParameters: (
// Only display products matching the selected affinities
facetFilters: userProfile.affinities.map(affinity => `category:${affinity}`)}}
).then(({recommendations }) => {
console.log(recommendations);
}).catch(err => {
console.log(err);
});
Die 1:1-Personalisierung kommt vor allem bei der Suche, beim Stöbern oder bei Empfehlungen zum Einsatz. Doch sie ist nicht darauf beschränkt. Sie können sie auch für den Versand intelligenter Push-Benachrichtigungen oder E-Mails nutzen. Oder sogar in dialogorientierten Schnittstellen wie Chatbots – entdecken Sie einige dieser Anwendungsfälle in der Live-Coding-Session der Algolia DevCon ‘23 zu einem generativen KI-E-Commerce-Framework, das beim „Long-Tail“-Merchandising unterstützt.
Unterstützt durch KI-Empfehlungen von Algolia