Mga sistema ng pagsusuri ng kliyente

Isipin na ikaw ay isang namumuong negosyante na kakagawa lang ng isang website at mobile application (halimbawa, para sa isang tindahan ng donut). Gusto mong ikonekta ang analytics ng user na may maliit na badyet, ngunit hindi mo alam kung paano. Ang lahat sa paligid ay gumagamit ng Mixpanel, Facebook analytics, Yandex.Metrica at iba pang mga system, ngunit hindi malinaw kung ano ang pipiliin at kung paano ito gagamitin.

Mga sistema ng pagsusuri ng kliyente

Ano ang mga sistema ng analytics?

Una sa lahat, dapat sabihin na ang isang user analytics system ay hindi isang sistema para sa pagsusuri ng mga log ng serbisyo mismo. Ang pagsubaybay sa kung paano gumaganap ang serbisyo ay nakatuon sa katatagan at pagganap, at isinasagawa nang hiwalay ng mga developer. Nilikha ang analytics ng user upang pag-aralan ang pag-uugali ng user: anong mga aksyon ang kanyang ginagawa, gaano kadalas, kung paano siya tumutugon sa mga push notification o iba pang mga kaganapan sa serbisyo. Sa buong mundo, ang analytics ng user ay may dalawang direksyon: mobile at web analytics. Sa kabila ng magkakaibang mga interface at kakayahan ng mga serbisyo sa web at mobile, ang pagtatrabaho sa analytics system sa parehong direksyon ay halos pareho.

Bakit ito gawin?

Kinakailangan ang analytics ng user:

  • upang subaybayan kung ano ang mangyayari kapag ginagamit ang serbisyo;
  • upang baguhin ang nilalaman at maunawaan kung saan bubuo, kung anong mga tampok ang idaragdag/aalisin;
  • upang mahanap kung ano ang hindi gusto ng mga user at baguhin ito.

Paano ito gumagana?

Upang pag-aralan ang gawi ng user, kailangan mong mangolekta ng kasaysayan ng gawi na ito. Ngunit ano ang eksaktong kolektahin? Ang tanong na ito ay bumubuo ng hanggang sa 70% ng pagiging kumplikado ng buong gawain. Dapat sagutin ng maraming miyembro ng pangkat ng produkto ang tanong na ito nang magkasama: manager ng produkto, programmer, analyst. Ang anumang pagkakamali sa hakbang na ito ay magastos: maaaring hindi mo makolekta ang kailangan mo, at maaari kang mangolekta ng isang bagay na hindi magpapahintulot sa iyo na gumawa ng mga makabuluhang konklusyon.

Kapag nakapagpasya ka na kung ano ang kolektahin, kailangan mong isipin ang tungkol sa arkitektura kung paano ito kolektahin. Ang pangunahing bagay kung saan gumagana ang mga analytical system ay isang kaganapan. Ang isang kaganapan ay isang paglalarawan ng kung ano ang nangyari na ipinadala sa analytics system bilang tugon sa isang aksyon ng user. Karaniwan, para sa bawat isa sa mga pagkilos na pinili para sa pagsubaybay sa nakaraang hakbang, ang kaganapan ay mukhang isang JSON package na may mga field na naglalarawan sa ginawang pagkilos.

Anong uri ng JSON package ito?

Ang JSON package ay isang text file na naglalarawan kung ano ang nangyari. Halimbawa, ang isang JSON packet ay maaaring maglaman ng impormasyon na ang user na si Mary ay nagsagawa ng Nagsimulang pagkilos ng laro sa 23:00 noong ika-15 ng Nobyembre. Paano ilarawan ang bawat aksyon? Halimbawa, nag-click ang user sa isang button. Anong mga ari-arian ang kailangang kolektahin sa sandaling ito? Nahahati sila sa dalawang uri:

  • super properties - mga katangian na katangian ng lahat ng mga kaganapan na laging naroroon. Ito ang oras, device ID, bersyon ng API, bersyon ng analytics, bersyon ng OS;
  • mga katangian ng partikular na kaganapan - ang mga katangiang ito ay arbitrary at ang pangunahing kahirapan ay kung paano piliin ang mga ito. Halimbawa, para sa button na "bumili ng mga barya" sa isang laro, ang mga naturang pag-aari ay magiging "ilang mga barya ang binili ng user", "magkano ang halaga ng mga barya".

Isang halimbawa ng JSON package sa isang serbisyo sa pag-aaral ng wika:
Mga sistema ng pagsusuri ng kliyente

Ngunit bakit hindi na lang kolektahin ang lahat?

Dahil ang lahat ng mga kaganapan ay ginawa nang manu-mano. Ang mga system ng Analytics ay walang button na "i-save lahat" (at magiging walang kabuluhan iyon). Tanging ang mga pagkilos mula sa lohika ng serbisyo na kawili-wili sa ilang bahagi ng koponan ang kinokolekta. Kahit na para sa bawat estado ng isang pindutan o window, hindi lahat ng mga kaganapan ay karaniwang interesado. Para sa mahabang proseso (tulad ng antas ng laro), ang simula at wakas lamang ang maaaring mahalaga. Maaaring hindi magkakasama ang nangyayari sa gitna.
Bilang isang patakaran, ang lohika ng serbisyo ay binubuo ng mga bagay - mga entidad. Ito ay maaaring isang entity na "coin" o isang entity na "level". Samakatuwid, maaari kang bumuo ng mga kaganapan mula sa mga entity, ang kanilang mga estado at pagkilos. Mga halimbawa: β€œlevel na nagsimula”, β€œlevel ended”, β€œlevel ended, reason - kinain ng dragon”. Maipapayo na ang lahat ng mga entity na maaaring "mabuksan" ay sarado upang hindi lumabag sa lohika at hindi makapagpalubha ng karagdagang trabaho sa analytics.

Mga sistema ng pagsusuri ng kliyente

Ilang mga kaganapan ang mayroon sa isang kumplikadong sistema?

Ang mga kumplikadong sistema ay maaaring magproseso ng ilang daang mga kaganapan, na nakolekta mula sa lahat ng mga customer (mga tagapamahala ng produkto, programmer, analyst) at maingat (!) na ipinasok sa isang talahanayan, at pagkatapos ay sa lohika ng serbisyo. Ang paghahanda ng mga kaganapan ay isang malaking interdisciplinary na gawain na nangangailangan ng lahat na maunawaan kung ano ang kailangang kolektahin, pagkaasikaso at katumpakan.

Ano ang susunod?

Sabihin nating nakabuo tayo ng lahat ng mga kawili-wiling kaganapan. Panahon na upang kolektahin ang mga ito. Upang gawin ito, kailangan mong ikonekta ang analytics ng kliyente. Pumunta sa Google at hanapin ang mobile analytics (o pumili mula sa mga kilalang-kilala: Mixpanel, Yandeks.Metrika, Google Analytics, Ang analytics ng Facebook, Tune, Malawak). Kinukuha namin ang SDK mula sa website at ilalagay ito sa code ng aming serbisyo (samakatuwid ang pangalang "client" - dahil ang SDK ay binuo sa client).

At saan mangolekta ng mga kaganapan?

Ang lahat ng mga JSON package na gagawin ay kailangang maiimbak sa isang lugar. Saan sila ipapadala at saan sila magtitipon? Sa kaso ng isang client analytical system, ito mismo ang may pananagutan para dito. Hindi namin alam kung nasaan ang aming mga JSON package, kung saan ang kanilang storage, kung ilan ang mayroon, o kung paano sila nakaimbak doon. Ang buong proseso ng pagkolekta ay isinasagawa ng system at hindi mahalaga sa amin. Sa serbisyo ng analytics, nakakakuha kami ng access sa isang personal na account, kung saan nakikita namin ang mga resulta ng pagproseso ng paunang data ng pag-uugali. Susunod, gumagana ang mga analyst sa kung ano ang nakikita nila sa kanilang personal na account.

Sa mga libreng bersyon, karaniwang hindi mada-download ang raw data. Ang mamahaling bersyon ay may ganitong mga tampok.

Gaano katagal bago kumonekta?

Ang pinakasimpleng analytics ay maaaring ikonekta sa loob ng isang oras: ito ay App Metrika, na magpapakita ng mga pinakasimpleng bagay nang hindi sinusuri ang mga custom na kaganapan. Ang oras na kinakailangan upang mag-set up ng isang mas kumplikadong sistema ay depende sa mga napiling kaganapan. Lumilitaw ang mga paghihirap na nangangailangan ng karagdagang pag-unlad:

  • Mayroon bang pila ng mga kaganapan? Halimbawa, paano ayusin na ang isang kaganapan ay hindi mauuna sa isa pa?
  • Ano ang gagawin kung binago ng user ang oras? Binago ang time zone?
  • Ano ang gagawin kung walang Internet?

Sa karaniwan, maaari mong i-set up ang Mixpanel sa loob ng ilang araw. Kapag ang malaking bilang ng mga partikular na kaganapan ay binalak na kolektahin, maaaring tumagal ito ng isang linggo.

Mga sistema ng pagsusuri ng kliyente

Paano pumili kung alin ang kailangan ko?

Ang mga pangkalahatang istatistika ay gumagana nang maayos sa lahat ng analytical system. Mahusay na angkop para sa mga marketer at mga taong nagbebenta: makikita mo ang pagpapanatili, kung gaano katagal na ginugol ng mga user sa application, lahat ng pangunahing sukatan sa mataas na antas. Para sa pinakasimpleng landing page, sapat na ang mga sukatan ng Yandex.

Pagdating sa mga hindi karaniwang gawain, ang pagpili ay nakasalalay sa iyong serbisyo, analytical na gawain at mga kaganapan na kailangang iproseso upang malutas ang mga ito.

  • Sa Mixpanel, halimbawa, maaari kang magpatakbo ng mga pagsubok sa A/B. Paano ito gagawin? Lumilikha ka ng isang eksperimento kung saan magkakaroon ng ilang mga sample at gagawa ng isang pagpipilian (itinatalaga mo ang ganyan at ganoong mga user sa A, ang iba sa B). Para sa A ang pindutan ay magiging berde, para sa B ito ay magiging asul. Dahil kinokolekta ng Mixpanel ang lahat ng data, mahahanap nito ang device id ng bawat user mula sa A at B. Sa code ng serbisyo, gamit ang SDK, nagagawa ang mga pag-tweak - ito ang mga lugar kung saan maaaring magbago ang isang bagay para sa pagsubok. Susunod, para sa bawat gumagamit, ang halaga (sa aming kaso, ang kulay ng pindutan) ay nakuha mula sa Mixpanel. Kung walang koneksyon sa Internet, pipiliin ang default na opsyon.
  • Kadalasan gusto mong hindi lamang mag-imbak at mag-aral ng mga kaganapan, kundi pati na rin ang pinagsama-samang mga user. Awtomatikong ginagawa ito ng Mixpanel, sa tab na Mga User. Doon mo makikita ang lahat ng permanenteng data ng user (pangalan, email, profile sa facebook) at kasaysayan ng log ng user. Maaari mong tingnan ang data ng user bilang mga istatistika: Ang dragon ay kumain ng 100 beses, bumili ng 3 bulaklak. Sa ilang system, maaaring ma-download ang pagsasama-sama ng user.
  • Ano ang pangunahing lamig Ang analytics ng Facebook? Ikinokonekta nito ang bisita ng serbisyo sa kanyang profile sa Facebook. Samakatuwid, maaari mong malaman ang iyong madla, at higit sa lahat, pagkatapos ay i-convert ito sa isang madla sa advertising. Halimbawa, kung binisita ko ang isang site nang isang beses, at na-on ng may-ari nito ang advertising (autofillable audience sa Facebook analytics) para sa mga bisita, sa hinaharap ay makakakita ako ng advertising para sa site na ito sa Facebook. Para sa may-ari ng site, ito ay gumagana nang simple at maginhawa; kailangan mo lang tandaan na maglagay ng pang-araw-araw na limitasyon sa iyong badyet sa advertising. Ang kawalan ng Facebook analytics ay hindi ito partikular na maginhawa: ang site ay medyo kumplikado, hindi agad naiintindihan, at hindi gumagana nang napakabilis.

Halos walang kailangang gawin at lahat ay gumagana! Marahil ay may ilang mga downsides?

Oo, at isa sa mga ito ay kadalasang mahal. Para sa isang startup, maaaring humigit-kumulang $50k bawat buwan. Ngunit mayroon ding mga libreng pagpipilian. Ang Yandex App Metrica ay libre at angkop para sa pinakapangunahing sukatan.

Gayunpaman, kung ang solusyon ay mura, hindi magiging detalyado ang analytics: makikita mo ang uri ng device, OS, ngunit hindi mga partikular na kaganapan, at hindi ka makakagawa ng mga funnel. Maaaring magastos ang Mixpanel ng 50k dolyar sa isang taon (halimbawa, ang isang application sa Om Nom ay maaaring kumain ng ganoon kalaki). Sa pangkalahatan, ang pag-access sa data ay madalas na limitado sa lahat ng mga ito. Hindi ka gumawa ng sarili mong mga modelo at ilunsad ang mga ito. Ang pagbabayad ay karaniwang ginagawa buwan-buwan / pana-panahon.

May iba pa ba?

Ngunit ang pinakamasamang bagay ay kahit na ang Mixpanel ay isinasaalang-alang ang mga dami ng data na likas sa isang aktibong mobile application bilang isang pagtatantya (hayagang nakasaad nang direkta sa dokumentasyon). Kung ihahambing mo ang mga resulta sa analytics ng server, mag-iiba ang mga halaga. (Basahin ang tungkol sa kung paano lumikha ng iyong sariling server-side analytics sa aming susunod na artikulo!)

Ang malaking kawalan ng halos lahat ng analytical system ay na nililimitahan nila ang pag-access sa mga raw log. Kaya, ang pagpapatakbo ng iyong sariling modelo sa tila sarili mong data ay hindi gagana. Halimbawa, kung titingnan mo ang mga funnel sa Mixpanel, maaari mo lamang kalkulahin ang average na oras sa pagitan ng mga hakbang. Ang mga mas kumplikadong sukatan, halimbawa, median time o percentiles, ay hindi maaaring kalkulahin.

Gayundin, madalas na kulang ang kakayahang magsagawa ng mga kumplikadong pagsasama-sama at pagse-segment. Halimbawa, maaaring hindi available ang mapanlinlang na grupong bumili "upang pag-isahin ang mga user na ipinanganak noong 1990 at bumili ng hindi bababa sa 50 donut bawat isa."

Ang Facebook Analytics ay may napakakomplikadong interface at mabagal.

Paano kung i-on ko ang lahat ng system nang sabay-sabay?

Magandang ideya! Madalas na nangyayari na ang iba't ibang mga sistema ay gumagawa ng iba't ibang mga resulta. Iba't ibang numero. Bilang karagdagan, ang ilan ay may isang pag-andar, ang iba ay may isa pa, at ang iba ay libre.
Bilang karagdagan, maraming mga system ang maaaring i-on nang magkatulad para sa pagsubok: halimbawa, upang maging pamilyar sa interface ng bago at unti-unting lumipat dito. Tulad ng sa anumang negosyo, dito kailangan mong malaman kung kailan ihihinto at ikonekta ang analytics sa isang lawak na maaari mong subaybayan ito (at hindi iyon magpapabagal sa iyong koneksyon sa network).

Ikinonekta namin ang lahat, at pagkatapos ay naglabas ng mga bagong feature, paano magdagdag ng mga kaganapan?

Katulad ng kapag kumukonekta sa analytics mula sa simula: mangolekta ng mga paglalarawan ng mga kinakailangang kaganapan at gamitin ang SDK upang ipasok ang mga ito sa code ng kliyente.

Umaasa ako na ang mga sagot sa mga madalas itanong ay magiging kapaki-pakinabang sa iyo. Kung nakatulong sila sa iyong maunawaan na ang client-side analytics ay hindi angkop para sa iyong application, inirerekomenda naming subukan ang iyong server-side analytics. Pag-uusapan ko ito sa susunod na bahagi, at pagkatapos ay pag-uusapan ko kung paano ipatupad ito sa iyong proyekto.

Ang mga rehistradong user lamang ang maaaring lumahok sa survey. Mag-sign in, pakiusap

Anong mga customer analytics system ang ginagamit mo?

  • Mixpanel

  • Facebook Analytics

  • Google Analytics

  • Yandex Metrica

  • Iba

  • Sa iyong sistema

  • Wala

33 na user ang bumoto. 15 user ang umiwas.

Pinagmulan: www.habr.com

Magdagdag ng komento