Salut, Habr. Acest articol este dedicat rezultatelor celor patru ani de dezvoltare a unui set de metode și instrumente pentru procesarea traiectoriilor de mișcare ale utilizatorilor în aplicație sau pe site. Autorul dezvoltării este , care se află la conducerea echipei de creatori ai produsului, el fiind totodată autorul articolelor. Produsul a primit denumirea de Retentioneering, iar acum a fost transformat într-o bibliotecă open-source și a fost publicat pe Github, pentru ca oricine să poată profita de acesta. Totul poate fi interesant pentru cei care sunt implicați în analiza de produs și marketing, promovarea și dezvoltarea produsului. Apropo, pe Habr . În noul material se vorbește despre ce poate face produsul și cum poate fi utilizat.
Citind articolul, veți fi capabili să vă scrieți propriul Retentioneering, acesta putând fi orice metodă standardizată de procesare a traiectoriilor utilizatorilor în aplicație și dincolo de aceasta, care permite să vedem în detaliu caracteristicile comportamentului și să extragem din acestea informații pentru creșterea metricilor de afaceri.
Ce este Retentioneering și de ce este nevoie de acesta?
Inițial, scopul nostru a fost să traducem Growth Hacking din lumea „vrăjitoriei digitale” în lumea cifrelor, analizei și prognozelor. Ca urmare, am redus analiza de produs la matematică pură și programare pentru cei care preferă cifrele în loc de povești fantastice, iar formulele în loc de termeni sofisticati precum „rebranding”, „repoziționare” și așa mai departe, care sună frumos, dar în practică ajută puțin.
Pentru a rezolva aceste sarcini, a fost necesar un cadru pentru analiză prin grafuri și traiectorii, și în același timp o bibliotecă care să simplifice rutinele tipice ale analistului, ca mod de descriere a sarcinilor regulate din analiza de produs, care să fie clar atât pentru oameni, cât și pentru roboți. Biblioteca oferă posibilitatea de a descrie comportamentul utilizatorilor și de a-l lega de metricile de afaceri ale produsului într-un limbaj formal și clar, pentru a simplifica și automatiza sarcinile de rutină ale dezvoltatorilor și analistilor, și pentru a facilita comunicarea lor cu afacerea.
Retentioneering — o metodă și instrumente software analitice care pot fi adaptate și integrate în orice produs digital (și nu numai).
Am început lucrul la produs în 2015. Acum este deja un set de instrumente gata, deși încă nu perfect, pentru lucrul cu datele, bazat pe Python și Pandas, modele de învățare automată cu API similar sklearn, instrumente de interpretare a rezultatelor modelelor de învățare automată eli5 și shap.
Toate acestea sunt ambalate Utilizarea bibliotecii nu este complicată, practic orice persoană care iubește analiza produsului, dar nu a scris niciodată cod, poate aplica metodele noastre analitice pe propriile date, singură și fără eforturi considerabile de timp.
Iar un programator, creator de aplicații sau membru al echipei de dezvoltare sau testare, care nu a avut anterior vreo experiență în analytics, poate începe să experimenteze cu acest cod și să observe tiparele de utilizare ale aplicației sale fără ajutor extern.
Traiectoria utilizatorului ca element de bază în analiză și metodele de procesare ale acesteia.
Traiectoria utilizatorului este secvența stărilor utilizatorului în momente temporale specifice. Evenimentele pot proveni din diferite surse de date, atât online cât și offline. Evenimentele care s-au întâmplat utilizatorului sunt parte din traiectoria sa. Exemple:
• a apăsat pe un buton
• a văzut o imagine
• a ajuns la un ecran
• a primit un email
• a recomandat produsul unui prieten
• a completat un formular
• a atins ecranul
• a derulat
• a mers la casă
• a comandat un burrito
• a mâncat burrito
• s-a îmbolnăvit de burrito
• a intrat în cafea pe ușa din spate
• a intrat pe ușa principală
• a închis aplicația
• a primit o notificare push
• a stat blocat pe ecran mai mult timp X
• a plătit comanda
• a ridicat comanda
• a primit un refuz la credit
Dacă luăm datele traiectoriilor unui grup de utilizatori și analizăm cum se desfășoară tranzițiile, putem urmări exact cum se construiește comportamentul lor în aplicație. Este convenabil să facem acest lucru printr-un grafic, în care stările sunt noduri, iar tranzițiile între stări sunt arce:

„Traiectoria” este un concept foarte util – conține informații detaliate despre toate acțiunile utilizatorului, cu posibilitatea de a adăuga orice date suplimentare în descrierea acestor acțiuni. Acest lucru o face un obiect universal. Dacă aveți instrumente frumoase și convenabile care permit lucrul cu traiectoriile, puteți identifica similarități și le puteți segmenta.
Segmentarea traiectoriilor poate părea inițial un proces foarte complicat. În situații obișnuite, chiar așa este – este nevoie de comparația matricei de conexiuni sau de alinierea secvențelor. Am reușit să găsim o metodă mai simplă – studiind un număr mare de traiectorii și segmentându-le prin clustering.
Se pare că este posibil să transformăm o traiectorie într-un punct folosind reprezentări continue, de exemplu, . După transformare, traiectoria devine un punct în spațiu, unde pe axe este reprezentată frecvența normalizată în traiectorie a diferitelor evenimente și tranziții între acestea. Această entitate dintr-un spațiu masiv cu o mie sau mai multe dimensiuni (dimS=sum(event types)+sum(ngrams_2 types)) poate fi proiectată pe un plan folosind . TSNE – transformarea, reduce dimensiunea spațiului la 2 axe și, pe cât posibil, păstrează distanțele relative între puncte. Astfel, devine posibil pe o hartă plată, o hartă proiecțională a traiectoriilor, să studiem cum erau așezate între ele punctele diferitelor traiectorii. Se analizează cât de apropiate sau diferite erau între ele, dacă formau clustere sau se dispersau pe hartă etc.:

Instrumentele analitice Retentioneering oferă posibilitatea de a transforma un set complex de date și traiectorii într-o reprezentare care poate fi comparată între ele, iar apoi să investighezi și să interpretezi rezultatul transformării.
Vorbind despre metodele standard de prelucrare a traiectoriilor, ne referim la trei instrumente de bază pe care le-am implementat în Retentioneering – grafuri, matrice de pași și hărți de proiecție a traiectoriilor.
Lucrul cu Google Analytics, Firebase și sisteme similare de analiză este destul de complicat și nu este 100% eficient. Problema constă în o serie de restricții pentru utilizatori, ceea ce face ca munca analistului să se limiteze la clicuri pe mouse și selecții de segmente. Retentioneering oferă posibilitatea de a lucra cu traiectoriile utilizatorilor, nu doar cu jgheaburile, așa cum se întâmplă în Google Analytics, unde nivelul de detaliere se reduce adesea la jgheabul construit pentru un anumit segment.
Retentioneering și cazuri
Ca exemplu de utilizare a instrumentului dezvoltat, putem menționa un caz al unui serviciu de nișă mare din Rusia. Această companie are o aplicație mobilă pentru Android, care este populară printre clienți. Venitul anual din aplicația mobilă a fost de aproximativ 7 milioane de ruble, cu fluctuații sezoniere între 60 și 130 de mii. Aceeași companie are și o aplicație pentru iOS, iar valoarea medie a comenzii utilizatorului aplicației „Apple” a fost mai mare decât cea a clientului care folosește aplicația Android — 1080 ruble față de 1300 ruble.
Compania a decis să crească eficiența aplicației Android, desfășurând o analiză amănunțită. Au fost formulate câteva zeci de ipoteze pentru creșterea eficienței aplicației. După utilizarea Retentioneering, s-a constatat că problema era mesajele afișate utilizatorilor noi. Aceștia primeau informații despre marcă, avantajele companiei și prețuri. Dar, așa cum s-a dovedit, mesajele ar fi trebuit să ajute utilizatorul să învețe cum să folosească aplicația.

Acest lucru a fost realizat, rezultând că aplicația a fost dezinstalată mai rar, iar creșterea conversiei în comenzi a fost de 23%. La început, un procent de 20 din traficul total a fost alocat pentru testare, dar după câteva zile, analizând primele rezultate și evaluând tendința — au schimbat proporțiile, lăsând 20% pentru grupul de control și plasând 80% în test. După o săptămână, s-a decis să se adauge treptat testarea a încă două ipoteze. În total, după șapte săptămâni, venitul din aplicația Android a crescut cu 50% față de nivelul precedent.
Cum să lucrezi cu Retentioneering?
Primii pași sunt destul de simpli - încărcați biblioteca cu comanda pip install retentioneering. În depozitul se găsesc exemple gata pregătite și cazuri de prelucrare a datelor pentru anumite sarcini de analiză a produselor. Setul este constant extins, deocamdată este suficient pentru o primă familiarizare. Oricine poate lua modulele gata făcute și le poate aplica imediat la sarcinile sale - acest lucru permite configurarea rapidă a unui proces de analiză detaliată și optimizare a parcursurilor utilizatorilor. Toate acestea oferă posibilitatea de a găsi modele de utilizare a aplicației printr-un cod clar și de a împărtăși această experiență colegilor.
Retentioneering este un instrument pe care ar trebui să-l utilizați pe parcursul întregii durate de viață a aplicației și iată de ce:
- Retentioneering este eficient pentru urmărirea și optimizarea continuă a parcursurilor utilizatorilor și pentru îmbunătățirea indicatorilor de afaceri. Astfel, în aplicațiile de comerț electronic, deseori se adaugă noi funcții, iar impactul acestora asupra produsului nu poate fi întotdeauna prezis corect. În unele cazuri, apar probleme de compatibilitate între funcțiile noi și cele vechi - de exemplu, cele noi "canibalizând" deja existente. În această situație, este necesară o analiză constantă a parcursurilor.
- O situație similară apare și în lucrul cu canalele publicitare: sunt testate constant noi surse de trafic și creații publicitare, este necesară monitorizarea sezonalității, tendințelor și impactului altor evenimente, ceea ce conduce la apariția unor noi clase de probleme. Aici, de asemenea, este necesară o monitorizare constantă și interpretarea mecanicilor utilizatorilor.
- Există o serie de factori care influențează constant funcționarea aplicației. De exemplu, noile versiuni de la dezvoltatori: rezolvând o problemă actuală, ei, fără să vrea, pot reintroduce o problemă veche sau pot crea una complet nouă. Cu timpul, numărul de versiuni noi crește, iar procesul de urmărire a erorilor trebuie automatizat - inclusiv prin analiza parcursurilor utilizatorilor.
În general, Retentioneering este un instrument eficient. Dar perfecțiunea nu are limite - poate și trebuie îmbunătățit, dezvoltat, putând fi construite produse noi interesante pe baza lui. Cu cât comunitatea proiectului va fi mai activă, cu atât vor apărea mai multe fork-uri, iar noi variante interesante de utilizare vor apărea.
Informații suplimentare despre instrumentele Retentioneering:
- Site-ul nostru:
- și înscrierea pentru participare
- Gratuit
Sursa: habr.com
