Client-Analysesysteme

Stellen Sie sich vor, Sie sind ein angehender Unternehmer, der gerade eine Website und eine mobile Anwendung erstellt hat (z. B. für einen Donut-Laden). Sie möchten User Analytics mit kleinem Budget verbinden, wissen aber nicht wie. Jeder in der Umgebung nutzt Mixpanel, Facebook Analytics, Yandex.Metrica und andere Systeme, aber es ist nicht klar, was man wählen und wie man es verwenden soll.

Client-Analysesysteme

Was sind Analysesysteme?

Zunächst muss gesagt werden, dass ein Benutzeranalysesystem kein System zur Analyse von Protokollen des Dienstes selbst ist. Die Überwachung der Leistung des Dienstes konzentriert sich auf Stabilität und Leistung und wird von den Entwicklern separat durchgeführt. Benutzeranalysen werden erstellt, um das Verhalten des Benutzers zu untersuchen: welche Aktionen er ausführt, wie oft, wie er auf Push-Benachrichtigungen oder andere Ereignisse im Dienst reagiert. Weltweit gibt es bei der Benutzeranalyse zwei Richtungen: Mobil- und Webanalyse. Trotz der unterschiedlichen Schnittstellen und Fähigkeiten von Web- und Mobildiensten ist die Arbeit mit dem Analysesystem in beide Richtungen ungefähr gleich.

Warum das?

Benutzeranalysen sind erforderlich:

  • um zu überwachen, was bei der Nutzung des Dienstes passiert;
  • um den Inhalt zu ändern und zu verstehen, wo entwickelt werden muss und welche Funktionen hinzugefügt/entfernt werden müssen;
  • um herauszufinden, was Benutzern nicht gefällt, und es zu ändern.

Wie funktioniert es?

Um das Benutzerverhalten zu untersuchen, müssen Sie einen Verlauf dieses Verhaltens erfassen. Aber was genau sammeln? Diese Frage macht bis zu 70 % der Komplexität der gesamten Aufgabe aus. Diese Frage müssen viele Mitglieder des Produktteams gemeinsam beantworten: Produktmanager, Programmierer, Analysten. Jeder Fehler bei diesem Schritt ist kostspielig: Möglicherweise sammeln Sie nicht das, was Sie benötigen, und Sie sammeln möglicherweise etwas, das es Ihnen nicht ermöglicht, sinnvolle Schlussfolgerungen zu ziehen.

Sobald Sie sich entschieden haben, was Sie sammeln möchten, müssen Sie über die Architektur der Sammlung nachdenken. Das Hauptobjekt, mit dem analytische Systeme arbeiten, ist ein Ereignis. Ein Ereignis ist eine Beschreibung dessen, was passiert ist und als Reaktion auf eine Benutzeraktion an das Analysesystem gesendet wird. Normalerweise sieht das Ereignis für jede der im vorherigen Schritt zur Verfolgung ausgewählten Aktionen wie ein JSON-Paket mit Feldern aus, die die durchgeführte Aktion beschreiben.

Was für ein JSON-Paket ist das?

Das JSON-Paket ist eine Textdatei, die beschreibt, was passiert ist. Ein JSON-Paket kann beispielsweise Informationen darüber enthalten, dass die Benutzerin Mary am 23. November um 00:15 Uhr die Aktion „Spiel gestartet“ ausgeführt hat. Wie beschreibt man jede Aktion? Beispielsweise klickt der Benutzer auf eine Schaltfläche. Welche Eigenschaften müssen derzeit erfasst werden? Sie werden in zwei Typen unterteilt:

  • Supereigenschaften – Eigenschaften, die für alle immer vorhandenen Ereignisse charakteristisch sind. Dies sind Uhrzeit, Geräte-ID, API-Version, Analyseversion, Betriebssystemversion;
  • ereignisspezifische Eigenschaften – diese Eigenschaften sind willkürlich und die Hauptschwierigkeit besteht darin, sie auszuwählen. Für die Schaltfläche „Münzen kaufen“ in einem Spiel sind solche Eigenschaften beispielsweise „wie viele Münzen der Benutzer gekauft hat“ und „wie viel die Münzen gekostet haben“.

