Personalisieren Sie es: Wie wir mit QIWI-Empfehlungen arbeiten

Hallo allerseits!

Mein Name ist Lydia, ich bin der Teamleiter eines kleinen DataScience-Teams in QIWI.

Meine Jungs stehen ziemlich oft vor der Aufgabe, die Kundenbedürfnisse zu untersuchen, und in diesem Beitrag möchte ich meine Gedanken darüber teilen, wie man ein Thema mit Segmentierung beginnt und welche Ansätze helfen können, ein Meer nicht zugeordneter Daten zu sortieren.

Wer wird jetzt mit Personalisierung überraschen? Das Fehlen persönlicher Angebote in einem Produkt oder einer Dienstleistung scheint bereits ein schlechter Mann zu sein, und wir warten auf die gleiche Creme, die nur für uns überall ausgewählt wurde - von Instagram-Feeds bis hin zu einem persönlichen Tarifplan.

Woher kommt dieser Inhalt oder dieses Angebot? Wenn Sie zum ersten Mal in das dunkle Wasser des maschinellen Lernens eintauchen, werden Sie wahrscheinlich auf die Frage stoßen, wo Sie anfangen sollen und wie Sie die Interessen des Kunden identifizieren können. Wenn es eine große Benutzerbasis und mangelndes Wissen über sie gibt, besteht meistens der Wunsch, zwei beliebte Wege zu gehen:

1. Markieren Sie die Stichprobe der Benutzer manuell und trainieren Sie ein Modell , mit dem Sie bestimmen können, ob diese Klasse oder Klassen gehören - im Fall eines Ziels mit mehreren Klassen.

Diese Option ist nicht schlecht, kann aber in der Anfangsphase eine Falle sein - da wir immer noch nicht wissen, welche Segmente wir im Prinzip haben und wie nützlich sie für die Förderung neuer Produktfunktionen, Kommunikation und anderer Dinge sein werden. Ganz zu schweigen von der Tatsache, dass manuelles Client-Markup ziemlich teuer und manchmal schwierig ist, denn je mehr Services Sie haben, desto mehr Daten müssen Sie durchsehen, um zu verstehen, wie dieser Client lebt und atmet. Es ist sehr wahrscheinlich, dass sich so etwas herausstellen wird:



2. Nachdem sie sich bei Option 1 verbrannt haben, wählen sie häufig die Option einer unbeaufsichtigten Analyse ohne Trainingsprobe.

Wenn Sie Witze über die Effektivität von kmeans weglassen, können Sie einen wichtigen Punkt beachten, der alle Clustering-Methoden ohne Schulung kombiniert - Sie können Kunden einfach basierend auf der Nähe anhand ausgewählter Metriken kombinieren. Zum Beispiel die Anzahl der Einkäufe, die Anzahl der Lebenstage, das Guthaben und mehr.

Dies kann auch nützlich sein, wenn Sie Ihre Zielgruppe in große Gruppen aufteilen und diese dann untersuchen oder den Kern und die Segmente hervorheben möchten, die hinter den Produktmetriken zurückbleiben.

In einem zweidimensionalen Raum kann beispielsweise ein nützliches Ergebnis so aussehen - Sie können sofort erkennen, welche Cluster es wert sind, genauer untersucht zu werden.



Je mehr Metriken Sie für das Clustering verwenden, desto schwieriger wird es, das Ergebnis zu interpretieren. Und die gleichen Kundenpräferenzen sind immer noch rätselhaft.

Was tun, hier ist die Frage? Bei QIWI haben wir uns wiederholt über dieses Dilemma Gedanken gemacht, bis wir zu einem merkwürdigen Modell kommen, das von diesem Artikel inspiriert ist. In dem Artikel wurde unter anderem die Entscheidung von Konstantin Vorontsov beschrieben, latente Verhaltensmuster von Bankkartenbenutzern basierend auf der BigARTM-Bibliothek hervorzuheben .

Das Fazit ist, dass Kundentransaktionen als eine Reihe von Wörtern dargestellt wurden und dann aus der resultierenden Textsammlung, in der document = client und words = MCC-Codes (Händlerkategoriecode, internationale Klassifizierung von Verkaufsstellen), Textthemen mit einem der Tools zur Verarbeitung natürlicher Sprache zugewiesen wurden ( NLP) - thematische Modellierung .

In unserer Leistung sieht die Pipeline folgendermaßen aus:



Es klingt absolut natürlich - wenn wir verstehen wollen, wie und wie unser Publikum lebt, stellen Sie sich die Aktionen, die Kunden in unserem Ökosystem ausführen, als eine von ihnen erzählte Geschichte vor. Und machen Sie einen Leitfaden zu den Themen dieser Geschichten.

Trotz der Tatsache, dass das Konzept elegant und einfach aussieht, musste ich bei der Implementierung des Modells in der Praxis auf mehrere Probleme stoßen:

  1. das Vorhandensein von Ausreißern und Anomalien in den Daten und infolgedessen eine Verschiebung der Themen in Richtung der Kategorien von Einkäufen von Kunden mit hohem Umsatz
  2. die korrekte Bestimmung der Anzahl der Themen N,
  3. eine Frage der Validierung der Ergebnisse (ist dies grundsätzlich möglich?)

Für das erste Problem war die Lösung recht einfach zu finden - alle Hauptkunden wurden durch den einfachsten Klassifikator in „Kern“ und „Sterne“ unterteilt (siehe Bild oben), und bereits wurde jeder der Cluster als separate Textsammlung verarbeitet.

Aber der zweite und dritte Punkt haben mich gefragt, wie man Lernergebnisse ohne eine Trainingsprobe validieren kann. Natürlich gibt es Qualitätsmetriken für das Modell, aber es scheint, dass sie nicht ausreichen - und deshalb haben wir uns für eine sehr einfache Sache entschieden -, um die Ergebnisse anhand derselben Quelldaten zu überprüfen.

Diese Prüfung sieht folgendermaßen aus: Die Klassifizierung führt beispielsweise zu einer Reihe von Themen:



Hier ist die Python-Liste eine Reihe der wahrscheinlichsten MCC-Kaufkategorien für dieses Thema (aus der Matrix „Wort - Betreff“). Wenn Sie Einkäufe in der Kategorie Fluggesellschaft und Luftfahrtunternehmen separat betrachten, ist es ziemlich logisch, dass Kunden mit dem Thema „Reisende“ den größten Teil ihrer Nutzer ausmachen.



Und diese Prüfung wird bequem in Form eines Dashboards durchgeführt. Gleichzeitig verfügen Sie über visuelles Material zur Erstellung von Produkthypothesen. Wer hat Cashback für Flüge und wer hat einen Rabatt auf Kaffee?

In der Sammlung für thematische Modellierung können Sie nicht nur Transaktionsereignisse, sondern auch Metainformationen aus anderen Modellen, Themen von Kundenanrufen und vieles mehr hinzufügen. Oder als kategoriale Funktionen für überwachte Algorithmen verwenden - zum Beispiel Modelle zur Abflussvorhersage und so weiter.

Natürlich hat dieser Ansatz seine eigenen Nuancen: Beispielsweise wird die Sammlung als Wortsack verarbeitet und die Reihenfolge der Einkäufe wird nicht berücksichtigt. Sie kann jedoch vollständig kompensiert werden, indem N Gramm verwendet oder thematische Tags für jeden wichtigen Lebensabschnitt des Kunden berechnet werden (z. B. jeden Monat). Die Idee einer lesbaren und interpretierbaren Kundengeschichte, einer Kombination aus NLP und anderen Modellen, erscheint uns jedoch sehr attraktiv.

Und wie gefällt dir dieses Thema? Mit welchen Schwierigkeiten oder Freuden der Segmentierung ist Ihr Data Science-Team konfrontiert? Es wird interessant sein, Ihre Meinung zu kennen.

Source: https://habr.com/ru/post/de463389/


All Articles