Ahoj, Habr. Tento článok je venovaný výsledkom štvročného vývoja súboru metód a nástrojov na spracovanie trajektórií pohybu používateľov v aplikácii alebo na webe. Autorom vývoja je , ktorý vedie tím tvorcov produktu, a je zároveň autorom tohto článku. Samotný produkt dostal názov Retentioneering, teraz bol transformovaný na open-source knižnicu a umiestnený na Github, aby ho mohol využiť každý, kto má záujem. To všetko môže byť zaujímavé pre tých, ktorí sa zaoberajú produktovým a marketingovým analýzami, propagáciou a rozvojom produktu. Mimochodom, na Habri . V novom materiáli sa hovorí o tom, čo produkt dokáže a ako ho možno využiť.
Po prečítaní článku budete schopní napísať svoj vlastný Retentioneering; môže sa ním stať akákoľvek štandardizovaná metóda spracovania trajektórií používateľov v aplikácii a mimo nej, ktorá umožňuje podrobne vidieť zvláštnosti správania a získať z toho podnety na rast biznisových metrík.
Čo je Retentioneering a na čo je to potrebné?
Naším pôvodným cieľom bolo preniesť Growth Hacking z oblasti „digitálneho mágia“ do sveta čísel, analytiky a predpovedí. Ako dôsledok - zúženie produktovej analytiky na čistú matematiku a programovanie pre tých, ktorí uprednostňujú čísla pred fantastickými príbehmi, a vzorce pred inteligentnými výrazmi ako „rebranding“, „repozicionovanie“ atď., ktoré znie pekne, ale v praxi málo pomáhajú.
Na riešenie uvedených úloh bol potrebný rámec pre analytiku cez grafy a trajektórie, a zároveň knižnica, ktorá uľahčuje typické rutiny analytika, ako spôsob popisu pravidelných úloh produktovej analytiky, ktorý by bol zrozumiteľný ako pre ľudí, tak aj pre stroje. Knižnica poskytuje možnosť opisovať správanie používateľov a prepojiť ho s biznisovými metrikami produktu na takom formálnom a jasnom jazyku, aby sa zjednodušili a automatizovali rutinné úlohy vývojárov a analytikov a uľahčila ich komunikácia s biznisom.
Retentioneering - metóda a analytické softvérové nástroje, ktoré je možné prispôsobiť a integrovať do akéhokoľvek digitálneho (a nielen) produktu.
Prácu na produkte sme začali v roku 2015. Teraz je to už hotová, hoci zatiaľ nie dokonalá sada nástrojov na Python a Pandas na prácu s údajmi, modely strojového učenia s api podobným sklearn, nástroje na interpretáciu výsledkov modelov strojového učenia eli5 a shap.
Všetko toto je zabalené . Používať knižnicu nie je ťažké, prakticky ktokoľvek, kto má rád produktovú analytiku, ale predtým nemal skúsenosti s kódovaním, môže naše analytické metódy aplikovať na svoje údaje samostatne a bez výrazných nákladov na čas.
Programátor, tvorca aplikácie alebo člen vývojového či testovacieho tímu, ktorý sa predtým nikdy nezaoberal analytikou, môže začať experimentovať s týmto kódom a vidieť vzory používania svojej aplikácie bez vonkajšej pomoci.
Používateľská trajektória ako základný prvok analýzy a metódy jej spracovania
Používateľská trajektória je sekvencia stavov používateľa v určitých časových bodoch. Čo sa týka udalostí, môžu byť z rôznych zdrojov údajov, online aj offline. Udalosti, ktoré sa stali používateľovi, sú súčasťou jeho trajektórie. Príklady:
• klikol na tlačidlo
• videl obrázok
• dostal sa na obrazovku
• dostal e-mail
• odporučil produkt priateľovi
• vyplnil formulár
• ťukol na obrazovku
• posunul sa nadol
• priblížil sa k pokladni
• objednal burrito
• zjedol burrito
• dostal otravu z jedla burrita
• vošiel do kaviarne zadným vchodom
• vošiel predným vchodom
• zavrel aplikáciu
• dostal push notifikáciu
• pozeral do obrazovky dlhšie ako čas X
• zaplatil objednávku
• vyzdvihol objednávku
• dostal odmietnutie úveru
Ak vezmeme údaje o trajektóriách skupiny používateľov a preskúmame, ako prebiehajú prechody, môžeme sledovať, ako sa presne vyvíja ich správanie v aplikácii. Je to pohodlné zrealizovať cez graf, v ktorom sú stavy — uzly a prechody medzi stavmi — hrany:

