{"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\/hr\/blog\/news\/retentioneering-kak-my-open-source-instrumenty-dlya-produktovoj-analitiki-na-python-i-pandas-napisali","title":{"rendered":"Retentioneering: kako smo napisali open-source alate za analizu proizvoda na Pythonu i Pandasu","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Pozdrav, Habr. Ovaj \u010dlanak je posve\u0107en rezultatima \u010detverogodi\u0161njeg razvoja skupa metoda i alata za obradu putanja kretanja korisnika u aplikaciji ili na web stranici. Autor razvoja je <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/users\/mgodzi\/\">Maksim Godzi<\/a><\/noindex>, koji stoji na \u010delu tima stvaratelja proizvoda, a ujedno je i autor \u010dlanka. Sam proizvod nosi naziv Retentioneering, trenutno je transformiran u open-source biblioteku i objavljen na Githubu, kako bi svaki zainteresirani mogao koristiti. Sve ovo mo\u017ee biti zanimljivo onima koji su povezani s proizvodnom i marketin\u0161kom analizom, promocijom i razvojem proizvoda. Usput, na Habu <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/binarydistrict\/blog\/437534\/\">ve\u0107 je objavljen \u010dlanak o jednom od slu\u010dajeva rada s Retentioneeringom<\/a><\/noindex>. U novom materijalu se obja\u0161njava \u0161to proizvod mo\u017ee u\u010diniti i kako ga mo\u017eete koristiti.<\/p>\n<p>\u010citaju\u0107i \u010dlanak, sami mo\u017eete napisati svoj Retentioneering, koji mo\u017ee postati bilo koja standardizirana metoda obrade putanja korisnika u aplikaciji i izvan nje, \u0161to omogu\u0107uje detaljno uo\u010davanje osobitosti pona\u0161anja i izvla\u010denje uvida za rast poslovnih metrika. <br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>\u0160to je Retentioneering i za\u0161to je to potrebno?<\/h3>\n<p>\nNa\u0161 prvotni cilj bio je prenijeti Growth Hacking iz svijeta \"digitalne magije\" u svijet brojeva, analitike i prognoza. Kao posljedica \u2014 svesti proizvodnu analitiku na \u010dist matemati\u010dki i programerski pristup za one koji umjesto fantasti\u010dnih pri\u010da preferiraju brojeve, dok formule zamjenjuju pametne izraze poput \"rebranding\", \"repozicioniranje\" itd., koji zvu\u010de lijepo, ali u praksi malo poma\u017eu. <\/p>\n<p>Za rje\u0161avanje navedenih zadataka bila je potrebna okvirna struktura za analitiku putem grafova i putanja, a istovremeno i biblioteka koja pojednostavljuje tipi\u010dne rutine analiti\u010dara, kao na\u010din opisivanja redovitih zadataka proizvodne analitike, koja bi bila jasna i ljudima i robotima. Biblioteka omogu\u0107uje opisivanje pona\u0161anja korisnika i povezivanje s poslovnim metrikama proizvoda na tako formalnom i jasnom jeziku, koji olak\u0161ava i automatizira rutinske zadatke programera i analiti\u010dara, te olak\u0161ava njihovu komunikaciju s poslovanjem.<\/p>\n<p><b>Retentioneering \u2014 metoda i analiti\u010dki softverski alati koji se mogu prilagoditi i integrirati u bilo koji digitalni (a ne samo) proizvod. <\/b><\/p>\n<p>Zapo\u010deli smo rad na proizvodu 2015. godine. Danas je to ve\u0107 gotov, iako jo\u0161 uvijek ne savr\u0161en, skup alata na Pythonu i Pandasu za rad s podacima, modeli strojnog u\u010denja s sklearn-like API, alati za interpretaciju rezultata modela strojnog u\u010denja eli5 i shap. <\/p>\n<p>Sve to je obuhva\u0107eno <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/retentioneering\/retentioneering-tools\">u prakti\u010dnoj open-source biblioteci u otvorenom Github repozitoriju \u2014 retentioneering-tools.<\/a><\/noindex>Kori\u0161tenje biblioteke nije te\u0161ko, prakti\u010dno svaka osoba koja voli analitiku proizvoda, a nije prije pisala kod, mo\u017ee primijeniti na\u0161e analiti\u010dke metode na svoje podatke samostalno i bez zna\u010dajnog tro\u0161enja vremena. <\/p>\n<p>A programer, kreator aplikacije ili \u010dlan razvojnog ili testnog tima koji nikada prije nije radio s analitikom, mo\u017ee po\u010deti isku\u0161avati ovaj kod i vidjeti obrasce kori\u0161tenja svoje aplikacije bez pomo\u0107i drugih. <\/p>\n<h3>Putanja korisnika kao osnovni element analize i metode njene obrade<\/h3>\n<p>\n<b>Putanja korisnika \u2014 niz stanja korisnika u odre\u0111enim vremenskim ta\u010dkama.<\/b> Pri \u010demu doga\u0111aji mogu biti iz razli\u010ditih izvora podataka, kako online, tako i offline. Doga\u0111aji koji su se dogodili korisniku dio su njegove putanje. Primjeri:<br \/>\n\u2022 pritisnuo dugme<br \/>\n\u2022 vidio sliku<br \/>\n\u2022 do\u0161ao na ekran<br \/>\n\u2022 dobio mail<br \/>\n\u2022 preporu\u010dio proizvod prijatelju<br \/>\n\u2022 ispunio obrazac<br \/>\n\u2022 dodirnuo ekran<br \/>\n\u2022 scrolovao<br \/>\n\u2022 do\u0161ao do blagajne<br \/>\n\u2022 naru\u010dio burrito<br \/>\n\u2022 pojeo burrito<br \/>\n\u2022 otrovao se pojedenim burritom<br \/>\n\u2022 u\u0161ao u kafi\u0107 kroz stra\u017enji ulaz<br \/>\n\u2022 u\u0161ao kroz glavni ulaz<br \/>\n\u2022 zatvorio aplikaciju<br \/>\n\u2022 dobio push obavijest<br \/>\n\u2022 buljio u ekran du\u017ee vrijeme X<br \/>\n\u2022 platio narud\u017ebinu<br \/>\n\u2022 preuzeo narud\u017ebinu<br \/>\n\u2022 dobio odbijanje za kredit<\/p>\n<p>Ako uzmemo podatke putanja grupe korisnika i prou\u010dimo kako su strukturirani prijelazi, mo\u017eemo pratiti kako se formira njihovo pona\u0161anje unutar aplikacije. To je lako u\u010diniti preko grafa, u kojem su stanja \u2014 \u010dvorovi, a prijelazi izme\u0111u stanja \u2014 ivice:<\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering: kako smo napisali open-source alate za analizu proizvoda na Pythonu i Pandasu\" src=\"\/wp-content\/uploads\/2019\/09\/07d7a7cf4f023f5d42ef9b31ed07a0ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n <br \/>\n\u00abTrajektorija\u00bb je vrlo prikladan pojam \u2014 ona sadr\u017ei detaljne informacije o svim radnjama korisnika, uz mogu\u0107nost dodavanja bilo kakvih dodatnih podataka u opis tih radnji. To je \u010dini univerzalnim objektom. Ako imate lijepe i korisne alate koji omogu\u0107uju rad s trajektorijama, mo\u017eete prona\u0107i sli\u010dnosti, segmentirati ih.<\/p>\n<p>Segmentacija trajektorija mo\u017ee se isprva \u010diniti vrlo slo\u017eenom. Uobi\u010dajeno, tako i jeste \u2014 potrebno je koristiti usporedbe matrica povezanosti ili uskla\u0111ivanje sekvenci. Uspjeli smo prona\u0107i jednostavniji na\u010din \u2014 prou\u010diti veliku koli\u010dinu trajektorija i segmentirati ih putem klasterizacije.<\/p>\n<p>Kako se pokazalo, trajektoriju je mogu\u0107e pretvoriti u to\u010dku pomo\u0107u kontinuiranih prikaza, primjerice, <noindex><a rel=\"nofollow\" href=\"http:\/\/datameetsmedia.com\/bag-of-words-tf-idf-explained\/\">TF-IDF<\/a><\/noindex>. Nakon pretvorbe, trajektorija postaje to\u010dka u prostoru, gdje su na osi prikazane normalizirane u\u010destalosti razli\u010ditih doga\u0111aja i prijelaza unutar trajektorije. Ova stvar iz ogromnog visokodimenzionalnog prostora (dimS=ukupno(tipovi doga\u0111aja)+ukupno(tipovi n-grama_2)), mo\u017ee se projicirati na ravninu pomo\u0107u <noindex><a rel=\"nofollow\" href=\"https:\/\/www.quora.com\/How-does-t-SNE-work-in-simple-words\">TSNE<\/a><\/noindex>. TSNE \u2014 transformacija koja smanjuje dimenzionalnost prostora na 2 osi i nastoji zadr\u017eati relativne udaljenosti izme\u0111u to\u010daka. Shodno tome, postaje mogu\u0107e na ravnoj karti, slikovnoj projektivnoj karti trajektorija, istra\u017eiti kako su to\u010dke razli\u010ditih trajektorija bile raspore\u0111ene. Analizira se koliko su bile bliske ili razli\u010dite jedna od druge, jesu li oblikovale klastere ili su se raspr\u0161ile po karti itd.:<\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering: kako smo napisali open-source alate za analizu proizvoda na Pythonu i Pandasu\" src=\"\/wp-content\/uploads\/2019\/09\/3f0386c33885cb842aec8ec01a5f47ff.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nAnaliti\u010dki alati Retentioneering omogu\u0107uju pretvaranje slo\u017eenih podataka i trajektorija u prikaz koji se mo\u017ee me\u0111usobno usporediti, a zatim istra\u017eiti i interpretirati rezultate transformacije.<\/p>\n<p>Govore\u0107i o standardnim metodama obrade trajektorije, podrazumijevaju se tri osnovna alata koja smo implementirali u Retentioneering \u2014 grafovi, step matrice i karte projekcija trajektorija. <\/p>\n<p>Rad s Google Analytics, Firebase i sli\u010dnim analiti\u010dkim sustavima mo\u017ee biti prili\u010dno slo\u017een i nije 100% u\u010dinkovit. Problem le\u017ei u nizu ograni\u010denja za korisnika, zbog \u010dega rad analiti\u010dara u tim sustavima \u010desto ovisi o klikovima mi\u0161em i odabiru rezova. Retentioneering omogu\u0107uje rad s korisni\u010dkim putanjama, a ne samo s lijevcima, kao u Google Analytics, gdje je razina detaljnosti \u010desto smanjena na lijevak, \u010dak i ako je izgra\u0111ena za neki segment. <\/p>\n<h3>Retentioneering i slu\u010dajevi<\/h3>\n<p>\nKao primjer kori\u0161tenja razvijenog alata mo\u017ee se navesti slu\u010daj velike ni\u0161ne usluge u Rusiji. Ova tvrtka ima mobilnu aplikaciju za Android koja je popularna me\u0111u klijentima. Godi\u0161nji promet s mobilne aplikacije iznosio je oko 7 milijuna rubalja, s sezonskim fluktuacijama u rasponu od 60 do 130 tisu\u0107a. Ova tvrtka tako\u0111er ima i aplikaciju za iOS, a prosje\u010dna cijena po korisniku 'jabuke' bila je vi\u0161a od prosje\u010dne cijene korisnika koji koriste Android aplikaciju \u2014 1080 rubalja naspram 1300 rubalja.<\/p>\n<p>Tvrtka je odlu\u010dila pove\u0107ati u\u010dinkovitost Android aplikacije, zbog \u010dega je provela opse\u017enu analizu. Formulirano je nekoliko desetaka hipoteza o pove\u0107anju u\u010dinkovitosti aplikacije. Nakon kori\u0161tenja Retentioneeringa otkriveno je da je problem u porukama koje su se prikazivale novim korisnicima. Oni su primali informacije o brandu, prednostima tvrtke i cijenama. Me\u0111utim, kako se ispostavilo, poruke su trebale pomo\u0107i korisnicima da nau\u010de kako raditi u aplikaciji. <\/p>\n<p><img decoding=\"async\" alt=\"Retentioneering: kako smo napisali open-source alate za analizu proizvoda na Pythonu i Pandasu\" src=\"\/wp-content\/uploads\/2019\/09\/9e6718eb967ae65d047605e4b8a92b3e.png\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTo je i u\u010dinjeno, rezultiraju\u0107i u smanjenju uklanjanja aplikacije, dok je porast konverzije u narud\u017ebu iznosio 23%. Na po\u010detku je na test odvojeno 20 posto ulaznog prometa, no nakon nekoliko dana, analizirav\u0161i prve rezultate i ocjenjuju\u0107i trend \u2014 proporcionalno su promijenili omjere i, nasuprot, ostavili 20 posto za kontrolnu grupu, a osamdeset stavili u test. Jo\u0161 nakon tjedan dana donesena je odluka o postepenom dodavanju testiranja jo\u0161 dvije hipoteze. Sveukupno, nakon sedam tjedana, promet s Android aplikacije pove\u0107an je za polovinu u odnosu na prethodnu razinu.<\/p>\n<h3>Kako raditi s Retentioneeringom?<\/h3>\n<p>\nPrvi koraci su dovoljno jednostavni \u2014 u\u010ditavamo biblioteku s naredbom pip install retentioneering. U samom repozitoriju postoje primjeri i slu\u010dajevi obrade podataka za neke zadatke analize proizvoda. Skup se neprekidno dopunjuje, trenutno je dovoljan za prvo upoznavanje. Svakoga mo\u017ee uzeti gotove module i odmah primijeniti na svoje zadatke \u2014 to omogu\u0107ava brzo i u\u010dinkovito postavljanje procesa detaljnije analize i optimizacije korisni\u010dkih putanja. Sve to omogu\u0107ava pronala\u017eenje obrazaca kori\u0161tenja aplikacije kroz jasan kod i dijeljenje tog iskustva s kolegama.<\/p>\n<p>Retentioneering \u2014 alat koji treba koristiti tijekom cijelog \u017eivotnog ciklusa aplikacije, i evo za\u0161to:<\/p>\n<ul>\n<li>Retentioneering je u\u010dinkovit za pra\u0107enje i kontinuiranu optimizaciju korisni\u010dkih putanja te pobolj\u0161anje poslovnih pokazatelja. Naime, u ecommerce aplikacijama \u010desto se dodaju nove funkcije \u010diji utjecaj na proizvod nije uvijek mogu\u0107e ispravno predvidjeti. U nekim slu\u010dajevima pojavljuju se problemi s kompatibilno\u0161\u0107u novih i starih funkcija \u2014 na primjer, nove \u201ckanibaliziraju\u201d ve\u0107 postoje\u0107e. A u toj situaciji je upravo potreban stalni analiz putanja. <\/li>\n<li>Sli\u010dna situacija se javlja i u radu s ogla\u0161iva\u010dkim kanalima: stalno se isprobavaju novi izvori prometa i oglasni kreativni sadr\u017eaji, potrebno je pratiti sezonalnost, trendove i utjecaj drugih doga\u0111anja, \u0161to dovodi do pojave novih klasa problema. I ovdje je potrebna kontinuirana pra\u0107enje i interpretacija korisni\u010dkih mehanika. <\/li>\n<li>Postoji \u010ditav niz faktora koji stalno utje\u010du na rad aplikacije. Na primjer, nove verzije od programera: rje\u0161avaju\u0107i aktualni problem, nenamjerno vra\u0107aju stari ili stvaraju potpuno novi. S vremenom broj novih verzija raste, i proces pra\u0107enja gre\u0161aka potrebno je automatizirati \u2014 uklju\u010duju\u0107i analizu korisni\u010dkih putanja.<\/li>\n<\/ul>\n<p>\nU cjelini, Retentioneering je u\u010dinkovit alat. No nema granica savr\u0161enstvu \u2014 mo\u017ee se i treba pobolj\u0161avati, razvijati, graditi nove sjajne proizvode na njegovoj osnovi. \u0160to aktivnije bude zajednica projekta, to \u0107e vi\u0161e biti forka, a pojavljuju se nove zanimljive mogu\u0107nosti njegove upotrebe.<\/p>\n<p>Dodatne informacije o alatima Retentioneering:<\/p>\n<ul>\n<li>Na\u0161a web stranica: <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\">Raspored meetupa<\/a><\/noindex> i prijave za sudjelovanje<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"http:\/\/t-do.ru\/retentioneering_meetups\">\u010cat proizvoda i analiti\u010dara na Telegramu<\/a><\/noindex><\/li>\n<li>Besplatno <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/retentioneering\/retentioneering-tools\">Retentioneering repozitorij na GitHubu<\/a><\/noindex> <\/li>\n<\/ul>\n<p>Izvor: <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.4 - 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\/hr\/blog\/news\/retentioneering-kak-my-open-source-instrumenty-dlya-produktovoj-analitiki-na-python-i-pandas-napisali\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"hr_HR\" \/>\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\/hr\/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: kako smo napisali open-source alate za analizu proizvoda u Pythonu i Pandasu | ProHoster","description":"Bok, Habr. Ovaj \u010dlanak posve\u0107en je rezultatima \u010detverogodi\u0161njeg razvoja seta metoda i alata za obradu putanja korisnika u aplikaciji ili na webu.","canonical_url":"https:\/\/prohoster.info\/hr\/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":"hr_HR","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\/hr\/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\/hr\/wp-json\/wp\/v2\/posts\/38424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/comments?post=38424"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/38424\/revisions"}],"predecessor-version":[{"id":182486,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/posts\/38424\/revisions\/182486"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media\/28843"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/media?parent=38424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/categories?post=38424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/hr\/wp-json\/wp\/v2\/tags?post=38424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}