Retentioneering: kuidas me open-source tööriistu tooteanalüüsiks Pythonis ja Pandas'is kirjutasime

Tere, Habr. See artikkel käsitleb nelja aasta arenduste tulemusi kasutajate liikumistrajektooride töötlemiseks mõeldud meetodite ja tööriistade kogumile rakenduses või saidil. Arenduse autor on Maksim Godzi, kes juhib toote loomise meeskonda ja on ka artikli autor. Toode sai nimeks Retentioneering, nüüd on see muudetud avatud lähtekoodiga raamatukoguks ja paigutatud Githubi, et igaühel oleks võimalik seda kasutada. See võib huvi pakkuda neile, kes tegelevad toote- ja turundusanalyüsiga, toote edendamise ja arendamisega. Muide, Habril on juba ilmunud artikkel Retentioneeringu kohta ühe juhtumi raames. Uues materjalis räägitakse sellest, milleks toode võimeline on ja kuidas seda saab kasutada.

Lugedes artiklit, suudate ka te ise kirjutada oma Retentioneeringi, milleks võib olla iga standardiseeritud meetod kasutajate liikumistrajektooride töötlemiseks rakenduses ja selle välistes aspektides, mis võimaldab detailselt näha käitumise iseärasusi ja saada sellest äriliste näitajate kasvu jaoks sisendeid.

Mis on Retentioneering ja milleks seda vaja on?

Alguses oli meie eesmärgiks viia Growth Hacking «digitootmise maagia» maailmast numbrite, analüüsi ja prognoosimise maailma. Selle tulemusena — toote analüüs viidud puhta matemaatika ja programmeerimise tasemele neile, kes eelistavad fantastiliste lugude asemel numbreid ja valemid nutikatele sõnadele nagu «brändi uuendamine», «repositsioonimine» jms, mis kõlavad kenasti, kuid on praktikas üsna kasinad.

Nende ülesannete lahendamiseks oli vajalik graafide ja trajektooridega analüüsi raamistik, samuti raamatukogu, mis lihtsustaks analüütiku tüüpilisi rutiine, kui viisi toote analüüsi regulaarsete ülesannete kirjeldamiseks, mis oleks arusaadav nii inimestele kui ka robotitele. Raamatukogu pakub võimalust kirjeldada kasutajate käitumist ja siduda see toote äriliste näitajatega sellisel formaalsel ja selgel keeles, et lihtsustada ja automatiseerida arendajate ja analüütikute rutiinseid ülesandeid ning kergendada nende suhtlemist ettevõttega.

Retentioneering on meetod ja analüütilised tarkvaratööriistad, mida saab kohandada ja integreerida igasse digitaalset (ja mitte ainult) toodet.

Me alustasime toote arendamist 2015. aastal. Praegu on see juba valmis, kuigi mitte veel ideaalne tööriistade komplekt Pythonis ja Pandas, mis aitavad andmetega töötada, masinõppe mudelid sklearn-like api'ga, masinõppe mudelite tulemuste tõlgendamise tööriistad eli5 ja shap.

Kõik see on pakitud mugavasse avatud lähtekoodiga teeki, mis on saadaval avatud Githubi hoidlas — retentioneering-tools.Teegi kasutamine ei ole keeruline, praktiliselt iga inimene, kes armastab tooteanalüütikat, kuid pole kunagi koodi kirjutanud, võib rakendada meie analüüsimeetodeid oma andmetele iseseisvalt ja ilma märkimisväärse aja raiskamiseta.

Ja programmeerija, rakenduse looja või arenduse või testimise meeskonna liige, kes pole varem analüütikaga tegelenud, võib alustada selle koodiga mängimist ja näha oma rakenduse kasutamistrende ilma välist abi kaasamata.

Kasutaja trajektoor kui analüüsi põhielement ja meetodid selle töötlemiseks

Kasutaja trajektoor on kasutaja olekute järjestus teatud ajapunktides. Ja sündmused võivad tulla erinevatest andmeallikatest, nii veebis kui ka füüsiliselt. Sündmused, mis juhtusid kasutajaga, on osa tema trajektoorist. Näited:
• vajutas nuppu
• nägi pilti
• sattus ekraanile
• sai e-kirja
• soovitas toodet sõbrale
• täitis vormi
• puudutas ekraani
• keris alla
• läks kassasse
• tellis burrito
• sõi burrito
• mürgistus söödud burritost
• sisenes kohvikusse tagaukse kaudu
• sisenes peaukse kaudu
• sulges rakenduse
• sai push-teate
• tuimles ekraanil pikemat aega X
• maksis tellimuse eest
• võttis tellimuse vastu
• sai laenutaotluse tagasi lükatud

Kui võtta andmed trajektooride grupist ja uurida, kuidas üleminekud toimivad, saab jälgida, kuidas nende käitumine rakenduses kujuneb. Seda on mugav teha graafi kaudu, kus olekud on sõlmed ja üleminekud olekute vahel on ääred:

Retentioneering: kuidas me open-source tööriistu tooteanalüüsiks Pythonis ja Pandas'is kirjutasime

„Tee“ on väga mugav mõiste – see sisaldab üksikasjalikku teavet kõigi kasutaja tegevuste kohta, võimaldades lisada sellele tegevusele igasuguseid täiendavaid andmeid. See teeb sellest universaalse objekti. Kui teil on ilusad ja mugavad tööriistad, mis võimaldavad töötada teede või trajektooridega, saab leida sarnasusi ja need segmenteerida.

Trajektuuride segmentimine võib esmapilgul tunduda väga keeruline. Tavalistes olukordades on see tõesti nii – tuleb kasutada seosmatrice võrdlemist või järjestuste joondamist. Oleme leidnud lihtsama viisi – uurida suurt hulka trajektoore ja segmenteerida need klasterdamise kaudu.

Käib jutt, et trajektoori saab muuta punktiks, kasutades pidevaid esitlusi, näiteks TF-IDF. Pärast transformatsiooni muutub trajektoor punktiks ruumis, kus telgedel on erinevate sündmuste ja nende vaheliste üleminekute normeeritud esinemissagedus. Seda asja, mille mõõtmed ulatuvad tuhandetesse (dimS=sum(event types)+sum(ngrams_2 types)), on võimalik projekteerida tasandile mõne muu kaudu TSNE. TSNE – transformatsioon, vähendab ruumi mõõtmeid kuni 2 teljeni ning säilitab võimaluse korral punktidevahelised suhtelised kaugused. Seega on olnud võimalik tasapinnal, kujuteldavas projitseeritud trajektooride kaardil uurida, kuidas erinevate trajektooride punktid üksteisega paiknesid. Analüüsitakse, kui lähedased või erinevad nad olid, kas nad moodustasid klastreid või hajusid kaardile jne:

Retentioneering: kuidas me open-source tööriistu tooteanalüüsiks Pythonis ja Pandas'is kirjutasime

Retentioneeringi analüüsi tööriistad võimaldavad keeruliste andmehulkade ja trajektooride muutmist esitlemiseks, mida saab omavahel võrrelda ning seejärel uurida ja tõlgendada transformatsiooni tulemust.

Rääkides standardsetest trajektoori töötlemise meetoditest, mõeldakse kolmele peamisele tööriistale, mida oleme Retentioneeringis rakendanud – graafid, step-matriid ja trajektooride projektsioonikaardid.

Töö Google Analyticsi, Firebase'i ja sarnaste analüüsisüsteemidega on piisavalt keeruline ja mitte 100% efektiivne. Probleem peitub mitmesugustes kasutaja piirangutes, mille tulemusena seisab analüütiku töö sellistes süsteemides klikkide ja lõigete valikute ees. Retentioneering võimaldab töötada kasutajate trajektooridega, mitte ainult funnelitega, nagu Google Analyticsis, kus detailsuse tase sageli piirdub funneliga, olgu see ehitatud mõnele segmendile.

Retentioneering ja juhtumiuuringud

Kasutusnäitena arendatud tööriistast võib tuua suure nišiteenuse juhtumiuuringu Venemaal. Sellel ettevõttel on Androidi mobiilirakendus, mis on klientide seas populaarne. Aasta käive mobiilirakendusest oli umbes 7 miljonit rubla, hooajalised kõikumised jäävad vahemikku 60–130 tuhat. Samas ettevõttes on ka iOS-i rakendus, ning 'õunarakenduse' keskmine tellimuse väärtus oli kõrgem kui Android-rakenduse kasutajate keskmine tellimuse väärtus – 1080 rubla võrreldes 1300 rubla.

Ettevõte otsustas suurendada Android-rakenduse efektiivsust ning viis läbi põhjaliku analüüsi. Koostati mitmeid kümneid hüpoteese rakenduse tulemuslikkuse suurendamiseks. Pärast Retentioneeringi kasutamist selgus, et probleemiks olid sõnumid, mida näidati uutele kasutajatele. Nad said teavet brändi, ettevõtte eeliste ja hindade kohta. Kuid nagu selgus, pidid sõnumid aitama kasutajal rakendusega töötama õppida.

Retentioneering: kuidas me open-source tööriistu tooteanalüüsiks Pythonis ja Pandas'is kirjutasime

See ka tehti, mille tulemuseks oli rakenduste vähem eemaldamine ja tellimuste konversioon kasv 23%. Alguses suunati testimiseks 20% sissetulevast liiklusest, kuid mõne päeva pärast, analüüsides esimesi tulemusi ja hinnates trende – muudeti proportsioonid vastupidiseks ja jäeti 20% kontrollgrupi jaoks, samas kui kaheksakümmend suunati testimiseks. Veel nädala pärast otsustati järk-järgult lisada veel kahe hüpoteesi testimist. Kokku seitse nädalat hiljem kasvas Android-rakenduse käive pooleteise korra võrra võrreldes eelmise tasemega.

Kuidas Retentioneeringiga töötada?

Esimesed sammud on piisavalt lihtsad — laadige庫pip install retentioneering. Repositooriumis on valmis näited ja andmetöötluse juhtumid mõnede tooteanalüüsi ülesannete jaoks. Kogumit täiendatakse pidevalt ja seda on piisavalt, et alustuseks tutvuda. Igaüks saab kasutada valmis mooduleid ja rakendada neid oma ülesannetele — see võimaldab kiiresti ja tõhusalt seadistada protsessi, et analüüsida ja optimeerida kasutajaid. Kõik see võimaldab leida rakenduse kasutamise mustreid arusaadava koodi kaudu ja jagada seda kogemust kolleegidega.

Retentioneering on tööriist, mida tasub kasutada kogu rakenduse eluea jooksul, ja siin on miks:

  • Retentioneering on efektiivne kasutajate teekondade jälgimiseks ja pidevaks optimeerimiseks, et parandada ärinäitajaid. Näiteks e-kaubanduse rakendustes lisatakse sageli uusi funktsioone, mille mõju tootele ei ole alati õigeusu ennustada. Mõnedel juhtudel tekivad probleemid uute ja vanade funktsioonide ühilduvusega — näiteks, uued “kanibaliseerivad” juba olemasolevad. Sellises olukorras on pidev teekondade analüüs väga vajalik.
  • Sarnane olukord on ka reklaamikanalitega: pidevalt testitakse uusi liiklusallikaid ja reklaamikreatiive, tuleb jälgida hooajalisi muutusi, trende ja teiste sündmuste mõju, mis toob kaasa uusi probleemiklasside ilmumise. Siin on samuti vajalik pidev jälgimine ja kasutajamehhanika tõlgendamine.
  • On terve rida tegureid, mis pidevalt mõjutavad rakenduse tööd. Näiteks, arendajate uued väljaanded: lahendades aktuaalse probleemi, toovad nad tahtmatult tagasi vana või loovad täiesti uue. Aja jooksul kasvab uute väljaannete arv ja vigade jälgimise protsess tuleb automatiseerida — sealhulgas kasutajate teekondade analüüsi abil.

Üldiselt on Retentioneering efektiivne tööriist. Kuid täiuslikkuse piire ei ole — seda saab ja tuleb täiustada, arendada ning selle alusel uusi tooteid luua. Mida aktiivsem on projekti kogukond, seda rohkem tekib hargnemisi ja uusi huvitavaid kasutusvõimalusi.

Lisainfot Retentioneeringi tööriistade kohta:

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster