Vede a vera faccia di u pruduttu è sopravvive. Dati nantu à e transizzioni di l'utilizatori cum'è un mutivu per scrive un paru di novi servizii

Vede a vera faccia di u pruduttu è sopravvive. Dati nantu à e transizzioni di l'utilizatori cum'è un mutivu per scrive un paru di novi servizii

Ci sò centinaie d'articuli nantu à Internet nantu à i benefici di l'analisi di u cumpurtamentu di i clienti. A maiò spessu si tratta di u settore di vendita. Da l'analisi di a cesta alimentaria, l'analisi ABC è XYZ à u marketing di retenzioni è l'offerte persunali. Diversi tecnichi sò stati utilizati per decennii, l'algoritmi sò stati pensati, u codice hè statu scrittu è debuggatu - pigliate è aduprà. In u nostru casu, hè statu un prublema fundamentale - noi in ISPsystem sò impegnati in u sviluppu di software, micca in vendita.
Mi chjamu Denis è sò attualmente rispunsevule per u backend di i sistemi analitici in ISPsystem. È questu hè a storia di cumu u mo cullegu è eiu Danil - quelli rispunsevuli di a visualizazione di dati - anu pruvatu à guardà i nostri prudutti di software attraversu u prisma di sta cunniscenza. Cuminciamu, cum'è di solitu, cù a storia.

À u principiu, ci era una parolla, è a parolla era "Pruvemu?"

À quellu mumentu aghju travagliatu cum'è sviluppatore in u dipartimentu R&D. Tuttu hà cuminciatu quandu Danil hà lettu quì nantu à Habré circa a retenzioni - un strumentu per analizà e transizioni di l'utilizatori in l'applicazioni. Eru un pocu scetticu annantu à l'idea di usà quì. Cum'è esempi, i sviluppatori di a biblioteca citavanu un analisi di l'applicazioni induve l'azzione di destinazione era chjaramente definita - mette un ordine o una altra variazione di cumu pagà a cumpagnia di u pruprietariu. I nostri prudutti sò furniti in situ. Questu hè, l'utilizatore prima compra una licenza, è solu dopu principia u so viaghju in l'applicazione. Iè, avemu versioni demo. Pudete pruvà u pruduttu quì per ùn avè micca un porcu in un poke.

Ma a maiò parte di i nostri prudutti sò destinati à u mercatu di hosting. Quessi sò grandi clienti, è u dipartimentu di sviluppu di l'affari li cunsiglia nantu à e capacità di u produttu. Ne segue ancu chì à u mumentu di a compra, i nostri clienti sanu digià chì prublemi u nostru software li aiuterà à risolve. E so rotte in l'applicazione devenu coincide cù u CJM incrustatu in u pruduttu, è e soluzioni UX l'aiuterà à stà in traccia. Spoiler: questu ùn succede micca sempre. L'intruduzioni à a biblioteca hè stata rinviata... ma micca per longu.

Tuttu hà cambiatu cù a liberazione di a nostra startup - Cartbee - piattaforme per creà una tenda in linea da un contu Instagram. In questa applicazione, l'utilizatore hè statu datu un periodu di duie settimane per aduprà tutte e funziunalità gratuitamente. Allora duvete decide di abbunà. È questu si adatta perfettamente à u cuncettu di "azzione di rotta-target". Hè statu decisu : pruvemu !

I primi risultati o induve piglià idee

U squadra di sviluppu è aghju cunnessu u pruduttu à u sistema di cullezzione di l'avvenimenti literalmente in un ghjornu. Diceraghju subitu chì ISPsystem usa u so propiu sistema per a cullizzioni di l'avvenimenti nantu à e visite di a pagina, ma nunda ùn impedisce di utilizà Yandex.Metrica per i stessi scopi, chì vi permette di scaricà dati prima gratuitamente. Esempii di usu di a biblioteca sò stati studiati, è dopu una settimana di cullizzioni di dati avemu ricevutu un graficu di transizione.
Vede a vera faccia di u pruduttu è sopravvive. Dati nantu à e transizzioni di l'utilizatori cum'è un mutivu per scrive un paru di novi servizii
Graficu di transizione. Funzionalità basica, altre transizioni eliminate per a chiarezza

Hè risultatu cum'è in l'esempiu: planar, clear, beautiful. Da stu graficu, avemu pussutu identificà e rotte più frequenti è traversate induve a ghjente passa u più tempu. Questu ci hà permessu di capiscenu i seguenti:

  • Invece di un grande CJM, chì copre una decina di entità, solu dui sò attivamente utilizati. Hè necessariu di indirizzà ancu l'utilizatori à i posti chì avemu bisognu utilizendu soluzioni UX.
  • Alcune pagine, cuncepite da i disegnatori UX per esse end-to-end, finiscinu cù e persone chì passanu una quantità di tempu irragionevule nantu à elli. Avete bisognu di capisce ciò chì l'elementi di stop sò in una pagina specifica è aghjustate.
  • Dopu à 10 transizzioni, u 20% di e persone cuminciaru à stancu è abbandunà a sessione in l'applicazione. È questu hè cunsideratu u fattu chì avemu avutu finu à 5 pagine di imbarcu in l'applicazione! Avete bisognu di identificà e pagine induve l'utilizatori abbanduneghjanu regularmente e sessione è accurtà a strada per elli. Ancu megliu: identificà qualsiasi rotte regulare è permette una transizione rapida da a pagina fonte à a pagina di destinazione. Qualcosa in cumunu cù l'analisi ABC è l'analisi di u carrettu abbandunatu, ùn pensate micca?

E quì avemu ricunsidutu a nostra attitudine à l'applicabilità di sta strumentu per i prudutti in u locu. Hè statu decisu di analizà un pruduttu vindutu è utilizatu attivamente - VMmanager 6. Hè assai più cumplessu, ci sò un ordine di grandezza più entità. Eramu entusiasmati aspittendu per vede ciò chì u gràficu di transizione diventerà.

À propositu di delusioni è ispirazioni

Delusione #1

Era a fine di u ghjornu di travagliu, a fine di u mese è a fine di l'annu à u stessu tempu - u 27 di dicembre. I dati sò stati accumulati, e dumande sò state scritte. Il restait quelques secondes avant que tout soit traité et qu'on puisse s'inspirer du résultat de nos travaux pour savoir où l'année de travail suivante a commencé. U dipartimentu di R&D, u capu di produttu, i diseggiani UX, i capi di squadra, i sviluppatori si sò riuniti davanti à u monitoru per vede ciò chì i percorsi di l'utilizatori in u so pruduttu, ma... avemu vistu questu:
Vede a vera faccia di u pruduttu è sopravvive. Dati nantu à e transizzioni di l'utilizatori cum'è un mutivu per scrive un paru di novi servizii
Graficu di transizione custruitu da a biblioteca Retentioneering

Ispirazione #1

Forte cunnessu, decine di entità, scenarii micca evidenti. Era solu chjaru chì u novu annu di travagliu ùn principia micca cù l'analisi, ma cù l'invenzione di una manera di simplificà u travagliu cù un tali graficu. Ma ùn pudia scuzzulà a sensazione chì tuttu era assai più simplice di ciò chì pareva. È dopu à quindeci minuti di studià u codice fonte di Retentioneering, pudemu esportà u gràficu custruitu à u formatu di punti. Questu hà permessu di cullà u graficu à un altru strumentu - Gephi. E ci hè digià un spaziu per analizà i grafici: layout, filtri, statistiche - tuttu ciò chì deve fà hè cunfigurà i paràmetri necessarii in l'interfaccia. Cù stu pensamentu in mente, avemu partutu per u weekend di l'annu novu.

Delusione #2

Dopu à vultà à u travagliu, hè risultatu chì, mentri tutti stavanu riposu, i nostri clienti studiavanu u pruduttu. Iè, cusì duru chì l'avvenimenti apparsu in u almacenamentu chì ùn esiste micca prima. Questu significava chì e dumande anu da esse aghjurnatu.

Un pocu sfondate per capisce a tristezza di stu fattu. Trasmettemu sia l'avvenimenti chì avemu marcatu (per esempiu, cliccà nantu à qualchi buttoni) è l'URL di e pagine chì l'utilizatore hà visitatu. In u casu di Cartbee, u mudellu "una azione - una pagina" hà travagliatu. Ma cù VMmanager a situazione era completamente diversa: parechji finestri modali puderanu apre in una pagina. In elli, l'utilizatore puderia risolve diversi prublemi. Per esempiu, URL:

/host/item/24/ip(modal:modal/host/item/ip/create)

significa chì in a pagina "Indirizzi IP" l'utilizatore hà aghjustatu un indirizzu IP. È quì dui prublemi sò visibili à una volta:

  • L'URL cuntene un tipu di paràmetru di strada - l'ID di a macchina virtuale. Hè bisognu à esse esclusu.
  • L'URL cuntene l'ID di finestra modale. Avete bisognu di qualchì manera "unpack" tali URL.
    Un altru prublema era chì i stessi avvenimenti chì avemu marcatu avianu parametri. Per esempiu, ci era cinque modi diffirenti per arrivà à a pagina cù infurmazioni nantu à una macchina virtuale da a lista. In cunseguenza, un avvenimentu hè statu mandatu, ma cù un paràmetru chì indicava quale metudu l'utilizatore hà fattu a transizione. Ci era parechje tali avvenimenti, è tutti i paràmetri eranu diffirenti. È avemu tutta a logica di ricuperazione di dati in u dialettu SQL per Clickhouse. E dumande di 150-200 linee cuminciavanu à parè un pocu cumuni. I prublemi ci anu circundatu.

Ispirazione #2

Una matina prima, Danil, scrollendu tristemente à traversu a dumanda per u secondu minutu, m'hà suggeritu: "Scrivemu pipeline di trattamentu di dati?" Avemu pensatu à questu è decisu chì, se avemu da fà, seria qualcosa cum'è ETL. So chì si filtri subitu è ​​tira up i dati nicissariu da altre fonti. Hè cusì chì hè natu u nostru primu serviziu analiticu cù un backend cumpletu. Implementa cinque fasi principali di trattamentu di dati:

  1. Scaricamentu di l'avvenimenti da l'almacenamiento di dati crudi è preparalli per u processu.
  2. A clarificazione hè a "sballaggio" di quelli assai identificatori di finestri modali, paràmetri di l'avvenimentu è altri dettagli chì clarificanu l'avvenimentu.
  3. L'arricchimentu (da a parolla "diventà riccu") hè l'aghjunzione di avvenimenti cù dati da fonti di terzu. À quellu tempu, questu includeva solu u nostru sistema di fatturazione BILLmanager.
  4. U filtru hè u prucessu di filtrà l'avvenimenti chì distorte i risultati di l'analisi (avvenimenti da stands interni, outliers, etc.).
  5. Caricà l'avvenimenti ricevuti in u almacenamentu, chì avemu chjamatu dati puliti.
    Avà era pussibule di mantene a pertinenza aghjunghjendu regule per processà un avvenimentu o ancu gruppi di avvenimenti simili. Per esempiu, da tandu ùn avemu mai aghjurnatu l'URL unpacking. Ancu s'ellu, durante stu tempu, sò state aghjunte parechje variazioni d'URL novi. Cunforme à e regule dighjà stabilite in u serviziu è sò trattati currettamente.

Delusione #3

Una volta avemu cuminciatu à analizà, avemu capitu perchè u graficu era cusì coerente. U fattu hè chì quasi ogni N-gramma cuntene transizzioni chì ùn pudianu esse realizatu attraversu l'interfaccia.

Una piccula investigazione principia. Eru cunfusu chì ùn ci era micca transizioni impossibili in una entità. Questu significa chì questu ùn hè micca un bug in u sistema di cullizzioni di eventi o u nostru serviziu ETL. Ci era una sensazione chì l'utilizatore travaglia simultaneamente in parechje entità, senza passà da una à l'altra. Cumu ottene questu? Utilizà diverse tabulazioni in u navigatore.

Quandu analizà Cartbee, avemu statu salvatu da a so specificità. L'applicazione hè stata aduprata da i dispositi mobili, induve travaglià da parechje tabulazioni hè simplicemente inconveniente. Quì avemu un desktop è mentre chì un compitu hè esse realizatu in una entità, hè ragiunate di vulete passà stu tempu à stallà o monitorizà u statutu in un altru. È per ùn perde u prugressu, basta apre una altra tabulazione.

Ispirazione #3

I culleghi di u sviluppu front-end anu insignatu u sistema di cullizzioni di l'avvenimenti per distingue trà e tabulazioni. L'analisi puderia principià. È avemu principiatu. Cum'è previstu, CJM ùn currisponde à i percorsi reali: l'utilizatori passanu assai tempu nantu à e pagine di u repertoriu, sessioni abbandunate è tabulazioni in i posti più inaspettati. Utilizendu l'analisi di transizione, pudemu truvà prublemi in certi custruzzioni di Mozilla. In elli, per via di e funzioni di implementazione, l'elementi di navigazione sò spariti o pagine à mità viote sò stati visualizati, chì deve esse accessibile solu per l'amministratore. A pagina hè stata aperta, ma nisun cuntenutu hè vinutu da u backend. Conte transizioni hà permessu di valutà quali caratteristiche sò state veramente aduprate. I catene hà permessu di capiscenu cumu l'utilizatore hà ricevutu questu o quellu errore. I dati permettenu di teste basatu nantu à u cumpurtamentu di l'utilizatori. Hè statu un successu, l'idea ùn era in vain.

Automation analytics

In una di e dimostrazioni di i risultati, avemu dimustratu cumu Gephi hè utilizatu per l'analisi grafica. In questu strumentu, i dati di cunversione ponu esse visualizati in una tavola. È u capu di u dipartimentu UX hà dettu chì un pensamentu assai impurtante chì hà influinzatu u sviluppu di tutta a direzzione di l'analisi di cumportamentu in a cumpagnia: "Femu u listessu, ma in Tableau è cù filtri - serà più còmuda".

Allora aghju pensatu: perchè micca, Retentioneering guarda tutte e dati in una struttura pandas.DataFrame. È questu hè, in generale, una tavola. Hè cusì chì hè apparsu un altru serviziu: Fornitore di Dati. Ùn hà micca solu fattu una tavula da u graficu, ma hà ancu calculatu quantu hè populari a pagina è e funziunalità assuciata cù questu, cumu affetta a retenzioni di l'utilizatori, quantu l'utilizatori stanu nantu à questu, è quali pagine l'utilizatori lascianu più spessu. È l'usu di a visualizazione in Tableau hà riduciutu u costu di studià u graficu tantu chì u tempu di iterazione per l'analisi di cumportamentu in u pruduttu era quasi a mità.

Danil parlerà di cumu si usa sta visualizazione è di quale cunclusioni permette di piglià.

Più tavule per u diu di a tavola!

In una forma simplificata, u compitu hè statu formulatu cusì: mostra u graficu di transizione in Tableau, furnisce a capacità di filtrà, è rende u più chjaru è convenientu pussibule.

Ùn vulia micca veramente disegnà un graficu direttu in Tableau. E ancu s'ellu hè successu, u guadagnu, cumparatu à Gephi, ùn pareva micca evidenti. Avemu bisognu di qualcosa assai più simplice è più accessibile. Table ! Dopu tuttu, u graficu pò esse facilmente rapprisintatu in a forma di fila di tavulinu, induve ogni fila hè una punta di u tipu "destinazione fonte". Inoltre, avemu digià preparatu cun cura una tale tabella utilizendu l'arnesi di Retentioneering è Data Provider. Tuttu ciò chì restava da fà era di visualizà a tavola in Tableau è rummage through the report.
Vede a vera faccia di u pruduttu è sopravvive. Dati nantu à e transizzioni di l'utilizatori cum'è un mutivu per scrive un paru di novi servizii
Parlendu di cumu tutti amanu i tavulini.

Tuttavia, quì avemu affruntatu un altru prublema. Cosa da fà cù a fonte di dati? Era impussibile di cunnette pandas.DataFrame; Tableau ùn hà micca un tali connector. Elevà una basa separata per almacenà u graficu pareva una suluzione troppu radicale cù prospettiva vaga. E l'opzioni di scaricamentu lucali ùn sò micca adattati per a necessità di operazioni manuali custanti. Fighjemu à traversu a lista di connettori dispunibili, è u nostru sguardu hè cascatu nantu à l'articulu Web Data Connector, chì s'ammucciava disgraziatu in fondu.

Vede a vera faccia di u pruduttu è sopravvive. Dati nantu à e transizzioni di l'utilizatori cum'è un mutivu per scrive un paru di novi servizii
Tableau ha una ricca selezione di connettori. Avemu trovu unu chì risolve u nostru prublema

Chì tipu d'animali ? Uni pochi novi tabulazioni aperte in u navigatore - è hè diventatu chjaru chì stu connettore permette di riceve dati quandu accede à un URL. U backend per u calculu di e dati stessu era quasi prontu, tuttu ciò chì restava era di fà amici cù WDC. Per parechji ghjorni Denis hà studiatu a ducumentazione è luttatu cù i miccanismi di Tableau, è dopu m'hà mandatu un ligame chì aghju incollatu in a finestra di cunnessione.

Vede a vera faccia di u pruduttu è sopravvive. Dati nantu à e transizzioni di l'utilizatori cum'è un mutivu per scrive un paru di novi servizii
Forma di cunnessione à u nostru WDC. Denis hà fattu u so fronte è hà cura di a sicurità

Dopu un paru di minuti d'attesa (i dati sò calculati dinamicamente quandu hè dumandatu), a tavula apparsu:

Vede a vera faccia di u pruduttu è sopravvive. Dati nantu à e transizzioni di l'utilizatori cum'è un mutivu per scrive un paru di novi servizii
Questu hè ciò chì pare un array di dati crudi in l'interfaccia di Tableau

Comu prumessu, ogni fila di una tale tavula rapprisentava una punta di u graficu, vale à dì una transizione diretta di l'utilizatore. Conteneva ancu parechje caratteristiche supplementari. Per esempiu, u numeru di utilizatori unichi, u numeru tutale di transizzioni, è altri.

Saria pussibule di vede sta tavula in u rapportu cum'è, generosamente sprinkle filtri è mandà l'uttellu di navigazione. Sona logicu. Chì pudete fà cù a tavola? Ma questu ùn hè micca u nostru modu, perchè ùn facemu micca solu una tavola, ma un strumentu per l'analisi è a decisione di u produttu.

Di genere, quandu analizà e dati, una persona vole ottene risposte à e dumande. Perfettu. Cuminciamu cun elli.

  • Chì sò e transizioni più frequenti?
  • Induve vanu da pagine specifiche?
  • Quantu tempu passate in media nantu à sta pagina prima di lascià ?
  • Quantu volte fate a transizione da A à B?
  • In quali pagine finisce a sessione ?

Ciascunu di i rapporti o una cumminazione di elli deve permette à l'utilizatori di truvà in modu indipendenti risposte à queste dumande. A strategia chjave quì hè di dà l'arnesi per fà ellu stessu. Questu hè utile sia per riduce a carica nantu à u dipartimentu analiticu sia per riduce u tempu per piglià decisioni - dopu tuttu, ùn avete più bisognu di andà in Youtrack è di creà un compitu per l'analista, basta à apre u rapportu.

Chì avemu avutu ?

Induve e persone divergenu più spessu da u dashboard?

Vede a vera faccia di u pruduttu è sopravvive. Dati nantu à e transizzioni di l'utilizatori cum'è un mutivu per scrive un paru di novi servizii
Frammentu di u nostru rapportu. Dopu à u dashboard, ognunu andò o à a lista di VMs o à a lista di nodi

Pigliemu una tavula generale cù transizioni è filtrà per pagina fonte. A maiò spessu, passanu da u dashboard à a lista di macchine virtuali. Inoltre, a colonna di Regularità suggerisce chì questa hè una azione ripetitiva.

Da induve venenu à a lista di clusters?

Vede a vera faccia di u pruduttu è sopravvive. Dati nantu à e transizzioni di l'utilizatori cum'è un mutivu per scrive un paru di novi servizii
I filtri in i rapporti travaglianu in e duie direzzione: pudete scopre induve partite, o induve andate

Da l'esempii hè chjaru chì ancu a presenza di dui filtri simplici è classifiche di fila per valori vi permette di ottene rapidamente informazioni.

Dumandimu qualcosa di più difficiule.

Induve l'utilizatori anu più spessu abbandunà a so sessione?

Vede a vera faccia di u pruduttu è sopravvive. Dati nantu à e transizzioni di l'utilizatori cum'è un mutivu per scrive un paru di novi servizii
L'utilizatori di VMmanager spessu travaglianu in tabulazioni separati

Per fà questu, avemu bisognu di un rapportu chì i dati sò aggregati da fonti di riferimentu. È i cosiddetti breakepoints sò stati presi cum'è assignazioni - avvenimenti chì servenu cum'è a fine di a catena di transizioni.

Hè impurtante di nutà quì chì questu pò esse sia a fine di a sessione sia l'apertura di una nova tabulazione. L'esempiu mostra chì a catena più spessu finisce à una tavula cù una lista di macchine virtuali. In questu casu, u cumpurtamentu caratteristiche hè cambiatu à una altra tabulazione, chì hè coherente cù u mudellu previstu.

Prima di tuttu, avemu pruvatu l'utilità di sti rapporti nantu à noi stessi quandu avemu realizatu l'analisi in modu simili. Vepp, un altru di i nostri prudutti. Cù l'avventu di tavule è filtri, l'ipotesi sò stati pruvati più veloce, è l'ochji eranu menu stanchi.

Quandu u sviluppu di rapporti, ùn avemu micca scurdatu di u disignu visuale. Quandu u travagliu cù tavule di questa dimensione, questu hè un fattore impurtante. Per esempiu, avemu usatu una gamma calma di culori, faciule per percive font monospace per i numeri, evidenziazione di culore di e linee in cunfurmità cù i valori numerichi di e caratteristiche. Tali dettagli miglioranu l'esperienza di l'utilizatori è aumentanu a probabilità chì l'uttellu s'alluntana cù successu in a cumpagnia.

Vede a vera faccia di u pruduttu è sopravvive. Dati nantu à e transizzioni di l'utilizatori cum'è un mutivu per scrive un paru di novi servizii
A tavula hè stata abbastanza voluminosa, ma speremu chì ùn hà micca cessatu di esse leghjite

Vale a pena menzionate separatamente nantu à a furmazione di i nostri clienti internu: specialisti di produttu è UX designers. I manuali cù esempi di analisi è cunsiglii per travaglià cù filtri sò stati preparati apposta per elli. Avemu inseritu ligami à i manuali direttamente in e pagine di rapportu.

Vede a vera faccia di u pruduttu è sopravvive. Dati nantu à e transizzioni di l'utilizatori cum'è un mutivu per scrive un paru di novi servizii
Avemu fattu u manuale solu cum'è una presentazione in Google Docs. L'arnesi di Tableau vi permettenu di visualizà e pagine web direttamente in un libru di rapportu.

Invece di un cappellucciu

Chì ci hè in u fondu? Pudemu ottene un strumentu per ogni ghjornu relativamente rapidamente è à pocu pressu. Iè, questu ùn hè certamente micca un sustitutu per u graficu stessu, a mappa di calore di clics o u web viewer. Ma tali rapporti cumplementanu significativamente l'arnesi elencati è furniscenu nutrimentu per u pensamentu è novi ipotesi di produttu è interfaccia.

Questa storia hà servitu solu cum'è u principiu per u sviluppu di l'analitiche in ISPsystem. In l'ultimi sei mesi, sette più novi servizii sò apparsu, cumpresi ritratti digitale di l'utilizatori in u pruduttu è un serviziu per a creazione di basa di dati per u targeting Look-alike, ma ne parlemu in l'episodii seguenti.

Source: www.habr.com

Add a comment