Retentioneering: si krijuam mjetet open-source për analizat e produkteve në Python dhe Pandas

Përshëndetje, Habr. Ky artikull i kushtohet përfundimeve të katër viteve të zhvillimit të një grupi metodash dhe veglash për përpunimin e trajektimeve të lëvizjes së përdoruesve në aplikacion ose në faqen e internetit. Autori i zhvillimit është Maxim Godzi, i cili qëndron në krye të ekipit të krijuesve të produktit, ai gjithashtu është autori i artikullit. Produkti ka marrë emrin Retentioneering, tani është transformuar në një bibliotekë open-source dhe është botuar në Github, në mënyrë që çdo kush të mund ta përdorë atë. E gjithë kjo mund të jetë interesante për ata që lidhen me analizën produktive dhe marketingun, promovimin dhe zhvillimin e produktit. A, për më shumë, në Habr është publikuar një artikull mbi një nga rastet e punës me Retentioneering. Në këtë material të ri flitet për kapacitetet e produktit dhe se si mund të përdoret ai.

Duke lexuar artikullin, ju do të mund të shkruani tuajin Retentioneering, ai mund të jetë çdo metodë e standardizuar për përpunimin e trajektimeve të përdoruesve në aplikacion dhe përtej tij, e cila lejon të shohim me detaje veçoritë e sjelljes dhe të nxjerrim nga ajo informacione për rritjen e metrikave të biznesit.

ÇfarĂ« Ă«shtĂ« Retentioneering dhe pĂ«rse Ă«shtĂ« e nevojshme?

Fillimisht, qĂ«llimi ynĂ« ishte tĂ« sillnim Growth Hacking nga bota e "shkencave digjitale" nĂ« botĂ«n e numrave, analizĂ«s dhe parashikimeve. Si pasojĂ« — tĂ« shkurtojmĂ« analizĂ«n produktive nĂ« matematikĂ« tĂ« pastĂ«r dhe programacion pĂ«r ata qĂ«, pĂ«rveç tregimeve fantastike, preferojnĂ« numrat, ndĂ«rsa formula — fjalĂ«t inteligjente si 'rebranding', 'repozicionim' etj., tĂ« cilat tingullojnĂ« bukur, por nĂ« praktikĂ« ndihmojnĂ« pak.

Për zgjidhjen e këtyre problemeve ishte nevojshme një strukturë për analizën përmes grafikëve dhe trajektimeve, dhe njëkohësisht një bibliotekë që thjeshton rutinat tipike të analistit, si një mënyrë për të përshkruar detyrat e rregullta të analizës produktive, e cila do ishte e kuptueshme si për njerëzit ashtu dhe për robotët. Biblioteka ofron mundësinë për të përshkruar sjelljen e përdoruesve dhe për ta lidhur atë me metrikat e biznesit të produktit në një gjuhë kaq formale dhe të qartë, saqë të thjeshtojë dhe automatizojë detyrat rutinë të zhvilluesve dhe analistëve, dhe të lehtësojë komunikimin e tyre me biznesin.

Retentioneering — njĂ« metodĂ« dhe mjete analitike softuerike, tĂ« cilat mund tĂ« adaptohen dhe integrohen nĂ« çdo produkt digjital (dhe jo vetĂ«m).

Ne filluam punën mbi produktin në vitin 2015. Tani, ky është një grup i gatshëm mjetesh, ndonëse ende jo perfekt, në Python dhe Pandas për përpunimin e të dhënave, modelet e mësimit të makinerisë me API si sk-learn, mjetet për interpretimin e rezultateve të modeleve të mësimit të makinerisë eli5 dhe shap.

TĂ« gjitha kĂ«to janĂ« tĂ« pĂ«rmbledhura nĂ« njĂ« bibliotekĂ« open-source tĂ« projektuar nĂ« depozitĂ«n e hapur nĂ« Github — retentioneering-tools. PĂ«rdorimi i bibliotekĂ«s nuk Ă«shtĂ« i vĂ«shtirĂ«; praktikisht çdo person qĂ« Ă«shtĂ« i apasionuar pas analitikĂ«s produktore, por nuk ka shkruar ndonjĂ«herĂ« kod, mund tĂ« aplikojĂ« metodat tona tĂ« analizĂ«s nĂ« tĂ« dhĂ«nat e tij vetĂ« dhe pa shpenzuar shumĂ« kohĂ«.

Ndërsa një programues, krijues i aplikacionit ose një anëtar i ekipit të zhvillimit ose testimit, i cili nuk është marrë kurrë me analitikën, mund të fillojë të luajë me këtë kod dhe të shohë modelet e përdorimit të aplikacionit të tij pa ndihmë të jashtme.

Trajektoria e përdoruesit si element bazë i analizës dhe metodat e saj të përpunimit

Trajektoria e përdoruesit është një sekuencë e gjendjeve të përdoruesit në pikë të caktuara kohore. Dhe ngjarjet mund të jenë nga burime të ndryshme të të dhënave, si në internet ashtu edhe offline. Ngjarjet që ndodhin me përdoruesin janë pjesë e trajektorisë së tij. Disa shembuj:
‱ klikuar nĂ« njĂ« buton
‱ parĂ« njĂ« imazh
‱ hyrĂ« nĂ« ekran
‱ marrĂ« njĂ« email
‱ rekomanduar produktin njĂ« miku
‱ plotĂ«suar njĂ« formĂ«
‱ goditur ekranin
‱ skroluar
‱ afruar nĂ« kassĂ«
‱ porositur burrito
‱ ngrĂ«nĂ« burrito
‱ helmĂ«ruar nga burrito i ngrĂ«nĂ«
‱ hyrĂ« nĂ« kafene nga dera e pasme
‱ hyrĂ« nga dera kryesore
‱ mbyllur aplikacionin
‱ marrĂ« njĂ« njoftim push
‱ ngecur nĂ« ekran pĂ«r mĂ« gjatĂ« se X kohĂ«
‱ paguar porosinĂ«
‱ marrĂ« porosinĂ«
‱ marrĂ« refuzim pĂ«r kredi

Nëse marrim të dhënat e trajektores së një grupi përdoruesish dhe studiojmë se si janë kalimet, mund të ndjekim se si formohet sjellja e tyre në aplikacion. Kjo është e lehtë të bëhet përmes një grafi, ku gjendjet janë nyje dhe kalimet midis gjendjeve janë brinjë:

Retentioneering: si krijuam mjetet open-source për analizat e produkteve në Python dhe Pandas

«Trajektoria» Ă«shtĂ« njĂ« koncept shumĂ« i pĂ«rshtatshĂ«m — ajo pĂ«rmban informacion tĂ« detajuar mbi tĂ« gjitha veprimet e pĂ«rdoruesit, me mundĂ«sinĂ« pĂ«r tĂ« shtuar tĂ« dhĂ«na tĂ« tjera nĂ« pĂ«rshkrimin e kĂ«tyre veprimeve. Kjo e bĂ«n atĂ« njĂ« objekt universall. NĂ«se keni mjete tĂ« bukura dhe tĂ« pĂ«rshtatshme qĂ« lejojnĂ« punĂ«n me trajektoret, atĂ«herĂ« mund tĂ« gjeni ngjashmĂ«ri dhe t'i segmentoni ato.

Segmentimi i trajektoreve fillimisht mund tĂ« duket si diçka shumĂ« e komplikuar. NĂ« njĂ« situatĂ« tĂ« zakonshme, kĂ«shtu Ă«shtĂ« — duhet tĂ« pĂ«rdoret krahasimi i matricave tĂ« lidhjes ose pĂ«rputhja e sekuencave. Ne arritĂ«m tĂ« gjejmĂ« njĂ« mĂ«nyrĂ« mĂ« tĂ« thjeshtĂ« — tĂ« studiojmĂ« njĂ« numĂ«r tĂ« madh trajektorĂ«sh dhe t'i segmentojmĂ« ato pĂ«rmes klasifikimit.

Siç duket, Ă«shtĂ« e mundur tĂ« kthehet trajektoria nĂ« njĂ« pikĂ« pĂ«rmes pĂ«rfaqĂ«simeve tĂ« vazhdueshme, pĂ«r shembull, TF-IDF. Pas transformimit, trajektoria bĂ«het njĂ« pikĂ« nĂ« hapĂ«sirĂ«, ku pĂ«r boshtet Ă«shtĂ« e vendosur frekuenca e normalizuar e ndodhisĂ« dhe kalimit tĂ« ndryshimeve tĂ« ndryshme nĂ« trajektori. KĂ«tĂ« gjĂ« nga njĂ« hapĂ«sirĂ« shumĂ« dimensional (dimS=sum(lloje ngjarjesh)+sum(type ngrams_2)), mund tĂ« prokectoni nĂ« njĂ« plan me anĂ« tĂ« TSNE. TSNE — transformimi, ul dimensionin e hapĂ«sirĂ«s nĂ« 2 boshtet dhe, sa Ă«shtĂ« e mundur, ruan distancat relative midis pikave. NĂ« pĂ«rputhje me kĂ«tĂ«, bĂ«het e mundur qĂ« nĂ« njĂ« hartĂ« tĂ« sheshtĂ«, njĂ« hartĂ« projekcionale tĂ« trajektorĂ«ve, tĂ« studiohet si ishin tĂ« vendosura piket e ndryshme tĂ« trajektoreve. Analizohet sa ishin afĂ«r ose tĂ« ndryshĂ«m midis tyre, nĂ«se formonin grupe ose shpĂ«rndaheshin nĂ« hartĂ« etj.:

Retentioneering: si krijuam mjetet open-source për analizat e produkteve në Python dhe Pandas

Mjetet analitike të Retentioneering ofrojnë mundësinë që të kthejnë një sasi komplekse të dhënash dhe trajektorësh në një përfaqësim, i cili mund të krahasohet me njëri-tjetrin dhe më pas të studiohet dhe të interpretohet rezultati i transformimit.

Kur flasim pĂ«r metodat standarde tĂ« pĂ«rpunimit tĂ« trajektoreve, nĂ«nkuptohen tre mjete kryesore, tĂ« cilat ne i kemi implementuar nĂ« Retentioneering — grafĂ«t, matricat e hapat dhe harta e projekcioneve tĂ« trajektorĂ«ve.

Puna me Google Analytics, Firebase dhe sisteme të tjera analitike është mjaft e komplikuar dhe nuk është 100% efektive. Problemi qëndron në një seri kufizimesh për përdoruesit, duke bërë që puna e analistit në këto sisteme të mbështetet në klikime miu dhe zgjedhje të filtrave. Retentioneering ofron mundësinë për të punuar me trajektoret e përdoruesve, dhe jo vetëm me funnel-at, si në Google Analytics, ku niveli i detajimit shpesh reduktohet në funnel, edhe pse e ndërtuar për një segment të caktuar.

Retentioneering dhe rastet

Si njĂ« shembull i pĂ«rdorimit tĂ« mjetit tĂ« zhvilluar, mund tĂ« pĂ«rmendim rastin e njĂ« shĂ«rbimi tĂ« madh niß nĂ« Rusi. Kjo kompani ka njĂ« aplikacion mobil pĂ«r Android, i cili Ă«shtĂ« i njohur pĂ«r klientĂ«t. TĂ« ardhurat vjetore nga aplikacioni mobil ishin rreth 7 milion rubla, me variacione sezonale nĂ« intervalin 60-130 mijĂ«. Kjo kompani gjithashtu ka dhe njĂ« aplikacion pĂ«r iOS dhe mesatarja e çmimit pĂ«r pĂ«rdoruesin e aplikacionit

Kompania vendosi të rrisë efikasitetin e aplikacionit Android, për këtë qëllim u bë një analizë e thellë e tij. U formuluan disa dhjetëra hipoteza për rritjen e rezultative të aplikacionit. Pas përdorimit të Retentioneering, doli se problemi qëndronte në mesazhet që tregoheshin përdoruesve të rinj. Ata merrnin informacion mbi markën, përfitimet e kompanisë dhe çmimet. Por, siç doli, mesazhet duhej të ndihmonin përdoruesin të mësonte se si të punonte me aplikacionin.

Retentioneering: si krijuam mjetet open-source për analizat e produkteve në Python dhe Pandas

Kjo u arrit, si rezultat i së cilës aplikacioni filloi të fshihet më pak dhe rritja në konvertimin në porosi arriti 23%. Fillimisht, për testin u thirrën 20 përqind e trafikut të ardhshëm, por pas disa ditësh, duke analizuar rezultatet e para dhe duke vlerësuar trendin - e ndryshuan proporcioni kundrejt dhe përkundrazi, lanë 20 përqind për grupin kontroll dhe 80 përqind e vendosën në test. Një javë më vonë, u mor vendimi që të shtohet rregullisht testimi i dy hipotezave të tjera. Në total, pas shtatë javësh, të ardhurat nga aplikacioni Android u rritën 1.5 herë krahasuar me nivelin e mëparshëm.

Si të punoni me Retentioneering?

Hapat e parĂ« janĂ« mjaft tĂ« thjeshtĂ« – ngarko bibliotekĂ«n me komandĂ«n pip install retentioneering. NĂ« vetĂ« depozitĂ«n ndodhen shembuj dhe raste tĂ« gatshme pĂ«r pĂ«rpunimin e tĂ« dhĂ«nave pĂ«r disa detyra tĂ« analizĂ«s sĂ« produkteve. Grupi vazhdon tĂ« zgjerohet, pĂ«rsa kohĂ« Ă«shtĂ« mjaftueshĂ«m pĂ«r njĂ« njohje tĂ« parĂ«. Çdokush mund tĂ« marrĂ« modulet e gatshme dhe menjĂ«herĂ« t'i aplikojĂ« nĂ« detyrat e tij – kjo lejon qĂ« procesi i analizĂ«s mĂ« tĂ« detajuar dhe optimizimit tĂ« trajekteve tĂ« pĂ«rdoruesve tĂ« setupohet sa mĂ« shpejt dhe efikasht. TĂ« gjitha kĂ«to japin mundĂ«si pĂ«r tĂ« gjetur modelet e pĂ«rdorimit tĂ« aplikacionit pĂ«rmes kodit tĂ« kuptueshĂ«m dhe pĂ«r tĂ« ndarĂ« kĂ«tĂ« pĂ«rvojĂ« me kolegĂ«t.

Retentioneering është një mjet që duhet të përdoret gjatë gjithë jetës së aplikacionit, dhe ja pse:

  • Retentioneering Ă«shtĂ« efektiv pĂ«r ndjekjen dhe optimizimin e vazhdueshĂ«m tĂ« trajekteve tĂ« pĂ«rdoruesve dhe pĂ«rmirĂ«simin e treguesve tĂ« biznesit. KĂ«shtu, nĂ« aplikacionet e ecommerce shpesh shtohen funksione tĂ« reja, ndikimi i tĂ« cilave nĂ« produkt nuk Ă«shtĂ« gjithmonĂ« e mundur tĂ« parashikohet saktĂ«. NĂ« disa raste ndodhin probleme tĂ« pĂ«rputhshmĂ«risĂ« midis funksioneve tĂ« reja dhe atyre ekzistuese – pĂ«r shembull, tĂ« rejat "kanibalizojnĂ«" ato qĂ« ekzistojnĂ« tashmĂ«. Dhe nĂ« kĂ«tĂ« situatĂ« pikĂ«risht analizuese e vazhdueshme e trajekteve Ă«shtĂ« e nevojshme.
  • Situata Ă«shtĂ« e ngjashme edhe nĂ« punĂ«n me kanalet reklamuese: vazhdimisht testohen burime tĂ« reja tĂ« trafikut dhe krijime reklamuese, Ă«shtĂ« e nevojshme tĂ« ndjekim sezonin, trendet dhe ndikimin e ngjarjeve tĂ« tjera, gjĂ« qĂ« sjell nĂ« shfaqjen e klasave gjithnjĂ« e mĂ« tĂ« reja tĂ« problemeve. KĂ«tu gjithashtu kĂ«rkohet ndjekje e vazhdueshme dhe interpretim i mekanikave tĂ« pĂ«rdoruesve.
  • Ekziston njĂ« grup faktorĂ«sh qĂ« vazhdimisht ndikojnĂ« nĂ« funksionimin e aplikacionit. PĂ«r shembull, versionet e reja nga zhvilluesit: duke mbyllur njĂ« problem aktual, ata pa dĂ«shirĂ« rikthejnĂ« njĂ« tĂ« vjetĂ«r ose krijojnĂ« njĂ« krejtĂ«sisht tĂ« re. Me kalimin e kohĂ«s, numri i versioneve tĂ« reja rritet, dhe procesi i ndjekjes sĂ« gabimeve duhet tĂ« automatizohet – pĂ«rfshirĂ«, pĂ«rmes analizĂ«s sĂ« trajekteve tĂ« pĂ«rdoruesve.

NĂ« pĂ«rgjithĂ«si, Retentioneering Ă«shtĂ« njĂ« mjet efektiv. Por nuk ka kufij pĂ«r pĂ«rsosmĂ«ri – mund dhe duhet tĂ« pĂ«rmirĂ«sohet, tĂ« zhvillohet, tĂ« ndĂ«rtohen produkte tĂ« reja tĂ« shkĂ«lqyera mbi kĂ«tĂ« bazĂ«. Sa mĂ« aktive tĂ« jetĂ« komuniteti i projektit, aq mĂ« shumĂ« do tĂ« ketĂ« dhe forka, do tĂ« shfaqen variante tĂ« reja interesante tĂ« pĂ«rdorimit tĂ« tij.

Informacione shtesë mbi mjetet Retentioneering:

Burimi: habr.com

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster