Encontrando melhores análises móveis

Publicados: 2022-03-10
Resumo rápido ↬ Ao criar um aplicativo móvel, o desenvolvedor imagina um modelo e a forma como os usuários usarão o aplicativo. Um problema que os desenvolvedores enfrentam é que os usuários nem sempre usam um aplicativo da forma como foi previsto pelo desenvolvedor. Como os usuários interagem com o aplicativo? O que eles fazem no aplicativo? Eles fazem o que o desenvolvedor quer que eles façam? A análise móvel ajuda a responder a essas perguntas. O Analytics permite que o desenvolvedor entenda o que acontece com o aplicativo na vida real e oferece a oportunidade de ajustar e melhorar o aplicativo depois de ver como os usuários realmente o usam. Simplificando, a análise é o estudo do comportamento do usuário.

Ao criar um aplicativo móvel, um desenvolvedor imagina um modelo e a forma como os usuários usarão o aplicativo. Um problema que os desenvolvedores enfrentam é que os usuários nem sempre usam um aplicativo da forma como foi previsto pelo desenvolvedor.

Como os usuários interagem com o aplicativo? O que eles fazem no aplicativo? Eles fazem o que o desenvolvedor quer que eles façam? A análise móvel ajuda a responder a essas perguntas. O Analytics permite que o desenvolvedor entenda o que acontece com o aplicativo na vida real e oferece a oportunidade de ajustar e melhorar o aplicativo depois de ver como os usuários realmente o usam. Simplificando, a análise é o estudo do comportamento do usuário.

Leitura adicional no SmashingMag:

  • Priorizando Dispositivos: Testes e Web Design Responsivo
  • A transição de Noah para o teste de usabilidade em dispositivos móveis
  • Onde estão os melhores laboratórios de dispositivos abertos do mundo?
  • Um guia para testes simples e indolores de usuários móveis

Com este artigo, vamos comparar alguns dos sistemas de análise móvel mais populares. O processo de adicionar análises a um aplicativo envolve a consideração de muitos detalhes, e nosso objetivo é fornecer dicas úteis sobre como implementar análises. Essas informações devem ajudá-lo a encontrar um sistema de análise móvel que atenda às suas necessidades e a implementá-lo adequadamente em seu aplicativo.

Mais depois do salto! Continue lendo abaixo ↓

Análise na vida real

Vamos usar como exemplo um pequeno aplicativo iOS que desenvolvemos. Chama-se O que eu como e destina-se a rastrear os hábitos alimentares do usuário.

Os usuários podem acompanhar suas refeições, verificar o registro diário de refeições e alternar entre os dias no calendário para revisar os registros anteriores. O aplicativo tem um banner de propaganda, mas os usuários podem pagar para desativá-lo.

Ao projetar o que eu como, nosso foco principal era permitir que o usuário adicionasse facilmente novos registros de refeições e revise facilmente seu histórico diário de refeições. Também queríamos monetizar o aplicativo com uma compra no aplicativo para remover o anúncio. Para entender se conseguimos fazer isso, rastreamos os seguintes eventos no aplicativo:

  • quando o usuário inicia o aplicativo pela primeira vez (instalação do aplicativo),
  • quando o usuário abre a lista de refeições diárias (tela principal do aplicativo),
  • quando o usuário adiciona um novo registro de refeição,
  • quando o usuário faz uma compra no aplicativo para remover anúncios.

Lista de refeições, adicionar tela de refeição e configurações
Uma visualização da lista de refeições, a tela “adicionar refeição” e as configurações, com a capacidade de remover anúncios. (Ver versão grande)

Mais adiante neste artigo, mostraremos como usamos a análise para determinar se os usuários começaram a usar o aplicativo e qual porcentagem de usuários começa a rastrear as refeições após a instalação do aplicativo.

Comparando serviços analíticos

Hoje, muitos serviços de análise estão no mercado, desde sistemas conhecidos, como o Google Analytics, até ferramentas de nicho. Analisar e comparar todos eles levaria uma eternidade; então, para este artigo, vamos apenas com aqueles que achamos mais convenientes. Ou seja, escolhemos aqueles cuja interface de dashboard e caixa de ferramentas de mineração de dados são relativamente fáceis de entender e fáceis de trabalhar para quem não tem muita experiência com analytics, como nossos clientes. Como sistemas de análise orientados para dispositivos móveis, eles também são convenientes do ponto de vista do desenvolvimento porque o código de análise pode ser facilmente implementado e ajustado em um aplicativo móvel. Aqui estão os sistemas:

  • Flurry do Yahoo
  • Respostas do Crashlytics
  • Amplitude
  • Painel de mixagem

Para analisar o desempenho do What I Eat, usamos duas ferramentas principais que quase todos os sistemas de análise fornecem: eventos e funis. Os eventos descrevem o que os usuários fazem no aplicativo, enquanto os funis permitem uma análise qualitativa desses dados. Vamos examinar como cada um dos sistemas implementa isso para o que eu como.

Painel de mixagem

Mixpanel permite rastrear eventos personalizados. O desenvolvedor pode adicionar parâmetros personalizados aos eventos e usar esses parâmetros para segmentar os funis de conversão.

Construímos um funil que inclui dois eventos: “Install” (que indica o lançamento inicial do aplicativo após a instalação) e “Add Meal” (que rastreia cada vez que o usuário adiciona uma refeição). Eles nos mostram qual porcentagem de usuários não apenas baixaram o aplicativo, mas também começaram a usá-lo. A conversão é estimada em 65%, o que significa que de 100 pessoas que instalaram o aplicativo, até 65 passaram a rastrear refeições.

Conversão da instalação para adicionar tabela de refeições
Conversão da instalação do aplicativo para “Adicionar nova refeição” no What I Eat (Ver versão ampliada)

Às vezes, um desenvolvedor precisa que os eventos apareçam no painel de análise em tempo real ou com um atraso mínimo depois de terem ocorrido no aplicativo. Por exemplo, um desenvolvedor pode ter lançado uma campanha de marketing de mídia social e precisa acompanhar como isso afeta seu aplicativo em tempo real. Mixpanel mostra eventos quase em tempo real. Os funis recém-criados são calculados e visualizados quase instantaneamente.

Amplitude

Logo após o desenvolvedor adicionar o kit de desenvolvimento de software (SDK) da Amplitude ao seu projeto, e sem nenhuma configuração adicional de eventos ou funis, o software começa a rastrear os dados de usuários ativos diários e mensais (DAU e MAU). Usamos muito isso no What I Eat para entender quantas pessoas usam o aplicativo todos os dias.

O que eu como gráfico DAU
Gráfico DAU da Amplitude para What I Eat (Ver versão ampliada)

Assim como o Mixpanel, o Amplitude fornece uma poderosa caixa de ferramentas para trabalhar com eventos e funis; o desenvolvedor pode criar um funil e segmentá-lo por parâmetros. Ao contrário do Mixpanel, o Amplitude pode visualizar segmentos diretamente em um gráfico de funil, o que é útil quando você precisa entender como um parâmetro afeta a taxa de conversão. O gráfico abaixo mostra como a conversão de “Instalar” para “Adicionar Refeição” varia de acordo com o idioma da interface.

Instalar para adicionar conversão de refeição por amplitude
A taxa de conversão muda dependendo do idioma do usuário no aplicativo What I Eat. (Ver versão grande)

Como você pode ver, a interface russa mostra uma conversão melhor que a inglesa (83% versus 66%). Portanto, com nossas próximas atualizações de aplicativos, talvez precisemos olhar mais para nosso público não russo.

Respostas do Crashlytics

Assim como no Amplitude, uma vez que o SDK do Answers é adicionado ao projeto do aplicativo, ele começa a rastrear os dados. Com quase nenhum esforço do desenvolvedor, o Answers fornece uma visão organizada de alguns indicadores-chave de desempenho (KPIs) do aplicativo móvel: MAU, DAU, novos usuários e sessões diárias.

KPIs do que eu como por amplitude
Alguns dos KPIs do What I Eat fornecidos pelo Answers (Ver versão ampliada)

O desenvolvedor pode definir e rastrear KPIs personalizados como eventos, e o Answers os visualizará da mesma maneira.

O Answers também fornece informações sobre a atividade do seu público e quanto tempo as pessoas passam no aplicativo.

Atividade do usuário por respostas
Atividade do público do What I Eat por Respostas (Ver versão ampliada)

A análise do Answers mantém os dados dos últimos 30 dias e não possui funis. Assim, ele só funciona para análises simples e de curto prazo do desempenho de um aplicativo.

Flurry do Yahoo

Flurry não é tão útil quanto Mixpanel ou Amplitude quando você precisa construir funis e fazer análises de coorte.

Os usuários do Flurry podem criar até 10 segmentos e aplicá-los a um funil. Adicionar um novo segmento a um funil existente requer seu recálculo, e isso pode levar cerca de um dia. Os usuários não podem criar mais de 10 segmentos para aplicar em seus funis. Os cálculos de funis recém-criados podem levar até três dias.

Não achamos os eventos e funis do Flurry úteis para o que eu como, e usamos principalmente Mixpanel e Amplitude.

O que mais é importante?

Embora eventos e funis sejam os principais recursos, algumas outras coisas influenciam a escolha do sistema de análise certo.

Dados demográficos

Alguns dos serviços analíticos fornecem dados de insights sobre o público do aplicativo, mesmo que não sejam coletados no aplicativo. Eles fazem isso obtendo dados do usuário de outras fontes além do seu aplicativo móvel. Isso é útil quando você precisa identificar seus usuários avançados, mas seu aplicativo não coleta nenhum dado sobre eles. Por exemplo, no aplicativo What I Eat, os usuários não precisam se inscrever e não há outra maneira de recebermos os dados do usuário, mas ainda gostaríamos de saber quem o usa para segmentar com precisão novos usuários com o aplicativo atualizações.

O Answers fornece dados sobre seu público, como sexo e interesses. Você pode estar se perguntando como ele faz isso? Bem, o Answers está intimamente integrado ao Twitter e, como o Twitter sabe quase tudo sobre todos que usam a plataforma, esses dados pessoais são aproveitados pelo Answers.

Público por respostas
Dados demográficos do que eu como por respostas (Ver versão ampliada)

O Flurry estima os dados demográficos aproximando as informações do usuário que recebe dos aplicativos que os compartilharam. A razão pela qual os desenvolvedores compartilham essas informações é porque eles recebem um conjunto de dados de público mais preciso, fornecendo dados de insights para o Flurry. Flurry mostra os interesses de seus usuários, faixa etária e sexo.

Interesses dos usuários por Flurry
Interesses dos usuários do What I Eat por Flurry (Ver versão ampliada)

Com a ajuda do Flurry and Answers, podemos ver que o público do What I Eat é principalmente mulheres de meia-idade interessadas em saúde e condicionamento físico.

Mixpanel e Amplitude não fornecem nenhum dado demográfico.

API externa para importação e exportação de dados

O Analytics permite a importação e exportação de dados por meio de APIs externas. A exportação permite a análise de dados fora do painel de análise (ou seja, com a ajuda de software de mineração de dados de terceiros, como Windrush e DataHero). A importação de APIs permite que você implante dados em plataformas de análise de fontes como servidores de back-end e sistemas de rastreamento de atribuição, como AppsFlyer. Vamos examinar quais serviços analíticos fornecem essas funções:

  • Amplitude fornece uma API externa para importação e exportação de eventos.
  • O Mixpanel possui APIs de importação e exportação. Ele suporta JavaScript Query Language para permitir consultas de exportação complexas.
  • O Answers não tem uma API externa. Você pode baixar dados de eventos como um arquivo CSV do painel, mas ele não inclui nenhum parâmetro de evento.
  • O Flurry não possui uma API de importação. Você só pode exportar dados usando sua API de exportação.

Preço

As empresas de análise móvel experimentam preços e podem alterar suas taxas com bastante frequência. Os dados a seguir são de julho de 2016:

  • Flurry e Answers são totalmente gratuitos.
  • O plano gratuito da Amplitudes oferece 10 milhões de eventos por mês. Se você espera rastrear mais do que isso, custará US $ 2.000 por mês. Embora tenhamos usado Amplitude em muitos projetos, nunca tivemos que mudar para o nível pago porque os limites do plano gratuito também são altos.
  • Mixpanel tem um nível gratuito de 25.000 eventos por mês. Um milhão de eventos custa US$ 300 por mês. Para mais de 10 milhões de eventos, você terá que pagar $ 1.250 por mês.

Dicas de implementação do Analytics

Agora que conhecemos as principais diferenças entre cada sistema de análise, vamos mergulhar nos aspectos práticos da implementação da análise.

Faça sua lição de casa

Se você decidiu que precisa de análises em seu aplicativo, codificá-las não é a primeira coisa que você deve pensar. Acreditamos que um bom desenvolvedor deve começar com as seguintes etapas:

  • Anote o que você precisa rastrear. . Comece compondo uma lista de perguntas que você deseja que a análise responda. Com base nessa lista, organize os eventos e os parâmetros que você precisa acompanhar para responder às perguntas. Não inclua análises no aplicativo por causa disso.
  • Reformule-o em termos de sua análise. . Depois de concluir sua lista de eventos, formalize-a de acordo com a plataforma de análise que você selecionou. Por exemplo, enquanto o Amplitude permite eventos com qualquer conjunto de parâmetros, o Google Analytics possui um conjunto predefinido de parâmetros. Leve essas nuances em consideração ao implementar a análise.
  • Faça uma pequena demonstração. . Uma boa ideia seria construir um pequeno aplicativo de teste, rastrear uma dúzia de eventos com sua ajuda e depois verificar como esses eventos são visualizados na plataforma de sua escolha e quais instrumentos de mineração de dados estão disponíveis. Use esse conhecimento para maximizar a funcionalidade da plataforma selecionada ao implementar análises no aplicativo ao vivo.

Pense grande ao codificar

Projete o código da análise para torná-lo independente do código do projeto e do SDK da análise. Assim, coloque o código analítico em um subsistema ou classe separada e defina métodos de interface que podem ser chamados a partir do código do aplicativo. Por exemplo, quando um usuário toca em um botão de menu, o código do aplicativo chama o código da classe analítica. Para um aplicativo iOS escrito em Swift, ficaria assim:

 /** Application code: menu tap handler */ @IBAction func menuButtonPressed(sender: UIButton) { //Showing menu, etc... AnalyticsManager.sharedInstance.userTapMenuButton() }

A classe analítica geral chamada pelo código do aplicativo coleta uma lista de parâmetros e envia esses dados para a classe analítica específica.

 /** 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) } } }

A classe de análise específica envia dados para o SDK de análise. No nosso caso, é o SDK da 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) } } }

Com essa estrutura, sempre que você decidir migrar para outra plataforma de análise ou ajustar o conjunto de parâmetros para rastreamento, será necessário apenas alterar o código da classe de análise, mas não o código do aplicativo.

Analise todos os seus dados

Colete dados de todas as fontes na plataforma de análise de sua escolha. Envie dados não apenas do aplicativo móvel, mas também do back-end, usando uma API externa. Se você executar uma campanha publicitária, use um sistema de rastreamento de instalação, como AppsFlyer ou Adjust, para medir sua eficiência e entender de onde seus usuários estão vindo. Selecione com antecedência o sistema de rastreamento de instalação que você usará para garantir que funcione bem com sua plataforma de análise.

Controlar o número de SDKs

Tente usar os SDKs das plataformas de análise que já estão no aplicativo. Se você rastrear falhas com o Crashlytics, poderá usar a análise do Answers sem nenhum código adicional, pois o Crashlytics e o Answers estão incluídos no SDK do Fabric. Se o seu aplicativo permite o registro no Facebook, ele já possui o SDK que implementa a análise móvel do Facebook, então você também pode usá-lo.

Lista de SDKs em O que eu como
A lista de SDKs em What I Eat (na pasta “Pods”).

Tente combinar diferentes sistemas de análise, mas não sobrecarregue o binário do seu aplicativo com muitos SDKs.

Documentar

Por fim, paralelamente à implementação de análises para seu aplicativo, trabalhe em sua documentação: anote quais eventos e parâmetros você rastreia e como o faz. Para isso, normalmente utilizamos um arquivo Readme.md que fica armazenado na pasta core do projeto. Cada evento é descrito pelos seguintes dados:

  • nome do evento (por exemplo, “Registro do usuário”);
  • quando rastreado (por exemplo, “Após o registro bem-sucedido de um novo usuário”);
  • parâmetros (por exemplo, “Email/String”);
  • controlador onde o código de rastreamento é chamado (por exemplo, “SignInController”).

Esses detalhes são fáceis de esquecer, mas se tornam críticos quando você deseja alterar o conjunto de dados a ser rastreado ou quando deseja migrar para outra plataforma de análise.

Resumindo

Nenhum serviço de análise é perfeito; Cada um tem os seus prós e contras. Ao escolher um, você deve pesar fatores como o tipo de aplicativo, a interface do painel de análise, seu orçamento e assim por diante. Você pode até querer usar soluções de nicho, como análises de jogos que foram criadas para analisar experiências de usuário não lineares (por exemplo, GameAnalytics) ou análises orientadas ao desenvolvedor (por exemplo, Keen IO).

Encontramos uma combinação de Respostas e Amplitude para funcionar perfeitamente com o que eu como e para fornecer todas as análises necessárias para o aplicativo. Embora o Answers seja gratuito e mostre dados demográficos e KPIs de aplicativos, o Amplitude permite uma análise de coorte comportamental mais complexa. Também rastreamos falhas de aplicativos com o Fabric SDK do Answers.

Adoraríamos saber sobre a caixa de ferramentas de análise que você usa em seu aplicativo móvel. Por favor, compartilhe suas ideias nos comentários.