Modelos de propensión para aplicaciones de videojuegos

Aprende a usar BigQuery ML para entrenar, evaluar y obtener predicciones de diversos tipos de modelos de propensión diferentes. Los modelos de propensión pueden ayudarte a determinar la probabilidad de que usuarios específicos vuelvan a tu app para que puedas usar esa información en decisiones de marketing.

Descripción general

Si eres un desarrollador de juegos para dispositivos móviles, es probable que la retención de los usuarios sea uno de tus desafíos. Según el Análisis de la industria de juegos para dispositivos móviles en 2019, la mayoría de los juegos para dispositivos móviles solo ven una tasa de retención del 25% para los usuarios después del primer día. Para conservar un porcentaje mayor de usuarios después de eso, puedes tomar medidas para fomentar y fomentar la participación de los usuarios con más probabilidades de volver. Sin embargo, para orientarte a esos usuarios, debes identificar la propensión de cualquier usuario específico que regrese después de las primeras 24 horas. Si desarrollas otros tipos de aplicaciones en línea que priorizan la reducción de la deserción del público, este enfoque también debería ayudarte.

Para implementar el enfoque descrito en este artículo, usa este notebook.

En este artículo, se analiza un enfoque de alto nivel para los modelos de propensión, incluido lo siguiente:

  • Preparar datos de videojuegos para usarlos para entrenar un modelo de aprendizaje automático (AA)
  • Elige qué tipo de modelo de propensión usar
  • Entrenar y evaluar el modelo
  • Obtener predicciones a partir del modelo
  • Exportar datos de predicción para usarlos en campañas de marketing

Público

La solución está dirigida a desarrolladores de aplicaciones en línea, en especial a los desarrolladores de juegos para dispositivos móviles. Suponemos que tienes conocimientos básicos sobre lo siguiente:

  • Conceptos de aprendizaje automático
  • SQL estándar

Conjunto de datos de muestra

La solución usa el conjunto de datos públicofirebase-public-project.analytics_153293282.events_20181003. Este conjunto de datos contiene los datos de Google Analytics 4 (GA4) de una app de juegos para dispositivos móviles llamada “Flood It!"”. Este conjunto de datos contiene 5,7 millones de eventos de más de 15,000 usuarios.

GA4 usa un modelo de medición basado en eventos. Cada fila de este conjunto de datos es un evento único, que contiene campos anidados para parámetros de evento. Para obtener más información sobre la estructura de los datos, consulta el Esquema para BigQuery Export.

Exporta datos de Google Analytics a BigQuery

Si, en lugar de los datos de muestra, quieres usar tus propios datos de una propiedad de GA4, puedes seguir las instrucciones que aparecen en (GA4) Configuración de BigQuery Export para exportar tus datos.

Procesa los datos

Debes procesar los datos del evento para que tengan la forma y el formato correctos que se usarán como datos de capacitación. El procesamiento de datos logra los siguientes objetivos:

  • Filtra a los usuarios que es probable que no regresen a la app
  • Crea funciones para los datos demográficos de los usuarios
  • Crea funciones para los datos de comportamiento de los usuarios

Tener una combinación de datos demográficos y de comportamiento ayuda a crear un modelo más predictivo.

Una vez procesados, cada fila representa los datos de capacitación que representan los datos de un usuario único, que se identifican con la columna user_pseudo_id.

Etiqueta a los usuarios

Para procesar los datos, empieza por etiquetar los registros para identificar a los usuarios que parecen volver poco a la app. En esta solución, debes etiquetar los registros para clasificarlos según la interacción con la aplicación.

En primer lugar, debes filtrar a los usuarios que pasaron menos de 10 minutos con la app durante su primera visita. Etiquetarás a estos usuarios como rebotaron.

Luego, debes etiquetar a los usuarios restantes como desertadores si no tienen datos de eventos para el usuario después de 24 horas de la interacción de la primera aplicación con la aplicación. , o como retornante si tienen al menos un registro de evento después de 24 horas de interactuar con la app por primera vez. El modelo usa estas etiquetas durante la capacitación para aprender cómo identificar la probabilidad de que un usuario se incluya en una categoría o en la otra. Luego, puedes usar el modelo entrenado para predecir esa probabilidad para usuarios específicos.

Si tienes un caso práctico diferente, puedes usar criterios diferentes para identificar a los clientes rebotes o desertadores. Si deseas predecir algo que no sea la deserción de públicos, puedes considerar, por ejemplo:

  • Si es probable que un usuario invierta dinero en la moneda del juego
  • La probabilidad de que el usuario complete n niveles de juego
  • La probabilidad de que el usuario dedique n cantidad de tiempo en el juego

Procesa funciones demográficas

El siguiente paso en el procesamiento de datos es agregar atributos para los datos demográficos de los usuarios. Esta solución usa los siguientes campos como atributos demográficos:

  • geo.country
  • device.operating_system
  • device.language

Sin embargo, puedes elegir diferentes campos si funcionan mejor para tu caso de uso.

Un usuario puede tener varios valores únicos en estos campos. Por ejemplo, si un usuario usó la app desde dos dispositivos diferentes. Para simplificar, en esta solución se usan los valores del primer evento de participación de los usuarios.

Procesa funciones de comportamiento

El último paso del procesamiento de los datos es agregar atributos para el comportamiento del usuario.

Para extraer el comportamiento de los usuarios de los datos, la solución analiza las actividades de cada usuario en las primeras 24 horas de participación. Además de los eventos recopilados automáticamente en Analytics, también están los eventos recomendados para juegos que puedes explorar para comprender el comportamiento de los usuarios. Para predecir la deserción de usuarios en este caso, la solución cuenta la cantidad de veces que se recopilan los siguientes eventos para cada usuario en un plazo de 24 horas desde que participó el primer usuario:

  • user_engagement
  • level_start_quickplay
  • level_end_quickplay
  • level_complete_quickplay
  • level_reset_quickplay
  • post_score
  • spend_virtual_currency
  • ad_reward
  • challenge_a_friend
  • completed_5_levels
  • use_extra_steps

Puedes usar diferentes conjuntos de eventos si tu caso práctico es diferente del que se describe aquí. Para ver la lista de eventos disponibles, usa la siguiente consulta:

SELECT
    event_name,
    COUNT(event_name) as event_count
FROM
    firebase-public-project.analytics_153293282.events_*
GROUP BY 1
ORDER BY
   event_count DESC

Elige un modelo

Una vez que los datos de capacitación estén preparados, estarás listo para crear un modelo de AA. Puedes elegir entre varios algoritmos de clasificación para el modelo. En la siguiente tabla, se enumeran los tipos de modelos y sus ventajas y desventajas:

Modelo model_type Ventajas Desventajas
Regresión logística LOGISTIC_REG Entrena más rápido que otros tipos de modelos. Es posible que no tenga el rendimiento más alto.
XGBoost BOOSTED_TREE_CLASSIFIER
  • Mayor rendimiento que un modelo LOGISTIC_REG.
  • Permite la inspección de la importancia de los atributos.
Es más lento para entrenar que un modelo LOGISTIC_REG.
Modelos de redes neuronales profundas. DNN_CLASSIFIER Mayor rendimiento que un modelo LOGISTIC_REG. Es más lento para entrenar que un modelo LOGISTIC_REG.
AutoML Tables AUTOML_CLASSIFIER Mayor rendimiento que un modelo LOGISTIC_REG.
  • Es posible que se tarde más en entrenar que otros tipos de modelos.
  • Explicabilidad del modelo limitado.

Esta solución usa de forma predeterminada un modelo de regresión logística porque es el más rápido para entrenar, pero, en el notebook, puedes elegir usar uno de los otros tipos de modelos si lo prefieres.

Entrena el modelo

Entrenar el modelo de clasificación con BigQuery AA. El modelo entrenado da como resultado una puntuación de propensión que indica la probabilidad de deserción de un usuario. Una probabilidad del 100% de deserción se indica con churned=1 y una probabilidad del 100% de devolver se indica con churned=0, con la mayoría de los resultados dentro de estos límites.

Cuando usas la declaración CREATE MODEL, BigQuery AA divide automáticamente los datos de capacitación en un conjunto de entrenamiento y un conjunto de prueba. Esto te permite evaluar el modelo una vez finalizada la capacitación para que puedas ver su exactitud.

La siguiente consulta muestra la declaración CREATE OR REPLACE MODEL para entrenar el modelo:

CREATE OR REPLACE MODEL bqmlga4.churn_logreg

TRANSFORM(
  EXTRACT(MONTH from user_first_engagement) as month,
  EXTRACT(DAYOFYEAR from user_first_engagement) as julianday,
  EXTRACT(DAYOFWEEK from user_first_engagement) as dayofweek,
  EXTRACT(HOUR from user_first_engagement) as hour,
  * EXCEPT(user_first_engagement, user_pseudo_id)
)

OPTIONS(
  MODEL_TYPE="LOGISTIC_REG",
  INPUT_LABEL_COLS=["churned"]
) AS

SELECT
 *
FROM
  Bqmlga4.train

Esta consulta extrae valores de month, julianday y dayofweek de las columnas datetime y timestamp, como ejemplo de procesamiento previo de atributos adicionales que puedes realizar antes de la capacitación. La función TRANSFORM() en tu consulta CREATE MODEL permite que el modelo conserve los valores extraídos. De esa manera, cuando uses este modelo para hacer predicciones más adelante, estos valores no tendrán que volver a extraerse.

Consulta el notebook para ver ejemplos sobre cómo entrenar XGBoost, la red neuronal profunda y los modelos de AutoML Tables.

Evalúa el modelo

Una vez que el modelo terminó de entrenarse, evalúa el modelo para ver su rendimiento.

En esta solución, se usa lo siguiente:ML.EVALUATE declaración para generar precisión , recuperación ,exactitud yPuntuación f1 métricas del modelo. Entrenar varios modelos y, luego, comparar sus métricas de evaluación pueden ayudarte a decidir qué modelo funciona mejor con tus datos.

En esta solución, también se usa una matriz de confusión para inspeccionar qué tan bien el modelo predijo las etiquetas, en comparación con las etiquetas reales. La matriz de confusión se crea con un límite predeterminado de 0.5, que puedes ajustar para optimizar la recuperación, precisión o un equilibrio de ambos. Puedes usar el parámetro opcional THRESHOLD para modificar el umbral predeterminado.

Obtén predicciones

Una vez que el modelo se entrenó y se evaluó, puedes usarlo para obtener predicciones.

En la solución, se usa la declaración ML.PREDICT para solicitar predicciones del modelo.

Para el modelado de propensión, el resultado de la predicción es la probabilidad de que se produzca un comportamiento. Cuanto más cercana sea la probabilidad prevista a 1, más probable será que el usuario regrese. Cuanto más cercana sea la probabilidad prevista a 0, más probable será que el usuario la deserte.

Exporta predicciones

Una vez que tengas predicciones del modelo, puedes usar estos datos para la activación de marketing. Las formas comunes de hacerlo son exportar los datos para usarlos en Analytics o Firebase.

Usa predicciones en Google Analytics

Puedes usar datos de predicción para campañas de marketing en Analytics. Puedes volver a importar las predicciones del modelo a Analytics como un atributo de usuario a través de la función de importación de datos para Google Analytics 4. Según los valores de predicción, puedes crear y editar públicos y, también puedes hacer Segmentación por público. Por ejemplo, puedes definir un público. según usuarios con probabilidades de predicción entre 0.4 y 0.7, que son aquellas que podrían no mostrarse por sí solas, pero que se podrían incentivar a que lo hagan.

Usa predicciones en Firebase

En las aplicaciones de Firebase, puedes usar la función Importar segmentos para importar datos de predicción. Con estos datos, puedes adaptar la experiencia del usuario a través de la orientación a los usuarios identificados a través de los servicios de Firebase, como Remote Config, Cloud Messaging y mensajes desde la app. Esto te permite enviar notificaciones a los usuarios, configurar la app para los usuarios y seguir el recorrido de los usuarios en todos los dispositivos.

Evaluación continua de modelos

A medida que se generan más datos de tus usuarios, es posible que desees evaluar con regularidad tu modelo según datos nuevos y volver a entrenarlo si observas que la calidad disminuye.

Este proceso de garantizar que un modelo de aprendizaje automático de producción siga funcionando bien con los datos nuevos se denomina evaluación continua y es una parte esencial de cualquier flujo de trabajo del AA. Realizar una evaluación continua puede ayudarte a detectar el desvío de modelos, un fenómeno que ocurre cuando los datos usados para entrenar tu modelo ya no reflejan los datos que usas para solicitar predicciones.

Para obtener más información sobre cómo realizar una evaluación continua de modelos, consulta Evaluación de modelos continuos con BigQuery ML, procedimientos almacenados y Cloud Scheduler.

¿Qué sigue?