„Trajektória“ je veľmi užitočný pojem – obsahuje podrobné informácie o všetkých akciách používateľov, s možnosťou pridania akýchkoľvek ďalších údajov k opisu týchto akcií. To ju robí univerzálnym objektom. Ak máte krásne a užitočné nástroje, ktoré umožňujú pracovať s trajektóriami, môžete nájsť podobnosti a segmentovať ich.
Segmentácia trajektórií sa na prvý pohľad môže zdať ako niečo veľmi zložité. V bežnej situácii to tak aj je – je potrebné používať porovnanie matíc konektivity alebo vyrovnávanie sekvencií. Nám sa podarilo nájsť jednoduchší prístup – študovaním veľkého množstva trajektórií a segmentáciou prostredníctvom klastrovania.
Ako sa ukázalo, je možné premeniť trajektóriu na bod pomocou nepretržitých reprezentácií, napríklad . Po transformácii sa trajektória stáva bodom v priestore, kde sú na osiach zobrazené normalizované výskyty rôznych udalostí a prechodov medzi nimi. Tento objekt z obrovského tisíc- a viac rozmerného priestoru (dimS=súčet(typy udalostí)+súčet(typy n-gramov_2)), je možné transformovať na rovinu pomocou . TSNE – transformácia, znižuje dimenziu priestoru na 2 osi a čo najviac zachováva relatívne vzdialenosti medzi bodmi. Tým sa stáva možné na plochej mape, obrazovej projekčnej mape trajektórií, skúmať, ako boli medzi sebou rozložené body rôznych trajektórií. Analyzuje sa, ako blízko alebo ďaleko od seba boli, či vytvárali klastre alebo sa rozptýlili po mape a pod.:

Analytické nástroje Retentioneering umožňujú premeniť hromadu zložitých údajov a trajektórií na reprezentáciu, ktorú je možné porovnávať medzi sebou, a potom skúmať a interpretovať výsledok transformácie.
Keď hovoríme o štandardných metódach spracovania trajektórií, máme na mysli tri základné nástroje, ktoré sme implementovali v Retentioneering – grafy, step matice a mapy projekcie trajektórií.
Práca s Google Analytics, Firebase a podobnými analytickými systémami je dosť zložitá a nie vždy 100% efektívna. Problém spočíva v niekoľkých obmedzeniach pre používateľov, čo spôsobuje, že práca analytika v týchto systémoch sa obmedzuje na kliky myšou a výber segmentov. Retentioneering umožňuje pracovať s používateľskými trajektóriami, a nie len s kanálmi, ako to je v Google Analytics, kde je úroveň detailnosti často obmedzená na kanál, aj keď je vytvorený pre určitý segment.
Retentioneering a prípady
Ako príklad použitia vyvinutého nástroja môžeme uviesť prípad veľkého nika služieb v Rusku. Táto spoločnosť má mobilnú aplikáciu pre Android, ktorá je populárna medzi klientmi. Ročný obrat z mobilnej aplikácie predstavoval približne 7 miliónov rubľov, sezónne fluktuácie sa pohybovali medzi 60-130 tisíc. Táto spoločnosť má aj aplikáciu pre iOS, pričom priemerná hodnota objednávky používateľa «jablkových» aplikácií bola vyššia ako priemerná hodnota objednávky používateľa, ktorý využíval aplikáciu pre Android — 1080 rubľov oproti 1300 rubľom.
Spoločnosť sa rozhodla zvýšiť efektivitu Android aplikácie, za čo vykonala podrobnú analýzu. Bolo vytvorených niekoľko desiatok hypotéz na zvýšenie výkonnosti aplikácie. Po použití Retentioneering sa ukázalo, že problém spočíval v správach, ktoré sa zobrazovali novým používateľom. Tí dostávali informácie o značke, výhodách spoločnosti a cenách. Ale, ako sa ukázalo, správy mali pomôcť používateľovi naučiť sa pracovať v aplikácii.

To sa aj uskutočnilo, vďaka čomu sa aplikácia začala menej odstraňovať, a rast konverzie objednávok dosiahol 23%. Najprv odovzdali na test 20 percent prichádzajúceho trafiku, ale po niekoľkých dňoch, po analýze prvých výsledkov a posúdení trendu — zrkadlovo zmenili proporcie a naopak, ponechali 20 percent pre kontrolnú skupinu a osemdesiat percent umiestnili do testu. O týždeň neskôr bolo prijaté rozhodnutie postupne pridať testovanie ďalších dvoch hypotéz. Celkovo po siedmich týždňoch sa obrat z Android aplikácie zvýšil o polovicu v porovnaní s predchádzajúcou úrovňou.
Ako pracovať s Retentioneering?
Prvé kroky sú pomerne jednoduché — nainštalujeme knižnicu príkazom pip install retentioneering. V samotnom repozitári sú pripravené príklady a prípady spracovania dát pre niektoré úlohy produktovej analýzy. Sada sa neustále dopĺňa, aj keď zatiaľ je dostatočná na prvé oboznámenie. Každý môže vziať hotové moduly a okamžite ich aplikovať na svoje úlohy — to umožňuje rýchlo a efektívne nastaviť proces podrobnejšej analýzy a optimalizácie používateľských ciest. To všetko ponúka možnosť nájsť vzory používania aplikácie prostredníctvom zrozumiteľného kódu a prenášať tieto skúsenosti kolegom.
Retentioneering — nástroj, ktorý by sa mal používať počas celého životného cyklu aplikácie, a to z nasledujúcich dôvodov:
- Retentioneering je účinný pri sledovaní a kontinuálnej optimalizácii používateľských ciest a zlepšovaní obchodných ukazovateľov. Napríklad, v ecommerce aplikáciách sa často pridávajú nové funkcie, ktorých vplyv na produkt nie je vždy možné presne predpovedať. V niektorých prípadoch vznikajú problémy s kompatibilitou nových a starých funkcií — napríklad, nové "kanibalizujú" už existujúce. A v tejto situácii je potrebná neustála analýza ciest.
- Podobná situácia je aj pri práci s reklamnými kanálmi: neustále sa testujú nové zdroje dopravy a reklamné kreatívy, je potrebné sledovať sezónnosť, trendy a vplyv iných udalostí, čo vedie k vzniku nových tried problémov. Aj tu je potrebné neustále sledovanie a interpretácia používateľských mechaník.
- Existuje celá rada faktorov, ktoré neustále ovplyvňujú fungovanie aplikácie. Napríklad, nové vydania od vývojárov: tým, že uzatvárajú aktuálny problém, neúmyselne vracajú starý alebo vytvárajú úplne nový. Postupom času sa počet nových vydaní zvyšuje a proces sledovania chýb je potrebné automatizovať — vrátane analýzy ciest používateľov.
Celkovo je Retentioneering účinný nástroj. Ale dokonalosti nie je koniec — môže sa a má sa zlepšovať, rozvíjať, budovať na jeho základe nové skvelé produkty. Čím aktívnejšie bude komunitné prostredie projektu, tým viac bude forkov a objavia sa nové zaujímavé varianty jeho použitia.
Dodatočné informácie o nástrojoch Retentioneering:
- Naša stránka:
- a registrácia na účasť
- Bezplatný
Zdroj: habr.com
