Vai alla console

使用 Firebase 预测进行用户留存策略实验

您可以使用 Firebase 预测来识别有可能停止使用您的应用的用户,然后向这些用户运用用户留存策略。例如,如果您有一款手机游戏,可以向那些预测不再会玩此游戏的用户赠送游戏币礼物。

本指南将向您展示如何实施这种基于预测的用户留存策略,以及如何创建 Firebase A/B 测试实验来确定此策略相对于不赠送任何礼物的效果。

准备工作

在开始根据预测结果来确定应用的用户留存政策之前,您必须在应用中使用 Google Analytics(分析)。具体来讲,您必须执行以下操作:

  • Firebase 控制台中启用 Analytics(分析)数据共享
  • 明确记录与您的应用相关但系统未自动记录的 Analytics 事件。通过记录这些事件,您可以提高日后分类操作的准确性。
  • 提供足够的事件数据量,以便 Firebase 做出有意义的预测。通常情况下,10000 名活跃用户(每月)、500 个正例和 500 个负例即可为 Firebase 预测提供足够的数据。

远程配置礼物政策

首先,将应用设置为向玩家赠送礼物,具体取决于远程配置参数的值。为了确保每个玩家只赠送一份此礼物,您还应跟踪玩家是否已收到礼物。

在接下来的步骤中,您将配置预测和 A/B 测试以根据各种条件远程设置此参数,但目前您的应用不会赠送礼物。

例如:

  1. 导入 Analytics SDK 和 Remote Config SDK:

    iOS (Swift)

    将这些 SDK 添加到您的 Podfile 中:

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

    然后,导入这些 SDK:

    import Firebase
    

    Android

    implementation 'com.google.firebase:firebase-core:17.0.1'
    implementation 'com.google.firebase:firebase-config:18.0.0'
    
  2. 初始化远程配置并将 grant_retention_gift 变量的默认值设置为 false。以后,您将设置预测和 A/B 测试来远程设置此变量。但在应用中设置默认值,可以确保在检索远程配置的变量之前您的应用能正常运行。

    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()
                }
            }

此时,您可以将游戏部署到应用商店或 Play 商店。现在,玩家将获得默认行为(即不赠送留存礼物),但由于礼物政策受远程可配置变量控制,因此您只需使用 Firebase 控制台来更改和试验留存策略,而无需向用户推送应用更新。

开始预测用户流失

接下来,设置您的 Firebase 项目以开始预测用户何时可能停止使用您的应用:

Firebase 控制台中,打开预测部分。如果您尚未同意 Firebase 预测服务条款,请确认同意。

在您同意服务条款后,系统就会为您的项目启用预测功能。Firebase 控制台的“预测”部分允许您创建自定义预测;不过,要预测用户流失情况,您可以利用内置的预测,该预测使用 Analytics 事件的汇总数据来预测用户是否即将停止使用您的应用。在您启用 Firebase 预测并记录了几周的 Analytics 事件后,才可以使用这些预测。

创建用户留存策略实验

接下来,创建一项 A/B 测试实验来测试赠送礼物对于用户留存的效果:

创建实验的步骤如下:

  1. Firebase 控制台中,打开 A/B 测试部分。

  2. 创建新实验:

    1. 点击创建实验 > 远程配置

    2. 从列表中选择您的应用,并指定您希望纳入实验的用户数量。您还可以选择从实验中排除某些用户类别,例如消费较高的用户。

    3. 从目标指标列表中选择留存时间(2-3 天),然后选择要跟踪的其他指标,例如用户互动情况、应用移除次数和广告点击次数。

    4. 定义两个变体:

      • 不赠送留存礼物(对照组)
      • 给流失用户赠送礼物

      对于对照组,请创建一个 grant_retention_gift 参数并将其设置为 (no change)。分配给对照组的用户将获得默认行为,即不赠送礼物。

      对于给流失用户赠送礼物变体,将 grant_retention_gift 参数设置为 true,并将用户子集设置为预测:流失(中等风险容忍度)。如果预测分配到此变体的用户会流失,则他们就会获得礼物。

开始实验并让它运行几天或更长时间,直到 A/B 测试确定领先变体为止。如果该实验无法确定领先变体,则可能需要将实验扩展到更多用户

向所有用户发布胜出的变体

在 A/B 测试收集到足够的信息来确定领先变体(在这种情况下是实现最大用户留存率的变体)之后,您就可以决定是否向所有用户发布胜出的变体(或其他变体)。

Firebase 控制台A/B 测试部分中,打开已完成的实验的详细信息视图。在此视图中,您可以查看在您设置的目标指标和所选的任何次要指标下,每个变体的实际效果。借助此信息,您可以决定是发布领先变体还是其他变体。

如需向所有用户发布变体,请在实验的详细信息页面上点击 more_vert > 发布领先变体