Client analytics systemen

Stel jo foar dat jo in aspirant ûndernimmer binne dy't krekt in webside en in mobile applikaasje makke hat (bygelyks foar in donutwinkel). Jo wolle oanpaste analytiken ferbine mei in lyts budzjet, mar wite net hoe. Elkenien rûnom brûkt Mixpanel, Facebook analytics, Yandex.Metrika en oare systemen, mar it is net dúdlik wat te kiezen en hoe te brûken.

Client analytics systemen

Wat binne analytyske systemen?

Alderearst moat it sein wurde dat in brûker analytysk systeem gjin systeem is foar it analysearjen fan de logs fan 'e operaasje fan' e tsjinst sels. Tafersjoch op hoe't de tsjinst rint rjochtet him op stabiliteit en prestaasjes, en wurdt apart ûnderhâlden troch de ûntwikkelders. User analytics, oan 'e oare kant, waard makke om krekt it gedrach fan' e brûker te studearjen: hokker aksjes hy útfiert, hoe faak, hoe't hy reagearret op push-notifikaasjes of oare eveneminten yn 'e tsjinst. Wrâldwiid hat brûkersanalyse twa gebieten: mobyl en webanalyse. Nettsjinsteande de ferskillende ynterfaces en mooglikheden fan web- en mobile tsjinsten, wurkje mei it analytyske systeem yn beide rjochtingen sawat itselde.

Wêrom is dat nedich?

Brûkeranalyse is nedich:

  • om te kontrolearjen wat der bart by it brûken fan de tsjinst;
  • om de ynhâld te feroarjen en te begripen wêr't te ûntwikkeljen, hokker funksjes tafoegje / fuortsmite;
  • om te finen wat brûkers net leuk fine en it feroarje.

Hoe wurket it?

Om brûkersgedrach te studearjen, moatte jo in skiednis fan dit gedrach sammelje. Mar wat krekt te sammeljen? Dizze fraach is oant 70% fan 'e kompleksiteit fan' e hiele taak. In protte leden fan it produktteam moatte it tegearre beäntwurdzje: produktmanager, programmeurs, analisten. Elke flater yn dizze stap is kostber: jo kinne net sammelje wat jo nedich binne, en sammelje wat jo net tastean om sinfolle konklúzjes te lûken.

Nei it besluten wat te bouwen, moatte jo tinke oer de arsjitektuer fan hoe't jo it bouwe. It haadobjekt wêrmei analytyske systemen wurkje is in evenemint. In evenemint is in beskriuwing fan wat der bard is dy't nei it analytyske systeem stjoerd wurdt yn reaksje op in brûker aksje. As regel, foar elk fan 'e aksjes selektearre foar folgjen yn' e foarige stap, liket it barren as in JSON-pakket mei fjilden dy't de nommen aksje beskriuwe.

Wat is in JSON-pakket?

It JSON-pakket is in tekstbestân dat beskriuwt wat der bard is. Bygelyks, it JSON-pakket kin ynformaasje befetsje dat de brûker Mary de Started game-aksje hat foltôge om 23:00 oere op 15 novimber. Hoe elke aksje te beskriuwen? Bygelyks, de brûker klikt op in knop. Hokker eigenskippen moatte wurde sammele op dit stuit? Se binne ferdield yn twa soarten:

  • super eigenskippen - eigenskippen karakteristyk foar alle eveneminten dy't altyd oanwêzich. Dit is de tiid, apparaat id, api ferzje, analytics ferzje, OS ferzje;
  • evenemint spesifike eigenskippen - dizze eigenskippen binne willekeurich en de wichtichste muoite is hoe te kiezen se. Bygelyks, foar de knop "keapje munten" yn it spul, sokke eigenskippen sille wêze "hoefolle munten de brûker kocht", "hoefolle de munten kostje".

In foarbyld fan in JSON-pakket yn in taalleartsjinst:
Client analytics systemen

Mar wêrom net gewoan alles sammelje?

Omdat alle eveneminten wurde makke mei de hân. Analytics-systemen hawwe gjin knop "alles bewarje" (en dat soe nutteloos wêze). Allinich de aksjes fan 'e tsjinstlogika dy't fan belang binne foar in part fan it team wurde sammele. Sels foar elke steat fan in knop of finster binne net alle eveneminten meastentiids fan belang. Foar langere prosessen (bygelyks spultsje nivo) kin allinnich it begjin en it ein fan belang wêze. Wat der yn 'e midden bart, kin net sammele wurde.
As regel, de logika fan tsjinsten bestiet út objekten - entiteiten. It kin de "munt" entiteit wêze, de "nivo" entiteit. Dêrom is it mooglik om eveneminten te komponearjen fan entiteiten, har steaten en aksjes. Foarbylden: "nivo begûn", "nivo einige", "nivo einige, de reden wurdt iten troch in draak". It is winsklik dat alle entiteiten dy't "iepene" kinne wurde sluten om de logika net te skeinen en fierdere wurk mei analytyk net te komplisearjen.

Client analytics systemen

Hoefolle eveneminten yn in kompleks systeem?

Komplekse systemen kinne ferwurkje ferskate hûndert eveneminten dy't waarden sammele út alle klanten (produkt manager, programmeurs, analysts) en soarchfâldich (!) Entered yn in tabel, en dan yn 'e tsjinst logika. It tarieden fan eveneminten is in grut ynterdissiplinêr wurk dat elkenien fereasket om te begripen wat moat wurde sammele, oandacht en krektens.

Wat is folgjende?

Litte wy sizze dat wy mei alle nijsgjirrige eveneminten kamen. It is tiid om se te sammeljen. Om dit te dwaan, moatte jo klantanalyse ferbine. Wy geane nei Google en sykje nei mobile analytics (of kieze út de bekende: Mixpanel, Yandeks.Metrika, Google Analytics, Facebook analytyk, Tune, amplitude). Wy nimme de SDK fan 'e side en ynbêde it yn' e koade fan ús tsjinst (dêrfandinne de namme "kliïnt" - om't de SDK yn 'e kliïnt is ynboud).

En wêr te sammelje eveneminten?

Alle JSON-pakketten dy't sille wurde oanmakke moatte earne wurde opslein. Wêr sille se stjoerd wurde en wêr wurde se sammele? Yn it gefal fan in klant analytysk systeem, it is ferantwurdlik foar dit sels. Wy witte net wêr't ús JSON-pakketten binne, wêr't se wurde opslein, hoefolle der binne en hoe't se dêr wurde opslein. It hiele kolleksjeproses wurdt dien troch it systeem en is foar ús net relevant. Yn 'e analytyske tsjinst krije wy tagong ta in persoanlik akkount, wêr't wy de resultaten al sjogge fan it ferwurkjen fan de earste gedrachsgegevens. Fierder wurkje analysten mei wat se sjogge yn har persoanlike akkount.

Yn fergese ferzjes binne de boarnegegevens normaal net te downloaden. De djoere ferzje hat sokke funksjes.

Hoe lang sil de ferbining nimme?

De ienfâldichste analytyk kin yn in oere ferbûn wurde: it sil App Metrika wêze, dy't de ienfâldichste dingen sil sjen litte sûnder oanpaste eveneminten te analysearjen. De tiid foar it opsetten fan in komplekser systeem hinget ôf fan de selektearre eveneminten. Der ûntsteane swierrichheden dy't ekstra ûntwikkeling fereaskje:

  • Is der in wachtrige foar eveneminten? Hoe kinne jo bygelyks reparearje dat it iene evenemint net foar in oar kin komme?
  • Wat te dwaan as de brûker de tiid hat feroare? De tiidsône feroare?
  • Wat as der gjin ynternet is?

Gemiddeld kinne jo Mixpanel yn in pear dagen ynstelle. As in kolleksje fan in grut oantal spesifike eveneminten pland is, kin it in wike duorje.

Client analytics systemen

Hoe om te kiezen hokker ik nedich?

Algemiene statistiken yn alle analytyske systemen wurket goed. Goed geskikt foar marketeers en ferkeapers: jo kinne it behâld sjen, hoe lang brûkers yn 'e applikaasje hawwe trochbrocht, alle basismetriken op heech nivo. Foar de ienfâldichste lâningsside sil Yandex-metriken genôch wêze.

As it giet om net-standert taken, hinget de kar ôf fan jo tsjinst, analytyske taken en eveneminten dy't moatte wurde ferwurke om se op te lossen.

  • Yn Mixpanel kinne jo bygelyks A/B-tests útfiere. Hoe it te dwaan? Jo meitsje in eksperimint wêryn d'r ferskate samples sille wêze en meitsje in seleksje (jo jouwe sokke en sokke brûkers oan A, oaren oan B). Foar A sil de knop grien wêze, foar B sil it blau wêze. Sûnt Mixpanel sammelet alle gegevens, it kin fine it apparaat id fan elke brûker út A en B. Tweaks wurde makke yn de tsjinst koade mei help fan de SDK - dit binne plakken dêr't wat kin feroarje foar testen. Folgjende, foar elke brûker, wurdt de wearde (yn ús gefal, de kleur fan 'e knop) út it Mixpanel helle. As d'r gjin ynternetferbining is, sil de standertopsje selektearre wurde.
  • Faak wolle jo net allinich eveneminten opslaan en studearje, mar ek brûkers sammelje. Itselde Mixpanel docht dit automatysk, yn it tabblêd Brûkers. Dêr kinne jo alle permaninte brûkersgegevens (namme, e-post, facebookprofyl) en histoarje fan brûkerslogboeken besjen. Jo kinne brûkersgegevens sjen as statistiken: 100 kear iten troch in draak, kocht 3 blommen. Op guon systemen kin brûkersaggregaasje downloade wurde.
  • Wat is de wichtichste cool Facebook analytyk? It ferbynt de tsjinst besiker mei syn Facebook profyl. Dêrom kinne jo jo publyk fine, en it wichtichste, dan omsette yn in reklamepublyk. Bygelyks, as ik ien kear in side besykje, en de eigner hat advertinsjes ynskeakele (autofillable publyk yn Facebook analytics) foar besikers, dan sil ik yn 'e takomst advertinsjes foar dizze side op Facebook sjen. Foar de side-eigner wurket it ienfâldich en handich, jo moatte gewoan ûnthâlde om in deistige pet op it reklamebudzjet te setten. It neidiel fan Facebook analytics is dat it net bysûnder handich is: in frij komplekse, net direkt begryplike side, it wurket net heul fluch.

Der hoecht hast neat te dwaan en alles wurket! Miskien binne d'r wat neidielen?

Ja, en ien fan harren is dat meastal, it is djoer. Foar in opstart kin it sawat $ 50k per moanne wêze. Mar d'r binne ek fergese opsjes. Yandex App Metrica is fergees en geskikt foar de meast basale metriken.

As de oplossing lykwols goedkeap is, dan sil de analytyk net detaillearre wurde: it sil mooglik wêze om it type apparaat, OS, mar net spesifike eveneminten te sjen, en it sil net mooglik wêze om trechters te meitsjen. Mixpanel kin kostje 50k dollar yn it jier (Bygelyks, in app mei Om Nom kin ite dat folle). Yn it algemien, yn alle tagong ta gegevens wurdt faak beheind. Jo útfine jo eigen modellen net en jo rinne se net. Betelling wurdt normaal alle moannen / periodyk útfierd.

Noch mear?

Mar it slimste is dat sels it Mixpanel de gegevensvoluminten dy't inherent binne oan 'e aktive mobile applikaasje beskôget as in approximaasje (iepenlik direkt oanjûn yn' e dokumintaasje). As jo ​​de resultaten fergelykje mei analytiken op serverside, sille de wearden divergje. (Lês ús folgjende artikel foar hoe't jo jo eigen tsjinner-side-analytika kinne oanmeitsje!)

It grutte neidiel fan hast alle analytyske systemen is dat se tagong beheine ta rau logs. Dat, jo eigen model útfiere op skynber jo eigen gegevens sil net wurkje. As jo ​​bygelyks nei de trechters yn it Mixpanel sjogge, kinne jo allinich de gemiddelde tiid tusken stappen berekkenje. Mear komplekse metriken, lykas mediaan tiid of percentiles, kinne net berekkene wurde.

Ek ûntbrekt de mooglikheid fan komplekse aggregations en segmentaasjes faak. Bygelyks, de lestige groepkeap "bring brûkers byinoar dy't berne binne yn 1990 en elk op syn minst 50 donuts kochten" is miskien net beskikber.

Facebook analytics hat in heul komplekse ynterface en is stadich.

Wat as ik alle systemen tagelyk ynskeakelje?

Geweldich idee! It bart faak dat ferskate systemen ferskate resultaten produsearje. Ferskillende nûmers. Derneist hawwe guon ien funksjonaliteit, de twadde - in oare, en de tredde binne fergees.
Derneist kinne ferskate systemen parallel wurde ynskeakele foar testen: bygelyks om josels fertroud te meitsjen mei de ynterface fan in nije en stadichoan oerskeakelje nei it. Lykas yn elk bedriuw, moatte jo hjir de maatregel witte en analytyk ferbine yn sa'n folume dat jo kinne folgje (en dy't de netwurkferbining net fertrage).

Wy ferbûn alles, en doe útbrocht nije funksjes, hoe te foegjen eveneminten?

Krekt as by it ferbinen fan analytiken fanôf it begjin: sammelje in beskriuwing fan 'e nedige eveneminten en foegje it yn' e kliïntkoade mei de SDK.

Ik hoopje dat de antwurden op faak stelde fragen nuttich foar jo sille wêze. As se jo holpen hawwe te begripen dat analytiken oan 'e kant fan' e kliïnt net geskikt binne foar jo applikaasje, riede wy oan dat jo jo analytyske serverside besykje. Ik sil der oer prate yn it folgjende diel, en dan sil ik prate oer hoe't ik it yn myn projekt útfiere kin.

Allinnich registrearre brûkers kinne meidwaan oan 'e enkête. Ynlogge, asjebleaft.

Hokker klantanalysesystemen brûke jo?

  • Mixpanel

  • Facebook Analytics

  • Google Analytics

  • Yandex Metrica

  • Oaren

  • Mei jo systeem

  • neat

33 brûkers stimden. 15 brûkers ûntholden har.

Boarne: www.habr.com

Add a comment