{"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\/news\/retentioneering-kak-my-open-source-instrumenty-dlya-produktovoj-analitiki-na-python-i-pandas-napisali","title":{"rendered":"Retentioneering: wie wir Open-Source-Tools f\u00fcr Produktanalysen in 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 der Bewegungsbahnen von Nutzern in einer App oder auf einer Webseite. Der Entwickler ist <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/mgodzi\/\">Maxim Godzi<\/a><\/noindex>, der die Produktentwicklung leitet und auch 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, sodass jeder Interessierte es nutzen kann. Dies k\u00f6nnte f\u00fcr alle von Interesse sein, die mit Produkt- und Marketinganalysen, Promotion und Produktentwicklung zu tun haben. \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>Im neuen Material wird erkl\u00e4rt, wozu das Produkt in der Lage ist und wie es verwendet werden kann.<\/p>\n<p>Nachdem Sie den Artikel gelesen haben, werden Sie in der Lage sein, Ihr eigenes Retentioneering zu schreiben; es kann jede standardisierte Methode zur Verarbeitung der Nutzerbewegungen innerhalb und au\u00dferhalb der App sein, die es erm\u00f6glicht, das Verhalten detailliert zu betrachten und daraus Erkenntnisse zur Steigerung der Gesch\u00e4ftszahlen zu gewinnen. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Was ist Retentioneering und wozu braucht man das?<\/h3>\n<p>\nUrspr\u00fcnglich war unser Ziel, Growth Hacking aus der Welt des \"digitalen Schamanismus\" in die Welt der Zahlen, Analysen und Prognosen zu \u00fcbertragen. Folglich haben wir die Produktanalyse auf reine Mathematik und Programmierung reduziert, f\u00fcr diejenigen, die anstelle von fantastischen Geschichten Zahlen und anstatt schick klingenden Begriffen wie \"Rebranding\", \"Repositionierung\" usw. bevorzugen, die sch\u00f6n klingen, aber in der Praxis wenig helfen. <\/p>\n<p>Um die genannten Aufgaben zu erf\u00fcllen, ben\u00f6tigten wir ein Framework f\u00fcr Analysen durch Graphen und Trajektorien und gleichzeitig eine Bibliothek, die die typischen Routinen von Analysten vereinfacht, als Methode zur Beschreibung regelm\u00e4\u00dfiger Aufgaben der Produktanalyse, die sowohl f\u00fcr Menschen als auch f\u00fcr Maschinen verst\u00e4ndlich w\u00e4re. Die Bibliothek erm\u00f6glicht es, das Nutzerverhalten zu beschreiben und es mit den Gesch\u00e4ftszahlen des Produkts in einer formalen und klaren Sprache zu verkn\u00fcpfen, um die routinem\u00e4\u00dfigen Aufgaben von Entwicklern und Analysten zu vereinfachen und zu automatisieren sowie ihre Kommunikation mit dem Gesch\u00e4ft zu erleichtern.<\/p>\n<p><b>Retentioneering \u2014 eine Methode und analytische Software-Tools, die an jedes digitale (und nicht nur) Produkt angepasst und integriert werden k\u00f6nnen. <\/b><\/p>\n<p>Wir haben 2015 mit der Arbeit an dem Produkt begonnen. Heute ist es bereits ein fertiges, wenn auch noch nicht perfektes Set von Tools in Python und Pandas f\u00fcr die Datenverarbeitung, Modelle des maschinellen Lernens mit einem sklearn-\u00e4hnlichen API, sowie Tools zur Interpretation der Ergebnisse von Modellen des maschinellen Lernens wie eli5 und shap. <\/p>\n<p>Das alles ist verpackt <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/retentioneering\/retentioneering-tools\">in einer praktischen Open-Source-Bibliothek im \u00f6ffentlichen Github-Repository \u2014 retentioneering-tools<\/a><\/noindex>. Die Bibliothek ist leicht zu nutzen; nahezu jeder, der sich f\u00fcr Produktanalyse interessiert, aber noch nie Code geschrieben hat, kann unsere Analysemethoden selbst\u00e4ndig und ohne erhebliche Zeitaufwendung auf seine Daten anwenden. <\/p>\n<p>Ein Programmierer, der Ersteller der Anwendung oder ein Mitglied des Entwicklungs- oder Testteams, das noch nie mit Analytik gearbeitet hat, kann mit diesem Code experimentieren und die Nutzungsmuster ihrer Anwendung ohne fremde Hilfe erkennen. <\/p>\n<h3>Die Nutzertrajektorie als grundlegendes Element der Analyse und ihre Verarbeitung<\/h3>\n<p>\n<b>Die Nutzertrajektorie ist die Abfolge von Zust\u00e4nden eines Nutzers zu bestimmten Zeitpunkten.<\/b> Dabei k\u00f6nnen Ereignisse aus verschiedenen Datenquellen stammen, sowohl online als auch offline. Ereignisse, die mit dem Nutzer passiert sind, sind Teil seiner Trajektorie. Beispiele:<br \/>\n\u2022 auf einen Button geklickt<br \/>\n\u2022 ein Bild gesehen<br \/>\n\u2022 auf einem Bildschirm gelandet<br \/>\n\u2022 eine E-Mail erhalten<br \/>\n\u2022 ein Produkt einem Freund empfohlen<br \/>\n\u2022 ein Formular ausgef\u00fcllt<br \/>\n\u2022 den Bildschirm angetippt<br \/>\n\u2022 nach unten gescrollt<br \/>\n\u2022 zur Kasse gegangen<br \/>\n\u2022 ein Burrito bestellt<br \/>\n\u2022 ein Burrito gegessen<br \/>\n\u2022 von dem gegessenen Burrito vergiftet worden<br \/>\n\u2022 durch den Hintereingang ins Caf\u00e9 gegangen<br \/>\n\u2022 durch den Haupteingang gegangen<br \/>\n\u2022 die Anwendung minimiert<br \/>\n\u2022 eine Push-Benachrichtigung erhalten<br \/>\n\u2022 l\u00e4nger Zeit auf den Bildschirm gestarrt<br \/>\n\u2022 die Bestellung bezahlt<br \/>\n\u2022 die Bestellung abgeholt<br \/>\n\u2022 eine Kreditablehnung erhalten<\/p>\n<p>Wenn man die Trajektorien von Gruppen von Nutzern betrachtet und untersucht, wie die \u00dcberg\u00e4nge gestaltet sind, kann man nachvollziehen, wie sich ihr Verhalten in der Anwendung entwickelt. Dies l\u00e4sst sich gut \u00fcber ein Diagramm darstellen, in dem die Zust\u00e4nde \u2014 Knoten und die \u00dcberg\u00e4nge zwischen den Zust\u00e4nden \u2014 Kanten sind:<\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering: wie wir Open-Source-Tools f\u00fcr Produktanalysen in Python und Pandas entwickelt haben\" src=\"\/wp-content\/uploads\/2019\/09\/07d7a7cf4f023f5d42ef9b31ed07a0ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nDer Begriff \u201eTrajektorie\u201c ist sehr n\u00fctzlich \u2013 er enth\u00e4lt detaillierte Informationen \u00fcber alle Handlungen des Benutzers, mit der M\u00f6glichkeit, beliebige zus\u00e4tzliche Daten in die Beschreibung dieser Handlungen aufzunehmen. Dies macht ihn zu einem universellen Objekt. Wenn Sie sch\u00f6ne und praktische Werkzeuge haben, die es erm\u00f6glichen, mit Trajektorien zu arbeiten, k\u00f6nnen \u00c4hnlichkeiten gefunden und sie segmentiert werden.<\/p>\n<p>Die Segmentierung von Trajektorien mag anfangs sehr kompliziert erscheinen. In einer normalen Situation ist das auch so \u2013 es m\u00fcssen Vergleichsmatrizen oder Sequenzabgleiche verwendet werden. Es ist uns gelungen, einen einfacheren Weg zu finden \u2013 eine gro\u00dfe Anzahl von Trajektorien zu studieren und sie durch Clusterung zu segmentieren.<\/p>\n<p>Es hat sich herausgestellt, dass man eine Trajektorie in einen Punkt mittels kontinuierlicher Darstellungen 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 die verschiedenen Ereignisse und \u00dcberg\u00e4nge in der Trajektorie entlang der Achsen durch die normierte H\u00e4ufigkeit dargestellt werden. Dieses Konstrukt aus einem riesigen mehr als tausenddimensionalen Raum (dimS=sum(event types)+sum(ngrams_2 types)) kann mit Hilfe von <noindex><a rel=\"nofollow\" href=\"https:\/\/www.quora.com\/How-does-t-SNE-work-in-simple-words\">TSNE<\/a><\/noindex>projiziert werden. TSNE \u2013 eine Transformation, die die Dimension des Raumes auf 2 Achsen reduziert und nach M\u00f6glichkeit die relativen Abst\u00e4nde zwischen den Punkten bewahrt. Folglich wird es m\u00f6glich, auf einer flachen Karte, einer bildlichen Projektionskarte der Trajektorien, zu untersuchen, wie die Punkte verschiedener Trajektorien zueinander standen. Es wird analysiert, wie nahe oder unterschiedlich sie sich waren, ob sie Cluster bildeten oder sich auf der Karte verteilten usw.:<\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering: wie wir Open-Source-Tools f\u00fcr Produktanalysen in 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 bieten die M\u00f6glichkeit, einen Satz komplexer Daten und Trajektorien in eine Darstellung zu verwandeln, die untereinander vergleichbar ist und dann das Ergebnis der Transformation untersucht und interpretiert werden kann.<\/p>\n<p>Wenn von den Standardmethoden der Trajektorienverarbeitung die Rede ist, meint man drei Hauptwerkzeuge, die wir in Retentioneering implementiert haben \u2013 Graphen, Schrittmatrizen und Projektionskarten der Trajektorien. <\/p>\n<p>Die Arbeit mit Google Analytics, Firebase und \u00e4hnlichen Analysesystemen ist recht komplex und nicht zu 100% effektiv. Das Problem liegt in einer Reihe von Einschr\u00e4nkungen f\u00fcr den Benutzer, was dazu f\u00fchrt, dass die Arbeit des Analysts in solchen Systemen auf Mausklicks und die Auswahl von Segmenten beschr\u00e4nkt ist. Retentioneering erm\u00f6glicht es, mit den Nutzerpfaden zu arbeiten und nicht nur mit Trichtern, wie es bei Google Analytics der Fall ist, wo der Detaillierungsgrad oft auf einen Trichter reduziert wird, auch wenn dieser f\u00fcr ein bestimmtes Segment erstellt wurde. <\/p>\n<h3>Retentioneering und Fallstudien<\/h3>\n<p>\nAls Beispiel f\u00fcr die Nutzung des entwickelten Instruments kann der Fall eines gro\u00dfen Nischenservices in Russland genannt werden. Das Unternehmen verf\u00fcgt \u00fcber eine mobile Anwendung f\u00fcr Android, die bei den Kunden beliebt ist. Der j\u00e4hrliche Umsatz aus der mobilen Anwendung betrug etwa 7 Millionen Rubel, mit saisonalen Schwankungen im Bereich von 60-130 Tausend. Das Unternehmen hat auch eine Anwendung f\u00fcr iOS, und der durchschnittliche Warenkorbwert des Nutzers der \"Apple\"-Anwendung \u00fcberstieg den durchschnittlichen Warenkorbwert des Nutzers der Android-App \u2014 1080 Rubel im Vergleich zu 1300 Rubel.<\/p>\n<p>Das Unternehmen beschloss, die Effizienz der Android-Anwendung zu steigern und f\u00fchrte eine gr\u00fcndliche Analyse durch. Es wurden mehrere Dutzend Hypothesen zur Steigerung der Effektivit\u00e4t der Anwendung formuliert. Nach der Nutzung von Retentioneering stellte sich heraus, dass das Problem bei den Botschaften lag, die neuen Nutzern angezeigt wurden. Sie erhielten Informationen \u00fcber die Marke, die Vorteile des Unternehmens und die Preise. Doch wie sich herausstellte, sollten die Botschaften dem Nutzer helfen, zu lernen, wie man die Anwendung nutzt. <\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering: wie wir Open-Source-Tools f\u00fcr Produktanalysen in Python und Pandas entwickelt haben\" src=\"\/wp-content\/uploads\/2019\/09\/9e6718eb967ae65d047605e4b8a92b3e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDas wurde auch umgesetzt, wodurch die Anwendung seltener deinstalliert wurde und die Konversionsrate in Auftr\u00e4ge um 23% stieg. Zun\u00e4chst wurden 20 Prozent des eingehenden Traffics f\u00fcr den Test verwendet, aber nach ein paar Tagen, nachdem die ersten Ergebnisse analysiert und der Trend bewertet wurde \u2014 wechselten sie die Proportionen und lie\u00dfen stattdessen 20 Prozent f\u00fcr die Kontrollgruppe, w\u00e4hrend achtzig Prozent in den Test einging. Eine weitere Woche sp\u00e4ter wurde beschlossen, schrittweise zwei weitere Hypothesen zu testen. Insgesamt stieg der Umsatz aus der Android-Anwendung innerhalb von sieben Wochen um das 1,5-fache im Vergleich zum vorherigen Niveau.<\/p>\n<h3>Wie arbeitet man mit Retentioneering?<\/h3>\n<p>\nDie ersten Schritte sind recht einfach \u2013 wir laden die Bibliothek mit dem Befehl pip install retentioneering herunter. Im Repository befinden sich fertige Beispiele und Anwendungsf\u00e4lle zur Datenverarbeitung f\u00fcr einige Aufgaben der Produktanalyse. Das Set wird kontinuierlich erweitert, aber es reicht aus, um sich einen ersten Eindruck zu verschaffen. Jeder kann die fertigen Module nutzen und sofort auf seine Aufgaben anwenden \u2013 das erm\u00f6glicht, den Prozess einer detaillierteren Analyse und Optimierung der Benutzerpfade schnell und effizient einzurichten. All dies gibt die M\u00f6glichkeit, Nutzungsmuster der Anwendung durch verst\u00e4ndlichen Code zu identifizieren und diese Erfahrungen an Kollegen weiterzugeben.<\/p>\n<p>Retentioneering ist ein Werkzeug, das w\u00e4hrend der gesamten Lebensdauer der Anwendung genutzt werden sollte, und das aus folgenden Gr\u00fcnden:<\/p>\n<ul>\n<li>Retentioneering ist effektiv f\u00fcr die Verfolgung und kontinuierliche Optimierung von Benutzerpfaden und zur Verbesserung von Gesch\u00e4ftszahlen. So werden in eCommerce-Anwendungen h\u00e4ufig neue Funktionen hinzugef\u00fcgt, deren Einfluss auf das Produkt nicht immer vorhersehbar ist. In einigen F\u00e4llen entstehen Inkompatibilit\u00e4tsprobleme zwischen neuen und alten Funktionen \u2013 zum Beispiel \"kanibalisieren\" neue Funktionen bereits bestehende. Und genau in dieser Situation ist eine st\u00e4ndige Analyse der Pfade erforderlich. <\/li>\n<li>Eine \u00e4hnliche Situation gibt es bei der Arbeit mit Werbekan\u00e4len: Es werden st\u00e4ndig neue Traffic-Quellen und kreative Anzeigen getestet, die Saisonalit\u00e4t, Trends und den Einfluss anderer Ereignisse m\u00fcssen verfolgt werden, was zur Entstehung immer neuer Klassen von Problemen f\u00fchrt. Auch hier ist eine st\u00e4ndige Verfolgung und Interpretation von Benutzermustern erforderlich. <\/li>\n<li>Es gibt eine ganze Reihe von Faktoren, die st\u00e4ndig die Funktionsweise der Anwendung beeinflussen. Zum Beispiel neue Releases von Entwicklern: Bei der Behebung eines aktuellen Problems bringen sie unbeabsichtigt ein altes zur\u00fcck oder schaffen ein v\u00f6llig neues. Im Laufe der Zeit steigt die Anzahl neuer Releases, und der Prozess der Fehlerverfolgung muss automatisiert werden \u2013 unter anderem durch die Analyse von Benutzerpfaden.<\/li>\n<\/ul>\n<p>\nInsgesamt ist Retentioneering ein effektives Werkzeug. Doch es gibt keine Grenzen f\u00fcr die Verbesserung \u2013 es kann und sollte weiterentwickelt, verbessert und darauf basierend neue tolle Produkte gebaut werden. Je aktiver die Community des Projekts ist, desto mehr Forks wird es geben, und es werden neue interessante M\u00f6glichkeiten zur Nutzung entstehen.<\/p>\n<p>Zus\u00e4tzliche Informationen zu den Werkzeugen von Retentioneering:<\/p>\n<ul>\n<li>Unsere Webseite: <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\">Produkt- und Analytik-Chat in Telegram<\/a><\/noindex><\/li>\n<li>Kostenlos <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-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - 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.\" \/>\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\/news\/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) 5.0.1.1\" \/>\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/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\udd47Retentioneering: wie wir Open-Source-Tools f\u00fcr Produktanalytik in Python und Pandas entwickelt haben | ProHoster","description":"Hallo, Habr. Dieser Artikel besch\u00e4ftigt sich mit den Ergebnissen der vierj\u00e4hrigen Entwicklung eines Sets von Methoden und Werkzeugen zur Verarbeitung der Bewegungsdaten von Nutzern in einer App oder auf einer Webseite.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/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.","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}