Acerca de la personalización de Remote Config

La personalización usa el aprendizaje automático (particularmente, un algoritmo multi-armed bandit contextual) para determinar la experiencia óptima de cada usuario con el fin de lograr un objetivo. En nuestro caso, el objetivo es optimizar la cantidad o el valor total de los parámetros de eventos específicos de Google Analytics.

¿Qué es un algoritmo multi-armed bandit contextual?

“Multi-armed bandit” es una metáfora que se utiliza para describir una situación en la que queremos elegir de forma continua una ruta entre varias que genere las recompensas más altas y confiables. Supongamos que eres un apostador y que estás frente a una fila de máquinas tragamonedas (que en inglés se denominan coloquialmente “one-armed bandits” [bandidos con un brazo] porque tienen solo una manija y se llevan tu dinero). Como queremos encontrar el valor de múltiples manijas, los one-armed bandits se convierten multi-armed bandits.

Por ejemplo, supongamos que tenemos tres opciones y queremos determinar cuál proporciona la recompensa más confiable. Para ello, podemos probar cada opción y, después de recibir un resultado, podemos seguir eligiendo el grupo que produjo más recompensas. A esto se le conoce como algoritmo codicioso, ya que seguiremos eligiendo la opción que produjo el mejor resultado cuando lo intentamos por primera vez. Pero entendemos que esto no siempre funciona. Por un lado, la recompensa alta podría ser una casualidad. O tal vez haya algún contexto específico del usuario que dio como resultado recompensas más altas durante ese período que no sería tan eficaz más tarde.

Por lo tanto, se incorpora el contexto para aumentar la eficacia del algoritmo. En el caso de la personalización de Remote Config, este contexto inicial es un muestreo aleatorio (incertidumbre) que le proporciona entropía al experimento. El algoritmo resultante es un “multi-armed bandit contextual”. A medida que se ejecuta el experimento, la exploración y la observación en curso incorporan aprendizajes del contexto real sobre qué grupos tienen más probabilidades de generar una recompensa para el modelo, lo que lo hace más eficaz.

¿Qué implica esto para mi app?

Ahora, hablemos de lo que significa un algoritmo multi-armed bandit en el contexto de tu app. Supongamos que realizas optimizaciones para obtener clics en anuncios en forma de banner. En este caso, las “manijas” (o “grupos”) de la personalización serían los valores alternativos que especifiques para representar los diferentes anuncios en forma de banner que quieres mostrarles a los usuarios. Los clics en anuncios en forma de banner son la recompensa, que llamamos objetivo.

Cuando inicias una personalización por primera vez, el modelo no sabe qué valor alternativo tendrá más probabilidades de lograr tu objetivo para cada usuario individual. A medida que la personalización explora cada valor alternativo a fin de comprender la probabilidad de lograr tu objetivo, el modelo subyacente adquiere más información y mejora su capacidad de predecir y seleccionar la experiencia óptima para cada usuario.

La personalización usa un período de permanencia de 24 horas. Esta es la cantidad de tiempo que el algoritmo de personalización explora un solo valor alternativo. Permite que tus personalizaciones tengan tiempo suficiente para explorar cada valor alternativo varias veces (por lo general, aproximadamente 14 días). Idealmente, puedes permitir que se ejecuten de forma perpetua para que puedan mejorar y adaptarse de forma continua a medida que cambian la app y los comportamientos de los usuarios.

Haz un seguimiento de las métricas adicionales

La personalización de Remote Config también permite hacer un seguimiento de hasta dos métricas adicionales para ayudarte a contextualizar los resultados. Supongamos que desarrollaste una app social y estableciste diferentes valores alternativos para motivar a los usuarios a que compartan contenido con sus amigos a fin de aumentar la participación general.

En este caso, te recomendamos aplicar optimizaciones para un evento de Analytics como link_received y establecer las dos métricas en user_engagement y link_opened para conocer si la participación de los usuarios y la cantidad de vínculos que se abren crecen (participación real) o disminuyen (posiblemente demasiados vínculos con spam).

Si bien estas métricas adicionales no se tendrán en cuenta en el algoritmo de personalización, puedes hacer un seguimiento de ellas junto con los resultados de la personalización, lo que brinda estadísticas valiosas sobre la capacidad de la personalización para lograr tus objetivos generales.

Comprende los resultados de la personalización

Después de que una personalización se haya ejecutado durante el tiempo suficiente para recopilar datos, podrás ver sus resultados.

Para ver los resultados de la personalización, sigue estos pasos:

  1. Abre la página de Remote Config y haz clic en Personalizations.

  2. Selecciona la personalización que quieras ver. Puedes buscar la personalización específica por nombre o por objetivo, y puedes ordenarla por Nombre, Hora de inicio o Efectividad total.

En la página de resultados, se resume el Incremento total (o porcentaje de diferencia en el rendimiento) que logra la personalización sobre el grupo de referencia.

En la página de resultados, también se muestra el estado actual de la personalización, sus atributos y un gráfico interactivo con las siguientes características:

  • Muestra una vista detallada diaria y total del rendimiento de la personalización en comparación con el grupo de referencia.

  • Muestra el rendimiento general de cada valor en el grupo de referencia.

  • Muestra los resultados y el rendimiento de los objetivos en comparación con las métricas adicionales que elegiste, a las que puedes acceder mediante las pestañas que se encuentran en la parte superior del resumen.

La personalización se puede ejecutar de forma indefinida y puedes seguir revisando la página de resultados para supervisar su rendimiento. El algoritmo seguirá aprendiendo y realizando ajustes para adaptarse a los cambios en el comportamiento de los usuarios.

Comprende cómo borrar la personalización

Para borrar una personalización, usa Firebase console o quita un parámetro de personalización de tu plantilla con la API de Firebase Remote Config. No se pueden restablecer las personalizaciones borradas. Para obtener más información sobre la retención de datos, consulta Eliminación de datos.

También puedes borrar las personalizaciones si reviertes o importas una plantilla.

Reversiones

Si tu plantilla actual tiene personalizaciones y reviertes a una plantilla que no tiene las mismas personalizaciones, estas se borran. Para volver a la plantilla anterior, usa Firebase console o roll back con la API de Firebase Remote Config.

Cuando borres una personalización y reviertas a una plantilla anterior, aparecerá en Firebase console una referencia a esa personalización no válida. Para quitar la personalización no válida de Firebase console, edita la personalización en la pestaña Parámetros de la página de Remote Config.

Importaciones

Si importas una plantilla que ya no contiene tus personalizaciones actuales, también se borran esas personalizaciones. Para importar una plantilla, usa Firebase console o la API de REST de Remote Config.

Próximos pasos