{"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\/fr\/blog\/news\/retentioneering-kak-my-open-source-instrumenty-dlya-produktovoj-analitiki-na-python-i-pandas-napisali","title":{"rendered":"Retentioneering : comment nous avons \u00e9crit des outils open-source pour l'analyse produit avec Python et Pandas","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Bonjour, Habr. Cet article est d\u00e9di\u00e9 aux r\u00e9sultats de quatre ann\u00e9es de d\u00e9veloppement d'un ensemble de m\u00e9thodes et d'outils pour traiter les trajectoires de mouvement des utilisateurs dans une application ou sur un site web. L'auteur du d\u00e9veloppement est <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/mgodzi\/\">Maksim Godzi<\/a><\/noindex>, qui est \u00e0 la t\u00eate de l'\u00e9quipe des cr\u00e9ateurs du produit, et \u00e9galement l'auteur de l'article. Le produit s'appelle Retentioneering, il a maintenant \u00e9t\u00e9 transform\u00e9 en biblioth\u00e8que open-source et est disponible sur GitHub, afin que tout le monde puisse en b\u00e9n\u00e9ficier. Tout cela peut int\u00e9resser ceux qui travaillent dans l'analyse produit et marketing, ainsi que dans la promotion et le d\u00e9veloppement de produits. D'ailleurs, Habr <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/binarydistrict\/blog\/437534\/\">a d\u00e9j\u00e0 publi\u00e9 un article sur l'un des cas d'utilisation de Retentioneering<\/a><\/noindex>. Le nouveau mat\u00e9riel explique ce que le produit est capable de faire et comment il peut \u00eatre utilis\u00e9.<\/p>\n<p>En lisant l'article, vous serez en mesure d'\u00e9crire votre propre Retentioneering, qui peut \u00eatre n'importe quelle m\u00e9thode standardis\u00e9e de traitement des trajectoires des utilisateurs dans l'application et en dehors, permettant de voir en d\u00e9tail les particularit\u00e9s du comportement et d'extraire des insights pour la croissance des m\u00e9triques commerciales. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Qu'est-ce que Retentioneering et pourquoi est-ce n\u00e9cessaire ?<\/h3>\n<p>\nAu d\u00e9part, notre objectif \u00e9tait de traduire le Growth Hacking du monde du \u00ab chamanisme num\u00e9rique \u00bb vers celui des chiffres, de l'analyse et des pr\u00e9visions. Par cons\u00e9quent, ramener l'analyse produit \u00e0 une pure math\u00e9matique et programmation pour ceux qui pr\u00e9f\u00e8rent les chiffres aux histoires fantastiques, et les formules aux jargons \u00e9l\u00e9gants tels que \u00ab rebranding \u00bb, \u00ab repositionnement \u00bb, etc., qui sonnent bien mais qui, dans la pratique, aident peu. <\/p>\n<p>Pour atteindre ces objectifs, un cadre pour l'analyse via des graphes et des trajectoires \u00e9tait n\u00e9cessaire, ainsi qu'une biblioth\u00e8que simplifiant les t\u00e2ches typiques des analystes, en tant que moyen de d\u00e9crire les t\u00e2ches r\u00e9guli\u00e8res de l'analyse produit, compr\u00e9hensible tant par les hommes que par les machines. La biblioth\u00e8que permet de d\u00e9crire le comportement des utilisateurs et de le relier aux m\u00e9triques commerciales du produit dans un langage formel et clair, afin de simplifier et d'automatiser les t\u00e2ches routini\u00e8res des d\u00e9veloppeurs et des analystes, et de faciliter leur communication avec les affaires.<\/p>\n<p><b>Retentioneering \u2014 une m\u00e9thode et des outils analytiques logiciels qui peuvent \u00eatre adapt\u00e9s et int\u00e9gr\u00e9s dans n'importe quel produit num\u00e9rique (et pas seulement). <\/b><\/p>\n<p>Nous avons commenc\u00e9 \u00e0 travailler sur le produit en 2015. Maintenant, c'est d\u00e9j\u00e0 un ensemble d'outils pr\u00eat, bien que pas encore parfait, bas\u00e9 sur Python et Pandas pour le travail avec les donn\u00e9es, des mod\u00e8les d'apprentissage automatique avec une API similaire \u00e0 sklearn, et des outils d'interpr\u00e9tation des r\u00e9sultats des mod\u00e8les d'apprentissage automatique comme eli5 et shap. <\/p>\n<p>Tout cela est encapsul\u00e9 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/retentioneering\/retentioneering-tools\">dans une biblioth\u00e8que open-source pratique dans le d\u00e9p\u00f4t ouvert GitHub \u2014 retentioneering-tools<\/a><\/noindex>. Utiliser cette biblioth\u00e8que n'est pas difficile, presque n'importe qui aimant l'analyse de produit, mais n'ayant jamais \u00e9crit de code auparavant, peut appliquer nos m\u00e9thodes d'analyse \u00e0 ses donn\u00e9es de mani\u00e8re autonome et sans investissement de temps significatif. <\/p>\n<p>Quant au programmeur, au cr\u00e9ateur d'application ou au membre de l'\u00e9quipe de d\u00e9veloppement ou de test qui n'a jamais fait d'analyse auparavant, il peut commencer \u00e0 jouer avec ce code et voir des mod\u00e8les d'utilisation de son application sans aide ext\u00e9rieure. <\/p>\n<h3>La trajectoire de l'utilisateur comme \u00e9l\u00e9ment de base de l'analyse et ses m\u00e9thodes de traitement<\/h3>\n<p>\n<b>La trajectoire de l'utilisateur \u2014 s\u00e9quence d'\u00e9tats de l'utilisateur \u00e0 des moments donn\u00e9s.<\/b> De plus, les \u00e9v\u00e9nements peuvent provenir de diff\u00e9rentes sources de donn\u00e9es, tant en ligne qu'hors ligne. Les \u00e9v\u00e9nements survenus avec l'utilisateur font partie de sa trajectoire. Exemples :<br \/>\n\u2022 a cliqu\u00e9 sur le bouton<br \/>\n\u2022 a vu une image<br \/>\n\u2022 est arriv\u00e9 \u00e0 l'\u00e9cran<br \/>\n\u2022 a re\u00e7u un email<br \/>\n\u2022 a recommand\u00e9 le produit \u00e0 un ami<br \/>\n\u2022 a rempli un formulaire<br \/>\n\u2022 a tap\u00e9 sur l'\u00e9cran<br \/>\n\u2022 a fait d\u00e9filer<br \/>\n\u2022 s'est approch\u00e9 de la caisse<br \/>\n\u2022 a command\u00e9 un burrito<br \/>\n\u2022 a mang\u00e9 un burrito<br \/>\n\u2022 a \u00e9t\u00e9 intoxiqu\u00e9 par le burrito mang\u00e9<br \/>\n\u2022 est entr\u00e9 dans le caf\u00e9 par l'entr\u00e9e arri\u00e8re<br \/>\n\u2022 est entr\u00e9 par l'entr\u00e9e principale<br \/>\n\u2022 a ferm\u00e9 l'application<br \/>\n\u2022 a re\u00e7u une notification push<br \/>\n\u2022 a regard\u00e9 l'\u00e9cran plus longtemps que X<br \/>\n\u2022 a pay\u00e9 la commande<br \/>\n\u2022 a r\u00e9cup\u00e9r\u00e9 la commande<br \/>\n\u2022 a \u00e9t\u00e9 refus\u00e9 pour un pr\u00eat<\/p>\n<p>Si l'on prend les donn\u00e9es de trajectoire d'un groupe d'utilisateurs et que l'on \u00e9tudie comment sont organis\u00e9s les passages, on peut retracer comment se construit leur comportement dans l'application. C'est facile \u00e0 faire \u00e0 travers un graphe, o\u00f9 les \u00e9tats sont les n\u0153uds et les transitions entre les \u00e9tats sont les ar\u00eates :<\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering : comment nous avons \u00e9crit des outils open-source pour l&#039;analyse produit avec Python et Pandas\" src=\"\/wp-content\/uploads\/2019\/09\/07d7a7cf4f023f5d42ef9b31ed07a0ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nLa \u00abTrajectoire\u00bb est un concept tr\u00e8s utile \u2014 elle contient des informations d\u00e9taill\u00e9es sur toutes les actions de l'utilisateur, avec la possibilit\u00e9 d'ajouter toutes donn\u00e9es suppl\u00e9mentaires \u00e0 la description de ces actions. Cela en fait un objet universel. Si vous disposez d'outils beaux et pratiques qui permettent de travailler avec des trajectoires, vous pouvez trouver des similarit\u00e9s et les segmenter.<\/p>\n<p>La segmentation des trajectoires peut sembler tr\u00e8s complexe au d\u00e9part. Dans une situation normale, c'est le cas \u2014 il faut utiliser la comparaison de matrices de connexion ou l'alignement de s\u00e9quences. Nous avons r\u00e9ussi \u00e0 trouver une m\u00e9thode plus simple \u2014 \u00e9tudier un grand nombre de trajectoires et les segmenter par le biais de la classification.<\/p>\n<p>Il s'av\u00e8re qu'il est possible de transformer une trajectoire en un point gr\u00e2ce \u00e0 des repr\u00e9sentations continues, par exemple, <noindex><a rel=\"nofollow\" href=\"http:\/\/datameetsmedia.com\/bag-of-words-tf-idf-explained\/\">TF-IDF<\/a><\/noindex>. Apr\u00e8s cette transformation, la trajectoire devient un point dans l'espace, o\u00f9 les axes repr\u00e9sentent la fr\u00e9quence normalis\u00e9e des diff\u00e9rentes \u00e9v\u00e9nements et transitions dans la trajectoire. Cette chose issue d'un espace immense \u00e0 mille dimensions ou plus (dimS=sum(types d'\u00e9v\u00e9nements)+sum(types de n-grams_2)), peut \u00eatre projet\u00e9e sur un plan gr\u00e2ce \u00e0 <noindex><a rel=\"nofollow\" href=\"https:\/\/www.quora.com\/How-does-t-SNE-work-in-simple-words\">TSNE<\/a><\/noindex>. TSNE \u2014 la transformation, r\u00e9duit la dimensionnalit\u00e9 de l'espace \u00e0 2 axes tout en pr\u00e9servant, dans la mesure du possible, les distances relatives entre les points. Il devient donc possible d'\u00e9tudier comment les points de diff\u00e9rentes trajectoires \u00e9taient positionn\u00e9s les uns par rapport aux autres sur la carte plane, une carte de projection figurative des trajectoires. On analyse dans quelle mesure ces points \u00e9taient proches ou diff\u00e9rents les uns des autres, s'ils formaient des clusters ou \u00e9taient dispers\u00e9s sur la carte, etc. :<\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering : comment nous avons \u00e9crit des outils open-source pour l&#039;analyse produit avec Python et Pandas\" src=\"\/wp-content\/uploads\/2019\/09\/3f0386c33885cb842aec8ec01a5f47ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLes outils analytiques de Retentioneering permettent de transformer un ensemble de donn\u00e9es complexes et de trajectoires en une repr\u00e9sentation qui peut \u00eatre compar\u00e9e entre elles, puis d'explorer et d'interpr\u00e9ter le r\u00e9sultat de cette transformation.<\/p>\n<p>En parlant des m\u00e9thodes standard de traitement des trajectoires, trois outils principaux sont impliqu\u00e9s, que nous avons mis en \u0153uvre dans Retentioneering \u2014 graphes, matrices d'\u00e9tapes et cartes de projection des trajectoires. <\/p>\n<p>Travailler avec Google Analytics, Firebase et des syst\u00e8mes d'analyse similaires est assez complexe et pas 100 % efficace. Le probl\u00e8me r\u00e9side dans un certain nombre de limitations pour l'utilisateur, ce qui fait que le travail de l'analyste dans ces syst\u00e8mes se r\u00e9duit \u00e0 des clics de souris et \u00e0 des choix de segments. Retentioneering permet de travailler avec des trajectoires utilisateurs, et non seulement avec des entonnoirs, comme dans Google Analytics, o\u00f9 le niveau de d\u00e9tail se limite souvent \u00e0 l'entonnoir, m\u00eame s'il est construit pour un segment particulier. <\/p>\n<h3>Retentioneering et ses cas d'utilisation<\/h3>\n<p>\n\u00c0 titre d'exemple d'utilisation de l'outil d\u00e9velopp\u00e9, on peut citer le cas d'un grand service de niche en Russie. Cette entreprise dispose d'une application mobile pour Android, qui est populaire aupr\u00e8s des clients. Le chiffre d'affaires annuel de l'application mobile s'\u00e9levait \u00e0 environ 7 millions de roubles, avec des fluctuations saisonni\u00e8res de 60 \u00e0 130 milliers. Cette entreprise a \u00e9galement une application pour iOS, et le panier moyen d'un utilisateur de l'application 'Apple' \u00e9tait sup\u00e9rieur \u00e0 celui d'un client utilisant l'application Android \u2014 1080 roubles contre 1300 roubles.<\/p>\n<p>L'entreprise a d\u00e9cid\u00e9 d'augmenter l'efficacit\u00e9 de l'application Android, pour cela elle a men\u00e9 une analyse approfondie. Plusieurs dizaines d'hypoth\u00e8ses ont \u00e9t\u00e9 formul\u00e9es concernant l'augmentation de la performance de l'application. Apr\u00e8s avoir utilis\u00e9 Retentioneering, il s'est av\u00e9r\u00e9 que le probl\u00e8me r\u00e9sidait dans les messages affich\u00e9s aux nouveaux utilisateurs. Ils recevaient des informations sur la marque, les avantages de l'entreprise et les prix. Mais, comme cela s'est av\u00e9r\u00e9, les messages devaient aider l'utilisateur \u00e0 apprendre \u00e0 utiliser l'application. <\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering : comment nous avons \u00e9crit des outils open-source pour l&#039;analyse produit avec Python et Pandas\" src=\"\/wp-content\/uploads\/2019\/09\/9e6718eb967ae65d047605e4b8a92b3e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCela a \u00e9t\u00e9 fait, ce qui a conduit \u00e0 une r\u00e9duction du nombre de d\u00e9sinstallations de l'application, et la conversion en commande a augment\u00e9 de 23 %. Au d\u00e9part, 20 % du trafic entrant a \u00e9t\u00e9 allou\u00e9 au test, mais apr\u00e8s quelques jours, apr\u00e8s avoir analys\u00e9 les premiers r\u00e9sultats et \u00e9valu\u00e9 la tendance, ils ont invers\u00e9 les proportions et ont, au contraire, laiss\u00e9 20 % pour le groupe de contr\u00f4le, et 80 % pour le test. Une semaine plus tard, il a \u00e9t\u00e9 d\u00e9cid\u00e9 d'ajouter progressivement le test de deux autres hypoth\u00e8ses. Au total, apr\u00e8s sept semaines, le chiffre d'affaires de l'application Android a augment\u00e9 d'un tiers par rapport au niveau pr\u00e9c\u00e9dent.<\/p>\n<h3>Comment travailler avec Retentioneering ?<\/h3>\n<p>\nLes premi\u00e8res \u00e9tapes sont assez simples : t\u00e9l\u00e9chargez la biblioth\u00e8que avec la commande pip install retentioneering. Dans le d\u00e9p\u00f4t, vous trouverez des exemples pr\u00eats \u00e0 l'emploi et des cas d'analyse de donn\u00e9es pour certaines t\u00e2ches d'analyse produit. L'ensemble est constamment enrichi, mais il est d\u00e9j\u00e0 suffisant pour une premi\u00e8re prise en main. Chacun peut prendre des modules pr\u00eats et les appliquer imm\u00e9diatement \u00e0 ses t\u00e2ches \u2014 cela permet de configurer rapidement et efficacement le processus d'analyse approfondie et d'optimisation des parcours utilisateurs. Tout cela permet de trouver des motifs d'utilisation de l'application \u00e0 travers un code compr\u00e9hensible et de partager cette exp\u00e9rience avec les coll\u00e8gues.<\/p>\n<p>Retentioneering est un outil \u00e0 utiliser tout au long de la vie de l'application, et voici pourquoi :<\/p>\n<ul>\n<li>Retentioneering est efficace pour suivre et optimiser en continu les parcours utilisateurs et am\u00e9liorer les performances commerciales. Ainsi, dans les applications de commerce \u00e9lectronique, de nouvelles fonctionnalit\u00e9s sont souvent ajout\u00e9es, dont l'impact sur le produit n'est pas toujours pr\u00e9visible. Dans certains cas, des probl\u00e8mes de compatibilit\u00e9 entre les nouvelles et anciennes fonctionnalit\u00e9s surgissent \u2014 par exemple, les nouvelles \u2018cannibalisent\u2019 celles qui existent d\u00e9j\u00e0. C'est l\u00e0 qu'une analyse permanente des parcours est n\u00e9cessaire. <\/li>\n<li>La situation est similaire avec le travail sur les canaux publicitaires : de nouvelles sources de trafic et de nouveaux cr\u00e9atifs sont constamment test\u00e9s, il est n\u00e9cessaire de suivre la saisonnalit\u00e9, les tendances et l'impact d'autres \u00e9v\u00e9nements, ce qui entra\u00eene l'apparition de nouvelles classes de probl\u00e8mes. Ici aussi, un suivi et une interpr\u00e9tation constants des m\u00e9canismes utilisateurs sont requis. <\/li>\n<li>Il y a un certain nombre de facteurs qui influencent constamment le fonctionnement de l'application. Par exemple, les nouvelles versions des d\u00e9veloppeurs : en r\u00e9solvant un probl\u00e8me actuel, ils r\u00e9introduisent involontairement un ancien ou en cr\u00e9ent un totalement nouveau. Avec le temps, le nombre de nouvelles versions augmente, et il est n\u00e9cessaire d'automatiser le processus de suivi des bugs \u2014 notamment en analysant les parcours utilisateurs.<\/li>\n<\/ul>\n<p>\nDans l'ensemble, Retentioneering est un outil efficace. Mais il n'y a pas de limite \u00e0 la perfection \u2014 il peut et doit \u00eatre am\u00e9lior\u00e9, d\u00e9velopp\u00e9 et servir de base \u00e0 de nouveaux produits int\u00e9ressants. Plus la communaut\u00e9 du projet sera active, plus il y aura de forks, et de nouvelles utilisations int\u00e9ressantes appara\u00eetront.<\/p>\n<p>Informations suppl\u00e9mentaires sur les outils Retentioneering :<\/p>\n<ul>\n<li>Notre site : <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\">Calendrier des meetups<\/a><\/noindex> et inscription \u00e0 la participation<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/t-do.ru\/retentioneering_meetups\">Chat des produits et des analystes sur Telegram<\/a><\/noindex><\/li>\n<li>Gratuit <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/retentioneering\/retentioneering-tools\">d\u00e9p\u00f4t Retentioneering sur GitHub<\/a><\/noindex> <\/li>\n<\/ul>\n<p>Source : <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.2.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\/fr\/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.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\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\/fr\/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 : comment nous avons \u00e9crit des outils open-source pour l'analyse de produits en Python et Pandas | ProHoster","description":"Bonjour, Habr. Cet article est d\u00e9di\u00e9 aux r\u00e9sultats de quatre ann\u00e9es de d\u00e9veloppement d'un ensemble de m\u00e9thodes et d'outils pour traiter les trajectoires des utilisateurs dans une application ou sur un site.","canonical_url":"https:\/\/prohoster.info\/fr\/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":"fr_FR","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\/fr\/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\/fr\/wp-json\/wp\/v2\/posts\/38424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=38424"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/38424\/revisions"}],"predecessor-version":[{"id":182486,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/38424\/revisions\/182486"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media\/28843"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=38424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=38424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=38424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}