A transação média do comerciante da OkCredit aumenta 30% após reduzir o ANR

O OkCredit é um app de gerenciamento de contas de crédito para milhões de proprietários de lojas e clientes na Índia. Com 140 milhões de transações por mês e mais de 50 milhões de downloads, somente no ano passado, a OkCredit registrou US $50 bilhões em transações no aplicativo.

Considerando a escala em que a OkCredit operava e os milhões de empresas que dependem do aplicativo para gerenciar suas contas, é fundamental que o OkCredit garanta uma experiência tranquila e integrada para todos os seus usuários, independentemente do dispositivo que estiverem usando.

Os usuários recompensam os apps com melhor desempenho com avaliações positivas e classificações altas. Um app com problemas de estabilidade ou desempenho geralmente causa frustração e, pior, classificações ruins. Isso faz com que o status "O app não está respondendo" (ANR, na sigla em inglês) seja uma métrica de desempenho importante para monitorar se o seu objetivo é agradar os usuários e oferecer uma experiência consistentemente boa.

Os investimentos da OkCredit para melhorar o Android vitals, como reduzir o ANR e melhorar o tempo de inicialização do app, levaram a empresa a ter bons resultados, especialmente em dispositivos mais simples, que já têm recursos limitados. A empresa notou melhorias na retenção de clientes e nas transações dos comerciantes no app.

O desafio

Um dos principais segmentos do OkCredit eram usuários em dispositivos de baixo custo. Esses dispositivos têm recursos limitados e a execução de tarefas cansativas neles cria facilmente uma experiência do usuário abaixo do ideal. Por exemplo, um grande desafio de manutenção era rastrear e adicionar instrumentação para ANRs. O objetivo era resolver esses problemas para melhorar a experiência geral do usuário e aumentar as transações dos comerciantes.

O que eles fizeram?

A redução do ANR e a melhoria dos tempos de inicialização para um app como o OkCredit significaram clientes satisfeitos e, além disso, um aumento nas transações dos comerciantes no app.

A pista mais importante para depurar um ANR é descobrir o que a linha de execução principal estava fazendo quando o ANR aconteceu. Com o feedback do Google, a OkCredit criou uma abordagem estruturada para identificar esses ANRs.

  • Monitorou o desempenho usando o Android vitals e usou relatórios personalizados no Firebase Crashlytics para entender os ANRs.
  • Otimização da inicialização de bibliotecas de terceiros desde a inicialização do app, movendo-as para uma linha de execução em segundo plano.
  • Uso de ferramentas como Systrace e Profiler para identificar ANRs em broadcast receivers e Services. A biblioteca Macrobenchmark em CI também ajudou a comparar as startups a frio.
  • Usando o criador de perfil de método, os objetos foram identificados como sendo carregados lentamente.
  • Foram identificados layouts de alta inflação usando o perfetto.
  • O ANR em preferências compartilhadas foi resolvido mudando all apply() para commit() em uma linha de execução em segundo plano.

As tarefas acima foram validadas para confirmar o impacto delas comparando métricas ou usando ferramentas como o Systrace, o CPU Profiler etc.

Os resultados

Além de melhorar as métricas e a experiência do usuário, a equipe de desenvolvimento da OkCredit recebeu insights que a ajudaram a melhorar o processo de desenvolvimento dali em diante.

  • Em dispositivos mais simples:
    • Redução de ANR em 60%
    • Melhoria de cerca de 22% na retenção de clientes de dispositivos mais simples no primeiro dia
    • A transação média de cada comerciante aumentou 30%
  • Melhoria da classificação do app de 4,3 para 4,6 na Play Store
  • Melhoria de cerca de 70% no tempo de inicialização a frio
  • Tivemos uma melhoria de 60 % no clique do usuário para o desenho completo do primeiro frame em qualquer tela.

Este exercício reuniu a equipe para criar práticas recomendadas e a incentivou a se concentrar em melhorar a experiência do usuário. A equipe começou a usar ferramentas como o Perfetto e o CPU Profiler durante o desenvolvimento para melhorar a compreensão do sistema e tomar decisões mais rapidamente.

"O foco na redução de ANRs nos ajudou a nos diferenciarmos, oferecendo uma experiência agradável. Isso aumentou a retenção e reduziu o desligamento de usuários. Além disso, devido à excelência em engenharia das equipes, práticas como essas têm uma profunda influência na cultura da organização. Isso nos dá orgulho como equipe e empresa a definir novos comparativos de desempenho de apps no novo setor de digitalização para PMEs da Índia.”

– Gaurav Kunwar (cofundador e CPO, OkCredit)