Mbajtja: si kemi shkruar mjete me burim të hapur për analitikën e produkteve në Python dhe Pandas

Përshëndetje, Habr. Ky artikull i kushtohet rezultateve të katër viteve të zhvillimit të një grupi metodash dhe mjetesh për përpunimin e trajektoreve të lëvizjes së përdoruesve në një aplikacion ose faqe interneti. Autori i zhvillimit - Maksim Godzi, i cili drejton ekipin e krijuesve të produkteve dhe është gjithashtu autori i artikullit. Vetë produkti u quajt Retentioneering; ai tani është konvertuar në një bibliotekë me burim të hapur dhe është postuar në Github në mënyrë që të gjithë të mund ta përdorin atë. E gjithë kjo mund të jetë me interes për ata që janë të përfshirë në analizën e produktit dhe marketingut, promovimin dhe zhvillimin e produktit. Nga rruga, në Habré tashmë është publikuar një artikull për një nga rastet e punës me Retentioneering. Materiali i ri shpjegon se çfarë mund të bëjë produkti dhe si mund të përdoret.

Pas leximit të artikullit, ju vetë do të jeni në gjendje të shkruani Retentioneering tuaj; mund të jetë çdo metodë e standardizuar për përpunimin e trajektoreve të përdoruesve në aplikacion dhe më gjerë, duke ju lejuar të shihni në detaje karakteristikat e sjelljes dhe të nxirrni njohuri nga kjo për rritjen. të matjeve të biznesit.

Çfarë është Retaineering dhe pse është i nevojshëm?

Qëllimi ynë fillestar ishte të zhvendosnim Growth Hacking nga bota e "magjisë dixhitale" në botën e numrave, analitikës dhe parashikimeve. Si pasojë, analitika e produktit reduktohet në matematikë dhe programim të pastër për ata që preferojnë numrat në vend të tregimeve fantastike, dhe formulat ndaj fjalëve si "riemërtimi", "ripozicionimi", etj., të cilat tingëllojnë bukur, por në praktikë ndihmojnë pak.

Për të zgjidhur këto probleme, na duhej një kornizë për analitikën përmes grafikëve dhe trajektoreve, dhe në të njëjtën kohë një bibliotekë që thjeshton rutinat tipike të analistëve, si një mënyrë për të përshkruar detyrat e rregullta të analizës së produktit që do të ishin të kuptueshme si për njerëzit ashtu edhe për robotët. Biblioteka ofron mundësinë për të përshkruar sjelljen e përdoruesit dhe për ta lidhur atë me matjet e biznesit të produktit në një gjuhë kaq formale dhe të qartë që thjeshton dhe automatizon detyrat rutinë të zhvilluesve dhe analistëve dhe lehtëson komunikimin e tyre me biznesin.

Retentioneering është një metodë dhe mjete softuerike analitike që mund të përshtaten dhe integrohen në çdo produkt dixhital (dhe jo vetëm).

Ne filluam punën për produktin në vitin 2015. Tani ky është një grup i gatshëm, megjithëse jo ende ideal, i mjeteve në Python dhe Pandas për të punuar me të dhëna, modele të mësimit të makinerive me api të ngjashme me sklearn, mjete për interpretimin e rezultateve të modeleve të mësimit të makinerive eli5 dhe shap.

Është e gjitha e përfunduar në një bibliotekë të përshtatshme me burim të hapur në depon e hapur Github - mjetet e ruajtjes. Përdorimi i bibliotekës nuk është i vështirë; pothuajse kushdo që pëlqen analitikën e produktit, por nuk ka shkruar më parë kod, mund të zbatojë metodat tona të analitikës në të dhënat e tyre në mënyrë të pavarur dhe pa investim të konsiderueshëm në kohë.

Epo, një programues, një krijues aplikacioni ose një anëtar i një ekipi zhvillimi ose testimi që nuk ka bërë kurrë më parë analiza mund të fillojë të luajë me këtë kod dhe të shohë modelet e përdorimit të aplikacionit të tyre pa ndihmë nga jashtë.

Trajektorja e përdoruesit si element bazë i analizës dhe metodave për përpunimin e saj

Trajektorja e përdoruesit është një sekuencë e gjendjeve të përdoruesit në momente të caktuara kohore. Për më tepër, ngjarjet mund të vijnë nga burime të ndryshme të të dhënave, si në internet ashtu edhe jashtë linje. Ngjarjet që i ndodhin përdoruesit janë pjesë e trajektores së tij. Shembuj:
• shtypur butonin
• pa figurën
• goditi ekranin
• mori një email
• ia rekomandoi produktin një miku
• plotësoi formularin
• prekni ekranin
• i rrotulluar
• shkoi në arkë
• porositi një burrito
• hëngri një burrito
• u helmua duke ngrënë një burrito
• hyri në kafe nga hyrja e pasme
• hyri nga hyrja e përparme
• minimizoi aplikimin
• mori një njoftim shtytës
• ishte mbërthyer në ekran më gjatë se X
• paguar për porosinë
• blerë porosinë
• iu refuzua një kredi

Nëse merrni të dhënat e trajektores së një grupi përdoruesish dhe studioni se si janë strukturuar tranzicionet, mund të gjurmoni saktësisht se si është strukturuar sjellja e tyre në aplikacion. Është e përshtatshme për ta bërë këtë përmes një grafiku në të cilin gjendjet janë nyje, dhe kalimet midis gjendjeve janë skaje:

Mbajtja: si kemi shkruar mjete me burim të hapur për analitikën e produkteve në Python dhe Pandas

"Trajektorja" është një koncept shumë i përshtatshëm - përmban informacion të detajuar për të gjitha veprimet e përdoruesit, me aftësinë për të shtuar ndonjë të dhënë shtesë në përshkrimin e këtyre veprimeve. Kjo e bën atë një objekt universal. Nëse keni mjete të bukura dhe të përshtatshme që ju lejojnë të punoni me trajektoret, atëherë mund të gjeni ngjashmëri dhe t'i segmentoni ato.

Segmentimi i trajektores mund të duket shumë i ndërlikuar në fillim. Në një situatë normale, ky është rasti - duhet të përdorni krahasimin e matricës së lidhjes ose shtrirjen e sekuencës. Ne arritëm të gjejmë një mënyrë më të thjeshtë - të studiojmë një numër të madh trajektoresh dhe t'i segmentojmë ato përmes grumbullimit.

Siç doli, është e mundur të shndërrohet një trajektore në një pikë duke përdorur paraqitje të vazhdueshme, për shembull, TF-IDF. Pas transformimit, trajektorja bëhet një pikë në hapësirë ​​ku paraqitja e normalizuar e ngjarjeve të ndryshme dhe kalimet ndërmjet tyre në trajektore vizatohet përgjatë boshteve. Kjo gjë nga një hapësirë ​​e madhe njëmijë ose më shumë dimensionale (dimS=sum (llojet e ngjarjeve) + shuma (ngrams_2 lloje)) mund të projektohet në një plan duke përdorur TSNE. TSNE është një transformim që redukton dimensionin e hapësirës në 2 akse dhe, nëse është e mundur, ruan distancat relative midis pikave. Prandaj, bëhet e mundur në një hartë të sheshtë, një hartë projeksioni figurativ të trajektoreve, të studiohet se si pikat e trajektoreve të ndryshme ishin vendosur midis tyre. Ai analizon se sa afër ose të ndryshëm ishin ata me njëri-tjetrin, nëse ata formuan grupime ose ishin të shpërndara nëpër hartë, etj.:

Mbajtja: si kemi shkruar mjete me burim të hapur për analitikën e produkteve në Python dhe Pandas

Mjetet analitike ruajtëse ofrojnë aftësinë për të kthyer të dhënat dhe trajektoret komplekse në një pamje që mund të krahasohet me njëra-tjetrën, dhe më pas rezultati i transformimit mund të ekzaminohet dhe interpretohet.

Duke folur për metodat standarde për përpunimin e trajektoreve, nënkuptojmë tre mjete kryesore që i kemi zbatuar në Retentioneering - grafikët, matricat e hapave dhe hartat e projeksionit të trajektores.

Puna me Google Analytics, Firebase dhe sisteme të ngjashme analitike është mjaft komplekse dhe jo 100% efektive. Problemi është një numër kufizimesh për përdoruesin, si rezultat i të cilave puna e analistit në sisteme të tilla varet nga klikimet e miut dhe zgjedhja e fetave. Retentioneering bën të mundur punën me trajektoret e përdoruesve, dhe jo vetëm me gypat, si në Google Analytics, ku niveli i detajeve shpesh reduktohet në një gyp, megjithëse i ndërtuar për një segment të caktuar.

Mbajtja dhe rastet

Si shembull i përdorimit të mjetit të zhvilluar, mund të citojmë rastin e një shërbimi të madh të ngrohtë në Rusi. Kjo kompani ka një aplikacion celular Android që është i popullarizuar në mesin e klientëve. Qarkullimi vjetor nga aplikacioni celular ishte rreth 7 milion rubla, luhatjet sezonale varionin nga 60-130 mijë. E njëjta kompani ka gjithashtu një aplikacion për iOS, dhe fatura mesatare e një përdoruesi të aplikacionit Apple ishte më e lartë se fatura mesatare e një klient që përdor aplikacionin Android - 1080 fshij. kundrejt 1300 rubla.

Kompania vendosi të rrisë efikasitetin e aplikacionit Android, për të cilin kreu një analizë të plotë. U krijuan disa dhjetëra hipoteza për rritjen e efektivitetit të aplikacionit. Pas përdorimit të Retentionneering, rezultoi se problemi ishte në mesazhet që u shfaqeshin përdoruesve të rinj. Ata morën informacion në lidhje me markën, përfitimet e kompanisë dhe çmimet. Por, siç doli, mesazhet duhej të ndihmonin përdoruesin të mësonte se si të punonte në aplikacion.

Mbajtja: si kemi shkruar mjete me burim të hapur për analitikën e produkteve në Python dhe Pandas

Kjo u bë, si rezultat i së cilës aplikacioni u çiinstalua më pak, dhe rritja e konvertimit në porosi ishte 23%. Në fillim, 20 për qind e trafikut në hyrje iu dha testit, por pas disa ditësh, pasi analizuan rezultatet e para dhe vlerësuan tendencën, ata ndryshuan përmasat dhe, përkundrazi, lanë 20 për qind për grupin e kontrollit, dhe tetëdhjetë për qind u vendosën në test. Një javë më vonë, u vendos që të shtohej në mënyrë sekuenciale testimi i dy hipotezave të tjera. Në vetëm shtatë javë, xhiroja nga aplikacioni Android u rrit me një herë e gjysmë në krahasim me nivelin e mëparshëm.

Si të punoni me Retentioneering?

Hapat e parë janë mjaft të thjeshtë - shkarkoni bibliotekën me komandën e mbajtjes së instalimit të pip. Vetë depoja përmban shembuj dhe raste të gatshme të përpunimit të të dhënave për disa detyra analitike të produktit. Seti përditësohet vazhdimisht derisa të mjaftojë për një njohje të parë. Çdokush mund të marrë module të gatshme dhe t'i zbatojë ato menjëherë në detyrat e tyre - kjo i lejon ata të vendosin menjëherë procesin e analizës më të detajuar dhe optimizimit të trajektoreve të përdoruesve sa më shpejt dhe me efikasitet të jetë e mundur. E gjithë kjo bën të mundur gjetjen e modeleve të përdorimit të aplikacionit përmes kodit të qartë dhe ndarjen e kësaj eksperience me kolegët.

Mbajtja është një mjet që ia vlen të përdoret gjatë gjithë jetës së aplikacionit tuaj, dhe ja pse:

  • Retaineering është efektiv për gjurmimin dhe optimizimin e vazhdueshëm të trajektoreve të përdoruesve dhe përmirësimin e performancës së biznesit. Kështu, në aplikacionet e e-commerce shpesh shtohen veçori të reja, ndikimi i të cilave në produkt nuk mund të parashikohet gjithmonë saktë. Në disa raste, problemet e përputhshmërisë lindin midis funksioneve të reja dhe të vjetra - për shembull, ato të reja "kanibalizojnë" ato ekzistuese. Dhe në këtë situatë, analiza e vazhdueshme e trajektoreve është pikërisht ajo që nevojitet.
  • Situata është e ngjashme kur punoni me kanale reklamimi: burimet e reja të trafikut dhe krijuesit e reklamave po testohen vazhdimisht, është e nevojshme të monitorohet sezonaliteti, tendencat dhe ndikimi i ngjarjeve të tjera, gjë që çon në shfaqjen e gjithnjë e më shumë klasave të reja të problemeve. Kjo kërkon gjithashtu monitorim dhe interpretim të vazhdueshëm të mekanikës së përdoruesit.
  • Ka një sërë faktorësh që ndikojnë vazhdimisht në performancën e një aplikacioni. Për shembull, lëshimet e reja nga zhvilluesit: mbyllja e një problemi aktual, ata pa dashje e kthejnë atë të vjetër ose krijojnë një krejtësisht të ri. Me kalimin e kohës, numri i publikimeve të reja rritet dhe procesi i gjurmimit të gabimeve duhet të automatizohet, duke përfshirë analizimin e trajektoreve të përdoruesve.

Në përgjithësi, Retaineering është një mjet efektiv. Por nuk ka kufi për përsosmërinë - ajo mund dhe duhet të përmirësohet, zhvillohet dhe të ndërtohen produkte të reja të këndshme mbi bazën e saj. Sa më aktiv të jetë komuniteti i projektit, aq më shumë pirunë do të ketë dhe do të shfaqen opsione të reja interesante për përdorimin e tij.

Më shumë informacion rreth mjeteve të mbajtjes:

Burimi: www.habr.com

Shto një koment