Ciao, Habr. Questo articolo è dedicato ai risultati di quattro anni di sviluppo di un insieme di metodi e strumenti per l'elaborazione delle traiettorie degli utenti in un'app o su un sito web. L'autore dello sviluppo è , che guida il team degli autori del prodotto, ed è anche l'autore dell'articolo. Il prodotto ha ricevuto il nome di Retentioneering, attualmente è stato trasformato in una libreria open-source e pubblicato su Github, affinché chiunque possa utilizzarlo. Tutto ciò potrebbe interessare coloro che sono coinvolti nell'analisi di prodotto e marketing, nella promozione e nello sviluppo del prodotto. A proposito, su Habr . Nel nuovo materiale si parla di cosa è in grado di fare il prodotto e come può essere utilizzato.
Leggendo l'articolo, sarete in grado di scrivere il vostro Retentioneering, che può essere qualsiasi metodo standardizzato di elaborazione delle traiettorie degli utenti nell'app e oltre, che consente di vedere in dettaglio le peculiarità del comportamento e trarne informazioni utili per la crescita delle metriche aziendali.
Che cos'è Retentioneering e a cosa serve?
Inizialmente, il nostro obiettivo era quello di tradurre il Growth Hacking dal mondo della «magia digitale» al mondo dei numeri, dell'analisi e delle previsioni. Di conseguenza, abbiamo ridotto l'analisi di prodotto a pura matematica e programmazione per coloro che, invece di storie fantastiche, preferiscono i numeri, e le formule a parole sofisticate come «rebranding», «ri-posizionamento» e simili, che suonano bene, ma nella pratica aiutano poco.
Per affrontare le suddette sfide, era necessario un framework per l'analisi attraverso grafi e traiettorie, e allo stesso tempo una libreria che semplificasse le routine tipiche dell'analista, come un modo per descrivere compiti regolari di analisi di prodotto, comprensibile sia per le persone che per i robot. La libreria offre la possibilità di descrivere il comportamento degli utenti e collegarlo alle metriche aziendali del prodotto in un linguaggio formale e chiaro, per semplificare e automatizzare le attività routinarie di sviluppatori e analisti e facilitare la loro comunicazione con il business.
Retentioneering è un metodo e strumenti analitici software che possono essere adattati e integrati in qualsiasi prodotto digitale (e non solo).
Abbiamo iniziato a lavorare al prodotto nel 2015. Ora è già un insieme completo di strumenti, anche se non ancora perfetto, per Python e Pandas per l'analisi dei dati, modelli di machine learning con API simile a sklearn, strumenti per l'interpretazione dei risultati dei modelli di machine learning eli5 e shap.
Tutto ciò è avvolto . Utilizzare la libreria non è difficile, praticamente chiunque ami l'analisi dei dati prodotti, ma non ha mai scritto codice, può applicare i nostri metodi analitici ai propri dati in modo autonomo e senza significativi investimenti di tempo.
E un programmatore, creatore di un'app o membro del team di sviluppo o testing, che non si è mai occupato di analisi prima, può iniziare a sperimentare con questo codice e vedere i modelli d'uso della propria applicazione senza alcun aiuto esterno.
La traiettoria dell'utente come elemento di base dell'analisi e i metodi per la sua elaborazione
La traiettoria dell'utente è la sequenza di stati dell'utente in determinati momenti temporali. Gli eventi possono provenire da diverse fonti di dati, sia online che offline. Gli eventi che accadono all'utente fanno parte della sua traiettoria. Esempi:
• ha premuto un pulsante
• ha visto un'immagine
• è arrivato a una schermata
• ha ricevuto un'email
• ha consigliato un prodotto a un amico
• ha compilato un modulo
• ha toccato lo schermo
• ha fatto scrolling
• si è avvicinato alla cassa
• ha ordinato un burrito
• ha mangiato un burrito
• si è avvelenato con un burrito mangiato
• è entrato nel bar da un'entrata secondaria
• è entrato dalla porta principale
• ha chiuso l'app
• ha ricevuto una notifica push
• ha fissato lo schermo per più tempo x
• ha pagato l'ordine
• ha ritirato l'ordine
• ha ricevuto un rifiuto per il prestito
Se si prendono i dati delle traiettorie di un gruppo di utenti e si studiano come sono strutturati i passaggi, è possibile tracciare come si comportano nell'app. È conveniente farlo attraverso un grafo, in cui gli stati sono nodi, e i passaggi tra gli stati sono archi:

La "traiettoria" è un concetto molto utile: contiene informazioni dettagliate su tutte le azioni dell'utente, con la possibilità di aggiungere qualsiasi dato aggiuntivo alla descrizione di queste azioni. Questo la rende un oggetto universale. Se hai strumenti belli e funzionali che ti permettono di lavorare con le traiettorie, puoi trovare somiglianze e segmentarle.
La segmentazione delle traiettorie potrebbe inizialmente sembrare qualcosa di molto complesso. Nella situazione normale è così: è necessario utilizzare il confronto delle matrici di collegamento o l'allineamento delle sequenze. Siamo riusciti a trovare un modo più semplice: studiare un gran numero di traiettorie e segmentarle tramite clustering.
Come si è rivelato, è possibile trasformare una traiettoria in un punto attraverso rappresentazioni continue, ad esempio, . Dopo la trasformazione, la traiettoria diventa un punto nello spazio, dove sugli assi è registrata la frequenza normalizzata degli eventi e delle transizioni tra di essi nella traiettoria. Questa entità, proveniente da un enorme spazio ad oltre mille dimensioni (dimS=somma(tipi di eventi)+somma(tipi di ngram_2)), può essere proiettata su un piano utilizzando . TSNE è una trasformazione che riduce la dimensionalità dello spazio a 2 assi e, per quanto possibile, preserva le distanze relative tra i punti. Di conseguenza, diventa possibile, su una mappa piana, una mappa proiettiva delle traiettorie, studiare come erano disposti tra di loro i punti di diverse traiettorie. Si analizza quanto fossero vicini o diversi tra loro, se formassero dei cluster o fossero sparsi sulla mappa, ecc.:

Gli strumenti analitici di Retentioneering offrono la possibilità di trasformare un insieme di dati complessi e traiettorie in una rappresentazione che può essere confrontata tra loro, per poi esplorare e interpretare il risultato della trasformazione.
Parlando dei metodi standard di elaborazione delle traiettorie, si intendono tre strumenti principali che abbiamo implementato in Retentioneering: grafi, matrici step e mappe di proiezione delle traiettorie.
Lavorare con Google Analytics, Firebase e simili sistemi di analisi è piuttosto complesso e non è efficace al 100%. Il problema risiede in diverse limitazioni per l'utente, che portano a far sì che il lavoro dell'analista all'interno di questi sistemi si basi principalmente sui clic del mouse e sulla selezione dei segmenti. Retentioneering offre la possibilità di lavorare con le traiettorie degli utenti, invece di limitarsi ai funnel, come avviene in Google Analytics, dove il livello di dettaglio spesso si riduce a un funnel, anche se costruito per un certo segmento.
Retentioneering e casi studio
Come esempio dell'utilizzo dello strumento sviluppato, si può citare il caso di un grande servizio di nicchia in Russia. Questa azienda possiede un'app mobile per Android, molto popolare tra i clienti. Il fatturato annuale dell'app mobile era di circa 7 milioni di rubli, con fluttuazioni stagionali tra 60 e 130 mila. Questa stessa azienda ha anche un'app per iOS, e il valore medio degli acquisti degli utenti dell'app "Apple" era superiore al valore medio degli acquisti dei clienti che utilizzano l'app per Android: 1.080 rubli contro 1.300 rubli.
L'azienda ha deciso di aumentare l'efficacia dell'app Android, effettuando una rigorosa analisi. Sono state formulate diverse decine di ipotesi per migliorare le prestazioni dell'app. Dopo aver utilizzato Retentioneering, è emerso che il problema era nei messaggi mostrati ai nuovi utenti. Ricevevano informazioni sul brand, sui vantaggi dell'azienda e sui prezzi. Tuttavia, come si è scoperto, i messaggi avrebbero dovuto aiutare l'utente a imparare a utilizzare l'app.

E così è stato fatto, con il risultato che l'app è stata disinstallata meno frequentemente, e il tasso di conversione in ordini è aumentato del 23%. Inizialmente, il 20% del traffico in entrata è stato dedicato al test, ma dopo pochi giorni, analizzando i primi risultati e valutando la tendenza, sono state invertite le proporzioni, lasciando il 20% per il gruppo di controllo e destinando l'80% al test. Dopo un'altra settimana, è stata presa la decisione di aggiungere in successione il test di altre due ipotesi. In totale, dopo sette settimane, il fatturato dell'app Android è aumentato di 1,5 volte rispetto al livello precedente.
Come lavorare con Retentioneering?
I primi passi sono piuttosto semplici: carichiamo la libreria con il comando pip install retentioneering. Nel repository ci sono esempi pronti e casi di elaborazione dei dati per alcune attività di analisi dei prodotti. Il set viene continuamente aggiornato, ed è sufficientemente ampio per una prima conoscenza. Chiunque può prelevare moduli pronti e applicarli subito ai propri compiti: questo consente di impostare rapidamente un processo di analisi più dettagliata e ottimizzazione dei percorsi utente in modo rapido ed efficace. Tutto ciò offre la possibilità di individuare i modelli di utilizzo dell'applicazione attraverso un codice chiaro e di trasmettere questa esperienza ai colleghi.
Retentioneering è uno strumento che vale la pena utilizzare durante l'intero ciclo di vita di un'applicazione, ecco perché:
- Retentioneering è efficace per monitorare e ottimizzare continuamente i percorsi degli utenti e migliorare le performance aziendali. Ad esempio, nelle applicazioni ecommerce vengono spesso aggiunte nuove funzionalità, il cui impatto sul prodotto non è sempre possibile prevedere correttamente. In alcuni casi si verificano problemi di compatibilità tra le nuove e le vecchie funzionalità: ad esempio, le nuove "cannibalizzano" già esistenti. In questa situazione è fondamentale un'analisi costante dei percorsi.
- Una situazione analoga si verifica nel lavoro con i canali pubblicitari: si testano costantemente nuove fonti di traffico e creatività pubblicitarie, è necessario mantenere monitorata la stagionalità, le tendenze e l'impatto di altri eventi, il che porta a nuove classi di problemi. Anche qui è richiesto un monitoraggio e un'interpretazione continua delle meccaniche utente.
- Ci sono una serie di fattori che influenzano costantemente il funzionamento dell'applicazione. Ad esempio, le nuove versioni da parte degli sviluppatori: risolvendo un problema attuale, involontariamente riportano un problema precedente o creano uno completamente nuovo. Con il tempo, il numero di nuove versioni aumenta e il processo di monitoraggio degli errori deve essere automatizzato, anche grazie all'analisi dei percorsi degli utenti.
In generale, Retentioneering è uno strumento efficace. Ma non c'è limite al miglioramento: può e deve essere migliorato, sviluppato, utilizzato come base per creare nuovi prodotti interessanti. Maggiore è l'attività della comunità del progetto, maggiori saranno i fork e emergere nuovi modi interessanti per il suo utilizzo.
Ulteriori informazioni sugli strumenti di Retentioneering:
- Il nostro sito:
- e registrazione per la partecipazione
- Gratuito
Fonte: habr.com
