{"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\/it\/blog\/news\/retentioneering-kak-my-open-source-instrumenty-dlya-produktovoj-analitiki-na-python-i-pandas-napisali","title":{"rendered":"Retentioneering: come abbiamo scritto strumenti open-source per l'analitica dei prodotti in Python e Pandas","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ciao, Habr. Questo articolo \u00e8 dedicato ai risultati di quattro anni di sviluppo di un insieme di metodi e strumenti per l'elaborazione delle traiettorie degli utenti in un'app o su un sito web. L'autore dello sviluppo \u00e8 <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/mgodzi\/\">Maksim Godzi<\/a><\/noindex>, che guida il team degli autori del prodotto, ed \u00e8 anche l'autore dell'articolo. Il prodotto ha ricevuto il nome di Retentioneering, attualmente \u00e8 stato trasformato in una libreria open-source e pubblicato su Github, affinch\u00e9 chiunque possa utilizzarlo. Tutto ci\u00f2 potrebbe interessare coloro che sono coinvolti nell'analisi di prodotto e marketing, nella promozione e nello sviluppo del prodotto. A proposito, su Habr <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/binarydistrict\/blog\/437534\/\">\u00e8 gi\u00e0 stato pubblicato un articolo su uno dei casi di lavoro con Retentioneering<\/a><\/noindex>. Nel nuovo materiale si parla di cosa \u00e8 in grado di fare il prodotto e come pu\u00f2 essere utilizzato.<\/p>\n<p>Leggendo l'articolo, sarete in grado di scrivere il vostro Retentioneering, che pu\u00f2 essere qualsiasi metodo standardizzato di elaborazione delle traiettorie degli utenti nell'app e oltre, che consente di vedere in dettaglio le peculiarit\u00e0 del comportamento e trarne informazioni utili per la crescita delle metriche aziendali. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Che cos'\u00e8 Retentioneering e a cosa serve?<\/h3>\n<p>\nInizialmente, il nostro obiettivo era quello di tradurre il Growth Hacking dal mondo della \u00abmagia digitale\u00bb al mondo dei numeri, dell'analisi e delle previsioni. Di conseguenza, abbiamo ridotto l'analisi di prodotto a pura matematica e programmazione per coloro che, invece di storie fantastiche, preferiscono i numeri, e le formule a parole sofisticate come \u00abrebranding\u00bb, \u00abri-posizionamento\u00bb e simili, che suonano bene, ma nella pratica aiutano poco. <\/p>\n<p>Per affrontare le suddette sfide, era necessario un framework per l'analisi attraverso grafi e traiettorie, e allo stesso tempo una libreria che semplificasse le routine tipiche dell'analista, come un modo per descrivere compiti regolari di analisi di prodotto, comprensibile sia per le persone che per i robot. La libreria offre la possibilit\u00e0 di descrivere il comportamento degli utenti e collegarlo alle metriche aziendali del prodotto in un linguaggio formale e chiaro, per semplificare e automatizzare le attivit\u00e0 routinarie di sviluppatori e analisti e facilitare la loro comunicazione con il business.<\/p>\n<p><b>Retentioneering \u00e8 un metodo e strumenti analitici software che possono essere adattati e integrati in qualsiasi prodotto digitale (e non solo). <\/b><\/p>\n<p>Abbiamo iniziato a lavorare al prodotto nel 2015. Ora \u00e8 gi\u00e0 un insieme completo di strumenti, anche se non ancora perfetto, per Python e Pandas per l'analisi dei dati, modelli di machine learning con API simile a sklearn, strumenti per l'interpretazione dei risultati dei modelli di machine learning eli5 e shap. <\/p>\n<p>Tutto ci\u00f2 \u00e8 avvolto <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/retentioneering\/retentioneering-tools\">in una comoda libreria open-source nell'apertura del repository Github \u2014 retentioneering-tools<\/a><\/noindex>. Utilizzare la libreria non \u00e8 difficile, praticamente chiunque ami l'analisi dei dati prodotti, ma non ha mai scritto codice, pu\u00f2 applicare i nostri metodi analitici ai propri dati in modo autonomo e senza significativi investimenti di tempo. <\/p>\n<p>E un programmatore, creatore di un'app o membro del team di sviluppo o testing, che non si \u00e8 mai occupato di analisi prima, pu\u00f2 iniziare a sperimentare con questo codice e vedere i modelli d'uso della propria applicazione senza alcun aiuto esterno. <\/p>\n<h3>La traiettoria dell'utente come elemento di base dell'analisi e i metodi per la sua elaborazione<\/h3>\n<p>\n<b>La traiettoria dell'utente \u00e8 la sequenza di stati dell'utente in determinati momenti temporali.<\/b> Gli eventi possono provenire da diverse fonti di dati, sia online che offline. Gli eventi che accadono all'utente fanno parte della sua traiettoria. Esempi:<br \/>\n\u2022 ha premuto un pulsante<br \/>\n\u2022 ha visto un'immagine<br \/>\n\u2022 \u00e8 arrivato a una schermata<br \/>\n\u2022 ha ricevuto un'email<br \/>\n\u2022 ha consigliato un prodotto a un amico<br \/>\n\u2022 ha compilato un modulo<br \/>\n\u2022 ha toccato lo schermo<br \/>\n\u2022 ha fatto scrolling<br \/>\n\u2022 si \u00e8 avvicinato alla cassa<br \/>\n\u2022 ha ordinato un burrito<br \/>\n\u2022 ha mangiato un burrito<br \/>\n\u2022 si \u00e8 avvelenato con un burrito mangiato<br \/>\n\u2022 \u00e8 entrato nel bar da un'entrata secondaria<br \/>\n\u2022 \u00e8 entrato dalla porta principale<br \/>\n\u2022 ha chiuso l'app<br \/>\n\u2022 ha ricevuto una notifica push<br \/>\n\u2022 ha fissato lo schermo per pi\u00f9 tempo x<br \/>\n\u2022 ha pagato l'ordine<br \/>\n\u2022 ha ritirato l'ordine<br \/>\n\u2022 ha ricevuto un rifiuto per il prestito<\/p>\n<p>Se si prendono i dati delle traiettorie di un gruppo di utenti e si studiano come sono strutturati i passaggi, \u00e8 possibile tracciare come si comportano nell'app. \u00c8 conveniente farlo attraverso un grafo, in cui gli stati sono nodi, e i passaggi tra gli stati sono archi:<\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering: come abbiamo scritto strumenti open-source per l&#039;analitica dei prodotti in Python e Pandas\" src=\"\/wp-content\/uploads\/2019\/09\/07d7a7cf4f023f5d42ef9b31ed07a0ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\nLa \"traiettoria\" \u00e8 un concetto molto utile: contiene informazioni dettagliate su tutte le azioni dell'utente, con la possibilit\u00e0 di aggiungere qualsiasi dato aggiuntivo alla descrizione di queste azioni. Questo la rende un oggetto universale. Se hai strumenti belli e funzionali che ti permettono di lavorare con le traiettorie, puoi trovare somiglianze e segmentarle.<\/p>\n<p>La segmentazione delle traiettorie potrebbe inizialmente sembrare qualcosa di molto complesso. Nella situazione normale \u00e8 cos\u00ec: \u00e8 necessario utilizzare il confronto delle matrici di collegamento o l'allineamento delle sequenze. Siamo riusciti a trovare un modo pi\u00f9 semplice: studiare un gran numero di traiettorie e segmentarle tramite clustering.<\/p>\n<p>Come si \u00e8 rivelato, \u00e8 possibile trasformare una traiettoria in un punto attraverso rappresentazioni continue, ad esempio, <noindex><a rel=\"nofollow\" href=\"http:\/\/datameetsmedia.com\/bag-of-words-tf-idf-explained\/\">TF-IDF<\/a><\/noindex>. Dopo la trasformazione, la traiettoria diventa un punto nello spazio, dove sugli assi \u00e8 registrata la frequenza normalizzata degli eventi e delle transizioni tra di essi nella traiettoria. Questa entit\u00e0, proveniente da un enorme spazio ad oltre mille dimensioni (dimS=somma(tipi di eventi)+somma(tipi di ngram_2)), pu\u00f2 essere proiettata su un piano utilizzando <noindex><a rel=\"nofollow\" href=\"https:\/\/www.quora.com\/How-does-t-SNE-work-in-simple-words\">TSNE<\/a><\/noindex>. TSNE \u00e8 una trasformazione che riduce la dimensionalit\u00e0 dello spazio a 2 assi e, per quanto possibile, preserva le distanze relative tra i punti. Di conseguenza, diventa possibile, su una mappa piana, una mappa proiettiva delle traiettorie, studiare come erano disposti tra di loro i punti di diverse traiettorie. Si analizza quanto fossero vicini o diversi tra loro, se formassero dei cluster o fossero sparsi sulla mappa, ecc.:<\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering: come abbiamo scritto strumenti open-source per l&#039;analitica dei prodotti in Python e Pandas\" src=\"\/wp-content\/uploads\/2019\/09\/3f0386c33885cb842aec8ec01a5f47ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nGli strumenti analitici di Retentioneering offrono la possibilit\u00e0 di trasformare un insieme di dati complessi e traiettorie in una rappresentazione che pu\u00f2 essere confrontata tra loro, per poi esplorare e interpretare il risultato della trasformazione.<\/p>\n<p>Parlando dei metodi standard di elaborazione delle traiettorie, si intendono tre strumenti principali che abbiamo implementato in Retentioneering: grafi, matrici step e mappe di proiezione delle traiettorie. <\/p>\n<p>Lavorare con Google Analytics, Firebase e simili sistemi di analisi \u00e8 piuttosto complesso e non \u00e8 efficace al 100%. Il problema risiede in diverse limitazioni per l'utente, che portano a far s\u00ec che il lavoro dell'analista all'interno di questi sistemi si basi principalmente sui clic del mouse e sulla selezione dei segmenti. Retentioneering offre la possibilit\u00e0 di lavorare con le traiettorie degli utenti, invece di limitarsi ai funnel, come avviene in Google Analytics, dove il livello di dettaglio spesso si riduce a un funnel, anche se costruito per un certo segmento. <\/p>\n<h3>Retentioneering e casi studio<\/h3>\n<p>\nCome esempio dell'utilizzo dello strumento sviluppato, si pu\u00f2 citare il caso di un grande servizio di nicchia in Russia. Questa azienda possiede un'app mobile per Android, molto popolare tra i clienti. Il fatturato annuale dell'app mobile era di circa 7 milioni di rubli, con fluttuazioni stagionali tra 60 e 130 mila. Questa stessa azienda ha anche un'app per iOS, e il valore medio degli acquisti degli utenti dell'app \"Apple\" era superiore al valore medio degli acquisti dei clienti che utilizzano l'app per Android: 1.080 rubli contro 1.300 rubli.<\/p>\n<p>L'azienda ha deciso di aumentare l'efficacia dell'app Android, effettuando una rigorosa analisi. Sono state formulate diverse decine di ipotesi per migliorare le prestazioni dell'app. Dopo aver utilizzato Retentioneering, \u00e8 emerso che il problema era nei messaggi mostrati ai nuovi utenti. Ricevevano informazioni sul brand, sui vantaggi dell'azienda e sui prezzi. Tuttavia, come si \u00e8 scoperto, i messaggi avrebbero dovuto aiutare l'utente a imparare a utilizzare l'app. <\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering: come abbiamo scritto strumenti open-source per l&#039;analitica dei prodotti in Python e Pandas\" src=\"\/wp-content\/uploads\/2019\/09\/9e6718eb967ae65d047605e4b8a92b3e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nE cos\u00ec \u00e8 stato fatto, con il risultato che l'app \u00e8 stata disinstallata meno frequentemente, e il tasso di conversione in ordini \u00e8 aumentato del 23%. Inizialmente, il 20% del traffico in entrata \u00e8 stato dedicato al test, ma dopo pochi giorni, analizzando i primi risultati e valutando la tendenza, sono state invertite le proporzioni, lasciando il 20% per il gruppo di controllo e destinando l'80% al test. Dopo un'altra settimana, \u00e8 stata presa la decisione di aggiungere in successione il test di altre due ipotesi. In totale, dopo sette settimane, il fatturato dell'app Android \u00e8 aumentato di 1,5 volte rispetto al livello precedente.<\/p>\n<h3>Come lavorare con Retentioneering?<\/h3>\n<p>\nI primi passi sono piuttosto semplici: carichiamo la libreria con il comando pip install retentioneering. Nel repository ci sono esempi pronti e casi di elaborazione dei dati per alcune attivit\u00e0 di analisi dei prodotti. Il set viene continuamente aggiornato, ed \u00e8 sufficientemente ampio per una prima conoscenza. Chiunque pu\u00f2 prelevare moduli pronti e applicarli subito ai propri compiti: questo consente di impostare rapidamente un processo di analisi pi\u00f9 dettagliata e ottimizzazione dei percorsi utente in modo rapido ed efficace. Tutto ci\u00f2 offre la possibilit\u00e0 di individuare i modelli di utilizzo dell'applicazione attraverso un codice chiaro e di trasmettere questa esperienza ai colleghi.<\/p>\n<p>Retentioneering \u00e8 uno strumento che vale la pena utilizzare durante l'intero ciclo di vita di un'applicazione, ecco perch\u00e9:<\/p>\n<ul>\n<li>Retentioneering \u00e8 efficace per monitorare e ottimizzare continuamente i percorsi degli utenti e migliorare le performance aziendali. Ad esempio, nelle applicazioni ecommerce vengono spesso aggiunte nuove funzionalit\u00e0, il cui impatto sul prodotto non \u00e8 sempre possibile prevedere correttamente. In alcuni casi si verificano problemi di compatibilit\u00e0 tra le nuove e le vecchie funzionalit\u00e0: ad esempio, le nuove \"cannibalizzano\" gi\u00e0 esistenti. In questa situazione \u00e8 fondamentale un'analisi costante dei percorsi. <\/li>\n<li>Una situazione analoga si verifica nel lavoro con i canali pubblicitari: si testano costantemente nuove fonti di traffico e creativit\u00e0 pubblicitarie, \u00e8 necessario mantenere monitorata la stagionalit\u00e0, le tendenze e l'impatto di altri eventi, il che porta a nuove classi di problemi. Anche qui \u00e8 richiesto un monitoraggio e un'interpretazione continua delle meccaniche utente. <\/li>\n<li>Ci sono una serie di fattori che influenzano costantemente il funzionamento dell'applicazione. Ad esempio, le nuove versioni da parte degli sviluppatori: risolvendo un problema attuale, involontariamente riportano un problema precedente o creano uno completamente nuovo. Con il tempo, il numero di nuove versioni aumenta e il processo di monitoraggio degli errori deve essere automatizzato, anche grazie all'analisi dei percorsi degli utenti.<\/li>\n<\/ul>\n<p>\nIn generale, Retentioneering \u00e8 uno strumento efficace. Ma non c'\u00e8 limite al miglioramento: pu\u00f2 e deve essere migliorato, sviluppato, utilizzato come base per creare nuovi prodotti interessanti. Maggiore \u00e8 l'attivit\u00e0 della comunit\u00e0 del progetto, maggiori saranno i fork e emergere nuovi modi interessanti per il suo utilizzo.<\/p>\n<p>Ulteriori informazioni sugli strumenti di Retentioneering:<\/p>\n<ul>\n<li>Il nostro sito: <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\">Programma dei meetup<\/a><\/noindex> e registrazione per la partecipazione<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/t-do.ru\/retentioneering_meetups\">Chat per product manager e analisti su Telegram<\/a><\/noindex><\/li>\n<li>Gratuito <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/retentioneering\/retentioneering-tools\">repository Retentioneering su GitHub<\/a><\/noindex> <\/li>\n<\/ul>\n<p>Fonte: <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\/it\/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=\"it_IT\" \/>\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\/it\/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: come abbiamo scritto strumenti open-source per l'analisi dei prodotti in Python e Pandas | ProHoster","description":"Ciao, Habr. Questo articolo \u00e8 dedicato ai risultati di quattro anni di sviluppo di un insieme di metodi e strumenti per l'analisi dei percorsi degli utenti in un'app o su un sito.","canonical_url":"https:\/\/prohoster.info\/it\/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":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/38424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=38424"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/38424\/revisions"}],"predecessor-version":[{"id":182486,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/38424\/revisions\/182486"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/28843"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=38424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=38424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=38424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}