Retentioneering: jak jsme napsali open source nástroje pro analýzu produktů v Pythonu a Pandas

Čau Habr. Tento článek je věnován výsledkům čtyřletého vývoje sady metod a nástrojů pro zpracování trajektorií pohybu uživatelů v aplikaci nebo na webu. Autor vývoje - Maxim Godzi, který stojí v čele týmu produktových tvůrců, je zároveň autorem článku. Samotný produkt se jmenoval Retentioneering, nyní byl převeden na open-source knihovnu a hostován na Githubu, aby jej mohl používat kdokoli. To vše může být zajímavé pro ty, kdo se podílejí na analýze produktů a marketingu, propagaci a vývoji produktů. Mimochodem na Habré o jednom z případů práce s Retentioneering již vyšel článek. Nový materiál vysvětluje, čeho je produkt schopen a jak jej lze použít.

Po přečtení článku si budete moci napsat svůj vlastní Retentioneering, může to být jakákoli standardizovaná metoda pro zpracování trajektorií uživatelů v aplikaci i mimo ni, což vám umožní podrobně vidět vlastnosti chování a získat z toho poznatky pro růst obchodní metriky.

Co je Retentioneering a proč je potřeba?

Zpočátku bylo naším cílem posunout Growth Hacking ze světa „digitálního čarodějnictví“ do světa čísel, analýz a prognóz. Výsledkem je, že produktová analytika je redukována na čistou matematiku a programování pro ty, kteří preferují čísla místo fantastických příběhů a vzorce před chytrými slovy jako „rebranding“, „repositioning“ atd., která zní krásně, ale v praxi ne. hodně pomoci.

Abychom tyto problémy vyřešili, potřebovali jsme rámec pro analýzu prostřednictvím grafů a trajektorií a zároveň knihovnu, která zjednodušuje typické analytické rutiny jako způsob, jak popsat běžné úlohy analýzy produktů, které by byly srozumitelné jak lidem, tak robotům. Knihovna poskytuje možnost popsat chování uživatelů a propojit je s obchodními metrikami produktů v tak formálním a jasném jazyce, aby zjednodušila a automatizovala rutinní úkoly vývojářů a analytiků a usnadnila jejich komunikaci s firmou.

Retentioneering je metoda a analytické softwarové nástroje, které lze přizpůsobit a integrovat do jakéhokoli digitálního (nejen) produktu.

Na produktu jsme začali pracovat v roce 2015. Nyní je to hotová, i když zatím ne ideální sada nástrojů pro práci s daty v Pythonu a Pandas, modely strojového učení s api sklearn, nástroje pro interpretaci výsledků eli5 a modely strojového učení shap.

Všechno je zabalené do pohodlné knihovny s otevřeným zdrojovým kódem v otevřeném úložišti Github - retenční nástroje. Používání knihovny není obtížné, téměř každý, kdo miluje produktovou analýzu, ale dosud nenapsal kód, může naše analytické metody aplikovat na svá data sám a bez toho, aby trávil spoustu času.

Programátor, tvůrce aplikací nebo člen vývojového nebo testovacího týmu, který nikdy předtím nedělal analýzy, si může začít hrát s tímto kódem a vidět vzorce při používání své aplikace bez cizí pomoci.

Uživatelská trajektorie jako základní prvek analýzy a metody jejího zpracování

Uživatelská trajektorie je posloupnost uživatelských stavů v určitých časových bodech. Kromě toho mohou události pocházet z různých zdrojů dat, online i offline. Události, které se uživateli staly, jsou součástí jeho trajektorie. Příklady:
• stiskl tlačítko
• viděl obrázek
• klepněte na obrazovku
• obdržel e-mail
• doporučil produkt známému
• vyplnil formulář
• poklepal na obrazovku
• roloval
• přiblížil se k pokladně
• objednal burrito
• snědl burrito
• otrávený burritem, které snědl
• vešel do kavárny zadním vchodem
• vcházelo se z hlavního vchodu
• minimalizoval aplikaci
• obdržel oznámení push
• hloupý na obrazovce po delší dobu Х
• zaplatil za objednávku
• vykoupil objednávku
• byla zamítnuta půjčka

Pokud vezmete data trajektorie skupiny uživatelů a prostudujete si, jak přechody fungují, můžete přesně vidět, jak je vytvořeno jejich chování v aplikaci. Je vhodné to udělat pomocí grafu, ve kterém jsou stavy uzly a přechody mezi stavy jsou hrany:

Retentioneering: jak jsme napsali open source nástroje pro analýzu produktů v Pythonu a Pandas

"Trajektorie" je velmi pohodlný koncept - obsahuje podrobné informace o všech akcích uživatele s možností přidat k popisu těchto akcí jakákoli další data. To z něj dělá obecný objekt. Pokud máte krásné a pohodlné nástroje, které vám umožňují pracovat s trajektoriemi, můžete najít podobnosti a segmentovat je.

Segmentace trajektorie se může na první pohled zdát velmi komplikovaná. V normální situaci to platí – je potřeba použít srovnání konektivních matic nebo zarovnání sekvencí. Podařilo se nám najít jednodušší cestu – studovat velké množství trajektorií a segmentovat je pomocí shlukování.

Jak se ukázalo, trajektorii je možné proměnit v bod pomocí spojitých zobrazení, např. TF-IDF. Po transformaci se trajektorie stává bodem v prostoru, kde se podél os vykresluje normalizovaný výskyt v trajektorii různých událostí a přechody mezi nimi. Tuto věc z obrovského tisíci a vícerozměrného prostoru (dimS=součet (typy událostí)+součet (typy ngramů_2)) lze promítnout na rovinu pomocí TSNE. TSNE - transformace, zmenšuje rozměr prostoru na 2 osy a pokud možno zachovává relativní vzdálenosti mezi body. V souladu s tím je možné na ploché mapě, obrazové projekční mapě trajektorií, studovat, jak byly mezi sebou umístěny body různých trajektorií. Je analyzováno, jak blízko nebo rozdílné byly k sobě, zda tvořily shluky nebo byly rozptýleny po mapě atd.:

Retentioneering: jak jsme napsali open source nástroje pro analýzu produktů v Pythonu a Pandas

Analytické nástroje pro uchovávání dat poskytují možnost přeměnit složitá data a trajektorie na reprezentaci, kterou lze vzájemně porovnávat, a poté prozkoumat a interpretovat výsledek transformace.

Když mluvíme o standardních metodách zpracování trajektorie, máme na mysli tři hlavní nástroje, které jsme v Retentioneering implementovali – grafy, krokové matice a mapy projekce trajektorií.

Práce s Google Analytics, Firebase a podobnými analytickými systémy je poměrně složitá a není 100% efektivní. Problémem je řada omezení pro uživatele, v důsledku čehož práce analytika v takových systémech spočívá na kliknutí myší a výběru řezů. Retentioneering umožňuje pracovat s trajektoriemi uživatelů, a nikoli pouze s trychtýři, jako v Google Analytics, kde je úroveň detailů často redukována na trychtýř, i když vytvořený pro určitý segment.

Zadržování a případové studie

Jako příklad použití vyvinutého nástroje můžeme uvést případ velké specializované služby v Rusku. Tato společnost má mobilní aplikaci pro Android, která je mezi zákazníky oblíbená. Roční obrat z mobilní aplikace byl asi 7 milionů rublů, sezónní výkyvy se pohybovaly v rozmezí 60-130 tisíc Stejná společnost má také aplikaci pro iOS a průměrná kontrola uživatele aplikace "jablko" byla vyšší než průměr kontrola klienta pomocí aplikace pro Android - 1080 rub. za 1300 rublů.

Společnost se rozhodla zvýšit efektivitu aplikace pro Android, pro kterou provedla důkladnou analýzu. Pro zvýšení efektivity aplikace bylo vytvořeno několik desítek hypotéz. Po použití Retentionneering se ukázalo, že problém byl ve zprávách, které se zobrazovaly novým uživatelům. Získali informace o značce, firemních benefitech a cenách. Jak se ale ukázalo, zprávy měly uživateli pomoci naučit se v aplikaci pracovat.

Retentioneering: jak jsme napsali open source nástroje pro analýzu produktů v Pythonu a Pandas

To se podařilo, v důsledku čehož se aplikace začala méně mazat a nárůst konverze na objednávku byl 23 %. Nejprve bylo do testu věnováno 20 procent příchozího provozu, ale o pár dní později, po analýze prvních výsledků a vyhodnocení trendu, poměr obrátili a naopak nechali 20 procent pro kontrolní skupinu a umístili osmdesát procent v testu. O týden později bylo rozhodnuto postupně přidat testování dalších dvou hypotéz. Za pouhých sedm týdnů se obrat z aplikace pro Android zvýšil jedenapůlkrát oproti předchozí úrovni.

Jak pracovat s Retentioneeringem?

První kroky jsou celkem jednoduché – knihovnu načteme příkazem pip install keepeering. Samotné úložiště obsahuje hotové příklady a případy zpracování dat pro některé úlohy produktové analýzy. Sada je neustále aktualizována, dokud to nestačí na první seznámení. Každý si může vzít hotové moduly a okamžitě je aplikovat na své úkoly - to vám umožní okamžitě nastavit proces podrobnější analýzy a optimalizace trajektorií uživatelů co nejrychleji a nejefektivněji. To vše umožňuje najít vzorce používání aplikací prostřednictvím srozumitelného kódu a sdílet tyto zkušenosti s kolegy.

Retentioneering je nástroj, který stojí za to používat po celou dobu životnosti aplikace, a zde je důvod:

  • Retentioneering je efektivní pro sledování a průběžnou optimalizaci trajektorií uživatelů a zlepšování obchodní výkonnosti. Do aplikací elektronického obchodování se tedy často přidávají nové funkce, jejichž dopad na produkt nelze vždy správně předvídat. V některých případech dochází k problémům s kompatibilitou mezi novými a starými funkcemi – například nové „kanibalizují“ ty stávající. A v této situaci je potřeba neustálá analýza trajektorií.
  • Obdobná je situace v práci s reklamními kanály: neustále se testují nové zdroje návštěvnosti a reklamní kreativy, je nutné sledovat sezónnost, trendy a dopady dalších událostí, což vede ke vzniku nových tříd problémů. Vyžaduje také neustálé sledování a interpretaci uživatelské mechaniky.
  • Existuje řada faktorů, které neustále ovlivňují chod aplikace. Například nové verze od vývojářů: uzavřením skutečného problému nevědomky vrátí starý nebo vytvoří zcela nový. Postupem času počet nových verzí roste a proces sledování chyb musí být automatizován, včetně analýzy trajektorií uživatelů.

Celkově vzato je retenční běh účinným nástrojem. Ale neexistuje žádná hranice dokonalosti - může a měla by být vylepšována, vyvíjena a na jejím základě postaveny nové skvělé produkty. Čím aktivnější bude komunita projektu, tím více bude forků, objeví se nové zajímavé možnosti jejího využití.

Další informace o nástrojích Retentioneering:

Zdroj: www.habr.com

Přidat komentář