Vidite pravo lice proizvoda i preživite. Podaci o tranzicijama korisnika kao razlog za pisanje par novih servisa

Vidite pravo lice proizvoda i preživite. Podaci o tranzicijama korisnika kao razlog za pisanje par novih servisa

Na internetu postoje stotine članaka o prednostima analize ponašanja kupaca. Najčešće se to odnosi na sektor maloprodaje. Od analize korpe hrane, ABC i XYZ analize do marketinga zadržavanja i ličnih ponuda. Decenijama se koriste razne tehnike, algoritmi su osmišljeni, kod je napisan i debagovan - uzmi i koristi. U našem slučaju se pojavio jedan fundamentalni problem - mi u ISPsystemu se bavimo razvojem softvera, a ne maloprodajom.
Moje ime je Denis i trenutno sam odgovoran za backend analitičkih sistema u ISPsystemu. A ovo je priča o tome kako moj kolega i ja Danil — oni koji su odgovorni za vizualizaciju podataka — pokušali su sagledati naše softverske proizvode kroz prizmu tog znanja. Počnimo, kao i obično, sa istorijom.

Na početku je bila riječ, a riječ je bila "Hoćemo li pokušati?"

U tom trenutku sam radio kao programer u odjelu za istraživanje i razvoj. Sve je počelo činjenicom da je ovdje, na Habréu, Danil čitao o zadržavanju — alat za analizu korisničkih tranzicija u aplikacijama. Bio sam pomalo skeptičan oko ideje da ga koristim ovdje. Kao primjer, programeri biblioteke naveli su analizu aplikacija gdje je ciljna radnja bila jasno definisana – naručivanje ili neka druga varijanta plaćanja kompaniji vlasnika. Naši proizvodi se isporučuju na licu mjesta. Odnosno, korisnik prvo kupuje licencu, a tek onda započinje svoje putovanje u aplikaciji. Da, imamo demo verzije. Tamo možete isprobati proizvod kako ne biste imali svinju u džepu.

Ali većina naših proizvoda je usmjerena na tržište hostinga. To su veliki klijenti, a odjel za razvoj poslovanja ih savjetuje o mogućnostima proizvoda. Iz toga također proizlazi da u trenutku kupovine naši kupci već znaju koje probleme će im naš softver pomoći u rješavanju. Njihove rute u aplikaciji moraju se podudarati sa CJM ugrađenim u proizvod, a UX rješenja će im pomoći da ostanu na pravom putu. Spojler: ovo se ne dešava uvek. Uvod u biblioteku je odgođen... ali ne zadugo.

Sve se promijenilo izlaskom našeg startupa - Cartbee — platforme za kreiranje online prodavnice sa Instagram naloga. U ovoj aplikaciji korisniku je dat rok od dvije sedmice da besplatno koristi sve funkcionalnosti. Zatim ste morali odlučiti da li ćete se pretplatiti. I ovo se savršeno uklapa u koncept "akcije rute-cilja". Odlučeno je: hajde da probamo!

Prvi rezultati ili odakle dobiti ideje

Razvojni tim i ja smo povezali proizvod sa sistemom prikupljanja događaja bukvalno za jedan dan. Odmah ću reći da ISPsystem koristi vlastiti sistem za prikupljanje događaja o posjetima stranicama, ali ništa vas ne sprječava da u iste svrhe koristite Yandex.Metricu, koja vam omogućava besplatno preuzimanje neobrađenih podataka. Proučeni su primjeri korištenja biblioteke i nakon tjedan dana prikupljanja podataka dobili smo prelazni graf.
Vidite pravo lice proizvoda i preživite. Podaci o tranzicijama korisnika kao razlog za pisanje par novih servisa
Grafikon tranzicije. Osnovna funkcionalnost, ostali prijelazi uklonjeni radi jasnoće

Ispalo je baš kao u primjeru: ravno, jasno, lijepo. Iz ovog grafikona smo uspjeli identificirati najčešće rute i prelaze na kojima ljudi provode najduže vrijeme. Ovo nam je omogućilo da razumemo sledeće:

  • Umjesto velikog CJM-a, koji pokriva desetak entiteta, aktivno se koriste samo dva. Potrebno je dodatno usmjeriti korisnike na mjesta koja su nam potrebna korištenjem UX rješenja.
  • Neke stranice, dizajnirane od strane UX dizajnera da budu s kraja na kraj, završavaju sa ljudima koji troše nerazumno mnogo vremena na njih. Morate shvatiti koji su elementi zaustavljanja na određenoj stranici i prilagoditi ih.
  • Nakon 10 tranzicija, 20% ljudi je počelo da se umori i napustilo je sesiju u aplikaciji. I to uzimajući u obzir činjenicu da smo imali čak 5 onboarding stranica u aplikaciji! Morate identificirati stranice na kojima korisnici redovno napuštaju sesije i skratiti put do njih. Još bolje: identificirajte sve redovne rute i omogućite brz prijelaz sa izvorne stranice na odredišnu stranicu. Nešto zajedničko sa ABC analizom i analizom napuštenih kolica, zar ne?

I ovdje smo preispitali naš stav o primjenjivosti ovog alata za lokalne proizvode. Odlučeno je da se analizira aktivno prodavan i korišten proizvod - VMmanager 6. Mnogo je složenije, postoji red veličine više entiteta. Uzbuđeno smo čekali da vidimo kakav će biti graf tranzicije.

O razočarenjima i inspiracijama

Razočarenje #1

Bio je kraj radnog dana, kraj mjeseca i kraj godine u isto vrijeme - 27. decembra. Podaci su akumulirani, upiti napisani. Preostalo je nekoliko sekundi prije nego što je sve obrađeno i mogli smo pogledati rezultat našeg rada kako bismo saznali gdje će početi sljedeća radna godina. Odeljenje za istraživanje i razvoj, menadžer proizvoda, UX dizajneri, vođa tima, programeri okupili su se ispred monitora da vide kako izgledaju putevi korisnika u njihovom proizvodu, ali... videli smo ovo:
Vidite pravo lice proizvoda i preživite. Podaci o tranzicijama korisnika kao razlog za pisanje par novih servisa
Prijelazni graf koji je izradila biblioteka Retentioneering

Inspiracija #1

Snažno povezani, desetine entiteta, neočigledni scenariji. Bilo je samo jasno da nova radna godina neće početi analizom, već pronalaskom načina da se pojednostavi rad sa takvim grafom. Ali nisam se mogao otarasiti osjećaja da je sve mnogo jednostavnije nego što se činilo. I nakon petnaest minuta proučavanja izvornog koda Retentioneeringa, uspjeli smo eksportirati konstruirani graf u format tačke. Ovo je omogućilo da se graf postavi na drugi alat - Gephi. I već postoji prostor za analizu grafova: rasporeda, filtera, statistike - sve što treba da uradite je da konfigurišete potrebne parametre u interfejsu. Imajući to na umu, krenuli smo na novogodišnji vikend.

Razočarenje #2

Nakon povratka na posao ispostavilo se da dok se svi odmaraju, naši klijenti proučavaju proizvod. Da, toliko teško da su se u skladištu pojavili događaji koji prije nisu postojali. To je značilo da se upiti moraju ažurirati.

Malo pozadine za razumijevanje tuge ove činjenice. Prenosimo i događaje koje smo označili (na primjer, klikove na neke tipke) i URL-ove stranica koje je korisnik posjetio. U slučaju Cartbee-a, model “jedna akcija - jedna stranica” je funkcionirao. Ali s VMmanager-om situacija je bila potpuno drugačija: nekoliko modalnih prozora moglo se otvoriti na jednoj stranici. U njima bi korisnik mogao riješiti razne probleme. Na primjer, URL:

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

znači da je na stranici “IP adrese” korisnik dodao IP adresu. I ovdje su vidljiva dva problema odjednom:

  • URL sadrži neku vrstu parametra putanje - ID virtuelne mašine. Treba ga isključiti.
  • URL sadrži modalni ID prozora. Morate nekako "raspakovati" takve URL-ove.
    Drugi problem je bio što su sami događaji koje smo označili imali parametre. Na primjer, postojalo je pet različitih načina da se sa liste dođe do stranice sa informacijama o virtuelnoj mašini. Shodno tome, poslat je jedan događaj, ali s parametrom koji je ukazivao na koji metod je korisnik izvršio prijelaz. Bilo je mnogo takvih događaja, a svi parametri su bili različiti. I imamo svu logiku preuzimanja podataka u SQL dijalektu za Clickhouse. Upiti od 150-200 redova počeli su se činiti pomalo uobičajenim. Problemi su nas okruživali.

Inspiracija #2

Jednog ranog jutra Danil mi je, tužno listajući zahtjev drugu minutu, predložio: „Hajde da napišemo cevovode za obradu podataka?“ Razmislili smo o tome i odlučili da ako ćemo to učiniti, to će biti nešto poput ETL-a. Tako da odmah filtrira i izvlači potrebne podatke iz drugih izvora. Tako je rođen naš prvi analitički servis s potpuno funkcionalnim backendom. Implementira pet glavnih faza obrade podataka:

  1. Iskrcavanje događaja iz skladišta sirovih podataka i njihova priprema za obradu.
  2. Pojašnjenje je “raspakivanje” istih istih identifikatora modalnih prozora, parametara događaja i drugih detalja koji razjašnjavaju događaj.
  3. Obogaćivanje (od riječi “postati bogat”) je dodavanje događaja podacima iz izvora trećih strana. U to vrijeme to je uključivalo samo naš sistem naplate BILLmanager.
  4. Filtriranje je proces filtriranja događaja koji iskrivljuju rezultate analize (događaji iz internih stavova, odstupanja, itd.).
  5. Učitavanje primljenih događaja u pohranu, što smo nazvali čisti podaci.
    Sada je bilo moguće održati relevantnost dodavanjem pravila za obradu događaja ili čak grupa sličnih događaja. Na primjer, od tada nikada nismo ažurirali raspakivanje URL-a. Iako je tokom ovog vremena dodano nekoliko novih varijacija URL-a. Oni su u skladu sa pravilima koja su već postavljena u servisu i ispravno se obrađuju.

Razočarenje #3

Kada smo počeli da analiziramo, shvatili smo zašto je graf tako koherentan. Činjenica je da je skoro svaki N-gram sadržavao prelaze koji se nisu mogli izvršiti kroz interfejs.

Počela je mala istraga. Bio sam zbunjen da nema nemogućih tranzicija unutar jednog entiteta. To znači da ovo nije greška u sistemu prikupljanja događaja ili našoj ETL usluzi. Postojao je osjećaj da korisnik istovremeno radi u nekoliko entiteta, bez prelaska s jednog na drugi. Kako to postići? Korišćenje različitih kartica u pretraživaču.

Kada smo analizirali Cartbee, spasila nas je njegova specifičnost. Aplikacija je korištena s mobilnih uređaja, gdje je rad s nekoliko kartica jednostavno nezgodan. Ovdje imamo radnu površinu i dok se zadatak obavlja u jednom entitetu, razumno je poželjeti potrošiti ovo vrijeme na postavljanje ili praćenje statusa u drugom. A da ne biste izgubili napredak, samo otvorite drugu karticu.

Inspiracija #3

Kolege iz front-end razvoja naučile su sistem prikupljanja događaja da razlikuje kartice. Analiza je mogla početi. I počeli smo. Kao što se očekivalo, CJM nije odgovarao stvarnim putevima: korisnici su provodili mnogo vremena na stranicama direktorija, napuštenim sesijama i karticama na najneočekivanijim mjestima. Koristeći analizu tranzicije, uspjeli smo pronaći probleme u nekim Mozilla verzijama. U njima su, zbog mogućnosti implementacije, nestali elementi navigacije ili su se prikazale poluprazne stranice koje bi trebalo da budu dostupne samo administratoru. Stranica se otvorila, ali nikakav sadržaj nije došao iz pozadine. Brojanje prelaza je omogućilo da se proceni koje su karakteristike zaista korišćene. Lanci su omogućili razumijevanje kako je korisnik primio ovu ili onu grešku. Podaci dozvoljeni za testiranje na osnovu ponašanja korisnika. To je bio uspjeh, ideja nije bila uzaludna.

Automatizacija analitike

U jednoj od demonstracija rezultata pokazali smo kako se Gephi koristi za analizu grafova. U ovom alatu podaci o konverziji se mogu prikazati u tabeli. A šef UX odjela je rekao jednu vrlo važnu misao koja je utjecala na razvoj cjelokupnog smjera analize ponašanja u kompaniji: „Učinimo isto, ali u Tableau-u i sa filterima - to će biti zgodnije.“

Onda sam pomislio: zašto ne, Retentioneering pohranjuje sve podatke u strukturu pandas.DataFrame. A ovo je, uglavnom, tabela. Ovako se pojavio još jedan servis: Data Provider. Ne samo da je od grafikona napravio tabelu, već je izračunao koliko je stranica i funkcionalnost povezana s njom popularna, kako utiče na zadržavanje korisnika, koliko dugo korisnici ostaju na njoj i koje stranice korisnici najčešće napuštaju. A upotreba vizualizacije u Tableauu je toliko smanjila troškove proučavanja grafa da je vrijeme iteracije za analizu ponašanja u proizvodu gotovo prepolovljeno.

Danil će govoriti o tome kako se ova vizualizacija koristi i koje zaključke omogućava izvlačenje.

Više stolova za boga stola!

U pojednostavljenom obliku, zadatak je formuliran na sljedeći način: prikazati prijelazni graf u Tableauu, obezbijediti mogućnost filtriranja i učiniti ga što jasnijim i praktičnijim.

Nisam baš želio crtati usmjereni graf u Tableauu. Čak i ako je uspješan, dobitak, u poređenju sa Gephijem, nije izgledao očigledan. Trebalo nam je nešto mnogo jednostavnije i pristupačnije. Sto! Na kraju krajeva, graf se lako može predstaviti u obliku redova tabele, gde je svaki red ivica tipa „izvorno odredište“. Štaviše, već smo pažljivo pripremili takvu tabelu koristeći alate Retentioneering i Data Provider. Sve što je preostalo je da se tabela prikaže u Tableau-u i pretura po izveštaju.
Vidite pravo lice proizvoda i preživite. Podaci o tranzicijama korisnika kao razlog za pisanje par novih servisa
Govoreći o tome kako svi vole stolove.

Međutim, ovdje smo suočeni sa još jednim problemom. Šta učiniti s izvorom podataka? Bilo je nemoguće povezati pande. DataFrame nema takav konektor. Podizanje zasebne baze za pohranjivanje grafa činilo se previše radikalnim rješenjem s nejasnim izgledima. A lokalne opcije istovara nisu bile prikladne zbog potrebe za stalnim ručnim operacijama. Pregledali smo listu dostupnih konektora i pogled nam je pao na predmet Web Data Connector, koji se jadno stisnuo na samom dnu.

Vidite pravo lice proizvoda i preživite. Podaci o tranzicijama korisnika kao razlog za pisanje par novih servisa
Tableau ima bogat izbor konektora. Našli smo jednu koja je riješila naš problem

Kakva životinja? Nekoliko novih otvorenih kartica u pretraživaču - i postalo je jasno da vam ovaj konektor omogućava primanje podataka prilikom pristupa URL-u. Sam backend za izračunavanje podataka bio je skoro spreman, ostalo je samo da se sprijateljimo sa WDC-om. Nekoliko dana Denis je proučavao dokumentaciju i borio se sa Tableau mehanizmima, a onda mi je poslao link koji sam zalijepio u prozor za povezivanje.

Vidite pravo lice proizvoda i preživite. Podaci o tranzicijama korisnika kao razlog za pisanje par novih servisa
Obrazac za povezivanje na naš WDC. Denis je napravio svoj front i pobrinuo se za sigurnost

Nakon par minuta čekanja (podaci se izračunavaju dinamički kada se to zatraži) pojavila se tabela:

Vidite pravo lice proizvoda i preživite. Podaci o tranzicijama korisnika kao razlog za pisanje par novih servisa
Ovako izgleda niz sirovih podataka u interfejsu Tableau

Kao što je obećano, svaki red takve tabele predstavljao je ivicu grafa, odnosno usmereni prelaz korisnika. Takođe je sadržavao nekoliko dodatnih karakteristika. Na primjer, broj jedinstvenih korisnika, ukupan broj prijelaza i drugo.

Ovu tabelu bi bilo moguće prikazati u izveštaju kakva jeste, obilno posipati filtere i poslati alat na plovidbu. Zvuči logično. Šta možete učiniti sa stolom? Ali to nije naš način, jer ne pravimo samo tabelu, već alat za analizu i donošenje odluka o proizvodu.

Obično, kada analizira podatke, osoba želi da dobije odgovore na pitanja. Odlično. Počnimo s njima.

  • Koji su najčešći prijelazi?
  • Gdje idu sa određenih stranica?
  • Koliko u prosjeku provedete na ovoj stranici prije nego što odete?
  • Koliko često prelazite iz A u B?
  • Na kojim stranicama se sesija završava?

Svaki od izvještaja ili njihova kombinacija treba da omogući korisniku da samostalno pronađe odgovore na ova pitanja. Ključna strategija je da vam damo alate da to uradite sami. Ovo je korisno kako za smanjenje opterećenja odjela za analitiku tako i za smanjenje vremena za donošenje odluka - uostalom, više ne morate ići na Youtrack i kreirati zadatak za analitičara, samo trebate otvoriti izvještaj.

Šta smo dobili?

Gdje se ljudi najčešće odvajaju od kontrolne table?

Vidite pravo lice proizvoda i preživite. Podaci o tranzicijama korisnika kao razlog za pisanje par novih servisa
Fragment našeg izvještaja. Nakon kontrolne table, svi su otišli ili na listu VM-a ili na listu čvorova

Uzmimo opštu tabelu sa prelazima i filtriramo prema izvornoj stranici. Najčešće prelaze sa kontrolne table na listu virtuelnih mašina. Štaviše, kolona Regularnost sugerira da se radi o radnji koja se ponavlja.

Odakle dolaze na listi klastera?

Vidite pravo lice proizvoda i preživite. Podaci o tranzicijama korisnika kao razlog za pisanje par novih servisa
Filteri u izvještajima rade u oba smjera: možete saznati gdje ste otišli ili gdje ste otišli

Iz primjera je jasno da čak i prisutnost dva jednostavna filtera i rangiranje redova po vrijednostima omogućava brzo dobivanje informacija.

Hajde da pitamo nešto komplikovanije.

Gdje korisnici najčešće napuštaju sesiju?

Vidite pravo lice proizvoda i preživite. Podaci o tranzicijama korisnika kao razlog za pisanje par novih servisa
Korisnici VMmanagera često rade na zasebnim karticama

Da bismo to učinili, potreban nam je izvještaj čiji su podaci agregirani prema referentnim izvorima. I takozvane tačke prekida su uzete kao zadaci - događaji koji su služili kao kraj lanca tranzicija.

Ovdje je važno napomenuti da to može biti ili kraj sesije ili otvaranje nove kartice. Primer pokazuje da se lanac najčešće završava na tabeli sa listom virtuelnih mašina. U ovom slučaju, karakteristično ponašanje je prelazak na drugu karticu, koja je u skladu s očekivanim obrascem.

Korisnost ovih izvještaja prvo smo testirali na sebi kada smo na sličan način izvršili analizu Vepp, još jedan od naših proizvoda. Pojavom tablica i filtera, hipoteze su se testirale brže, a oči su bile manje umorne.

Prilikom izrade izvještaja nismo zaboravili na vizualni dizajn. Kada radite sa stolovima ove veličine, ovo je važan faktor. Na primjer, koristili smo miran raspon boja, lakih za percepciju monospace font za brojeve, bojom isticanje linija u skladu sa numeričkim vrijednostima karakteristika. Takvi detalji poboljšavaju korisničko iskustvo i povećavaju vjerovatnoću uspješnog pokretanja alata unutar kompanije.

Vidite pravo lice proizvoda i preživite. Podaci o tranzicijama korisnika kao razlog za pisanje par novih servisa
Tablica se pokazala prilično obimnom, ali nadamo se da nije prestala biti čitljiva

Posebno je vrijedno spomenuti obuku naših internih klijenata: stručnjaka za proizvode i UX dizajnera. Za njih su posebno pripremljeni priručnici s primjerima analize i savjetima za rad s filterima. Ubacili smo linkove do priručnika direktno na stranice izvještaja.

Vidite pravo lice proizvoda i preživite. Podaci o tranzicijama korisnika kao razlog za pisanje par novih servisa
Priručnik smo napravili jednostavno kao prezentaciju u Google dokumentima. Tableau alati vam omogućavaju da prikažete web stranice direktno unutar radne knjige izvještaja.

Umjesto pogovora

Šta je u krajnjoj liniji? Relativno brzo i jeftino smo uspjeli nabaviti alat za svaki dan. Da, ovo definitivno nije zamjena za sam graf, toplotnu mapu klikova ili web preglednik. Ali takvi izvještaji značajno dopunjuju navedene alate i daju hranu za razmišljanje i hipoteze o novim proizvodima i interfejsima.

Ova priča poslužila je samo kao početak razvoja analitike u ISPsystemu. U proteklih šest mjeseci pojavilo se još sedam novih servisa, uključujući digitalne portrete korisnika u proizvodu i servis za kreiranje baza podataka za Look-alike targetiranje, ali o njima ćemo govoriti u narednim epizodama.

izvor: www.habr.com

Dodajte komentar