Ein Beispiel für ein JSON-Paket in einem Sprachlerndienst:
Client-Analysesysteme

Aber warum nicht einfach alles sammeln?

Denn alle Events werden manuell erstellt. Analysesysteme verfügen nicht über die Schaltfläche „Alle speichern“ (und das wäre sinnlos). Es werden nur die Aktionen aus der Servicelogik erfasst, die für einen Teil des Teams interessant sind. Selbst für jeden Zustand einer Schaltfläche oder eines Fensters sind normalerweise nicht alle Ereignisse von Interesse. Bei langen Prozessen (z. B. einem Spiellevel) sind möglicherweise nur der Anfang und das Ende wichtig. Was in der Mitte passiert, passt möglicherweise nicht zusammen.
In der Regel besteht die Servicelogik aus Objekten – Entitäten. Dies kann eine „Coin“-Entität oder eine „Level“-Entität sein. Daher können Sie Ereignisse aus Entitäten, ihren Zuständen und Aktionen zusammenstellen. Beispiele: „Level begonnen“, „Level beendet“, „Level beendet, Grund – von einem Drachen gefressen“. Es ist ratsam, alle Entitäten, die „geöffnet“ werden können, zu schließen, um die Logik nicht zu verletzen und die weitere Arbeit mit der Analyse nicht zu erschweren.

Client-Analysesysteme

Wie viele Ereignisse gibt es in einem komplexen System?

Komplexe Systeme können mehrere hundert Ereignisse verarbeiten, die von allen Kunden (Produktmanager, Programmierer, Analysten) gesammelt und sorgfältig (!) in eine Tabelle und dann in die Servicelogik eingetragen wurden. Die Vorbereitung von Veranstaltungen ist eine große interdisziplinäre Arbeit, die von jedem ein Verständnis dafür, was gesammelt werden muss, sowie Aufmerksamkeit und Genauigkeit erfordert.

Was kommt als nächstes?

Nehmen wir an, wir lassen uns alle interessanten Ereignisse einfallen. Es ist Zeit, sie einzusammeln. Dazu müssen Sie Kundenanalysen anbinden. Gehen Sie zu Google und suchen Sie nach mobilen Analysen (oder wählen Sie aus den bekannten: Mixpanel, Yandeks.Metrika, Google Analytics, Facebook-Analyse, Melodie, Amplitude). Wir nehmen das SDK von der Website und bauen es in den Code unseres Dienstes ein (daher der Name „Client“ – weil das SDK in den Client integriert ist).

Und wo kann man Veranstaltungen sammeln?

Alle JSON-Pakete, die erstellt werden, müssen irgendwo gespeichert werden. Wohin werden sie geschickt und wo werden sie sich sammeln? Im Falle eines Client-Analysesystems ist es selbst dafür verantwortlich. Wir wissen nicht, wo sich unsere JSON-Pakete befinden, wo sie gespeichert sind, wie viele es gibt oder wie sie dort gespeichert sind. Der gesamte Inkassoprozess wird vom System durchgeführt und spielt für uns keine Rolle. Im Analysedienst erhalten wir Zugriff auf ein persönliches Konto, in dem wir die Ergebnisse der Verarbeitung erster Verhaltensdaten sehen. Als nächstes arbeiten Analysten mit dem, was sie in ihrem persönlichen Konto sehen.

In kostenlosen Versionen sind die Rohdaten normalerweise nicht herunterladbar. Die teure Version verfügt über solche Funktionen.

Wie lange wird die Verbindung dauern?

Die einfachsten Analysen können in einer Stunde verbunden werden: Es wird App Metrika sein, die die einfachsten Dinge anzeigt, ohne benutzerdefinierte Ereignisse zu analysieren. Der Zeitaufwand für den Aufbau eines komplexeren Systems hängt von den ausgewählten Ereignissen ab. Es treten Schwierigkeiten auf, die eine zusätzliche Entwicklung erfordern:

  • Gibt es eine Warteschlange mit Veranstaltungen? Wie lässt sich beispielsweise beheben, dass ein Ereignis nicht vor einem anderen auftreten kann?
  • Was tun, wenn der Benutzer die Uhrzeit geändert hat? Zeitzone geändert?
  • Was tun, wenn kein Internet vorhanden ist?

Im Durchschnitt können Sie Mixpanel in ein paar Tagen einrichten. Wenn eine große Anzahl spezifischer Ereignisse erfasst werden soll, kann dies eine Woche dauern.

Client-Analysesysteme

Wie wähle ich aus, welches ich brauche?

Allgemeine Statistiken funktionieren in allen Analysesystemen einwandfrei. Gut geeignet für Vermarkter und Vertriebsmitarbeiter: Sie können die Bindung, die Verweildauer der Benutzer in der Anwendung und alles grundlegende, übergeordnete Kennzahlen sehen. Für die einfachste Zielseite reichen Yandex-Metriken aus.

Wenn es um nicht standardmäßige Aufgaben geht, hängt die Auswahl von Ihrem Service, den analytischen Aufgaben und den Ereignissen ab, die zu ihrer Lösung verarbeitet werden müssen.

  • In Mixpanel können Sie beispielsweise A/B-Tests durchführen. Wie kann man das machen? Sie erstellen ein Experiment, in dem es mehrere Proben geben soll, und treffen eine Auswahl (Sie ordnen den einen oder anderen Benutzer A zu, andere B). Bei A ist die Schaltfläche grün, bei B blau. Da Mixpanel alle Daten sammelt, kann es die Geräte-ID jedes Benutzers von A und B finden. Im Servicecode werden mithilfe des SDK Optimierungen erstellt – das sind Stellen, an denen sich zum Testen etwas ändern kann. Als nächstes wird für jeden Benutzer der Wert (in unserem Fall die Farbe der Schaltfläche) aus Mixpanel gezogen. Wenn keine Internetverbindung besteht, wird die Standardoption ausgewählt.
  • Oft möchten Sie nicht nur Ereignisse speichern und untersuchen, sondern auch Benutzer aggregieren. Mixpanel führt dies automatisch auf der Registerkarte „Benutzer“ durch. Dort können Sie alle permanenten Benutzerdaten (Name, E-Mail, Facebook-Profil) und den Benutzerprotokollverlauf einsehen. Sie können Benutzerdaten als Statistiken betrachten: Der Drache hat 100 Mal gegessen und 3 Blumen gekauft. In einigen Systemen kann die Aggregation nach Benutzer heruntergeladen werden.
  • Was ist die größte Coolness? Facebook-Analyse? Es verbindet den Servicebesucher mit seinem Facebook-Profil. So können Sie Ihr Publikum herausfinden und, was am wichtigsten ist, es dann in ein Werbepublikum umwandeln. Wenn ich beispielsweise einmal eine Website besucht habe und deren Eigentümer Werbung (automatisch ausfüllbare Zielgruppe in Facebook Analytics) für Besucher aktiviert hat, werde ich in Zukunft Werbung für diese Website auf Facebook sehen. Für den Websitebesitzer funktioniert das einfach und bequem; Sie müssen nur daran denken, Ihr Werbebudget täglich zu begrenzen. Der Nachteil von Facebook Analytics besteht darin, dass es nicht besonders komfortabel ist: Die Seite ist recht komplex, nicht sofort verständlich und funktioniert nicht sehr schnell.

Es muss fast nichts gemacht werden und alles funktioniert! Vielleicht gibt es einige Nachteile?

Ja, und einer davon ist, dass es normalerweise teuer ist. Für ein Startup könnten es etwa 50 US-Dollar pro Monat sein. Es gibt aber auch kostenlose Optionen. Yandex App Metrica ist kostenlos und für die grundlegendsten Metriken geeignet.

Wenn die Lösung jedoch kostengünstig ist, werden die Analysen nicht detailliert sein: Sie können den Gerätetyp und das Betriebssystem sehen, aber keine spezifischen Ereignisse, und Sie können keine Trichter erstellen. Mixpanel kann 50 Dollar pro Jahr kosten (zum Beispiel kann eine Anwendung mit Om Nom so viel verschlingen). Im Allgemeinen ist der Zugriff auf Daten in allen Fällen häufig eingeschränkt. Sie entwickeln keine eigenen Modelle und bringen sie auf den Markt. Die Zahlung erfolgt in der Regel monatlich/periodisch.

Irgendwelche anderen?

Das Schlimmste ist jedoch, dass selbst Mixpanel die Datenmengen einer aktiven mobilen Anwendung als Näherungswert betrachtet (direkt in der Dokumentation offen angegeben). Vergleicht man die Ergebnisse mit Serveranalysen, weichen die Werte voneinander ab. (Lesen Sie in unserem nächsten Artikel, wie Sie Ihre eigene serverseitige Analyse erstellen!)

Der große Nachteil fast aller Analysesysteme besteht darin, dass sie den Zugriff auf Rohprotokolle beschränken. Es wird also nicht funktionieren, ein eigenes Modell auf scheinbar eigenen Daten auszuführen. Wenn Sie sich beispielsweise Trichter in Mixpanel ansehen, können Sie nur die durchschnittliche Zeit zwischen den Schritten berechnen. Komplexere Metriken, beispielsweise Medianzeit oder Perzentile, können nicht berechnet werden.

Außerdem fehlt es oft an der Fähigkeit, komplexe Aggregationen und Segmentierungen durchzuführen. Beispielsweise ist der knifflige Gruppenkauf „um Benutzer zusammenzubringen, die 1990 geboren wurden und jeweils mindestens 50 Donuts gekauft haben“ möglicherweise nicht verfügbar.

Facebook Analytics hat eine sehr komplexe Oberfläche und ist langsam.

Was passiert, wenn ich alle Systeme gleichzeitig einschalte?

Eine super Idee! Es kommt häufig vor, dass unterschiedliche Systeme unterschiedliche Ergebnisse liefern. Verschiedene Zahlen. Darüber hinaus verfügen einige über eine Funktionalität, andere über eine andere und wieder andere sind kostenlos.
Darüber hinaus können mehrere Systeme parallel zum Testen eingeschaltet werden: um sich beispielsweise mit der Oberfläche eines neuen Systems vertraut zu machen und schrittweise darauf umzusteigen. Wie in jedem Unternehmen müssen Sie auch hier wissen, wann Sie die Analyse stoppen und so weit verbinden müssen, dass Sie den Überblick behalten können (und Ihre Netzwerkverbindung dadurch nicht verlangsamt wird).

Wir haben alles verbunden und dann neue Funktionen veröffentlicht. Wie fügt man Ereignisse hinzu?

Das Gleiche wie bei der Anbindung von Analytics von Grund auf: Sammeln Sie Beschreibungen der notwendigen Ereignisse und fügen Sie sie mithilfe des SDK in den Client-Code ein.

Ich hoffe, dass die Antworten auf häufig gestellte Fragen für Sie nützlich sind. Wenn Sie dadurch verstanden haben, dass clientseitige Analysen für Ihre Anwendung nicht geeignet sind, empfehlen wir Ihnen, Ihre serverseitigen Analysen auszuprobieren. Ich werde im nächsten Teil darüber sprechen und dann darüber sprechen, wie Sie dies in Ihrem Projekt umsetzen können.

An der Umfrage können nur registrierte Benutzer teilnehmen. Einloggenbitte.

Welche Kundenanalysesysteme nutzen Sie?

  • Mixpanel

  • Facebook Analytics

  • Google Analytics

  • Yandex Metrica

  • Andere

  • Mit Ihrem System

  • Nichts

33 Benutzer haben abgestimmt. 15 Benutzer enthielten sich der Stimme.

Source: habr.com

Kommentar hinzufügen