Retentioneering: come abbiamo scritto strumenti open source per l'analisi dei prodotti in Python e Panda

Ciao, Habr. Questo articolo è dedicato ai risultati di quattro anni di sviluppo di una serie di metodi e strumenti per l'elaborazione delle traiettorie di movimento degli utenti in un'applicazione o in un sito web. Autore dello sviluppo - Maxim Godzi, che dirige il team di creatori del prodotto ed è anche l'autore dell'articolo. Il prodotto stesso si chiamava Retentioneering; ora è stato convertito in una libreria open source e pubblicato su Github in modo che chiunque possa usarlo. Tutto ciò può interessare coloro che sono coinvolti nell'analisi del prodotto e del marketing, nella promozione e nello sviluppo del prodotto. A proposito, su Habré è già stato pubblicato un articolo su uno dei casi di lavoro con Retentioneering. Il nuovo materiale spiega cosa può fare il prodotto e come può essere utilizzato.

Dopo aver letto l'articolo, sarai tu stesso in grado di scrivere il tuo Retentioneering; può essere un qualsiasi metodo standardizzato per elaborare le traiettorie degli utenti nell'applicazione e oltre, permettendoti di vedere in dettaglio le caratteristiche del comportamento ed estrarne insight per la crescita delle metriche aziendali.

Cos’è il Retentioneering e perché è necessario?

Il nostro obiettivo iniziale era spostare il Growth Hacking dal mondo della “stregoneria digitale” al mondo dei numeri, delle analisi e delle previsioni. Di conseguenza, l’analisi dei prodotti si riduce a pura matematica e programmazione per chi preferisce i numeri alle storie fantastiche, e le formule a parole d’ordine come “rebranding”, “riposizionamento”, ecc., che suonano belle, ma in pratica aiutano poco.

Per risolvere questi problemi, avevamo bisogno di un framework per l'analisi tramite grafici e traiettorie e, allo stesso tempo, di una libreria che semplificasse le routine tipiche degli analisti, come un modo per descrivere le normali attività di analisi dei prodotti che fossero comprensibili sia alle persone che ai robot. La libreria offre la possibilità di descrivere il comportamento degli utenti e collegarlo alle metriche aziendali del prodotto in un linguaggio così formale e chiaro da semplificare e automatizzare le attività di routine di sviluppatori e analisti e facilitare la loro comunicazione con l'azienda.

Il Retentioneering è un metodo e strumenti software analitici che possono essere adattati e integrati in qualsiasi prodotto digitale (e non solo).

Abbiamo iniziato a lavorare sul prodotto nel 2015. Ora questo è un set già pronto, anche se non ancora ideale, di strumenti in Python e Panda per lavorare con i dati, modelli di machine learning con API simili a sklearn, strumenti per interpretare i risultati dei modelli di machine learning eli5 e shap.

E' tutto concluso in una comoda libreria open source nel repository Github aperto -tentioneering-tools. Usare la libreria non è difficile; quasi chiunque ami l'analisi dei prodotti, ma non abbia mai scritto codice prima, può applicare i nostri metodi di analisi ai propri dati in modo indipendente e senza investimenti di tempo significativi.

Ebbene, un programmatore, un creatore di applicazioni o un membro di un team di sviluppo o test che non ha mai eseguito analisi prima può iniziare a giocare con questo codice e vedere i modelli di utilizzo della propria applicazione senza aiuto esterno.

Traiettoria dell'utente come elemento base di analisi e metodi per la sua elaborazione

La traiettoria dell'utente è una sequenza di stati dell'utente in determinati momenti. Inoltre, 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:
• premuto il pulsante
• ha visto la foto
• colpire lo schermo
• ricevuto un'e-mail
• consigliato il prodotto ad un amico
• compilato il modulo
• toccato lo schermo
• fatto scorrere
• è andato alla cassa
• ho ordinato un burrito
• mangiato un burrito
• è stato avvelenato mangiando un burrito
• è entrato nel bar dall'ingresso posteriore
• ingresso dall'ingresso principale
• ridotto al minimo l'applicazione
• ricevuto una notifica push
• è rimasto bloccato sullo schermo per più di X
• pagato per l'ordine
• acquistato l'ordine
• gli è stato rifiutato un prestito

Se prendi i dati della traiettoria di un gruppo di utenti e studi come sono strutturate le transizioni, puoi tracciare esattamente come è strutturato il loro comportamento nell'applicazione. È conveniente farlo attraverso un grafo in cui gli stati sono nodi e le transizioni tra stati sono archi:

Retentioneering: come abbiamo scritto strumenti open source per l'analisi dei prodotti in Python e Panda

"Traiettoria" è un concetto molto conveniente: contiene informazioni dettagliate su tutte le azioni dell'utente, con la possibilità di aggiungere eventuali dati aggiuntivi alla descrizione di queste azioni. Questo lo rende un oggetto universale. Se disponi di strumenti belli e convenienti che ti consentono di lavorare con le traiettorie, puoi trovare somiglianze e segmentarle.

La segmentazione della traiettoria può sembrare inizialmente molto complicata. In una situazione normale, questo è il caso: è necessario utilizzare il confronto della matrice di connettività o l'allineamento della sequenza. Siamo riusciti a trovare un modo più semplice: studiare un gran numero di traiettorie e segmentarle tramite il clustering.

Come si è scoperto, è possibile trasformare una traiettoria in un punto utilizzando rappresentazioni continue, ad esempio, TF-IDF. Dopo la trasformazione, la traiettoria diventa un punto nello spazio in cui lungo gli assi viene tracciato il verificarsi normalizzato di vari eventi e le transizioni tra loro nella traiettoria. Questa cosa da un enorme spazio di mille o più dimensioni (dimS=sum(eventtypes)+sum(ngrams_2types)) può essere proiettata su un piano utilizzando TSNE. TSNE è una trasformazione che riduce la dimensione dello spazio a 2 assi e, se possibile, preserva le distanze relative tra i punti. Di conseguenza, diventa possibile su una mappa piatta, una mappa di proiezione figurativa di traiettorie, studiare come si trovavano tra loro i punti di diverse traiettorie. Analizza quanto erano vicini o diversi tra loro, se formavano gruppi o erano sparsi sulla mappa, ecc.:

Retentioneering: come abbiamo scritto strumenti open source per l'analisi dei prodotti in Python e Panda

Gli strumenti di analisi della fidelizzazione offrono la possibilità di trasformare dati e traiettorie complesse in una visione che può essere confrontata tra loro, e quindi il risultato della trasformazione può essere esaminato e interpretato.

Quando si parla di metodi standard per l'elaborazione delle traiettorie, intendiamo tre strumenti principali che abbiamo implementato in Retentioneering: grafici, matrici di passi e mappe di proiezione delle traiettorie.

Lavorare con Google Analytics, Firebase e sistemi di analisi simili è piuttosto complesso e non efficace al 100%. Il problema è una serie di restrizioni per l’utente, per cui il lavoro dell’analista in tali sistemi dipende dai clic del mouse e dalla selezione delle sezioni. Il Retentioneering permette di lavorare con le traiettorie degli utenti, e non solo con i funnel, come in Google Analytics, dove il livello di dettaglio è spesso ridotto a un funnel, seppure costruito per un determinato segmento.

Retentioneering e casi

Come esempio dell'utilizzo dello strumento sviluppato, possiamo citare il caso di un ampio servizio di nicchia in Russia. Questa azienda ha un'applicazione mobile Android popolare tra i clienti. Il fatturato annuo dell'applicazione mobile è stato di circa 7 milioni di rubli, le fluttuazioni stagionali variavano da 60 a 130 mila. La stessa azienda ha anche un'applicazione per iOS e la fattura media di un utente dell'applicazione Apple era superiore alla fattura media di un client che utilizza l'applicazione Android - 1080 rubli. contro 1300 rubli.

L'azienda ha deciso di aumentare l'efficienza dell'applicazione Android, per la quale ha condotto un'analisi approfondita. Sono state generate diverse dozzine di ipotesi sull'aumento dell'efficacia dell'applicazione. Dopo aver utilizzato Retentionneering, si è scoperto che il problema era nei messaggi mostrati ai nuovi utenti. Hanno ricevuto informazioni sul marchio, sui vantaggi aziendali e sui prezzi. Ma, come si è scoperto, i messaggi avrebbero dovuto aiutare l'utente a imparare come lavorare nell'applicazione.

Retentioneering: come abbiamo scritto strumenti open source per l'analisi dei prodotti in Python e Panda

Ciò è stato fatto, in conseguenza del quale l'applicazione è diventata meno disinstallata e l'aumento della conversione all'ordine è stato del 23%. Inizialmente è stato sottoposto al test il 20% del traffico in entrata, ma dopo qualche giorno, dopo aver analizzato i primi risultati e valutato l’andamento, hanno invertito le proporzioni e, al contrario, hanno lasciato il 20% al gruppo di controllo, e L'ottanta per cento è stato inserito nel test. Una settimana dopo, è stato deciso di aggiungere in sequenza la verifica di altre due ipotesi. In sole sette settimane il fatturato dell'applicazione Android è aumentato di una volta e mezza rispetto al livello precedente.

Come lavorare con il Retentioneering?

I primi passi sono abbastanza semplici: scarica la libreria con il comando pip installtentioneering. Il repository stesso contiene esempi e casi già pronti di elaborazione dei dati per alcune attività di analisi del prodotto. Il set viene costantemente aggiornato finché non è sufficiente per una prima conoscenza. Chiunque può prendere moduli già pronti e applicarli immediatamente ai propri compiti: ciò consente loro di impostare immediatamente il processo di analisi più dettagliata e ottimizzazione delle traiettorie degli utenti nel modo più rapido ed efficiente possibile. Tutto ciò rende possibile trovare modelli di utilizzo delle applicazioni attraverso un codice chiaro e condividere questa esperienza con i colleghi.

Il mantenimento è uno strumento che vale la pena utilizzare per tutta la vita della tua applicazione ed ecco perché:

  • Il fidelizzazione è efficace per tracciare e ottimizzare continuamente le traiettorie degli utenti e migliorare le prestazioni aziendali. Pertanto, alle applicazioni di e-commerce vengono spesso aggiunte nuove funzionalità, il cui impatto sul prodotto non può sempre essere previsto correttamente. In alcuni casi, sorgono problemi di compatibilità tra le nuove e le vecchie funzioni, ad esempio le nuove “cannibalizzano” quelle esistenti. E in questa situazione, l’analisi costante delle traiettorie è proprio ciò che serve.
  • La situazione è simile quando si lavora con i canali pubblicitari: nuove fonti di traffico e creatività pubblicitarie vengono costantemente testate, è necessario monitorare la stagionalità, le tendenze e l'influenza di altri eventi, il che porta all'emergere di sempre più nuove classi di problemi. Ciò richiede anche un monitoraggio e un'interpretazione costanti della meccanica dell'utente.
  • Esistono numerosi fattori che influenzano costantemente le prestazioni di un'applicazione. Ad esempio, le nuove versioni degli sviluppatori: chiudendo un problema attuale, restituiscono involontariamente quello vecchio o ne creano uno completamente nuovo. Nel corso del tempo, il numero di nuove versioni cresce e il processo di tracciamento degli errori deve essere automatizzato, anche analizzando le traiettorie degli utenti.

Nel complesso, il Retentioneering è uno strumento efficace. Ma non c'è limite alla perfezione: può e deve essere migliorata, sviluppata e sulla base di essa vengono costruiti nuovi fantastici prodotti. Più attiva è la comunità del progetto, più fork ci saranno e appariranno nuove interessanti opzioni per utilizzarlo.

Maggiori informazioni sugli strumenti di fidelizzazione:

Fonte: habr.com

Aggiungi un commento