Ir para o console

Experimento com estratégias de retenção de usuários usando o Firebase Previsões

English Context Link

Você pode usar o Firebase Previsões para identificar usuários com chances de abandonar seu app e aplicar uma estratégia de retenção para eles. Por exemplo, se você tiver um jogo para dispositivos móveis, poderá conceder um presente na moeda do jogo aos usuários com previsão de abandono.

Este guia mostra como você pode implementar esse tipo de estratégia de retenção de usuários com base em uma previsão e como você pode criar um teste A/B do Firebase para determinar a eficácia dessa estratégia, em comparação a não conceder nenhum presente.

Antes de começar

Antes de começar a usar as previsões para determinar a política de retenção de usuários de seu app, é preciso usar o Google Analytics para Firebase no app. Para isso, é necessário fazer o seguinte:

  • Ativar o compartilhamento de dados do Analytics no Console do Firebase.
  • Registrar explicitamente todos os eventos do Analytics relevantes para seu app que não sejam registrados automaticamente. Ao registrar esses eventos, você pode melhorar a qualidade das classificações futuras.
  • Ter volume de dados de eventos suficiente para o Firebase fazer previsões significativas. Normalmente, 10.000 usuários ativos mensais, 500 exemplos positivos e 500 negativos oferecem dados suficientes ao Firebase Previsões.

Possibilitar a configuração remota da sua política de presentes

Primeiro configure seu aplicativo para conceder presentes aos jogadores de acordo com o valor de um parâmetro da Configuração remota. Como você quer conceder o presente apenas uma vez, também deve rastrear se um jogador já recebeu o presente.

Nas etapas a seguir, configuramos o Previsões e o Teste A/B para definir o parâmetro remotamente com base em vários critérios. Por enquanto, seu aplicativo não concederá nenhum presente.

Exemplo:

  1. Importe os SDKs do Analytics e do Configuração remota:

    iOS (Swift)

    Adicione os SDKs ao seu Podfile:

    pod 'Firebase/Analytics'
    pod 'Firebase/RemoteConfig'
    

    Então, importe-os:

    import Firebase
    

    Android

    implementation 'com.google.firebase:firebase-core:16.0.9'
    implementation 'com.google.firebase:firebase-config:17.0.0'
    
  2. Inicialize o Configuração remota e defina o valor padrão da variável grant_retention_gift como false. Mais tarde, você configurará o Previsões e o Teste A/B para definir remotamente essa variável, mas definir um valor padrão no aplicativo garante que ele funcione corretamente antes de recuperar as variáveis configuradas remotamente.

    iOS (Swift)

    self.remoteConfig = RemoteConfig.remoteConfig()
    self.remoteConfig.setDefaults(["grant_retention_gift": false])
    
    // ...
    
    self.remoteConfig.fetch() { (status, error) -> Void in
        if status == .success {
          self.remoteConfig.activateFetched()
        }
    
        // Act on the retrieved parameters. For example, grant the retention gift to
        // players who haven't yet received one.
        let shouldGrantGift = self.remoteConfig["grant_retention_gift"].booleanValue
        if shouldGrantGift && !playerAlreadyReceivedGift() {
            grantGiftToPlayer()
        }
    }
    

    Java

    final FirebaseRemoteConfig config = FirebaseRemoteConfig.getInstance();
    
    Map<String, Object> remoteConfigDefaults = new HashMap<>();
    remoteConfigDefaults.put("grant_retention_gift", false);
    config.setDefaults(remoteConfigDefaults);
    
    // ...
    
    config.fetch(CACHE_EXPIRATION)
            .addOnCompleteListener(this, new OnCompleteListener<Void>() {
                @Override
                public void onComplete(@NonNull Task<Void> task) {
                    if (task.isSuccessful()) {
                        config.activateFetched();
                    }
    
                    // Act on the retrieved parameters. For example, grant the
                    // retention gift to players who haven't yet received one.
                    boolean shouldGrantGift = config.getBoolean("grant_retention_gift");
                    if (shouldGrantGift && !playerAlreadyReceivedGift()) {
                        grantGiftToPlayer();
                    }
                }
            });

    Kotlin

    val config = FirebaseRemoteConfig.getInstance()
    
    val remoteConfigDefaults = HashMap<String, Any>()
    remoteConfigDefaults["grant_retention_gift"] = false
    config.setDefaults(remoteConfigDefaults)
    
    // ...
    
    config.fetch(CACHE_EXPIRATION)
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    config.activateFetched()
                }
    
                // Act on the retrieved parameters. For example, grant the
                // retention gift to players who haven't yet received one.
                val shouldGrantGift = config.getBoolean("grant_retention_gift")
                if (shouldGrantGift && !playerAlreadyReceivedGift()) {
                    grantGiftToPlayer()
                }
            }

Neste ponto, você pode implantar o jogo na App Store ou na Play Store. Por enquanto, os jogadores receberão o comportamento padrão (não receber presentes de retenção), mas como a política de presentes é controlada por uma variável que pode ser configurada remotamente, é possível alterar e testar estratégias de retenção usando apenas o Console do Firebase. Tudo sem precisar publicar atualizações do aplicativo para os usuários.

Começar a prever o desligamento de usuários

Em seguida, configure seu projeto do Firebase para começar a prever quando os usuários podem se desligar.

No Console do Firebase, abra a seção Previsões. Se você ainda não concordou com os termos de serviço do Previsões, faça isso.

Depois de ter concordado com os termos de serviço, o Previsões será ativado para o projeto. A seção Previsões do Console do Firebase permite definir previsões personalizadas. No entanto, para a previsão de desligamento, é possível usar a previsão incorporada baseada em uma agregação de eventos do Analytics para prever quando um usuário está prestes a deixar de usar seu aplicativo. Essas previsões ficarão disponíveis depois que você tiver ativado o Previsões e registrado eventos do Analytics por algumas semanas.

Criar um experimento de estratégia de retenção de usuários

Em seguida, crie um experimento de teste A/B para testar a eficácia do presente em relação à retenção de usuários:

Para criar o experimento:

  1. No Console do Firebase, abra a seção Teste A/B.

  2. Crie um novo experimento:

    1. Clique em Criar experimento > Configuração remota.

    2. Escolha seu app na lista e especifique quantos usuários você quer incluir no experimento. Você também pode optar por excluir determinadas categorias de usuários do experimento, como pessoas que gastam muito.

    3. Escolha Retenção (2 a 3 dias) na lista de métricas de meta e selecione as outras métricas que você quer rastrear, como engajamento do usuário, remoções de apps e cliques em anúncios.

    4. Defina duas variantes:

      • Sem presente de retenção (grupo de controle)
      • Concessão de presentes para usuários que têm maior probabilidade de desinstalar o aplicativo

      Para o grupo de controle, crie um parâmetro grant_retention_gift e configure-o como (no change). Os usuários atribuídos ao grupo de controle receberão o comportamento padrão, ou seja, não receberão um presente.

      Na variante em que você concederá um presente aos usuários que têm maior probabilidade de desinstalar o aplicativo, defina o parâmetro grant_retention_gift como true e defina o subconjunto de usuários como Prever: desligamento de usuários (tolerância de risco média). Os usuários atribuídos a essa variante receberão um presente se a previsão determinar o desligamento.

Inicie e execute o experimento por vários dias ou mais, até que o teste A/B apresente um líder. Poderá ser necessário expandir a experiência para mais usuários se o experimento não determinar um líder.

Distribuir a variante vencedora para todos os usuários

Depois que o teste A/B coletar informações suficientes para apresentar um líder (neste caso, a variante que maximizou a retenção), você poderá decidir se quer distribuir a variante vencedora, ou qualquer outra, para todos os usuários.

Na seção Teste A/B do Console do Firebase, abra a visualização de detalhes do experimento concluído. Nela você pode ver o desempenho de cada variante de acordo com sua métrica de objetivo e outras métricas secundárias selecionadas. Com essas informações, você pode decidir pela distribuição da variante líder ou de outra variante.

Para distribuir uma variante a todos os usuários, clique em more_vert > Aplicar líder na página de detalhes do experimento.