Išlaikymas: kaip sukūrėme atvirojo kodo įrankius, skirtus produktų analizei „Python“ ir „Pandas“.

Sveiki, Habr. Šis straipsnis skirtas ketverius metus trukusio metodų ir įrankių rinkinio, skirto vartotojų judėjimo trajektorijoms programoje arba svetainėje apdoroti, kūrimo rezultatams. Kūrimo autorius - Maksimas Godzi, kuri vadovauja produktų kūrėjų komandai ir yra straipsnio autorė. Pats produktas buvo vadinamas Retentioneering; dabar jis buvo konvertuotas į atvirojo kodo biblioteką ir paskelbtas Github, kad visi galėtų juo naudotis. Visa tai gali dominti tuos, kurie užsiima produktų ir rinkodaros analize, reklama ir produktų kūrimu. Beje, ant Habré jau buvo publikuotas straipsnis apie vieną iš darbo su Retentioneering atvejų. Naujoje medžiagoje paaiškinama, ką gaminys gali ir kaip jį galima naudoti.

Perskaitę straipsnį, patys galėsite parašyti savo išlaikymą; tai gali būti bet koks standartizuotas metodas, skirtas apdoroti naudotojų trajektorijas programoje ir už jos ribų, leidžiantis išsamiai pamatyti elgesio ypatybes ir iš to gauti įžvalgų augimui. verslo metrikų.

Kas yra išlaikymas ir kodėl jis reikalingas?

Pradinis mūsų tikslas buvo perkelti Growth Hacking iš „skaitmeninio raganavimo“ pasaulio į skaičių, analizės ir prognozių pasaulį. Dėl to produktų analizė sumažinama iki grynos matematikos ir programavimo tiems, kurie mėgsta skaičius, o ne fantastines istorijas, o formules – į tokius populiarius žodžius kaip „rebranding“, „repositioning“ ir pan., kurie skamba gražiai, bet praktiškai mažai padeda.

Kad išspręstume šias problemas, mums reikėjo analizės sistemos per grafikus ir trajektorijas, o kartu ir bibliotekos, kuri supaprastintų įprastas analitiko kasdienybes, kad būtų galima apibūdinti įprastas produktų analizės užduotis, kurios būtų suprantamos ir žmonėms, ir robotams. Biblioteka suteikia galimybę aprašyti vartotojų elgseną ir susieti ją su produktų verslo metrika tokia formalia ir aiškia kalba, kad supaprastina ir automatizuoja įprastus kūrėjų ir analitikų darbus, palengvina jų bendravimą su verslu.

Retentioneering – tai metodas ir analitinės programinės įrangos įrankiai, kuriuos galima pritaikyti ir integruoti į bet kurį skaitmeninį (ir ne tik) produktą.

Su gaminiu pradėjome dirbti 2015 m. Dabar tai yra paruoštas, nors dar ne idealus, įrankių rinkinys Python ir Pandas, skirtas darbui su duomenimis, mašininio mokymosi modeliai su sklearn tipo API, įrankiai mašininio mokymosi modelių eli5 ir shap rezultatams interpretuoti.

Viskas suvyniota į patogią atvirojo kodo biblioteką atviroje Github saugykloje – retentioneering-tools. Naudotis biblioteka nesudėtinga, beveik kiekvienas, mėgstantis produktų analizę, bet anksčiau nerašęs kodo, gali savarankiškai ir be didelių laiko investicijų pritaikyti mūsų analizės metodus savo duomenims.

Na, o programuotojas, aplikacijų kūrėjas ar kūrimo ar testavimo komandos narys, niekada anksčiau nedaręs analizės, gali pradėti žaisti su šiuo kodu ir pamatyti savo programos naudojimo dėsningumus be pašalinės pagalbos.

Vartotojo trajektorija kaip pagrindinis analizės elementas ir jos apdorojimo metodai

Vartotojo trajektorija yra vartotojo būsenų seka tam tikrais laiko momentais. Be to, įvykiai gali būti gaunami iš skirtingų duomenų šaltinių, tiek prisijungus, tiek neprisijungus. Įvykiai, kurie nutinka vartotojui, yra jo trajektorijos dalis. Pavyzdžiai:
• paspaudė mygtuką
• pamatė paveikslėlį
• paspauskite ekraną
• gavo el. laišką
• rekomendavo prekę draugui
• užpildė anketą
• bakstelėjo ekraną
• slinktas
• nuėjo prie kasos
• užsisakė burito
• suvalgė buritą
• apsinuodijo suvalgęs burito
• įėjo į kavinę iš galinio įėjimo
• įeinama iš priekinio įėjimo
• sumažino taikymo sritį
• gavo tiesioginį pranešimą
• buvo įstrigęs ekrane ilgiau nei X
• sumokėjo už užsakymą
• įsigijo užsakymą
• buvo atsisakyta paskolinti

