Retentioneering: wie wir open-source Werkzeuge fĂŒr produktanalytik mit Python und Pandas entwickelt haben

Hallo, Habr. Dieser Artikel befasst sich mit den Ergebnissen der vierjĂ€hrigen Entwicklung eines Sets von Methoden und Werkzeugen zur Verarbeitung von Nutzerbewegungen in einer App oder auf einer Website. Der Entwickler ist Maxim Godzi, der an der Spitze des Produktteams steht und gleichzeitig der Autor dieses Artikels ist. Das Produkt trĂ€gt den Namen Retentioneering, es wurde jetzt in eine open-source Bibliothek umgewandelt und auf Github veröffentlicht, damit jeder, der möchte, es nutzen kann. Dies könnte fĂŒr diejenigen von Interesse sein, die sich mit Produkt- und Marketinganalysen, Promotion und Produktentwicklung beschĂ€ftigen. Übrigens wurde auf Habr bereits ein Artikel ĂŒber einen der AnwendungsfĂ€lle von Retentioneering veröffentlicht. In diesem neuen Material wird erlĂ€utert, wozu das Produkt in der Lage ist und wie man es nutzen kann.

Nachdem Sie den Artikel gelesen haben, werden Sie in der Lage sein, Ihr eigenes Retentioneering zu erstellen. Dies kann jede standardisierte Methode zur Verarbeitung von Nutzerbewegungen in und außerhalb der App sein, die es ermöglicht, das Verhalten detailliert zu betrachten und daraus Erkenntnisse zur Steigerung von GeschĂ€ftszielen zu gewinnen.

Was ist Retentioneering und warum ist es wichtig?

UrsprĂŒnglich war es unser Ziel, Growth Hacking aus der Welt des 'digitalen Schamanismus' in die Welt der Zahlen, Analysen und Prognosen zu ĂŒbertragen. Das fĂŒhrte dazu, dass wir produktbezogene Analytik auf reine Mathematik und Programmierung reduzierten fĂŒr diejenigen, die anstelle von fantastischen Geschichten Zahlen bevorzugen, und Formeln anstelle von klangvollen Begriffen wie 'Rebranding', 'Repositionierung' usw., die zwar schön klingen, aber in der Praxis wenig helfen.

Um diese Herausforderungen zu bewĂ€ltigen, benötigten wir ein Framework fĂŒr die Analyse durch Graphen und Trajektorien sowie gleichzeitig eine Bibliothek, die typische Routinen eines Analysts vereinfacht – eine Art Beschreibung regelmĂ€ĂŸiger Aufgaben der Produktanalytik, die sowohl fĂŒr Menschen als auch fĂŒr Maschinen verstĂ€ndlich wĂ€re. Die Bibliothek ermöglicht es, das Verhalten von Benutzern zu beschreiben und es mit den GeschĂ€ftszielen des Produkts auf eine formale und klare Weise zu verknĂŒpfen, um die Routineaufgaben von Entwicklern und Analysts zu vereinfachen, zu automatisieren und ihre Kommunikation mit dem GeschĂ€ft zu erleichtern.

Retentioneering — eine Methode und analytische Softwaretools, die sich anpassen und in jedes digitale (und nicht nur digitale) Produkt integrieren lassen.

Wir haben 2015 mit der Entwicklung des Produkts begonnen. Heute handelt es sich um ein bereits fertiges, wenn auch noch nicht perfektes Set an Werkzeugen in Python und Pandas fĂŒr die Datenverarbeitung, Machine-Learning-Modelle mit einer sklearn-Ă€hnlichen API sowie Werkzeuge zur Interpretation der Ergebnisse von Machine-Learning-Modellen wie eli5 und shap.

All dies ist verpackt in einer praktischen Open-Source-Bibliothek im offenen Github-Repository — retentioneering-tools.Die Nutzung der Bibliothek ist unkompliziert; praktisch jeder, der sich fĂŒr Produktanalytik interessiert, aber noch nie Code geschrieben hat, kann unsere Analysemethoden selbststĂ€ndig und ohne signifikante ZeitaufwĂ€nde auf seine Daten anwenden.

Ein Programmierer, Anwendungsentwickler oder Mitglied eines Entwicklungsteams, der bisher noch nie mit Analytik in BerĂŒhrung gekommen ist, kann mit diesem Code experimentieren und Nutzungsmuster seiner Anwendung ohne externe Hilfe erkennen.

Die Nutzertrajektorie als zentrales Element der Analyse und ihre Verarbeitungsmethoden.

Die Nutzerreise ist die Abfolge von ZustÀnden eines Nutzers zu bestimmten Zeitpunkten. Dabei können die Ereignisse aus verschiedenen Datenquellen stammen, sowohl online als auch offline. Die Ereignisse, die dem Nutzer widerfahren sind, sind Teil seiner Reise. Beispiele:
‱ hat auf einen Button gedrĂŒckt
‱ hat ein Bild gesehen
‱ kam auf den Bildschirm
‱ hat eine E-Mail erhalten
‱ hat ein Produkt einem Freund empfohlen
‱ hat ein Formular ausgefĂŒllt
‱ hat den Bildschirm angetippt
‱ hat gescrollt
‱ ist zur Kasse gegangen
‱ hat ein Burrito bestellt
‱ hat das Burrito gegessen
‱ hat sich mit dem gegessenen Burrito vergiftet
‱ ist ĂŒber den Hintereingang ins CafĂ© gegangen
‱ ist ĂŒber den Haupteingang ins CafĂ© gegangen
‱ hat die App minimiert
‱ hat eine Push-Benachrichtigung erhalten
‱ hat zu lange auf dem Bildschirm gestarrt
‱ hat die Bestellung bezahlt
‱ hat die Bestellung abgeholt
‱ hat eine Kreditablehnung erhalten

Wenn man die Daten der Reisen einer Gruppe von Nutzern betrachtet und untersucht, wie die ÜbergĂ€nge gestaltet sind, kann man nachvollziehen, wie ihr Verhalten in der Anwendung aufgebaut ist. Dies lĂ€sst sich gut durch ein Diagramm darstellen, in dem die ZustĂ€nde - Knoten und die ÜbergĂ€nge zwischen den ZustĂ€nden - Kanten sind:

Retentioneering: wie wir open-source Werkzeuge fĂŒr produktanalytik mit Python und Pandas entwickelt haben

Die "Trajektorie" ist ein sehr praktisches Konzept – sie enthĂ€lt detaillierte Informationen zu allen Aktionen des Nutzers, einschließlich der Möglichkeit, zusĂ€tzliche Daten zur Beschreibung dieser Aktionen hinzuzufĂŒgen. Dadurch wird sie zu einem universellen Objekt. Wenn Sie ĂŒber ansprechende und nĂŒtzliche Werkzeuge verfĂŒgen, die es ermöglichen, mit Trajektorien zu arbeiten, können Sie Ähnlichkeiten erkennen und diese segmentieren.

Die Segmentierung von Trajektorien kann anfangs als sehr komplex erscheinen. In der Regel ist das auch so – es mĂŒssen Vergleiche von Verbindungs-Matrizen oder Sequenz-Ausrichtungen durchgefĂŒhrt werden. Uns ist es jedoch gelungen, einen einfacheren Ansatz zu finden – indem wir eine große Anzahl von Trajektorien analysieren und sie durch Clusterung segmentieren.

Es hat sich herausgestellt, dass man die Trajektorie durch kontinuierliche Darstellungen in einen Punkt umwandeln kann, zum Beispiel TF-IDF. Nach der Umwandlung wird die Trajektorie zu einem Punkt im Raum, wobei auf den Achsen die normierte HĂ€ufigkeit verschiedener Ereignisse und ÜbergĂ€nge innerhalb der Trajektorie abgebildet ist. Dieses Objekt aus einem riesigen, mehr als tausend-dimensionalen Raum (dimS=sum(Ereignistypen)+sum(ngrams_2 Typen)) kann mittels TSNE. TSNE — eine Methode zur Dimensionsreduktion, die den Raum auf zwei Achsen reduziert und dabei versucht, die relativen AbstĂ€nde zwischen den Punkten zu bewahren. Dies ermöglicht es, auf einer flachen Karte, einer schematischen Projektion der Trajektorien, zu untersuchen, wie die Punkte verschiedener Trajektorien zueinander standen. Es wird analysiert, wie nahe oder unterschiedlich sie waren, ob sie Cluster bildeten oder ĂŒber die Karte verstreut waren usw.:

Retentioneering: wie wir open-source Werkzeuge fĂŒr produktanalytik mit Python und Pandas entwickelt haben

Die Analysetools von Retentioneering ermöglichen es, einen komplexen Datensatz und Trajektorien in eine vergleichbare Darstellung zu verwandeln, die dann untersucht und interpretiert werden kann.

Wenn wir von den Standardmethoden zur Verarbeitung von Trajektorien sprechen, beziehen wir uns auf drei Hauptwerkzeuge, die wir in Retentioneering umgesetzt haben – Graphen, Step-Matrizen und Trajektorienprojektionen.

Die Arbeit mit Google Analytics, Firebase und Ă€hnlichen Analysetools gestaltet sich als komplex und ist nicht zu 100 % effektiv. Das Problem liegt in einer Reihe von EinschrĂ€nkungen fĂŒr die Nutzer, sodass die Arbeit eines Analysten in solchen Systemen oft auf Mausklicks und die Auswahl von Segmenten beschrĂ€nkt ist. Retentioneering bietet die Möglichkeit, mit den Nutzungswegen der Benutzer zu arbeiten, anstatt nur mit Trichtern, wie es bei Google Analytics der Fall ist, wo die Detailgenauigkeit oft nur bis zu einem Trichter reicht, selbst wenn dieser fĂŒr ein bestimmtes Segment erstellt wurde.

Retentioneering und Fallbeispiele

Ein Beispiel fĂŒr die Nutzung des entwickelten Tools ist der Fall eines großen Nischenservices in Russland. Dieses Unternehmen bietet eine mobile Anwendung fĂŒr Android an, die bei den Kunden sehr beliebt ist. Der jĂ€hrliche Umsatz aus der mobilen Anwendung betrug etwa 7 Millionen Rubel, mit saisonalen Schwankungen zwischen 60 und 130 Tausend. Das Unternehmen hat auch eine Anwendung fĂŒr iOS, wobei der durchschnittliche Einkaufspreis fĂŒr die Nutzer der 'Apple'-App höher war als der fĂŒr die Android-App – 1.080 Rubel im Vergleich zu 1.300 Rubel.

Das Unternehmen hat beschlossen, die Effizienz seiner Android-App zu steigern und fĂŒhrte eine grĂŒndliche Analyse durch. Es wurden mehrere Dutzend Hypothesen zur Verbesserung der Anwendungsleistung formuliert. Nach der Nutzung von Retentioneering stellte sich heraus, dass das Problem in den Nachrichten lag, die neuen Nutzern angezeigt wurden. Sie erhielten Informationen ĂŒber die Marke, die Vorteile des Unternehmens und die Preise. Aber wie sich herausstellte, sollten die Nachrichten den Nutzern helfen, die App besser zu nutzen.

Retentioneering: wie wir open-source Werkzeuge fĂŒr produktanalytik mit Python und Pandas entwickelt haben

Genau das wurde umgesetzt, was dazu fĂŒhrte, dass die App seltener deinstalliert wurde und die Conversion-Rate um 23 % stieg. ZunĂ€chst wurden 20 Prozent des eingehenden Traffics fĂŒr den Test verwendet, aber nach einigen Tagen und der Analyse der ersten Ergebnisse und der Bewertung des Trends wurde das VerhĂ€ltnis umgekehrt, sodass 20 Prozent fĂŒr die Kontrollgruppe verblieben und 80 Prozent in den Test flossen. Eine Woche spĂ€ter wurde beschlossen, gleichmĂ€ĂŸig zwei weitere Hypothesen zu testen. Insgesamt stieg der Umsatz der Android-App innerhalb von sieben Wochen auf das 1,5-Fache des vorherigen Niveaus.

Wie arbeitet man mit Retentioneering?

Die ersten Schritte sind ziemlich einfach – installieren Sie die Bibliothek mit dem Befehl pip install retentioneering. Im Repository finden Sie bereits fertige Beispiele und DatenverarbeitungsfĂ€lle fĂŒr verschiedene Aufgaben der Produktanalyse. Die Sammlung wird kontinuierlich erweitert, aber sie reicht bereits fĂŒr ein erstes Kennenlernen. Jeder kann die fertigen Module nutzen und sofort auf seine Aufgaben anwenden – dies ermöglicht eine schnelle und effiziente Einrichtung des Prozesses fĂŒr eine detailliertere Analyse und Optimierung von Benutzerpfaden. All dies schafft die Möglichkeit, Nutzungsmuster der Anwendung durch verstĂ€ndlichen Code zu erkennen und diese Erfahrung an Kollegen weiterzugeben.

Retentioneering ist ein Tool, das Sie wĂ€hrend des gesamten Lebenszyklus Ihrer Anwendung nutzen sollten, und das sind die GrĂŒnde dafĂŒr:

  • Retentioneering ist effektiv fĂŒr die Nachverfolgung und kontinuierliche Optimierung von Benutzerpfaden sowie zur Verbesserung der GeschĂ€ftsergebnisse. Insbesondere im E-Commerce werden hĂ€ufig neue Funktionen hinzugefĂŒgt, deren Einfluss auf das Produkt nicht immer korrekt vorhergesagt werden kann. In einigen FĂ€llen ergeben sich KompatibilitĂ€tsprobleme zwischen neuen und bestehenden Funktionen – beispielsweise „kanibalisiert“ die neue Funktion bereits vorhandene. In solchen Situationen ist eine stĂ€ndige Analyse der Benutzerpfade erforderlich.
  • Ähnlich verhĂ€lt es sich bei der Arbeit mit WerbekanĂ€len: Es werden kontinuierlich neue Trafficquellen und Werbemittel getestet; saisonale Schwankungen, Trends und EinflĂŒsse anderer Ereignisse mĂŒssen berĂŒcksichtigt werden, was zur Entstehung immer neuer Problemklassen fĂŒhrt. Auch hier ist eine stĂ€ndige Nachverfolgung und Interpretation der Benutzermechaniken notwendig.
  • Es gibt zahlreiche Faktoren, die stĂ€ndig die Leistung von Anwendungen beeinflussen. Beispielsweise neue Updates von Entwicklern: Bei der Behebung eines aktuellen Problems kann es unweigerlich zu neuen oder wiederauftretenden Problemen kommen. Im Laufe der Zeit steigt die Anzahl neuer Releases, daher ist es notwendig, den Fehlerverfolgungsprozess zu automatisieren — unter anderem durch die Analyse der Nutzerpfade.

Insgesamt ist Retentioneering ein effektives Werkzeug. Aber es gibt immer Raum fĂŒr Verbesserungen — es kann und sollte weiterentwickelt werden, um neue, großartige Produkte darauf aufzubauen. Je aktiver die Community des Projekts ist, desto mehr Forks werden entstehen, und es werden neue, interessante Nutzungsmöglichkeiten auftauchen.

ZusÀtzliche Informationen zu den Werkzeugen von Retentioneering:

Quelle: habr.com

Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster