Retentioneering: ako sme napísali open-source nástroje na analýzu produktov v Pythone a Pandas

Ahoj Habr. Tento článok je venovaný výsledkom štvorročného vývoja súboru metód a nástrojov na spracovanie trajektórií pohybu používateľov v aplikácii alebo na webovej stránke. Autor vývoja - Maxim Godzi, ktorý vedie tím tvorcov produktov a je aj autorom článku. Samotný produkt sa nazýval Retentioneering; teraz bol prevedený na knižnicu s otvoreným zdrojovým kódom a zverejnený na Github, aby ho mohol používať ktokoľvek. To všetko môže byť zaujímavé pre tých, ktorí sa podieľajú na analýze produktov a marketingu, propagácii a vývoji produktov. Mimochodom, na Habré o jednom z prípadov práce s Retentioneering už vyšiel článok. Nový materiál vysvetľuje, čo produkt dokáže a ako sa dá použiť.

Po prečítaní článku si budete môcť napísať svoj vlastný Retentioneering; môže to byť akákoľvek štandardizovaná metóda na spracovanie trajektórií používateľov v aplikácii a mimo nej, čo vám umožní podrobne vidieť charakteristiky správania a získať z nich poznatky pre rast. obchodných metrík.

Čo je retencia a prečo je potrebná?

Naším prvotným cieľom bolo posunúť Growth Hacking zo sveta „digitálneho čarodejníctva“ do sveta čísel, analýz a prognóz. V dôsledku toho sa produktová analytika redukuje na čistú matematiku a programovanie pre tých, ktorí uprednostňujú čísla namiesto fantastických príbehov a vzorce pred módnymi slovami ako „rebranding“, „repositioning“ atď., ktoré znejú pekne, ale v praxi málo pomáhajú.

Na vyriešenie týchto problémov sme potrebovali rámec pre analýzu prostredníctvom grafov a trajektórií a zároveň knižnicu, ktorá zjednodušuje typické analytické rutiny, ako spôsob, ako opísať bežné úlohy analýzy produktov, ktoré by boli zrozumiteľné pre ľudí aj roboty. Knižnica poskytuje možnosť opísať správanie používateľov a prepojiť ho s obchodnými metrikami produktu v tak formálnom a jasnom jazyku, že zjednodušuje a automatizuje rutinné úlohy vývojárov a analytikov a uľahčuje ich komunikáciu s podnikom.

Retentioneering je metóda a analytické softvérové ​​nástroje, ktoré je možné prispôsobiť a integrovať do akéhokoľvek digitálneho (nielen) produktu.

Na produkte sme začali pracovať v roku 2015. Teraz je to hotová, aj keď ešte nie ideálna, sada nástrojov v Pythone a Pandas na prácu s dátami, modely strojového učenia s api typu sklearn, nástroje na interpretáciu výsledkov modelov strojového učenia eli5 a shap.

Všetko je zabalené do pohodlnej knižnice s otvoreným zdrojovým kódom v otvorenom úložisku Github - retenční nástroje. Používanie knižnice nie je ťažké; takmer každý, kto má rád produktovú analýzu, ale ešte nepísal kód, môže použiť naše analytické metódy na svoje dáta nezávisle a bez výrazných časových investícií.

Programátor, tvorca aplikácií alebo člen vývojového alebo testovacieho tímu, ktorý nikdy predtým nerobil analýzy, sa môže začať hrať s týmto kódom a vidieť vzorce používania svojej aplikácie bez vonkajšej pomoci.

Užívateľská trajektória ako základný prvok analýzy a metódy jej spracovania

Trajektória používateľa je postupnosť používateľských stavov v určitých časových bodoch. Okrem toho môžu udalosti pochádzať z rôznych zdrojov údajov, online aj offline. Udalosti, ktoré sa používateľovi stanú, sú súčasťou jeho trajektórie. Príklady:
• stlačili tlačidlo
• videl obrázok
• zasiahnuť obrazovku
• dostal e-mail
• odporučili produkt priateľovi
• vyplnil formulár
• poklepal na obrazovku
• roloval
• išiel k pokladni
• objednal si burrito
• jedol burrito
• otrávil sa zjedením burrita
• vošiel do kaviarne zadným vchodom
• vchádzalo sa z predného vchodu
• minimalizovali aplikáciu
• prijali oznámenie push
• bola prilepená na obrazovke dlhšie ako X
• zaplatil za objednávku
• zakúpili objednávku
• bol odmietnutý úver

Ak vezmete údaje o trajektórii skupiny používateľov a preštudujete si, ako sú prechody štruktúrované, môžete presne sledovať, ako je štruktúrované ich správanie v aplikácii. Je vhodné to urobiť pomocou grafu, v ktorom sú stavy uzly a prechody medzi stavmi sú hrany:

Retentioneering: ako sme napísali open-source nástroje na analýzu produktov v Pythone a Pandas

„Trajektória“ je veľmi pohodlný koncept - obsahuje podrobné informácie o všetkých akciách používateľa s možnosťou pridania ďalších údajov k popisu týchto akcií. To z neho robí univerzálny objekt. Ak máte krásne a pohodlné nástroje, ktoré vám umožňujú pracovať s trajektóriami, môžete nájsť podobnosti a segmentovať ich.

Segmentácia trajektórie sa na prvý pohľad môže zdať veľmi komplikovaná. V bežnej situácii je to tak – musíte použiť porovnanie matrice konektivity alebo zarovnanie sekvencií. Podarilo sa nám nájsť jednoduchší spôsob – študovať veľké množstvo trajektórií a segmentovať ich pomocou zhlukovania.

Ako sa ukázalo, trajektóriu je možné zmeniť na bod pomocou spojitých zobrazení, napr. TF-IDF. Po transformácii sa trajektória stáva bodom v priestore, kde sa pozdĺž osí vykresľuje normalizovaný výskyt rôznych udalostí a prechody medzi nimi v trajektórii. Túto vec z obrovského tisícrozmerného priestoru (dimS=súčet(typy udalostí)+súčet(typy ngramov_2)) možno premietnuť do roviny pomocou TSNE. TSNE je transformácia, ktorá redukuje rozmer priestoru na 2 osi a pokiaľ je to možné, zachováva relatívne vzdialenosti medzi bodmi. V súlade s tým je možné na plochej mape, obrazovej projekčnej mape trajektórií, študovať, ako boli medzi sebou umiestnené body rôznych trajektórií. Analyzuje, ako blízko alebo rozdielne boli pri sebe, či tvorili zhluky alebo boli roztrúsené po mape atď.:

Retentioneering: ako sme napísali open-source nástroje na analýzu produktov v Pythone a Pandas

Analytické nástroje uchovávania poskytujú možnosť premeniť zložité údaje a trajektórie na pohľad, ktorý možno navzájom porovnávať, a potom je možné preskúmať a interpretovať výsledok transformácie.

Ak hovoríme o štandardných metódach spracovania trajektórií, máme na mysli tri hlavné nástroje, ktoré sme implementovali do Retentioneeringu - grafy, krokové matice a mapy projekcie trajektórie.

Práca s Google Analytics, Firebase a podobnými analytickými systémami je pomerne zložitá a nie 100% efektívna. Problémom je množstvo obmedzení pre používateľa, v dôsledku čoho práca analytika v takýchto systémoch závisí od kliknutí myšou a výberu rezov. Retentioneering umožňuje pracovať s trajektóriami používateľov a nielen s lievikmi, ako je to v službe Google Analytics, kde sa úroveň podrobností často znižuje na lievik, aj keď je vytvorený pre určitý segment.

Zadržiavanie a prípady

Ako príklad použitia vyvinutého nástroja môžeme uviesť prípad veľkej špecializovanej služby v Rusku. Táto spoločnosť má medzi zákazníkmi obľúbenú mobilnú aplikáciu pre Android. Ročný obrat z mobilnej aplikácie bol asi 7 miliónov rubľov, sezónne výkyvy sa pohybovali od 60 do 130 tisíc Tá istá spoločnosť má aplikáciu aj pre iOS a priemerný účet používateľa aplikácie Apple bol vyšší ako priemerný účet klient používajúci aplikáciu pre Android - 1080 rub. oproti 1300 rub.

