Bessere mobile Analysen finden
Veröffentlicht: 2022-03-10Beim Erstellen einer mobilen Anwendung stellt sich ein Entwickler ein Modell und die Art und Weise vor, wie Benutzer die Anwendung verwenden werden. Ein Problem, mit dem Entwickler konfrontiert sind, besteht darin, dass Benutzer eine App nicht immer so verwenden, wie es sich der Entwickler vorgestellt hat.
Wie interagieren Benutzer mit der App? Was machen sie in der App? Tun sie, was der Entwickler von ihnen will? Mobile Analytics hilft bei der Beantwortung dieser Fragen. Analysen ermöglichen es dem Entwickler zu verstehen, was mit der App im wirklichen Leben passiert, und bieten die Möglichkeit, die App anzupassen und zu verbessern, nachdem sie gesehen haben, wie Benutzer sie tatsächlich verwenden. Vereinfacht gesagt ist Analytics die Untersuchung des Nutzerverhaltens.
Weiterführende Literatur zu SmashingMag:
- Priorisierung von Geräten: Testen und Responsive Webdesign
- Noahs Übergang zu mobilen Usability-Tests
- Wo sind die weltbesten Open Device Labs?
- Ein Leitfaden für einfaches und schmerzloses Testen mobiler Benutzer
In diesem Artikel werden wir einige der beliebtesten mobilen Analysesysteme vergleichen. Beim Hinzufügen von Analysen zu einer App müssen viele Details berücksichtigt werden, und unser Ziel ist es, Ihnen nützliche Tipps zur Implementierung von Analysen zu geben. Diese Informationen sollen Ihnen helfen, ein mobiles Analysesystem zu finden, das Ihren Anforderungen entspricht, und Ihnen helfen, es richtig in Ihre App zu implementieren.
Analytik im wirklichen Leben
Nehmen wir als Beispiel eine kleine iOS-Anwendung, die wir entwickelt haben. Es heißt What I Eat und soll die Essgewohnheiten des Benutzers verfolgen.
Benutzer können ihre Mahlzeiten nachverfolgen, das tägliche Mahlzeitenprotokoll überprüfen und zwischen den Tagen im Kalender wechseln, um frühere Protokolle zu überprüfen. Die Anwendung hat ein Werbebanner, aber Benutzer können bezahlen, um es zu deaktivieren.
Bei der Entwicklung von „What I Eat“ lag unser Hauptaugenmerk darauf, dass der Benutzer problemlos neue Mahlzeitenaufzeichnungen hinzufügen und seinen täglichen Mahlzeitenverlauf leicht überprüfen kann. Wir wollten die Anwendung auch mit einem In-App-Kauf monetarisieren, um die Werbung zu entfernen. Um zu verstehen, ob uns das gelungen ist, verfolgen wir die folgenden Ereignisse in der App:
- wenn der Benutzer die App zum ersten Mal startet (Anwendungsinstallation),
- wenn der Benutzer die Liste der täglichen Mahlzeiten öffnet (Hauptanwendungsbildschirm),
- wenn der Benutzer einen neuen Mahlzeitendatensatz hinzufügt,
- wenn der Benutzer einen In-App-Kauf tätigt, um Anzeigen zu entfernen.
Später in diesem Artikel werden wir zeigen, wie wir Analysen verwenden, um festzustellen, ob Benutzer begonnen haben, die App zu verwenden, und wie viel Prozent der Benutzer nach der Installation der App mit der Verfolgung von Mahlzeiten beginnen.
Vergleich von Analysediensten
Heute sind zahlreiche Analysedienste auf dem Markt, die von bekannten Systemen wie Google Analytics bis hin zu Nischentools reichen. Sie alle zu analysieren und zu vergleichen würde ewig dauern; Daher werden wir für diesen Artikel nur diejenigen verwenden, die wir für am bequemsten halten. Das heißt, wir haben diejenigen ausgewählt, deren Dashboard-Oberfläche und Data-Mining-Toolbox für diejenigen, die nicht viel Erfahrung mit Analysen haben, wie unsere Kunden, relativ einfach zu verstehen und einfach zu handhaben sind. Als mobilorientierte Analysesysteme sind sie auch aus Entwicklungssicht praktisch, da der Analysecode einfach in einer mobilen App implementiert und angepasst werden kann. Hier die Systeme:
- Flurry von Yahoo
- Antworten von Crashlytics
- Amplitude
- Mixpanel
Um die Leistung von What I Eat zu analysieren, verwenden wir zwei Hauptwerkzeuge, die fast jedes Analysesystem bietet: Ereignisse und Trichter. Ereignisse beschreiben, was Benutzer in der App tun, während Trichter eine qualitative Analyse dieser Daten ermöglichen. Lassen Sie uns untersuchen, wie jedes der Systeme diese für What I Eat implementiert.
Mixpanel
Mit Mixpanel können Sie benutzerdefinierte Ereignisse verfolgen. Der Entwickler kann den Ereignissen benutzerdefinierte Parameter hinzufügen und diese Parameter verwenden, um Conversion-Trichter zu segmentieren.
Wir haben einen Trichter erstellt, der zwei Ereignisse enthält: „Installieren“ (das den ersten Start der App nach der Installation anzeigt) und „Mahlzeit hinzufügen“ (das jedes Mal verfolgt, wenn der Benutzer eine Mahlzeit hinzufügt). Diese zeigen uns, wie viel Prozent der Nutzer die App nicht nur heruntergeladen, sondern auch begonnen haben, sie zu verwenden. Die Conversion wird auf 65 % geschätzt, was bedeutet, dass von 100 Personen, die die App installiert haben, bis zu 65 damit begonnen haben, Mahlzeiten zu verfolgen.
Manchmal benötigt ein Entwickler Ereignisse, die in Echtzeit oder mit minimaler Verzögerung im Analyse-Dashboard angezeigt werden, nachdem sie in der Anwendung aufgetreten sind. Beispielsweise hat ein Entwickler möglicherweise eine Social-Media-Marketingkampagne gestartet und muss in Echtzeit verfolgen, wie sich diese auf seine Anwendung auswirkt. Mixpanel zeigt Ereignisse fast in Echtzeit an. Neu erstellte Trichter werden fast sofort berechnet und visualisiert.
Amplitude
Unmittelbar nachdem der Entwickler das Software Development Kit (SDK) von Amplitude zu seinem Projekt hinzugefügt hat, und ohne weitere Einrichtung von Ereignissen oder Trichtern, beginnt die Software mit der Verfolgung der täglichen und monatlichen Daten der aktiven Benutzer (DAU und MAU). Wir verwenden das häufig in What I Eat, um zu verstehen, wie viele Menschen die App jeden Tag verwenden.
Wie Mixpanel bietet Amplitude eine leistungsstarke Toolbox für die Arbeit mit Ereignissen und Trichtern; Der Entwickler kann einen Trichter erstellen und ihn nach Parametern segmentieren. Im Gegensatz zu Mixpanel kann Amplitude Segmente direkt in einem Trichterdiagramm visualisieren, was praktisch ist, wenn Sie verstehen müssen, wie sich ein Parameter auf die Conversion-Rate auswirkt. Die folgende Tabelle zeigt, wie die Konvertierung von „Installieren“ zu „Mahlzeit hinzufügen“ je nach Sprache der Benutzeroberfläche variiert.
Wie Sie sehen können, zeigt die russische Benutzeroberfläche eine bessere Konvertierung als die englische (83 % gegenüber 66 %). Bei unseren nächsten App-Updates müssen wir uns also möglicherweise mehr mit unserem nicht-russischen Publikum befassen.
Antworten von Crashlytics
Wie bei Amplitude beginnt das Tracking von Daten, sobald das SDK von Answers zum Anwendungsprojekt hinzugefügt wird. Fast ohne Anstrengung des Entwicklers bietet Answers einen übersichtlichen Überblick über einige Key Performance Indicators (KPIs) der mobilen Anwendung: MAU, DAU, täglich neue Benutzer und Sitzungen.
Der Entwickler kann benutzerdefinierte KPIs als Ereignisse definieren und verfolgen, und Answers visualisiert sie auf die gleiche Weise.
Answers bietet auch Einblicke, wie aktiv Ihr Publikum ist und wie viel Zeit die Leute in der App verbringen.
Die Analysen von Answers speichern Daten der letzten 30 Tage und haben keine Trichter. Daher funktioniert es nur für die einfache und kurzfristige Analyse der Leistung einer App.
Flurry von Yahoo
Flurry ist nicht so praktisch wie Mixpanel oder Amplitude, wenn Sie Trichter erstellen und Kohortenanalysen durchführen müssen.
Flurry-Benutzer können bis zu 10 Segmente erstellen und sie auf einen Trichter anwenden. Das Hinzufügen eines neuen Segments zu einem vorhandenen Trichter erfordert dessen Neuberechnung, was etwa einen Tag dauern kann. Benutzer können nicht mehr als 10 Segmente erstellen, um sie auf ihre Trichter anzuwenden. Berechnungen von neu erstellten Trichtern können bis zu drei Tage dauern.
Wir haben festgestellt, dass die Ereignisse und Trichter von Flurry für What I Eat nicht nützlich sind, und wir haben hauptsächlich Mixpanel und Amplitude verwendet.
Was ist noch wichtig?
Während Events und Trichter Schlüsselfunktionen sind, spielen einige andere Dinge bei der Auswahl des richtigen Analysesystems eine Rolle.
Demografische Daten
Einige der Analysedienste bieten Einblicke in die Zielgruppe der Anwendung, auch wenn diese nicht in der App erfasst werden. Sie tun dies, indem sie Benutzerdaten aus anderen Quellen als Ihrer mobilen Anwendung abrufen. Dies ist praktisch, wenn Sie Ihre Hauptbenutzer identifizieren müssen, Ihre Anwendung jedoch keine Daten über sie sammelt. In der What I Eat-App müssen sich Benutzer beispielsweise nicht anmelden und es gibt keine andere Möglichkeit, Benutzerdaten zu erhalten, aber wir würden trotzdem gerne wissen, wer sie verwendet, um neue Benutzer mit der App genau anzusprechen Aktualisierung.
Answers stellt Daten zu Ihrer Zielgruppe bereit, z. B. deren Geschlecht und Interessen. Sie fragen sich vielleicht, wie es das macht? Nun, Answers ist eng mit Twitter integriert, und da Twitter so ziemlich alles über jeden weiß, der die Plattform nutzt, werden diese personenbezogenen Daten von Answers genutzt.
Flurry schätzt demografische Daten, indem es die Benutzerinformationen annähert, die es von den Apps erhält, die es geteilt haben. Der Grund, warum Entwickler diese Informationen teilen, liegt darin, dass sie einen genaueren Zielgruppendatensatz erhalten, indem sie Flurry Insight-Daten zur Verfügung stellen. Flurry zeigt Ihnen die Interessen, die Altersspanne und das Geschlecht Ihrer Benutzer.
Mithilfe von Flurry und Answers können wir feststellen, dass das Publikum von What I Eat hauptsächlich aus Frauen mittleren Alters besteht, die sich für Gesundheit und Fitness interessieren.
Mixpanel und Amplitude liefern keine demografischen Daten.
Externe API zum Importieren und Exportieren von Daten
Analytics ermöglicht den Import und Export von Daten über externe APIs. Der Export ermöglicht die Analyse von Daten außerhalb des Analyse-Dashboards (dh mit Hilfe von Data-Mining-Software von Drittanbietern wie Windrush und DataHero). Durch das Importieren von APIs können Sie Daten aus Quellen wie Back-End-Servern und Zuordnungsverfolgungssystemen wie AppsFlyer auf Analyseplattformen bereitstellen. Lassen Sie uns untersuchen, welche Analysedienste solche Funktionen bereitstellen:
- Amplitude bietet eine externe API für den Import und Export von Ereignissen.
- Mixpanel verfügt über Import- und Export-APIs. Es unterstützt die JavaScript-Abfragesprache, um komplexe Exportabfragen zu ermöglichen.
- Answers hat keine externe API. Sie können Ereignisdaten als CSV-Datei vom Dashboard herunterladen, sie enthalten jedoch keine Ereignisparameter.
- Flurry hat keine Import-API. Sie können Daten nur über die Export-API exportieren.
Preis
Mobile-Analytics-Unternehmen experimentieren mit der Preisgestaltung und können ihre Tarife häufig ändern. Die folgenden Daten stammen vom Juli 2016:
- Flurry und Answers sind völlig kostenlos.
- Der kostenlose Plan von Amplitudes bietet 10 Millionen Ereignisse pro Monat. Wenn Sie damit rechnen, mehr als das zu verfolgen, kostet es 2.000 US-Dollar pro Monat. Obwohl wir Amplitude in ziemlich vielen Projekten verwendet haben, mussten wir nie auf die kostenpflichtige Stufe wechseln, da die Grenzen des kostenlosen Plans ebenfalls hoch sind.
- Mixpanel hat ein kostenloses Kontingent von 25.000 Events pro Monat. Eine Million Events kosten 300 US-Dollar pro Monat. Für mehr als 10 Millionen Veranstaltungen müssen Sie 1.250 US-Dollar pro Monat bezahlen.
Tipps zur Analytics-Implementierung
Nachdem wir nun die Hauptunterschiede zwischen den einzelnen Analysesystemen kennen, wollen wir uns mit den praktischen Aspekten der Implementierung von Analysen befassen.
Mach deine Hausaufgaben
Wenn Sie entschieden haben, dass Sie Analysen in Ihrer App benötigen, ist die Codierung nicht das erste, woran Sie denken sollten. Wir glauben, dass ein guter Entwickler mit den folgenden Schritten beginnen sollte:
- Schreiben Sie auf, was Sie nachverfolgen müssen. . Beginnen Sie damit, eine Liste mit Fragen zu erstellen, die Analytics beantworten soll. Legen Sie basierend auf dieser Liste Ereignisse und die Parameter fest, die Sie verfolgen müssen, um die Fragen zu beantworten. Fügen Sie keine Analysen in die App ein, um der Sache willen.
- Formulieren Sie es in Bezug auf Ihre Analysen um. . Sobald Sie Ihre Ereignisliste vervollständigt haben, formalisieren Sie sie entsprechend der von Ihnen ausgewählten Analyseplattform. Während Amplitude beispielsweise Ereignisse mit beliebigen Parametersätzen zulässt, verfügt Google Analytics über einen vordefinierten Parametersatz. Berücksichtigen Sie solche Nuancen bei der Implementierung von Analysen.
- Machen Sie eine kleine Demo. . Eine gute Idee wäre, eine kleine Test-App zu bauen, mit ihrer Hilfe ein Dutzend Events zu tracken und dann zu prüfen, wie diese Events in der Plattform deiner Wahl visualisiert werden und welche Data-Mining-Instrumente es gibt. Nutzen Sie dieses Wissen, um die Funktionalität der ausgewählten Plattform bei der Implementierung von Analysen in der Live-App zu maximieren.
Denken Sie beim Codieren groß
Entwerfen Sie den Analytics-Code so, dass er vom Code des Projekts und vom Analytics-SDK unabhängig ist. Platzieren Sie daher den Analysecode in einem separaten Subsystem oder einer separaten Klasse und definieren Sie Schnittstellenmethoden, die vom Anwendungscode aufgerufen werden können. Wenn ein Benutzer beispielsweise auf eine Menüschaltfläche tippt, würde der Anwendungscode den Analytics-Klassencode aufrufen. Für eine in Swift geschriebene iOS-App sähe das so aus:
/** Application code: menu tap handler */ @IBAction func menuButtonPressed(sender: UIButton) { //Showing menu, etc... AnalyticsManager.sharedInstance.userTapMenuButton() }
Die vom Anwendungscode aufgerufene allgemeine Analyseklasse sammelt eine Liste von Parametern und sendet diese Daten an die spezifische Analyseklasse.
/** General analytics class: a bridge between the application code and the specific analytics class */ class AnalyticsManager { static let sharedInstance = AnalyticsManager() private var services: [AnalyticsService] private init() { services = [AmplitudeAnalyticsService()] } func userTapMenuButton() { let name = "MenuTap" let properties: [String: AnyObject] = [/* define your properties */] for service in services { service.trackEvent(withName: name, properties: properties) } } }
Die spezifische Analyseklasse sendet Daten an das Analyse-SDK. In unserem Fall ist es das SDK von Amplitude.
/** Specific analytics class. */ class AmplitudeAnalyticsService: AnalyticsService { func trackEvent(withName name: String, properties: [String : AnyObject]?) { if let propertiesToTrack = properties { Amplitude.instance().logEvent(name, withEventProperties: propertiesToTrack) } else { Amplitude.instance().logEvent(name) } } }
Mit einer solchen Struktur müssen Sie immer dann, wenn Sie sich entscheiden, zu einer anderen Analyseplattform zu migrieren oder den zu verfolgenden Parametersatz anzupassen, nur den Analyseklassencode, aber nicht den Anwendungscode ändern.
Analysieren Sie alle Ihre Daten
Sammeln Sie Daten aus allen Quellen in der Analyseplattform Ihrer Wahl. Senden Sie Daten nicht nur von der mobilen App, sondern auch vom Back-End mithilfe einer externen API. Wenn Sie eine Werbekampagne durchführen, verwenden Sie ein Installationsverfolgungssystem wie AppsFlyer oder Adjust, um deren Effizienz zu messen und zu verstehen, woher Ihre Benutzer kommen. Wählen Sie im Voraus das Installationsverfolgungssystem aus, das Sie verwenden möchten, um sicherzustellen, dass es gut mit Ihrer Analyseplattform zusammenarbeitet.
Kontrollieren Sie die Anzahl der SDKs
Versuchen Sie, die SDKs der Analyseplattformen zu verwenden, die bereits in der Anwendung enthalten sind. Wenn Sie Abstürze mit Crashlytics nachverfolgen, können Sie die Analysen von Answers ohne zusätzlichen Code verwenden, da sowohl Crashlytics als auch Answers im Fabric SDK enthalten sind. Wenn Ihre App die Registrierung bei Facebook zulässt, verfügt sie bereits über das SDK, das die mobile Analyse von Facebook implementiert, sodass Sie es genauso gut verwenden können.
Versuchen Sie, verschiedene Analysesysteme zu kombinieren, aber überladen Sie die Binärdatei Ihrer Anwendung nicht mit zu vielen SDKs.
Dokumentieren Sie es
Arbeiten Sie schließlich parallel zur Implementierung von Analysen für Ihre Anwendung an deren Dokumentation: Schreiben Sie auf, welche Ereignisse und Parameter Sie verfolgen und wie Sie dabei vorgehen. Dazu verwenden wir normalerweise eine Readme.md
-Datei, die im Kernordner des Projekts gespeichert ist. Jedes Ereignis wird durch folgende Daten beschrieben:
- Ereignisname (z. B. „Benutzerregistrierung“);
- wenn nachverfolgt (z. B. „Bei erfolgreicher Registrierung eines neuen Benutzers“);
- Parameter (z. B. „E-Mail/String“);
- Controller, bei dem der Tracking-Code aufgerufen wird (z. B. „SignInController“).
Solche Details werden leicht vergessen, aber sie werden kritisch, wenn Sie den zu verfolgenden Datensatz ändern oder auf eine andere Analyseplattform migrieren möchten.
Zusammenfassen
Kein Analysedienst ist perfekt; jeder hat seine Vor- und Nachteile. Bei der Auswahl sollten Sie Faktoren wie den Anwendungstyp, die Benutzeroberfläche des Analyse-Dashboards, Ihr Budget usw. abwägen. Möglicherweise möchten Sie sogar Nischenlösungen verwenden, z. B. Spielanalysen, die zur Analyse nichtlinearer Benutzererfahrungen erstellt wurden (z. B. GameAnalytics) oder entwicklerorientierte Analysen (z. B. Keen IO).
Wir fanden eine Kombination aus Answers und Amplitude, die perfekt mit What I Eat funktioniert und alle notwendigen Analysen für die App bereitstellt. Während Answers kostenlos ist und demografische Daten und App-KPIs anzeigt, ermöglicht Amplitude eine komplexere Verhaltenskohortenanalyse. Wir verfolgen auch Anwendungsabstürze mit dem Fabric SDK von Answers.
Wir würden gerne etwas über die Analyse-Toolbox erfahren, die Sie in Ihrer mobilen Anwendung verwenden. Bitte teilen Sie Ihre Ideen in den Kommentaren.