Jei paimsite vartotojų grupės trajektorijos duomenis ir ištirsite, kaip struktūruojami perėjimai, galite tiksliai atsekti, kaip struktūrizuota jų elgsena programoje. Patogu tai padaryti naudojant grafiką, kuriame būsenos yra mazgai, o perėjimai tarp būsenų yra briaunos:

Išlaikymas: kaip sukūrėme atvirojo kodo įrankius, skirtus produktų analizei „Python“ ir „Pandas“.

„Trajektorija“ yra labai patogi sąvoka – joje pateikiama išsami informacija apie visus vartotojo veiksmus, su galimybe prie šių veiksmų aprašymo pridėti bet kokių papildomų duomenų. Tai daro jį universaliu objektu. Jei turite gražių ir patogių įrankių, leidžiančių dirbti su trajektorijomis, galite rasti panašumų ir juos segmentuoti.

Trajektorijos segmentavimas iš pradžių gali atrodyti labai sudėtingas. Įprastoje situacijoje taip yra – reikia naudoti ryšio matricos palyginimą arba sekos derinimą. Pavyko rasti paprastesnį būdą – ištirti daugybę trajektorijų ir suskirstyti jas į grupes.

Kaip paaiškėjo, trajektoriją galima paversti tašku naudojant ištisinius vaizdus, ​​pavyzdžiui, TF-IDF. Po transformacijos trajektorija tampa erdvės tašku, kuriame išilgai ašių brėžiamas normalizuotas įvairių įvykių atsiradimas ir perėjimai tarp jų trajektorijoje. Šis dalykas iš didžiulės tūkstančio ar daugiau matmenų erdvės (dimS = suma (įvykių tipai) + suma (ngrams_2 tipai)) gali būti suprojektuotas į plokštumą naudojant TSNE. TSNE yra transformacija, kuri sumažina erdvės matmenis iki 2 ašių ir, jei įmanoma, išsaugo santykinius atstumus tarp taškų. Atitinkamai plokščiame žemėlapyje, vaizdiniame trajektorijų projekciniame žemėlapyje, tampa įmanoma ištirti, kaip skirtingų trajektorijų taškai išsidėstė tarpusavyje. Ji analizuoja, kiek jie buvo arti ar skirtingi vienas kitam, ar jie sudarė grupes, ar buvo išsibarstę po žemėlapį ir pan.:

Išlaikymas: kaip sukūrėme atvirojo kodo įrankius, skirtus produktų analizei „Python“ ir „Pandas“.

Išlaikymo analizės įrankiai suteikia galimybę sudėtingus duomenis ir trajektorijas paversti vaizdu, kurį galima palyginti vienas su kitu, o tada transformacijos rezultatą galima ištirti ir interpretuoti.

Kalbėdami apie standartinius trajektorijų apdorojimo metodus, turime omenyje tris pagrindinius įrankius, kuriuos įdiegėme Retentioneering – grafikus, žingsnių matricas ir trajektorijų projekcijų žemėlapius.

Darbas su Google Analytics, Firebase ir panašiomis analizės sistemomis yra gana sudėtingas ir ne 100% efektyvus. Problema yra daugybė vartotojui taikomų apribojimų, dėl kurių analitiko darbas tokiose sistemose priklauso nuo pelės paspaudimų ir pjūvių pasirinkimo. Išlaikymas leidžia dirbti su naudotojų trajektorijomis, o ne tik su kanalais, kaip „Google Analytics“, kur detalumo lygis dažnai sumažinamas iki kanalo, nors ir kuriamo tam tikram segmentui.

Išlaikymas ir bylos

Kaip sukurto įrankio naudojimo pavyzdį galime paminėti didelės nišinės paslaugos atvejį Rusijoje. Ši įmonė turi „Android“ mobiliąją programą, kuri yra populiari tarp klientų. Metinė apyvarta iš mobiliosios aplikacijos siekė apie 7 milijonus rublių, sezoniniai svyravimai svyravo nuo 60 iki 130 tūkst.. Ta pati įmonė turi ir aplikaciją iOS, o vidutinė Apple aplikacijos vartotojo sąskaita buvo didesnė nei vidutinė klientas, naudojantis „Android“ programą - 1080 rub. palyginti su 1300 rub.