Spoločnosť sa rozhodla zvýšiť efektivitu Android aplikácie, pre ktorú vykonala dôkladnú analýzu. Vzniklo niekoľko desiatok hypotéz o zvýšení efektivity aplikácie. Po použití Retentionneering sa ukázalo, že problém bol v správach, ktoré sa zobrazovali novým používateľom. Získali informácie o značke, firemných benefitoch a cenách. Ako sa však ukázalo, správy mali pomôcť používateľovi naučiť sa pracovať v aplikácii.

Retentioneering: ako sme napísali open-source nástroje na analýzu produktov v Pythone a Pandas

To sa stalo, v dôsledku čoho sa aplikácia menej odinštalovala a nárast konverzie na objednávku bol 23%. Najprv sa testu venovalo 20 percent prichádzajúcej návštevnosti, no po niekoľkých dňoch po analýze prvých výsledkov a vyhodnotení trendu pomery obrátili a naopak nechali 20 percent pre kontrolnú skupinu. osemdesiat percent sa umiestnilo v teste. O týždeň neskôr bolo rozhodnuté postupne pridať testovanie dvoch ďalších hypotéz. Len za sedem týždňov sa obrat z aplikácie pre Android zvýšil jedenapolnásobne oproti predchádzajúcej úrovni.

Ako pracovať s Retentioneeringom?

Prvé kroky sú celkom jednoduché – stiahnite si knižnicu pomocou príkazu pip install keepeering. Samotné úložisko obsahuje hotové príklady a prípady spracovania údajov pre niektoré úlohy produktovej analýzy. Súprava je neustále aktualizovaná, až kým nestačí na prvé zoznámenie. Každý si môže zobrať hotové moduly a okamžite ich aplikovať na svoje úlohy – to mu umožňuje okamžite čo najrýchlejšie a najefektívnejšie nastaviť proces detailnejšej analýzy a optimalizácie užívateľských trajektórií. To všetko umožňuje nájsť vzory používania aplikácií prostredníctvom prehľadného kódu a zdieľať túto skúsenosť s kolegami.

Retentioneering je nástroj, ktorý sa oplatí používať počas životnosti vašej aplikácie a tu je dôvod:

  • Retentioneering je účinný na sledovanie a nepretržitú optimalizáciu trajektórií používateľov a zlepšovanie výkonnosti podniku. Do aplikácií elektronického obchodu sa tak často pridávajú nové funkcie, ktorých vplyv na produkt nemožno vždy správne predpovedať. V niektorých prípadoch vznikajú problémy s kompatibilitou medzi novými a starými funkciami – napríklad nové „kanibalizujú“ existujúce. A v tejto situácii je neustála analýza trajektórií presne to, čo je potrebné.
  • Podobná situácia je aj pri práci s reklamnými kanálmi: neustále sa testujú nové zdroje návštevnosti a reklamné kreatívy, je potrebné sledovať sezónnosť, trendy a vplyv iných udalostí, čo vedie k vzniku stále nových a nových tried problémov. To si tiež vyžaduje neustále sledovanie a interpretáciu používateľskej mechaniky.
  • Existuje množstvo faktorov, ktoré neustále ovplyvňujú výkon aplikácie. Napríklad nové vydania od vývojárov: zatvoria aktuálny problém, nevedomky vrátia starý alebo vytvoria úplne nový. Postupom času počet nových vydaní rastie a proces sledovania chýb je potrebné automatizovať, a to aj pomocou analýzy trajektórií používateľov.

Celkovo je Retentioneering účinným nástrojom. Ale dokonalosť nemá žiadne hranice – môže a mala by sa zlepšovať, vyvíjať a na jej základe stavať nové skvelé produkty. Čím aktívnejšia je komunita projektu, tým viac fórov bude a objavia sa nové zaujímavé možnosti jej využitia.

Viac informácií o nástrojoch uchovávania údajov:

Zdroj: hab.com

Pridať komentár