Retentioneering: kako smo napisali odprtokodna orodja za analitiko izdelkov v Pythonu in Pandas

Pozdravljeni, Habr. Ta članek je posvečen rezultatom štiriletnega razvoja nabora metod in orodij za obdelavo trajektorij gibanja uporabnikov v aplikaciji ali na spletnem mestu. Avtor razvoja - Maksim Godzi, ki vodi ekipo produktnih ustvarjalcev in je tudi avtor članka. Sam izdelek se je imenoval Retentioneering; zdaj je bil pretvorjen v odprtokodno knjižnico in objavljen na Githubu, tako da ga lahko uporablja vsak. Vse to lahko zanima tiste, ki se ukvarjajo z analizo izdelkov in trženja, promocijo in razvojem izdelkov. Mimogrede, na Habréju O enem od primerov dela z Retentioneeringom je bil že objavljen članek. Novo gradivo pojasnjuje, kaj zmore izdelek in kako ga je mogoče uporabiti.

Ko boste prebrali članek, boste lahko sami napisali svoj Retentioneering; to je lahko katera koli standardizirana metoda za obdelavo uporabniških poti v aplikaciji in zunaj nje, kar vam omogoča, da podrobno vidite značilnosti vedenja in iz tega pridobite vpoglede za rast. poslovnih meritev.

Kaj je Retentioneering in zakaj je potreben?

Naš začetni cilj je bil premakniti Growth Hacking iz sveta »digitalnega čarovništva« v svet številk, analitike in napovedi. Posledično je produktna analitika zreducirana na čisto matematiko in programiranje za tiste, ki imajo raje številke namesto fantastičnih zgodb, formule pa na modne besede, kot so »rebranding«, »repozicioniranje« ipd., ki zvenijo lepo, a v praksi malo pomagajo.

Za rešitev teh težav smo potrebovali ogrodje za analitiko prek grafov in trajektorij ter hkrati knjižnico, ki poenostavlja tipične analitične rutine, kot način za opis rednih nalog analitike izdelkov, ki bi bile razumljive tako ljudem kot robotom. Knjižnica omogoča opis vedenja uporabnikov in njihovo povezavo s poslovnimi metrikami izdelkov v tako formalnem in jasnem jeziku, da poenostavi in ​​avtomatizira rutinska opravila razvijalcev in analitikov ter olajša njihovo komunikacijo s podjetjem.

Retentioneering je metoda in analitično programsko orodje, ki ga je mogoče prilagoditi in integrirati v katerikoli digitalni (in ne samo) izdelek.

Izdelek smo začeli delati leta 2015. Zdaj je to že pripravljen, čeprav še ne idealen nabor orodij v Pythonu in Pandas za delo s podatki, modeli strojnega učenja s sklearn podobnim api, orodja za interpretacijo rezultatov modelov strojnega učenja eli5 in shap.

Vse je zavito v priročno odprtokodno knjižnico v odprtem repozitoriju Github - orodja za ohranjanje. Uporaba knjižnice ni težka; skoraj vsak, ki ima rad analitiko izdelkov, vendar še ni napisal kode, lahko samostojno in brez znatnega vlaganja časa uporabi naše analitične metode za svoje podatke.

No, programer, ustvarjalec aplikacije ali član razvojne ali testne skupine, ki še nikoli ni delal analitike, se lahko začne igrati s to kodo in si ogleda vzorce uporabe svoje aplikacije brez zunanje pomoči.

Trajektorija uporabnika kot osnovni element analize in metode za njeno obdelavo

Uporabniška pot je zaporedje uporabniških stanj v določenih časovnih točkah. Poleg tega lahko dogodki prihajajo iz različnih virov podatkov, tako na spletu kot zunaj njega. Dogodki, ki se zgodijo uporabniku, so del njegove poti. Primeri:
• pritisnil gumb
• videl sliko
• udariti po zaslonu
• prejel e-pošto
• priporočil izdelek prijatelju
• izpolnjen obrazec
• se je dotaknil zaslona
• pomaknjeno
• šel do blagajne
• naročil burrito
• jedel burrito
• se je zastrupil z uživanjem burita
• vstopil v kavarno z zadnjega vhoda
• vstop s sprednjega vhoda
• minimiziral aplikacijo
• prejeli potisno obvestilo
• je bil obtičal na zaslonu dlje kot X
• plačal naročilo
• kupili naročilo
• zavrnjeno posojilo

Če vzamete podatke o trajektoriji skupine uporabnikov in preučite, kako so strukturirani prehodi, lahko natančno izsledite, kako je strukturirano njihovo vedenje v aplikaciji. To je priročno narediti z grafom, v katerem so stanja vozlišča, prehodi med stanji pa robovi:

Retentioneering: kako smo napisali odprtokodna orodja za analitiko izdelkov v Pythonu in Pandas

"Pot" je zelo priročen koncept - vsebuje podrobne informacije o vseh uporabniških dejanjih z možnostjo dodajanja dodatnih podatkov v opis teh dejanj. Zaradi tega je univerzalni predmet. Če imate lepa in priročna orodja, ki vam omogočajo delo s trajektorijami, potem lahko najdete podobnosti in jih segmentirate.

Segmentacija poti se lahko na začetku zdi zelo zapletena. V običajni situaciji je tako – uporabiti morate primerjavo matrike povezljivosti ali poravnavo zaporedja. Uspelo nam je najti enostavnejši način - preučiti veliko število trajektorij in jih segmentirati z združevanjem v gruče.

Kot se je izkazalo, je možno trajektorijo spremeniti v točko z uporabo zveznih predstavitev, na primer TF-IDF. Po transformaciji trajektorija postane točka v prostoru, kjer se po oseh izriše normalizirano pojavljanje različnih dogodkov in prehodov med njimi v trajektoriji. To stvar iz ogromnega tisoč ali več dimenzionalnega prostora (dimS=vsota(vrste dogodkov)+vsota(ngramov_2 vrst)) je mogoče projicirati na ravnino z TSNE. TSNE je transformacija, ki zmanjša dimenzijo prostora na 2 osi in po možnosti ohrani relativne razdalje med točkami. V skladu s tem postane mogoče na ravnem zemljevidu, figurativni projekcijski karti trajektorij, preučiti, kako so bile točke različnih trajektorij nameščene med seboj. Analizira, kako blizu ali različni so bili drug drugemu, ali so tvorili skupine ali so bili razpršeni po zemljevidu itd.:

Retentioneering: kako smo napisali odprtokodna orodja za analitiko izdelkov v Pythonu in Pandas

Orodja za analizo ohranjanja zagotavljajo zmožnost spreminjanja zapletenih podatkov in trajektorij v pogled, ki ga je mogoče primerjati med seboj, nato pa je mogoče rezultat transformacije pregledati in interpretirati.

Ko govorimo o standardnih metodah za obdelavo trajektorij, mislimo na tri glavna orodja, ki smo jih implementirali v Retentioneering - grafe, matrike korakov in zemljevide projekcij trajektorij.

Delo z Google Analytics, Firebase in podobnimi analitičnimi sistemi je precej zapleteno in ni 100% učinkovito. Težava so številne omejitve za uporabnika, zaradi česar je delo analitika v takih sistemih odvisno od klikov miške in izbire rezin. Retentioneering omogoča delo z uporabniškimi trajektorijami in ne le s tokovi, kot je v Google Analytics, kjer je raven podrobnosti pogosto zmanjšana na lijak, čeprav zgrajen za določen segment.

Zadrževanje in primeri

Kot primer uporabe razvitega orodja lahko navedemo primer velike nišne storitve v Rusiji. To podjetje ima mobilno aplikacijo Android, ki je priljubljena med strankami. Letni promet z mobilno aplikacijo je znašal približno 7 milijonov rubljev, sezonska nihanja so bila od 60 do 130 tisoč.Isto podjetje ima tudi aplikacijo za iOS, povprečni račun uporabnika aplikacije Apple pa je bil višji od povprečnega računa odjemalec, ki uporablja aplikacijo Android - 1080 rub. v primerjavi s 1300 rub.

Podjetje se je odločilo povečati učinkovitost Android aplikacije, za katero je opravilo temeljito analizo. Ustvarjenih je bilo več deset hipotez o povečanju učinkovitosti aplikacije. Po uporabi Retentionneering se je izkazalo, da je bila težava v sporočilih, ki so bila prikazana novim uporabnikom. Prejeli so informacije o blagovni znamki, ugodnostih podjetja in cenah. A kot se je izkazalo, naj bi sporočila uporabniku pomagala pri učenju dela v aplikaciji.

Retentioneering: kako smo napisali odprtokodna orodja za analitiko izdelkov v Pythonu in Pandas

To je bilo storjeno, zaradi česar je aplikacija postala manj odstranjena, povečanje konverzije po naročilu pa je bilo 23-odstotno. Sprva so testu namenili 20 odstotkov dohodnega prometa, po nekaj dneh, po analizi prvih rezultatov in oceni trenda, pa so razmerja obrnili in, nasprotno, pustili 20 odstotkov kontrolni skupini, oz. osemdeset odstotkov je bilo uvrščenih v test. Teden dni kasneje je bilo odločeno, da se zaporedno doda testiranje še dveh hipotez. V samo sedmih tednih se je promet z aplikacijo Android v primerjavi s prejšnjo ravnjo povečal za enkrat in pol.

Kako delati z Retentioneering?

Prvi koraki so precej preprosti - prenesite knjižnico z ukazom pip install retentioneering. Repozitorij sam vsebuje že pripravljene primere in primere obdelave podatkov za nekatere naloge analitike izdelkov. Komplet se nenehno posodablja, dokler ni dovolj za prvo spoznavanje. Vsakdo lahko vzame že pripravljene module in jih takoj uporabi pri svojih nalogah - to mu omogoča, da čim hitreje in čim bolj učinkovito vzpostavi postopek podrobnejše analize in optimizacije uporabniških poti. Vse to omogoča iskanje vzorcev uporabe aplikacije skozi jasno kodo in deljenje te izkušnje s sodelavci.

Retentioneering je orodje, ki ga je vredno uporabljati skozi celotno življenjsko dobo vaše aplikacije, in tukaj je razlog:

  • Zadrževanje je učinkovito za sledenje in stalno optimizacijo poti uporabnikov ter izboljšanje poslovne uspešnosti. Tako se aplikacijam za e-trgovino pogosto dodajo nove funkcije, katerih vpliva na izdelek ni vedno mogoče pravilno predvideti. V nekaterih primerih se pojavijo težave z združljivostjo med novimi in starimi funkcijami - na primer nove "kanibalizirajo" obstoječe. In v tej situaciji je stalna analiza trajektorij ravno tisto, kar je potrebno.
  • Podobno je pri delu z oglaševalskimi kanali: novi viri prometa in oglaševalske kreative se nenehno testirajo, potrebno je spremljati sezonskost, trende in vplive drugih dogodkov, kar vodi v nastanek vedno več novih razredov problemov. To zahteva tudi stalno spremljanje in razlago uporabniške mehanike.
  • Na delovanje aplikacije nenehno vplivajo številni dejavniki. Na primer, nove izdaje razvijalcev: ko zaprejo trenutno težavo, nevede vrnejo staro ali ustvarijo popolnoma novo. Sčasoma se število novih izdaj poveča, postopek sledenja napakam pa je treba avtomatizirati, vključno z analizo poti uporabnikov.

Na splošno je Retentioneering učinkovito orodje. Vendar ni omejitev za popolnost - mogoče in treba ga je izboljšati, razviti in na njegovi podlagi zgraditi nove kul izdelke. Bolj kot je aktivna skupnost projekta, več bo forkov in pojavile se bodo nove zanimive možnosti za njegovo uporabo.

Več informacij o orodjih Retentioneering:

Vir: www.habr.com

Dodaj komentar