{"id":38424,"date":"2019-10-31T22:23:40","date_gmt":"2019-10-31T19:23:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/retentioneering-kak-my-open-source-instrumenty-dlya-produktovoj-analitiki-na-python-i-pandas-napisali\/"},"modified":"2026-07-06T16:02:25","modified_gmt":"2026-07-06T14:02:25","slug":"retentioneering-kak-my-open-source-instrumenty-dlya-produktovoj-analitiki-na-python-i-pandas-napisali","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/retentioneering-kak-my-open-source-instrumenty-dlya-produktovoj-analitiki-na-python-i-pandas-napisali","title":{"rendered":"Retentioneering: wie wir open-source Werkzeuge f\u00fcr produktanalytik mit Python und Pandas entwickelt haben","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Hallo, Habr. Dieser Artikel befasst sich mit den Ergebnissen der vierj\u00e4hrigen Entwicklung eines Sets von Methoden und Werkzeugen zur Verarbeitung von Nutzerbewegungen in einer App oder auf einer Website. Der Entwickler ist <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/mgodzi\/\">Maxim Godzi<\/a><\/noindex>, der an der Spitze des Produktteams steht und gleichzeitig der Autor dieses Artikels ist. Das Produkt tr\u00e4gt den Namen Retentioneering, es wurde jetzt in eine open-source Bibliothek umgewandelt und auf Github ver\u00f6ffentlicht, damit jeder, der m\u00f6chte, es nutzen kann. Dies k\u00f6nnte f\u00fcr diejenigen von Interesse sein, die sich mit Produkt- und Marketinganalysen, Promotion und Produktentwicklung besch\u00e4ftigen. \u00dcbrigens wurde auf Habr <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/binarydistrict\/blog\/437534\/\">bereits ein Artikel \u00fcber einen der Anwendungsf\u00e4lle von Retentioneering ver\u00f6ffentlicht<\/a><\/noindex>. In diesem neuen Material wird erl\u00e4utert, wozu das Produkt in der Lage ist und wie man es nutzen kann.<\/p>\n<p>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\u00dferhalb der App sein, die es erm\u00f6glicht, das Verhalten detailliert zu betrachten und daraus Erkenntnisse zur Steigerung von Gesch\u00e4ftszielen zu gewinnen. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Was ist Retentioneering und warum ist es wichtig?<\/h3>\n<p>\nUrspr\u00fcnglich war es unser Ziel, Growth Hacking aus der Welt des 'digitalen Schamanismus' in die Welt der Zahlen, Analysen und Prognosen zu \u00fcbertragen. Das f\u00fchrte dazu, dass wir produktbezogene Analytik auf reine Mathematik und Programmierung reduzierten f\u00fcr diejenigen, die anstelle von fantastischen Geschichten Zahlen bevorzugen, und Formeln anstelle von klangvollen Begriffen wie 'Rebranding', 'Repositionierung' usw., die zwar sch\u00f6n klingen, aber in der Praxis wenig helfen. <\/p>\n<p>Um diese Herausforderungen zu bew\u00e4ltigen, ben\u00f6tigten wir ein Framework f\u00fcr die Analyse durch Graphen und Trajektorien sowie gleichzeitig eine Bibliothek, die typische Routinen eines Analysts vereinfacht \u2013 eine Art Beschreibung regelm\u00e4\u00dfiger Aufgaben der Produktanalytik, die sowohl f\u00fcr Menschen als auch f\u00fcr Maschinen verst\u00e4ndlich w\u00e4re. Die Bibliothek erm\u00f6glicht es, das Verhalten von Benutzern zu beschreiben und es mit den Gesch\u00e4ftszielen des Produkts auf eine formale und klare Weise zu verkn\u00fcpfen, um die Routineaufgaben von Entwicklern und Analysts zu vereinfachen, zu automatisieren und ihre Kommunikation mit dem Gesch\u00e4ft zu erleichtern.<\/p>\n<p><b>Retentioneering \u2014 eine Methode und analytische Softwaretools, die sich anpassen und in jedes digitale (und nicht nur digitale) Produkt integrieren lassen. <\/b><\/p>\n<p>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\u00fcr die Datenverarbeitung, Machine-Learning-Modelle mit einer sklearn-\u00e4hnlichen API sowie Werkzeuge zur Interpretation der Ergebnisse von Machine-Learning-Modellen wie eli5 und shap. <\/p>\n<p>All dies ist verpackt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/retentioneering\/retentioneering-tools\">in einer praktischen Open-Source-Bibliothek im offenen Github-Repository \u2014 retentioneering-tools.<\/a><\/noindex>Die Nutzung der Bibliothek ist unkompliziert; praktisch jeder, der sich f\u00fcr Produktanalytik interessiert, aber noch nie Code geschrieben hat, kann unsere Analysemethoden selbstst\u00e4ndig und ohne signifikante Zeitaufw\u00e4nde auf seine Daten anwenden. <\/p>\n<p>Ein Programmierer, Anwendungsentwickler oder Mitglied eines Entwicklungsteams, der bisher noch nie mit Analytik in Ber\u00fchrung gekommen ist, kann mit diesem Code experimentieren und Nutzungsmuster seiner Anwendung ohne externe Hilfe erkennen. <\/p>\n<h3>Die Nutzertrajektorie als zentrales Element der Analyse und ihre Verarbeitungsmethoden.<\/h3>\n<p>\n<b>Die Nutzerreise ist die Abfolge von Zust\u00e4nden eines Nutzers zu bestimmten Zeitpunkten.<\/b> Dabei k\u00f6nnen die Ereignisse aus verschiedenen Datenquellen stammen, sowohl online als auch offline. Die Ereignisse, die dem Nutzer widerfahren sind, sind Teil seiner Reise. Beispiele:<br \/>\n\u2022 hat auf einen Button gedr\u00fcckt<br \/>\n\u2022 hat ein Bild gesehen<br \/>\n\u2022 kam auf den Bildschirm<br \/>\n\u2022 hat eine E-Mail erhalten<br \/>\n\u2022 hat ein Produkt einem Freund empfohlen<br \/>\n\u2022 hat ein Formular ausgef\u00fcllt<br \/>\n\u2022 hat den Bildschirm angetippt<br \/>\n\u2022 hat gescrollt<br \/>\n\u2022 ist zur Kasse gegangen<br \/>\n\u2022 hat ein Burrito bestellt<br \/>\n\u2022 hat das Burrito gegessen<br \/>\n\u2022 hat sich mit dem gegessenen Burrito vergiftet<br \/>\n\u2022 ist \u00fcber den Hintereingang ins Caf\u00e9 gegangen<br \/>\n\u2022 ist \u00fcber den Haupteingang ins Caf\u00e9 gegangen<br \/>\n\u2022 hat die App minimiert<br \/>\n\u2022 hat eine Push-Benachrichtigung erhalten<br \/>\n\u2022 hat zu lange auf dem Bildschirm gestarrt<br \/>\n\u2022 hat die Bestellung bezahlt<br \/>\n\u2022 hat die Bestellung abgeholt<br \/>\n\u2022 hat eine Kreditablehnung erhalten<\/p>\n<p>Wenn man die Daten der Reisen einer Gruppe von Nutzern betrachtet und untersucht, wie die \u00dcberg\u00e4nge gestaltet sind, kann man nachvollziehen, wie ihr Verhalten in der Anwendung aufgebaut ist. Dies l\u00e4sst sich gut durch ein Diagramm darstellen, in dem die Zust\u00e4nde - Knoten und die \u00dcberg\u00e4nge zwischen den Zust\u00e4nden - Kanten sind:<\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering: wie wir open-source Werkzeuge f\u00fcr produktanalytik mit Python und Pandas entwickelt haben\" src=\"\/wp-content\/uploads\/2019\/09\/07d7a7cf4f023f5d42ef9b31ed07a0ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nDie \"Trajektorie\" ist ein sehr praktisches Konzept \u2013 sie enth\u00e4lt detaillierte Informationen zu allen Aktionen des Nutzers, einschlie\u00dflich der M\u00f6glichkeit, zus\u00e4tzliche Daten zur Beschreibung dieser Aktionen hinzuzuf\u00fcgen. Dadurch wird sie zu einem universellen Objekt. Wenn Sie \u00fcber ansprechende und n\u00fctzliche Werkzeuge verf\u00fcgen, die es erm\u00f6glichen, mit Trajektorien zu arbeiten, k\u00f6nnen Sie \u00c4hnlichkeiten erkennen und diese segmentieren.<\/p>\n<p>Die Segmentierung von Trajektorien kann anfangs als sehr komplex erscheinen. In der Regel ist das auch so \u2013 es m\u00fcssen Vergleiche von Verbindungs-Matrizen oder Sequenz-Ausrichtungen durchgef\u00fchrt werden. Uns ist es jedoch gelungen, einen einfacheren Ansatz zu finden \u2013 indem wir eine gro\u00dfe Anzahl von Trajektorien analysieren und sie durch Clusterung segmentieren.<\/p>\n<p>Es hat sich herausgestellt, dass man die Trajektorie durch kontinuierliche Darstellungen in einen Punkt umwandeln kann, zum Beispiel <noindex><a rel=\"nofollow\" href=\"http:\/\/datameetsmedia.com\/bag-of-words-tf-idf-explained\/\">TF-IDF<\/a><\/noindex>. Nach der Umwandlung wird die Trajektorie zu einem Punkt im Raum, wobei auf den Achsen die normierte H\u00e4ufigkeit verschiedener Ereignisse und \u00dcberg\u00e4nge innerhalb der Trajektorie abgebildet ist. Dieses Objekt aus einem riesigen, mehr als tausend-dimensionalen Raum (dimS=sum(Ereignistypen)+sum(ngrams_2 Typen)) kann mittels <noindex><a rel=\"nofollow\" href=\"https:\/\/www.quora.com\/How-does-t-SNE-work-in-simple-words\">TSNE<\/a><\/noindex>. TSNE \u2014 eine Methode zur Dimensionsreduktion, die den Raum auf zwei Achsen reduziert und dabei versucht, die relativen Abst\u00e4nde zwischen den Punkten zu bewahren. Dies erm\u00f6glicht 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 \u00fcber die Karte verstreut waren usw.:<\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering: wie wir open-source Werkzeuge f\u00fcr produktanalytik mit Python und Pandas entwickelt haben\" src=\"\/wp-content\/uploads\/2019\/09\/3f0386c33885cb842aec8ec01a5f47ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDie Analysetools von Retentioneering erm\u00f6glichen es, einen komplexen Datensatz und Trajektorien in eine vergleichbare Darstellung zu verwandeln, die dann untersucht und interpretiert werden kann.<\/p>\n<p>Wenn wir von den Standardmethoden zur Verarbeitung von Trajektorien sprechen, beziehen wir uns auf drei Hauptwerkzeuge, die wir in Retentioneering umgesetzt haben \u2013 Graphen, Step-Matrizen und Trajektorienprojektionen. <\/p>\n<p>Die Arbeit mit Google Analytics, Firebase und \u00e4hnlichen Analysetools gestaltet sich als komplex und ist nicht zu 100 % effektiv. Das Problem liegt in einer Reihe von Einschr\u00e4nkungen f\u00fcr die Nutzer, sodass die Arbeit eines Analysten in solchen Systemen oft auf Mausklicks und die Auswahl von Segmenten beschr\u00e4nkt ist. Retentioneering bietet die M\u00f6glichkeit, 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\u00fcr ein bestimmtes Segment erstellt wurde. <\/p>\n<h3>Retentioneering und Fallbeispiele<\/h3>\n<p>\nEin Beispiel f\u00fcr die Nutzung des entwickelten Tools ist der Fall eines gro\u00dfen Nischenservices in Russland. Dieses Unternehmen bietet eine mobile Anwendung f\u00fcr Android an, die bei den Kunden sehr beliebt ist. Der j\u00e4hrliche 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\u00fcr iOS, wobei der durchschnittliche Einkaufspreis f\u00fcr die Nutzer der 'Apple'-App h\u00f6her war als der f\u00fcr die Android-App \u2013 1.080 Rubel im Vergleich zu 1.300 Rubel.<\/p>\n<p>Das Unternehmen hat beschlossen, die Effizienz seiner Android-App zu steigern und f\u00fchrte eine gr\u00fcndliche 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 \u00fcber die Marke, die Vorteile des Unternehmens und die Preise. Aber wie sich herausstellte, sollten die Nachrichten den Nutzern helfen, die App besser zu nutzen. <\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering: wie wir open-source Werkzeuge f\u00fcr produktanalytik mit Python und Pandas entwickelt haben\" src=\"\/wp-content\/uploads\/2019\/09\/9e6718eb967ae65d047605e4b8a92b3e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGenau das wurde umgesetzt, was dazu f\u00fchrte, dass die App seltener deinstalliert wurde und die Conversion-Rate um 23 % stieg. Zun\u00e4chst wurden 20 Prozent des eingehenden Traffics f\u00fcr den Test verwendet, aber nach einigen Tagen und der Analyse der ersten Ergebnisse und der Bewertung des Trends wurde das Verh\u00e4ltnis umgekehrt, sodass 20 Prozent f\u00fcr die Kontrollgruppe verblieben und 80 Prozent in den Test flossen. Eine Woche sp\u00e4ter wurde beschlossen, gleichm\u00e4\u00dfig zwei weitere Hypothesen zu testen. Insgesamt stieg der Umsatz der Android-App innerhalb von sieben Wochen auf das 1,5-Fache des vorherigen Niveaus.<\/p>\n<h3>Wie arbeitet man mit Retentioneering?<\/h3>\n<p>\nDie ersten Schritte sind ziemlich einfach \u2013 installieren Sie die Bibliothek mit dem Befehl pip install retentioneering. Im Repository finden Sie bereits fertige Beispiele und Datenverarbeitungsf\u00e4lle f\u00fcr verschiedene Aufgaben der Produktanalyse. Die Sammlung wird kontinuierlich erweitert, aber sie reicht bereits f\u00fcr ein erstes Kennenlernen. Jeder kann die fertigen Module nutzen und sofort auf seine Aufgaben anwenden \u2013 dies erm\u00f6glicht eine schnelle und effiziente Einrichtung des Prozesses f\u00fcr eine detailliertere Analyse und Optimierung von Benutzerpfaden. All dies schafft die M\u00f6glichkeit, Nutzungsmuster der Anwendung durch verst\u00e4ndlichen Code zu erkennen und diese Erfahrung an Kollegen weiterzugeben.<\/p>\n<p>Retentioneering ist ein Tool, das Sie w\u00e4hrend des gesamten Lebenszyklus Ihrer Anwendung nutzen sollten, und das sind die Gr\u00fcnde daf\u00fcr:<\/p>\n<ul>\n<li>Retentioneering ist effektiv f\u00fcr die Nachverfolgung und kontinuierliche Optimierung von Benutzerpfaden sowie zur Verbesserung der Gesch\u00e4ftsergebnisse. Insbesondere im E-Commerce werden h\u00e4ufig neue Funktionen hinzugef\u00fcgt, deren Einfluss auf das Produkt nicht immer korrekt vorhergesagt werden kann. In einigen F\u00e4llen ergeben sich Kompatibilit\u00e4tsprobleme zwischen neuen und bestehenden Funktionen \u2013 beispielsweise \u201ekanibalisiert\u201c die neue Funktion bereits vorhandene. In solchen Situationen ist eine st\u00e4ndige Analyse der Benutzerpfade erforderlich. <\/li>\n<li>\u00c4hnlich verh\u00e4lt es sich bei der Arbeit mit Werbekan\u00e4len: Es werden kontinuierlich neue Trafficquellen und Werbemittel getestet; saisonale Schwankungen, Trends und Einfl\u00fcsse anderer Ereignisse m\u00fcssen ber\u00fccksichtigt werden, was zur Entstehung immer neuer Problemklassen f\u00fchrt. Auch hier ist eine st\u00e4ndige Nachverfolgung und Interpretation der Benutzermechaniken notwendig. <\/li>\n<li>Es gibt zahlreiche Faktoren, die st\u00e4ndig 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 \u2014 unter anderem durch die Analyse der Nutzerpfade.<\/li>\n<\/ul>\n<p>\nInsgesamt ist Retentioneering ein effektives Werkzeug. Aber es gibt immer Raum f\u00fcr Verbesserungen \u2014 es kann und sollte weiterentwickelt werden, um neue, gro\u00dfartige Produkte darauf aufzubauen. Je aktiver die Community des Projekts ist, desto mehr Forks werden entstehen, und es werden neue, interessante Nutzungsm\u00f6glichkeiten auftauchen.<\/p>\n<p>Zus\u00e4tzliche Informationen zu den Werkzeugen von Retentioneering:<\/p>\n<ul>\n<li>Unsere Website: <noindex><a rel=\"nofollow\" href=\"http:\/\/retentioneering.com\">retentioneering.com<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/retentioneering.tilda.ws\/#rec89053099\">Zeitplan f\u00fcr Meetups<\/a><\/noindex> und Anmeldung zur Teilnahme<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/t-do.ru\/retentioneering_meetups\">Chat f\u00fcr Produktmanager und Analysten auf Telegram<\/a><\/noindex><\/li>\n<li>. Man muss f\u00fcr nichts bezahlen. Es ist nicht erforderlich, eine Genehmigung zu holen, um das System auf seinem Laptop oder Server zu installieren. Es gibt keine versteckten Geb\u00fchren. Dennoch kann keine andere Open Source Datenbanktechnologie mit der Geschwindigkeit von <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/retentioneering\/retentioneering-tools\">Repository von Retentioneering auf GitHub<\/a><\/noindex> <\/li>\n<\/ul>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/468721\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u0438\u0442\u043e\u0433\u0430\u043c \u0447\u0435\u0442\u044b\u0440\u0435\u0445\u043b\u0435\u0442\u043d\u0435\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u0439 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0438\u043b\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435. \u0410\u0432\u0442\u043e\u0440 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u2014 \u041c\u0430\u043a\u0441\u0438\u043c \u0413\u043e\u0434\u0437\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0442\u043e\u0438\u0442 \u0432\u043e \u0433\u043b\u0430\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u043e\u043d \u0436\u0435 \u2014 \u0430\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438. \u0421\u0430\u043c \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 Retentioneering, \u0441\u0435\u0439\u0447\u0430\u0441 \u043e\u043d \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d \u0432 open-source \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d \u043d\u0430 Github, \u0447\u0442\u043e\u0431\u044b \u043b\u044e\u0431\u043e\u0439 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":28843,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-38424","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-novosti-interneta"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u0438\u0442\u043e\u0433\u0430\u043c \u0447\u0435\u0442\u044b\u0440\u0435\u0445\u043b\u0435\u0442\u043d\u0435\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u0439 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0438\u043b\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435. \u0410\u0432\u0442\u043e\u0440 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u2014 \u041c\u0430\u043a\u0441\u0438\u043c \u0413\u043e\u0434\u0437\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0442\u043e\u0438\u0442 \u0432\u043e \u0433\u043b\u0430\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u043e\u043d \u0436\u0435 \u2014 \u0430\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438. \u0421\u0430\u043c \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 Retentioneering, \u0441\u0435\u0439\u0447\u0430\u0441 \u043e\u043d \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d \u0432 open-source \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d \u043d\u0430 Github, \u0447\u0442\u043e\u0431\u044b \u043b\u044e\u0431\u043e\u0439\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/retentioneering-kak-my-open-source-instrumenty-dlya-produktovoj-analitiki-na-python-i-pandas-napisali\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Retentioneering: \u043a\u0430\u043a \u043c\u044b open-source \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u043e\u0439 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0438 \u043d\u0430 Python \u0438 Pandas \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u0438\u0442\u043e\u0433\u0430\u043c \u0447\u0435\u0442\u044b\u0440\u0435\u0445\u043b\u0435\u0442\u043d\u0435\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u0439 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0438\u043b\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435. \u0410\u0432\u0442\u043e\u0440 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u2014 \u041c\u0430\u043a\u0441\u0438\u043c \u0413\u043e\u0434\u0437\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0442\u043e\u0438\u0442 \u0432\u043e \u0433\u043b\u0430\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u043e\u043d \u0436\u0435 \u2014 \u0430\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438. \u0421\u0430\u043c \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 Retentioneering, \u0441\u0435\u0439\u0447\u0430\u0441 \u043e\u043d \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d \u0432 open-source \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d \u043d\u0430 Github, \u0447\u0442\u043e\u0431\u044b \u043b\u044e\u0431\u043e\u0439\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/retentioneering-kak-my-open-source-instrumenty-dlya-produktovoj-analitiki-na-python-i-pandas-napisali\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:23:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-07-06T14:02:25+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47 Retentioneering: Wie wir Open-Source-Tools f\u00fcr Produktanalytik mit Python und Pandas entwickelt haben | ProHoster","description":"Hallo, Habr. Dieser Artikel besch\u00e4ftigt sich mit den Ergebnissen von vier Jahren Entwicklung eines Satzes von Methoden und Werkzeugen zur Verarbeitung der Nutzerbewegungen in einer Anwendung oder auf einer Website. Der Entwickler ist Maxim Godzi, der das Team der Produktentwickler leitet und auch der Autor dieses Artikels ist. Das Produkt tr\u00e4gt den Namen Retentioneering und wurde nun in eine Open-Source-Bibliothek umgewandelt, die auf Github verf\u00fcgbar ist, damit jeder...","canonical_url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/retentioneering-kak-my-open-source-instrumenty-dlya-produktovoj-analitiki-na-python-i-pandas-napisali","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Retentioneering: \u043a\u0430\u043a \u043c\u044b open-source \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432\u043e\u0439 \u0430\u043d\u0430\u043b\u0438\u0442\u0438\u043a\u0438 \u043d\u0430 Python \u0438 Pandas \u043d\u0430\u043f\u0438\u0441\u0430\u043b\u0438 | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u0425\u0430\u0431\u0440. \u042d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u0430 \u0438\u0442\u043e\u0433\u0430\u043c \u0447\u0435\u0442\u044b\u0440\u0435\u0445\u043b\u0435\u0442\u043d\u0435\u0439 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043d\u0430\u0431\u043e\u0440\u0430 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0438 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0442\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u0439 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0438\u043b\u0438 \u043d\u0430 \u0441\u0430\u0439\u0442\u0435. \u0410\u0432\u0442\u043e\u0440 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u2014 \u041c\u0430\u043a\u0441\u0438\u043c \u0413\u043e\u0434\u0437\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u0442\u043e\u0438\u0442 \u0432\u043e \u0433\u043b\u0430\u0432\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u0435\u0439 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0430, \u043e\u043d \u0436\u0435 \u2014 \u0430\u0432\u0442\u043e\u0440 \u0441\u0442\u0430\u0442\u044c\u0438. \u0421\u0430\u043c \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043f\u043e\u043b\u0443\u0447\u0438\u043b \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 Retentioneering, \u0441\u0435\u0439\u0447\u0430\u0441 \u043e\u043d \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d \u0432 open-source \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u0440\u0430\u0437\u043c\u0435\u0449\u0435\u043d \u043d\u0430 Github, \u0447\u0442\u043e\u0431\u044b \u043b\u044e\u0431\u043e\u0439","og:url":"https:\/\/prohoster.info\/de\/blog\/novosti-interneta\/retentioneering-kak-my-open-source-instrumenty-dlya-produktovoj-analitiki-na-python-i-pandas-napisali","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:23:40+00:00","article:modified_time":"2026-07-06T14:02:25+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"38424","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 22:00:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:09:23","updated":"2026-01-23 22:00:19"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/38424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=38424"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/38424\/revisions"}],"predecessor-version":[{"id":182486,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/38424\/revisions\/182486"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/28843"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=38424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=38424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=38424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}