ProHoster > Blogs > interneta ziÅas > SaglabÄÅ”ana: kÄ mÄs rakstÄ«jÄm atvÄrtÄ pirmkoda rÄ«kus produktu analÄ«zei programmÄs Python un Pandas
SaglabÄÅ”ana: kÄ mÄs rakstÄ«jÄm atvÄrtÄ pirmkoda rÄ«kus produktu analÄ«zei programmÄs Python un Pandas
Sveiki, Habr. Å is raksts ir veltÄ«ts Äetrus gadus ilgas metožu un rÄ«ku kopas izstrÄdes rezultÄtiem lietotÄju kustÄ«bas trajektoriju apstrÄdei lietojumprogrammÄ vai vietnÄ. IzstrÄdes autors - Maksims Godzi, kurÅ” vada produktu veidotÄju komandu un ir arÄ« raksta autore. Pats produkts tika saukts par Retentioneering; tagad tas ir pÄrveidots par atvÄrtÄ pirmkoda bibliotÄku un ievietots Github, lai ikviens varÄtu to izmantot. Tas viss var interesÄt tos, kas ir iesaistÄ«ti produktu un mÄrketinga analÄ«zÄ, veicinÄÅ”anÄ un produktu attÄ«stÄ«bÄ. Starp citu, uz HabrÄ jau ir publicÄts raksts par vienu no gadÄ«jumiem darbÄ ar Retentioneering. JaunajÄ materiÄlÄ ir paskaidrots, ko produkts spÄj un kÄ to var izmantot.
PÄc raksta izlasÄ«Å”anas jÅ«s pats varÄsit uzrakstÄ«t savu saglabÄÅ”anu; tÄ var bÅ«t jebkura standartizÄta metode lietotÄju trajektoriju apstrÄdei lietojumprogrammÄ un Ärpus tÄs, ļaujot detalizÄti redzÄt uzvedÄ«bas iezÄ«mes un iegÅ«t no tÄ ieskatu izaugsmei. uzÅÄmÄjdarbÄ«bas rÄdÄ«tÄjiem.
Kas ir saglabÄÅ”ana un kÄpÄc tÄ ir nepiecieÅ”ama?
MÅ«su sÄkotnÄjais mÄrÄ·is bija pÄrcelt Growth Hacking no ādigitÄlÄs burvestÄ«basā uz skaitļu, analÄ«tikas un prognožu pasauli. RezultÄtÄ produktu analÄ«tika tiek samazinÄta lÄ«dz tÄ«rai matemÄtikai un programmÄÅ”anai tiem, kas dod priekÅ”roku skaitļiem, nevis fantastiskiem stÄstiem, un formulas lÄ«dz tÄdiem modes vÄrdiem kÄ ābrendingsā, ārepositioningā utt., kas izklausÄs jauki, bet praksÄ maz palÄ«dz.
Lai atrisinÄtu Ŕīs problÄmas, mums bija nepiecieÅ”ams analÄ«tikas ietvars, izmantojot grafikus un trajektorijas, un tajÄ paÅ”Ä laikÄ bibliotÄka, kas vienkÄrÅ”o tipiskÄs analÄ«tiÄ·u rutÄ«nas, lai aprakstÄ«tu parastos produktu analÄ«zes uzdevumus, kas bÅ«tu saprotami gan cilvÄkiem, gan robotiem. BibliotÄka nodroÅ”ina iespÄju aprakstÄ«t lietotÄju uzvedÄ«bu un saistÄ«t to ar produkta biznesa metriku tik formÄlÄ un skaidrÄ valodÄ, ka tÄ vienkÄrÅ”o un automatizÄ izstrÄdÄtÄju un analÄ«tiÄ·u ikdienas uzdevumus un atvieglo viÅu saziÅu ar uzÅÄmumu.
Retentioneering ir metode un analÄ«tiskie programmatÅ«ras rÄ«ki, kurus var pielÄgot un integrÄt jebkurÄ digitÄlÄ (un ne tikai) produktÄ.
MÄs sÄkÄm strÄdÄt pie produkta 2015. gadÄ. Tagad Å”is ir gatavs, lai gan vÄl ne ideÄls rÄ«ku komplekts Python un Pandas darbam ar datiem, maŔīnmÄcÄ«Å”anÄs modeļi ar sklearn lÄ«dzÄ«gu api, rÄ«ki maŔīnmÄcÄ«Å”anÄs modeļu eli5 un shap rezultÄtu interpretÄÅ”anai.
ProgrammÄtÄjs, lietojumprogrammu veidotÄjs vai izstrÄdes vai testÄÅ”anas komandas loceklis, kurÅ” nekad iepriekÅ” nav veicis analÄ«zi, var sÄkt spÄlÄt ar Å”o kodu un redzÄt savas lietojumprogrammas lietoÅ”anas modeļus bez ÄrÄjas palÄ«dzÄ«bas.
LietotÄja trajektorija kÄ analÄ«zes pamatelements un tÄs apstrÄdes metodes
LietotÄja trajektorija ir lietotÄja stÄvokļu secÄ«ba noteiktos laika punktos. TurklÄt notikumi var bÅ«t no dažÄdiem datu avotiem gan tieÅ”saistÄ, gan bezsaistÄ. Notikumi, kas notiek ar lietotÄju, ir daļa no viÅa trajektorijas. PiemÄri:
ā¢ nospieda pogu
ā¢ redzÄja attÄlu
ā¢ nospiediet ekrÄnu
ā¢ saÅÄma e-pastu
ā¢ ieteica preci draugam
ā¢ aizpildÄ«ja veidlapu
ā¢ pieskÄrÄs ekrÄnam
ā¢ ritinÄts
ā¢ devÄs pie kases
ā¢ pasÅ«tÄ«ja burito
ā¢ Äda burito
ā¢ saindÄjies, Ädot burito
ā¢ ienÄcis kafejnÄ«cÄ no aizmugures ieejas
ā¢ ieeja no priekÅ”ÄjÄs ieejas
ā¢ minimizÄja lietojumprogrammu
ā¢ saÅemts paÅ”piegÄdes paziÅojums
ā¢ bija iestrÄdzis ekrÄnÄ ilgÄk par X
ā¢ samaksÄja par pasÅ«tÄ«jumu
ā¢ iegÄdÄjies pasÅ«tÄ«jumu
ā¢ tika atteikts aizdevums
Ja paÅemat lietotÄju grupas trajektorijas datus un izpÄtÄt, kÄ tiek strukturÄtas pÄrejas, varat precÄ«zi izsekot viÅu uzvedÄ«bai lietojumprogrammÄ. To ir Ärti izdarÄ«t, izmantojot grafiku, kurÄ stÄvokļi ir mezgli, bet pÄrejas starp stÄvokļiem ir malas:
āTrajektorijaā ir ļoti Ärts jÄdziens - tajÄ ir detalizÄta informÄcija par visÄm lietotÄja darbÄ«bÄm, ar iespÄju Å”o darbÄ«bu aprakstam pievienot jebkÄdus papildu datus. Tas padara to par universÄlu objektu. Ja jums ir skaisti un Ärti rÄ«ki, kas ļauj strÄdÄt ar trajektorijÄm, tad varat atrast lÄ«dzÄ«bas un tÄs segmentÄt.
Trajektorijas segmentÄÅ”ana sÄkumÄ var Ŕķist ļoti sarežģīta. ParastÄ situÄcijÄ tas tÄ ir ā jÄizmanto savienojamÄ«bas matricas salÄ«dzinÄÅ”ana vai secÄ«bu izlÄ«dzinÄÅ”ana. Mums izdevÄs atrast vienkÄrÅ”Äku veidu - izpÄtÄ«t lielu skaitu trajektoriju un segmentÄt tÄs, izmantojot klasterizÄciju.
KÄ izrÄdÄ«jÄs, trajektoriju ir iespÄjams pÄrvÄrst par punktu, izmantojot nepÄrtrauktus attÄlojumus, piemÄram, TF-IDF. PÄc transformÄcijas trajektorija kļūst par punktu telpÄ, kur pa asÄ«m tiek attÄlota dažÄdu notikumu normalizÄtÄ raÅ”anÄs un pÄrejas starp tiem trajektorijÄ. Å o lietu no milzÄ«gas tÅ«kstoÅ” vai vairÄk dimensiju telpas (dimS = summa (notikumu veidi) + summa (ngrams_2 veidi)) var projicÄt plaknÄ, izmantojot TSNE. TSNE ir transformÄcija, kas samazina telpas izmÄru lÄ«dz 2 asÄ«m un, ja iespÄjams, saglabÄ relatÄ«vos attÄlumus starp punktiem. AttiecÄ«gi plakanÄ kartÄ, figurÄlÄ trajektoriju projekcijas kartÄ, kļūst iespÄjams izpÄtÄ«t, kÄ dažÄdu trajektoriju punkti atradÄs savÄ starpÄ. Tas analizÄ, cik tuvu vai atŔķirÄ«gi tie bija viens otram, vai tie veidoja kopas vai bija izkaisÄ«ti pa karti utt.:
SaglabÄÅ”anas analÄ«tikas rÄ«ki nodroÅ”ina iespÄju sarežģītus datus un trajektorijas pÄrvÄrst skatÄ, ko var salÄ«dzinÄt savÄ starpÄ, un pÄc tam var pÄrbaudÄ«t un interpretÄt transformÄcijas rezultÄtu.
RunÄjot par trajektoriju apstrÄdes standarta metodÄm, mÄs domÄjam trÄ«s galvenos rÄ«kus, ko esam ieviesuÅ”i saglabÄÅ”anÄ - grafikus, soļu matricas un trajektoriju projekciju kartes.
Darbs ar Google Analytics, Firebase un lÄ«dzÄ«gÄm analÄ«zes sistÄmÄm ir diezgan sarežģīts un nav 100% efektÄ«vs. ProblÄma ir virkne lietotÄja ierobežojumu, kÄ rezultÄtÄ analÄ«tiÄ·a darbs Å”ÄdÄs sistÄmÄs ir atkarÄ«gs no peles klikŔķiem un slÄÅu atlases. SaglabÄÅ”ana ļauj strÄdÄt ar lietotÄju trajektorijÄm, nevis tikai ar piltuvÄm, kÄ tas ir pakalpojumÄ Google Analytics, kur detalizÄcijas lÄ«menis bieži tiek samazinÄts lÄ«dz piltuvei, lai gan tas ir paredzÄts noteiktam segmentam.
SaglabÄÅ”ana un lietas
KÄ piemÄru izstrÄdÄtÄ rÄ«ka izmantoÅ”anai varam minÄt gadÄ«jumu ar lielu niÅ”as pakalpojumu KrievijÄ. Å im uzÅÄmumam ir Android mobilÄ aplikÄcija, kas ir populÄra klientu vidÅ«. Gada apgrozÄ«jums no mobilÄs aplikÄcijas bija aptuveni 7 miljoni rubļu, sezonÄlÄs svÄrstÄ«bas robežÄs no 60-130 tÅ«kst.. Tam paÅ”am uzÅÄmumam ir arÄ« aplikÄcija iOS, un Apple aplikÄcijas lietotÄja vidÄjais rÄÄ·ins bija lielÄks par vidÄjo rÄÄ·inu klients, kas izmanto Android lietojumprogrammu - 1080 rub. pret 1300 rubļiem.
UzÅÄmums nolÄma palielinÄt Android lietojumprogrammas efektivitÄti, kam tas veica rÅ«pÄ«gu analÄ«zi. Tika Ä£enerÄti vairÄki desmiti hipotÄžu par lietojumprogrammas efektivitÄtes paaugstinÄÅ”anu. PÄc Retentionneering izmantoÅ”anas izrÄdÄ«jÄs, ka problÄma bija ziÅojumos, kas tika rÄdÄ«ti jaunajiem lietotÄjiem. ViÅi saÅÄma informÄciju par zÄ«molu, uzÅÄmuma priekÅ”rocÄ«bÄm un cenÄm. TaÄu, kÄ izrÄdÄ«jÄs, ziÅojumiem vajadzÄja palÄ«dzÄt lietotÄjam iemÄcÄ«ties strÄdÄt aplikÄcijÄ.
Tas tika izdarÄ«ts, kÄ rezultÄtÄ aplikÄcija kļuva mazÄk atinstalÄta, un konversijas uz pasÅ«tÄ«jumu pieaugums bija 23%. SÄkumÄ pÄrbaudei tika atvÄlÄti 20 procenti no ienÄkoÅ”Äs trafika, bet pÄc dažÄm dienÄm, analizÄjot pirmos rezultÄtus un novÄrtÄjot tendenci, viÅi mainÄ«ja proporcijas un, gluži pretÄji, 20 procentus atstÄja kontroles grupai, un astoÅdesmit procenti tika iekļauti testÄ. NedÄļu vÄlÄk tika nolemts secÄ«gi pievienot vÄl divu hipotÄžu pÄrbaudi. Tikai septiÅu nedÄļu laikÄ apgrozÄ«jums no Android aplikÄcijas pieauga pusotru reizi, salÄ«dzinot ar iepriekÅ”Äjo lÄ«meni.
KÄ strÄdÄt ar Retentioneering?
Pirmie soļi ir pavisam vienkÄrÅ”i ā lejupielÄdÄjiet bibliotÄku ar pip install retentioneering komandu. PaÅ”Ä repozitorijÄ ir gatavi datu apstrÄdes piemÄri un gadÄ«jumi dažiem produktu analÄ«zes uzdevumiem. Komplekts tiek pastÄvÄ«gi papildinÄts, lÄ«dz pietiek pirmajai iepazÄ«Å”anai. Ikviens var paÅemt gatavus moduļus un nekavÄjoties tos pielietot saviem uzdevumiem - tas ļauj nekavÄjoties iestatÄ«t detalizÄtÄku lietotÄju trajektoriju analÄ«zes un optimizÄcijas procesu pÄc iespÄjas ÄtrÄk un efektÄ«vÄk. Tas viss ļauj atrast lietojumprogrammu lietoÅ”anas modeļus, izmantojot skaidru kodu, un dalÄ«ties pieredzÄ ar kolÄÄ£iem.
SaglabÄÅ”ana ir rÄ«ks, ko ir vÄrts izmantot visÄ lietojumprogrammas darbÄ«bas laikÄ, un tÄlÄk ir norÄdÄ«ts iemesls, kÄpÄc:
SaglabÄÅ”ana ir efektÄ«va lietotÄju trajektoriju izsekoÅ”anai un nepÄrtrauktai optimizÄÅ”anai un biznesa veiktspÄjas uzlaboÅ”anai. TÄdÄjÄdi e-komercijas lietojumprogrammÄm bieži tiek pievienotas jaunas funkcijas, kuru ietekmi uz produktu ne vienmÄr var pareizi paredzÄt. Dažos gadÄ«jumos rodas saderÄ«bas problÄmas starp jaunajÄm un vecajÄm funkcijÄm - piemÄram, jaunas ākanibalizÄā esoÅ”Äs. Un Å”ajÄ situÄcijÄ ir nepiecieÅ”ama pastÄvÄ«ga trajektoriju analÄ«ze.
LÄ«dzÄ«ga situÄcija ir arÄ« strÄdÄjot ar reklÄmas kanÄliem: nepÄrtraukti tiek pÄrbaudÄ«ti jauni trafika avoti un reklÄmas materiÄli, nepiecieÅ”ams sekot lÄ«dzi sezonalitÄtei, tendencÄm un citu notikumu ietekmei, kas noved pie arvien jaunu problÄmu klaÅ”u raÅ”anÄs. Tas prasa arÄ« pastÄvÄ«gu lietotÄja mehÄnikas uzraudzÄ«bu un interpretÄciju.
Ir vairÄki faktori, kas pastÄvÄ«gi ietekmÄ lietojumprogrammas veiktspÄju. PiemÄram, jauni izstrÄdÄtÄju izlaidumi: aizverot paÅ”reizÄjo problÄmu, viÅi negribot atgriež veco vai izveido pilnÄ«gi jaunu. Laika gaitÄ jaunu izlaidumu skaits pieaug, un kļūdu izsekoÅ”anas process ir jÄautomatizÄ, tostarp analizÄjot lietotÄju trajektorijas.
KopumÄ saglabÄÅ”ana ir efektÄ«vs lÄ«dzeklis. TaÄu pilnÄ«bai nav robežu ā to var un vajag uzlabot, attÄ«stÄ«t un uz tÄs bÄzes veidot jaunus forÅ”us produktus. Jo aktÄ«vÄka bÅ«s projekta kopiena, jo vairÄk bÅ«s dakÅ”u, un parÄdÄ«sies jaunas interesantas iespÄjas tÄ izmantoÅ”anai.
PlaÅ”Äka informÄcija par saglabÄÅ”anas rÄ«kiem: