Trovare una migliore analisi mobile
Pubblicato: 2022-03-10Quando si crea un'applicazione mobile, uno sviluppatore immagina un modello e il modo in cui gli utenti utilizzeranno l'applicazione. Un problema che gli sviluppatori devono affrontare è che gli utenti non utilizzano sempre un'app nel modo in cui era prevista dallo sviluppatore.
Come interagiscono gli utenti con l'app? Cosa fanno nell'app? Fanno ciò che lo sviluppatore vuole che facciano? L'analisi mobile aiuta a rispondere a queste domande. L'analisi consente allo sviluppatore di capire cosa succede con l'app nella vita reale e offre l'opportunità di modificare e migliorare l'app dopo aver visto come gli utenti la utilizzano effettivamente. Per dirla semplicemente, l'analisi è lo studio del comportamento degli utenti.
Ulteriori letture su SmashingMag:
- Priorità ai dispositivi: test e web design reattivo
- La transizione di Noè ai test di usabilità mobile
- Dove sono i migliori laboratori di dispositivi aperti al mondo?
- Una guida per test utente mobili semplici e indolori
Con questo articolo, confronteremo alcuni dei più popolari sistemi di analisi mobile. Il processo di aggiunta dell'analisi a un'app implica la considerazione di molti dettagli e il nostro obiettivo è fornire suggerimenti utili sull'implementazione dell'analisi. Queste informazioni dovrebbero aiutarti a trovare un sistema di analisi mobile adatto alle tue esigenze e dovrebbero aiutarti a implementarlo correttamente nella tua app.
Analisi nella vita reale
Usiamo come esempio una piccola applicazione iOS che abbiamo sviluppato. Si chiama What I Eat e ha lo scopo di tenere traccia delle abitudini alimentari dell'utente.
Gli utenti possono tenere traccia dei pasti, controllare il registro dei pasti giornalieri e passare da un giorno all'altro nel calendario per rivedere i registri precedenti. L'applicazione ha un banner pubblicitario, ma gli utenti possono pagare per disabilitarlo.
Durante la progettazione di What I Eat, il nostro obiettivo principale era consentire all'utente di aggiungere facilmente nuovi record di pasti e rivedere facilmente la cronologia quotidiana dei pasti. Volevamo anche monetizzare l'applicazione con un acquisto in-app per rimuovere l'annuncio. Per capire se siamo riusciti a farlo, teniamo traccia dei seguenti eventi nell'app:
- quando l'utente avvia l'app per la prima volta (installazione dell'applicazione),
- quando l'utente apre l'elenco dei pasti giornalieri (schermata principale dell'applicazione),
- quando l'utente aggiunge un nuovo record di pasto,
- quando l'utente effettua un acquisto in-app per rimuovere gli annunci.
Più avanti in questo articolo, mostreremo come utilizziamo l'analisi per determinare se gli utenti hanno iniziato a utilizzare l'app e quale percentuale di utenti inizia a monitorare i pasti dopo aver installato l'app.
Confronto dei servizi analitici
Oggi sul mercato sono disponibili numerosi servizi di analisi, che vanno da sistemi noti come Google Analytics a strumenti di nicchia. Analizzarli e confrontarli tutti richiederebbe un'eternità; quindi, per questo articolo, andremo solo con quelli che abbiamo trovato più convenienti. Cioè, abbiamo scelto quelli la cui interfaccia dashboard e toolbox di data mining sono relativamente facili da capire e con cui è facile lavorare per coloro che non hanno molta esperienza con l'analisi, come i nostri clienti. In quanto sistemi di analisi orientati ai dispositivi mobili, sono anche convenienti dal punto di vista dello sviluppo perché il codice di analisi può essere facilmente implementato e ottimizzato in un'app mobile. Ecco i sistemi:
- Flurry da Yahoo
- Risposte di Crashlytics
- Ampiezza
- Pannello misto
Per analizzare le prestazioni di What I Eat, utilizziamo due strumenti principali forniti da quasi tutti i sistemi di analisi: eventi e canalizzazioni. Gli eventi descrivono ciò che gli utenti fanno nell'app, mentre le canalizzazioni consentono un'analisi qualitativa di questi dati. Esaminiamo come ciascuno dei sistemi li implementa per What I Eat.
Pannello misto
Mixpanel ti consente di tenere traccia di eventi personalizzati. Lo sviluppatore può aggiungere parametri personalizzati agli eventi e utilizzare questi parametri per segmentare le canalizzazioni di conversione.
Abbiamo costruito un funnel che include due eventi: "Installa" (che indica l'avvio iniziale dell'app dopo l'installazione) e "Aggiungi pasto" (che tiene traccia di ogni volta che l'utente aggiunge un pasto). Questi ci mostrano quale percentuale di utenti non solo ha scaricato l'app, ma ha anche iniziato a utilizzarla. La conversione è stimata al 65%, il che significa che su 100 persone che hanno installato l'app, ben 65 hanno iniziato a monitorare i pasti.
A volte uno sviluppatore ha bisogno che gli eventi vengano visualizzati nella dashboard di analisi in tempo reale o con un ritardo minimo dopo che si sono verificati nell'applicazione. Ad esempio, uno sviluppatore potrebbe aver lanciato una campagna di social media marketing e ha bisogno di monitorare in che modo influisca sulla sua applicazione in tempo reale. Mixpanel mostra gli eventi quasi in tempo reale. Le canalizzazioni appena create vengono calcolate e visualizzate quasi istantaneamente.
Ampiezza
Subito dopo che lo sviluppatore ha aggiunto il kit di sviluppo software (SDK) di Amplitude al progetto e senza ulteriori impostazioni di eventi o canalizzazioni, il software inizia a monitorare i dati degli utenti attivi giornalieri e mensili (DAU e MAU). Lo usiamo molto in What I Eat per capire quante persone usano l'app ogni giorno.
Come Mixpanel, Amplitude fornisce un potente toolbox per lavorare con eventi e funnel; lo sviluppatore può creare una canalizzazione e segmentarla in base a parametri. A differenza di Mixpanel, Amplitude può visualizzare i segmenti direttamente in un grafico a imbuto, utile quando è necessario capire come un parametro influisce sul tasso di conversione. La tabella seguente mostra come la conversione da "Installa" a "Aggiungi pasto" varia in base alla lingua dell'interfaccia.
Come puoi vedere, l'interfaccia russa mostra una conversione migliore di quella inglese (83% contro 66%). Quindi, con i nostri prossimi aggiornamenti dell'app, potremmo aver bisogno di guardare di più al nostro pubblico non russo.
Risposte di Crashlytics
Come con Amplitude, una volta aggiunto l'SDK di Answers al progetto dell'applicazione, inizia a tenere traccia dei dati. Quasi senza sforzo da parte dello sviluppatore, Answers offre una visione ordinata di alcuni indicatori chiave di prestazione (KPI) dell'applicazione mobile: MAU, DAU, nuovi utenti giornalieri e sessioni.
Lo sviluppatore può definire e tenere traccia dei KPI personalizzati come eventi e Answers li visualizzerà allo stesso modo.
Answers fornisce anche informazioni dettagliate su quanto è attivo il tuo pubblico e quanto tempo le persone trascorrono nell'app.
L'analisi di Answers conserva i dati degli ultimi 30 giorni e non ha canalizzazioni. Pertanto, funziona solo per un'analisi semplice ea breve termine delle prestazioni di un'app.
Flurry da Yahoo
Flurry non è utile come Mixpanel o Amplitude quando è necessario creare canalizzazioni ed eseguire analisi di coorte.
Gli utenti di Flurry possono creare fino a 10 segmenti e applicarli a una canalizzazione. L'aggiunta di un nuovo segmento a una canalizzazione esistente richiede il suo ricalcolo e l'operazione può richiedere circa un giorno. Gli utenti non possono creare più di 10 segmenti da applicare alle proprie canalizzazioni. I calcoli delle nuove canalizzazioni create possono richiedere fino a tre giorni.
Non abbiamo riscontrato che gli eventi e le canalizzazioni di Flurry siano utili per What I Eat e abbiamo utilizzato principalmente Mixpanel e Amplitude.
Cos'altro è importante?
Sebbene gli eventi e le canalizzazioni siano caratteristiche chiave, nella scelta del giusto sistema di analisi ci sono alcune altre cose che contano.
Dati demografici
Alcuni dei servizi di analisi forniscono dati approfonditi sul pubblico dell'applicazione, anche se non sono raccolti nell'app. Lo fanno ottenendo i dati degli utenti da fonti diverse dalla tua applicazione mobile. Questo è utile quando devi identificare i tuoi utenti esperti ma la tua applicazione non raccoglie dati su di loro. Ad esempio, nell'app What I Eat, gli utenti non devono registrarsi e non c'è altro modo per ricevere i dati degli utenti, ma vorremmo comunque sapere chi li utilizza per indirizzare con precisione i nuovi utenti con l'app aggiornamenti.
Answers fornisce dati sul tuo pubblico, come sesso e interessi. Ti starai chiedendo come fa? Ebbene, Answers è strettamente integrato con Twitter e poiché Twitter sa praticamente tutto su tutti coloro che utilizzano la piattaforma, questi dati personali sono sfruttati da Answers.
Flurry stima i dati demografici approssimando le informazioni sull'utente che riceve dalle app che li hanno condivisi. Il motivo per cui gli sviluppatori condividono queste informazioni è perché ricevono un set di dati sul pubblico più preciso fornendo dati approfonditi a Flurry. Flurry ti mostra gli interessi, la fascia di età e il sesso dei tuoi utenti.
Con l'aiuto di Flurry and Answers, siamo in grado di vedere che il pubblico di What I Eat è composto principalmente da donne di mezza età interessate alla salute e al fitness.
Mixpanel e Amplitude non forniscono dati demografici.
API esterna per l'importazione e l'esportazione di dati
Analytics consente l'importazione e l'esportazione di dati tramite API esterne. L'esportazione consente l'analisi dei dati al di fuori del dashboard di analisi (ad esempio con l'aiuto di software di data mining di terze parti come Windrush e DataHero). L'importazione delle API ti consente di distribuire i dati alle piattaforme di analisi da origini come server back-end e sistemi di monitoraggio dell'attribuzione come AppsFlyer. Esaminiamo quali servizi analitici forniscono tali funzioni:
- Amplitude fornisce un'API esterna sia per l'importazione che per l'esportazione di eventi.
- Mixpanel ha API di importazione ed esportazione. Supporta JavaScript Query Language per consentire l'esportazione di query complesse.
- Answers non ha un'API esterna. Puoi scaricare i dati degli eventi come file CSV dalla dashboard, ma non include alcun parametro dell'evento.
- Flurry non ha un'API di importazione. Puoi esportare i dati solo utilizzando la sua API di esportazione.
Prezzo
Le società di analisi mobili sperimentano i prezzi e possono modificare le tariffe abbastanza spesso. I seguenti dati sono di luglio 2016:
- Flurry e Answers sono completamente gratuiti.
- Il piano gratuito di Amplitudes offre 10 milioni di eventi al mese. Se prevedi di tracciare più di quello, costerà $ 2.000 al mese. Sebbene abbiamo utilizzato Amplitude in molti progetti, non abbiamo mai dovuto passare al livello a pagamento perché anche i limiti del piano gratuito sono elevati.
- Mixpanel ha un livello gratuito di 25.000 eventi al mese. Un milione di eventi costa $ 300 al mese. Per oltre 10 milioni di eventi, dovrai pagare $ 1.250 al mese.
Suggerimenti per l'implementazione dell'analisi
Ora che conosciamo le principali differenze tra ciascun sistema di analisi, analizziamo gli aspetti pratici dell'implementazione dell'analisi.
Fai i tuoi compiti
Se hai deciso di aver bisogno di analisi nella tua app, la codifica non è la prima cosa a cui dovresti pensare. Crediamo che un buon sviluppatore dovrebbe iniziare con i seguenti passaggi:
- Annota ciò di cui hai bisogno per tracciare. . Inizia con la composizione di un elenco di domande a cui vuoi che l'analisi risponda. Sulla base di tale elenco, traccia gli eventi e i parametri di cui devi tenere traccia per rispondere alle domande. Non includere analisi nell'app per il gusto di farlo.
- Riformulalo in termini di analisi. . Una volta completato il tuo elenco di eventi, formalizzalo in base alla piattaforma di analisi che hai selezionato. Ad esempio, mentre Amplitude consente eventi con qualsiasi insieme di parametri, Google Analytics ha un insieme predefinito di parametri. Prendi in considerazione tali sfumature quando implementi l'analisi.
- Fai una piccola dimostrazione. . Una buona idea sarebbe quella di creare una piccola app di test, tenere traccia di una dozzina di eventi con il suo aiuto e quindi controllare come questi eventi vengono visualizzati nella piattaforma di tua scelta e quali strumenti di data mining sono disponibili. Usa queste conoscenze per massimizzare la funzionalità della piattaforma selezionata durante l'implementazione dell'analisi nell'app live.
Pensa in grande durante la codifica
Progetta il codice dell'analisi per renderlo indipendente dal codice del progetto e dall'SDK dell'analisi. Pertanto, posizionare il codice di analisi in un sottosistema o classe separato e definire metodi di interfaccia che possono essere chiamati dal codice dell'applicazione. Ad esempio, quando un utente tocca un pulsante del menu, il codice dell'applicazione chiamerà il codice della classe di analisi. Per un'app iOS scritta in Swift, sarebbe simile a questa:
/** Application code: menu tap handler */ @IBAction func menuButtonPressed(sender: UIButton) { //Showing menu, etc... AnalyticsManager.sharedInstance.userTapMenuButton() }
La classe di analisi generale richiamata dal codice dell'applicazione raccoglie un elenco di parametri e invia questi dati alla classe di analisi specifica.
/** 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) } } }
La classe di analisi specifica invia i dati all'SDK di analisi. Nel nostro caso, è l'SDK di 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) } } }
Con una tale struttura, ogni volta che decidi di migrare a un'altra piattaforma di analisi o di regolare l'insieme di parametri da monitorare, dovrai solo modificare il codice della classe di analisi ma non il codice dell'applicazione.
Analizza tutti i tuoi dati
Raccogli i dati da tutte le fonti nella piattaforma di analisi di tua scelta. Invia dati non solo dall'app mobile ma anche dal back-end, utilizzando un'API esterna. Se esegui una campagna pubblicitaria, utilizza un sistema di monitoraggio dell'installazione come AppsFlyer o Adjust per misurarne l'efficienza e capire da dove provengono i tuoi utenti. Seleziona in anticipo il sistema di monitoraggio dell'installazione che utilizzerai per assicurarti che funzioni bene con la tua piattaforma di analisi.
Controlla il numero di SDK
Prova a utilizzare gli SDK delle piattaforme di analisi che sono già nell'applicazione. Se monitori gli arresti anomali con Crashlytics, puoi utilizzare l'analisi di Answers senza alcun codice aggiuntivo, poiché sia Crashlytics che Answers sono inclusi nell'SDK di Fabric. Se la tua app consente la registrazione con Facebook, allora ha già l'SDK che implementa l'analisi mobile di Facebook, quindi potresti anche usarlo.
Prova a combinare diversi sistemi di analisi, ma non sovraccaricare il binario della tua applicazione con troppi SDK.
Documentalo
Infine, parallelamente all'implementazione dell'analisi per la tua applicazione, lavora sulla sua documentazione: scrivi quali eventi e parametri monitori e come lo fai. Per questo, di solito utilizziamo un file Readme.md
che è archiviato nella cartella principale del progetto. Ogni evento è descritto dai seguenti dati:
- nome dell'evento (ad esempio, “Registrazione utente”);
- quando tracciato (ad esempio, "Dopo la registrazione del nuovo utente riuscita");
- parametri (ad esempio, “Email/Stringa”);
- controller a cui viene chiamato il codice di tracciamento (ad esempio, "SignInController").
Tali dettagli sono facili da dimenticare, ma diventano critici quando si desidera modificare il set di dati da monitorare o quando si desidera migrare a un'altra piattaforma di analisi.
Riassumendo
Nessun servizio di analisi è perfetto; ognuno ha i suoi pro e contro. Quando ne scegli uno, dovresti soppesare fattori come il tipo di applicazione, l'interfaccia del dashboard di analisi, il tuo budget e così via. Potresti anche voler utilizzare soluzioni di nicchia, come analisi di gioco che sono state create per analizzare esperienze utente non lineari (ad esempio, GameAnalytics) o analisi orientate agli sviluppatori (ad esempio, Keen IO).
Abbiamo trovato una combinazione di Risposte e Ampiezza per funzionare perfettamente con Cosa mangio e per fornire tutte le analisi necessarie per l'app. Mentre Answers è gratuito e mostra dati demografici e KPI delle app, Amplitude consente un'analisi di coorte comportamentale più complessa. Monitoriamo anche gli arresti anomali delle applicazioni con l'SDK Fabric di Answers.
Ci piacerebbe conoscere gli strumenti di analisi che utilizzi nella tua applicazione mobile. Per favore condividi le tue idee nei commenti.