Experimenta con estrategias de promoción en Firebase Predictions

Con Firebase Predictions, puedes optimizar tus promociones dentro la app para cada uno de los usuarios en función de la probabilidad de que el usuario haga una compra directa desde la app. Por ejemplo, puedes promocionar tu paquete "premium" más costoso para los usuarios que probablemente gastarán y promover el paquete básico más económico para los demás usuarios.

Posteriormente, con las pruebas A/B, puedes hacer un experimento para ver cómo esta estrategia basada en predicciones afecta los ingresos de compras directas desde la app en comparación con simplemente promocionar siempre el paquete básico y ofrecer siempre el paquete premium.

Antes de comenzar

Para comenzar a usar las predicciones y determinar la estrategia de promoción de tu app, debes usar Google Analytics para Firebase en la app. En particular, debes hacer lo siguiente:

  • Habilita el uso compartido de datos de Analytics en Firebase console.
  • Registra de manera explícita los eventos relacionados con los gastos que no se recopilan de forma automática, como ecommerce_purchase. (Firebase registra el evento in_app_purchase de forma automática para las compras directas desde la app que se procesan mediante App Store y Play Store). Por lo general, también deberías registrar cualquier otro evento que sea relevante para la app, con el fin de maximizar los datos disponibles para hacer las clasificaciones.
  • Asegúrate de tener un volumen de datos de eventos suficiente para que Firebase haga predicciones significativas. Comúnmente, 10,000 usuarios activos al mes, 500 ejemplos positivos y 500 ejemplos negativos proporcionan una cantidad suficiente de datos a Firebase Predictions.

Comienza con la predicción del gasto de los usuarios

El primer paso es configurar el proyecto de Firebase para que comience a predecir el gasto de los usuarios:

  1. En Firebase console, abre la sección Predictions. Si aún no aceptas las Condiciones del servicio de Predictions, debes hacerlo.

    Después de aceptar las Condiciones del servicio, se habilitará Predictions en tu proyecto. La sección Predictions de Firebase console permite definir predicciones personalizadas; sin embargo, para la predicción del gasto, puedes usar las predicciones integradas spend y not_spend, que se calculan a partir de un conjunto de eventos de Analytics. Estas predicciones estarán disponibles en un plazo de 24 horas después de que habilites Predictions y registres algunos eventos de gasto de referencia.

  2. Agrega un parámetro Remote Config que corresponda a la predicción de spend:

    1. En Firebase console, haz clic en Remote Config.
    2. Agrega un parámetro nuevo con el nombre predicted_will_spend (por ejemplo). Crea una condición nueva para este parámetro que se aplique cuando se predice spend. A continuación, configura el valor true para la condición nueva y el valor false como predeterminado.

Crea un experimento de estrategia de promoción

A continuación, crea un experimento de prueba A/B para tres estrategias de promoción:

  • Siempre promocionar el paquete básico (grupo de control)
  • Siempre promocionar el paquete premium
  • Promocionar el paquete básico o el paquete premium según la predicción de gasto

Para crear el experimento, haz lo siguiente:

  1. En Firebase console, abre la sección Remote Config.
  2. Haz clic en el botón prueba A/B.
  3. Crea un experimento nuevo:

    1. Elige tu app en la lista y especifica cuántos de tus usuarios quieres incluir en el experimento. También puedes optar por excluir del experimento ciertas categorías de usuarios, como aquellos que gastan más.

    2. Define tres variantes: una para cada estrategia de monetización.

      A continuación, crea un parámetro promoted_bundle y asigna el valor basic a la variante de grupo de control, premium a la segunda variante y predict a la variante que se basa en la predicción. Tu app usa este parámetro para definir qué paquete promocionar para un usuario en particular.

    3. Elige Ingresos por compras en la lista de métricas de objetivos y selecciona cualquier métrica adicional que desees seguir, como la retención y la participación diaria.

      Por último, en la sección Opciones avanzadas, selecciona el evento de Analytics promotion_set que registras de forma explícita en tu app. Ten en cuenta que este evento no aparecerá en la lista hasta que se registre una vez.

Implementa las estrategias de promoción en tu app

Ahora que configuraste las predicciones y experimentos en Firebase console, implementa las estrategias de promoción para cada una de las variantes de tu experimento.

Por ejemplo:

  1. Importa los SDK de Analytics y Remote Config:

    iOS (Swift)

    Agrega los SDK a tu Podfile:

    pod 'Firebase/Core'
    pod 'Firebase/RemoteConfig'
    

    Después, impórtalos:

    import Firebase
    

    Android

    compile 'com.google.firebase:firebase-core:11.4.0'
    compile 'com.google.firebase:firebase-config:11.4.0'
    
  2. Recupera la estrategia de promoción para el usuario actual con Remote Config.

    iOS (Swift)

    self.remoteConfig = RemoteConfig.remoteConfig()
    self.remoteConfig.setDefaults(["promoted_bundle": "basic"])
    
    // ...
    
    self.remoteConfig.fetch() { (status, error) -> Void in
        if status == .success {
          self.remoteConfig.activateFetched()
        }
    
        // Act on the retrieved parameters
    
        // Set the bundle to promote based on parameters retrieved with Remote
        // Config
        self.promotedBundle = self.getPromotedBundle()
    
        // ...
    }
    

    Android

    mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
    
    Map remoteConfigDefaults = new HashMap<String, Object>();
    remoteConfigDefaults.put("promoted_bundle", "basic");
    mFirebaseRemoteConfig.setDefaults(remoteConfigDefaults);
    
    // ...
    
    mFirebaseRemoteConfig.fetch(cacheExpiration)
        .addOnCompleteListener(this, new OnCompleteListener<Void>() {
            @Override
            public void onComplete(@NonNull Task<Void> task) {
                if (task.isSuccessful()) {
                    mFirebaseRemoteConfig.activateFetched();
                }
    
                // Act on the retrieved parameters
    
                // Set the bundle to promote based on parameters retrieved with
                // Remote Config
                mPromotedBundle = getPromotedBundle();
    
                // ...
            }
        });
    
  3. Por último, configura el paquete que promocionarás al usuario según los parámetros que recuperaste. Además, en este momento, registra el evento promotion_set para indicar que se puede considerar que el usuario participa en el experimento.

    iOS (Swift)

    func getPromotedBundle() -> String {
        Analytics.logEvent("gift_policy_set", parameters: nil)
    
        let promotedBundle = self.remoteConfig["promoted_bundle"].stringValue
        let willSpend = self.remoteConfig["predicted_will_spend"].booleanValue
    
        if (promotedBundle == "predicted") && will_spend {
            return "premium"
        } else {
            return promotedBundle
        }
    }
    

    Android

    private String getPromotedBundle() {
        FirebaseAnalytics.getInstance(this).logEvent("promotion_set", true);
    
        String promotedBundle = mFirebaseRemoteConfig.getString("promoted_bundle");
        boolean will_spend = mFirebaseRemoteConfig.getBoolean("predicted_will_spend");
    
        if (promotedBundle.equals("predicted") && will_spend) {
            return "premium";
        } else {
            return promotedBundle;
        }
    }
    

Enviar comentarios sobre…

¿Necesitas ayuda? Visita nuestra página de asistencia.