Bendrovė nusprendė padidinti Android aplikacijos efektyvumą, dėl kurios atliko nuodugnią analizę. Sukurta kelios dešimtys hipotezių apie programos efektyvumo didinimą. Panaudojus Retentionneering paaiškėjo, kad problema buvo naujiems vartotojams rodomuose pranešimuose. Jie gavo informaciją apie prekės ženklą, įmonės privalumus ir kainas. Tačiau, kaip paaiškėjo, pranešimai turėjo padėti vartotojui išmokti dirbti programoje.

Išlaikymas: kaip sukūrėme atvirojo kodo įrankius, skirtus produktų analizei „Python“ ir „Pandas“.

Tai buvo padaryta, todėl programa tapo mažiau pašalinta, o konversija į užsakymą padidėjo 23%. Iš pradžių testui buvo skirta 20 procentų įeinančio srauto, tačiau po kelių dienų, išanalizavus pirmuosius rezultatus ir įvertinus tendenciją, proporcijos pasikeitė ir, priešingai, kontrolinei grupei paliko 20 procentų, o aštuoniasdešimt procentų buvo įtraukta į testą. Po savaitės buvo nuspręsta nuosekliai pridėti dar dviejų hipotezių testavimą. Vos per septynias savaites apyvarta iš Android aplikacijos išaugo pusantro karto, lyginant su ankstesniu lygiu.

Kaip dirbti su Retentioneering?

Pirmieji žingsniai gana paprasti – atsisiųskite biblioteką naudodami pip install retentioneering komandą. Pačioje saugykloje yra paruošti kai kurių produktų analizės užduočių duomenų apdorojimo pavyzdžiai ir atvejai. Rinkinys nuolat atnaujinamas, kol jo užtenka pirmai pažinčiai. Kiekvienas gali paimti paruoštus modulius ir iš karto pritaikyti juos savo užduotims – tai leidžia iš karto nustatyti išsamesnės vartotojų trajektorijų analizės ir optimizavimo procesą kuo greičiau ir efektyviau. Visa tai leidžia per aiškų kodą rasti programų naudojimo modelius ir pasidalinti šia patirtimi su kolegomis.

Išsaugojimas yra įrankis, kurį verta naudoti visą programos veikimo laiką, todėl štai kodėl:

  • Išlaikymas yra veiksmingas norint sekti ir nuolat optimizuoti vartotojų trajektorijas ir pagerinti verslo našumą. Taigi į elektroninės prekybos programas dažnai pridedamos naujos funkcijos, kurių poveikį produktui ne visada galima teisingai numatyti. Kai kuriais atvejais iškyla naujų ir senų funkcijų suderinamumo problemų - pavyzdžiui, naujos „kanibalizuoja“ esamas. Ir šioje situacijoje nuolatinė trajektorijų analizė yra būtent tai, ko reikia.
  • Panaši situacija ir dirbant su reklamos kanalais: nuolat testuojami nauji srauto šaltiniai ir reklamos kūriniai, būtina stebėti sezoniškumą, tendencijas ir kitų įvykių įtaką, o tai lemia vis naujų problemų klasių atsiradimą. Tam taip pat reikia nuolat stebėti ir aiškinti vartotojo mechaniką.
  • Yra keletas veiksnių, kurie nuolat veikia programos veikimą. Pavyzdžiui, nauji kūrėjų leidimai: uždarydami esamą problemą, jie nesąmoningai grąžina seną arba sukuria visiškai naują. Laikui bėgant naujų leidimų skaičius auga, o klaidų sekimo procesas turi būti automatizuotas, įskaitant vartotojų trajektorijų analizę.

Apskritai išlaikymas yra veiksminga priemonė. Tačiau tobulumui ribų nėra – jį galima ir reikia tobulinti, tobulinti ir jo pagrindu sukurti naujus šaunius produktus. Kuo aktyvesnė projekto bendruomenė, tuo daugiau atsiras šakučių ir atsiras naujų įdomių jo panaudojimo galimybių.

Daugiau informacijos apie išlaikymo įrankius:

Šaltinis: www.habr.com

Добавить комментарий