Cómo encontrar en qué niveles se atascan los jugadores
Por Mike Dalton ·
La tasa de finalización de un nivel es la proporción de intentos en ese nivel que los jugadores terminan. Un nivel con una tasa de finalización mucho más baja que los niveles a su alrededor es donde los jugadores se atascan, y muchas veces donde dejan de jugar.
Para mostrar cómo se ve eso, armamos un juego de rompecabezas de ejemplo con ocho niveles y 120 jugadores en dos versiones, 1.0.0 y 1.1.0. En la versión 1.0.0, el Level 5 es mucho más difícil que los niveles a su alrededor. La versión 1.1.0 lo hace más fácil.
Paso 1: elige un token
Los eventos de progresión pueden venir del cliente del juego o de un servidor de juego propio. Usa un token server si los envía un servidor, o un token client si los envía el cliente del juego. Crea el token en Configuración > Tokens API, donde también encuentras el id de tu cuenta.
Los ejemplos de abajo usan curl con ambos valores en variables de entorno:
export GAMESTATS_TOKEN=your_api_token
export ACCOUNT_ID=your_account_id
Paso 2: envía un evento cuando empieza un nivel
Cada vez que un jugador empieza un nivel, envía un evento started
al endpoint de eventos de progresión. Cada inicio es un intento, así que un jugador que reinicia un nivel envía otro evento started
:
curl -i -X POST "https://gamestats.ai/api/v1/accounts/$ACCOUNT_ID/progression_events" \
-H "Authorization: Bearer $GAMESTATS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"player_username": "player_3e8",
"version_name": "1.0.0",
"progression_type_name": "level",
"progression_name": "Level 5",
"progression_milestone_type_name": "started",
"progression_milestone_name": "started",
"started_at": "2026-10-02T14:03:10Z",
"occurred_at": "2026-10-02T14:03:10Z",
"time_elapsed": 0
}'
progression_type_name agrupa las progresiones que quieres comparar, aquí todos los level. progression_name es el nivel en sí, y es el nombre que muestra el informe. El informe compara tipos de hito, así que usa los mismos dos, started y finished, en todos los niveles; progression_milestone_name puede repetir el nombre del tipo. started_at marca el inicio de un intento nuevo.
Una respuesta 201 significa que el evento fue aceptado. Los jugadores, las versiones, los niveles y los tipos de hito se crean la primera vez que se usan, así que no hay nada que registrar por adelantado.
Paso 3: envía un evento cuando se termina un nivel
Cuando el jugador supera el nivel, envía un evento finished
para el mismo jugador y el mismo nivel, sin started_at:
curl -i -X POST "https://gamestats.ai/api/v1/accounts/$ACCOUNT_ID/progression_events" \
-H "Authorization: Bearer $GAMESTATS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"player_username": "player_3e8",
"version_name": "1.0.0",
"progression_type_name": "level",
"progression_name": "Level 5",
"progression_milestone_type_name": "finished",
"progression_milestone_name": "finished",
"occurred_at": "2026-10-02T14:05:31Z",
"time_elapsed": 141
}'
Game Stats AI asocia el evento al intento más reciente de ese jugador en el nivel. time_elapsed es el tiempo desde que empezó el intento, aquí 141 segundos. Usa la unidad que quieras, siempre que todos los eventos usen la misma.
No envíes nada cuando un jugador pierde o abandona un nivel. Un intento sin evento finished
cuenta como no terminado.
Paso 4: crea un informe de progresión
En Informes > Nuevo informe, elige Informe de progresión, ponle una etiqueta y elige level en Tipo, started en Desde y finished en Hasta:


El informe muestra una fila por nivel, ordenada por nombre de modo que Level 2 va antes que Level 10, con tres valores:
| Valor | Significado |
|---|---|
| Completion Rate | La proporción de intentos que llegaron a finished |
| Average Time Elapsed | El tiempo promedio entre startedy finisheden los intentos terminados |
| # of Instances | El número de intentos, incluidos los reintentos |
Paso 5: encuentra el nivel donde se atascan los jugadores
Elige la versión 1.0.0 en los filtros del informe. El gráfico muestra la tasa de finalización de cada nivel:


En el juego de ejemplo, el Level 5 se destaca de tres maneras:
- Su tasa de finalización es del 17 %, mientras que todos los demás niveles están entre el 55 % y el 94 %.
- Tiene 99 intentos, más que cualquier otro nivel, porque los jugadores lo repitieron.
- Solo se hicieron 19 intentos en el Level 6. La mayoría de los jugadores que llegaron al Level 5 nunca lo superaron.
Los intentos terminados también tomaron 141 segundos en promedio, el tiempo más largo de todos los niveles.
Paso 6: comprueba el cambio en la siguiente versión
La versión 1.1.0 hizo más fácil el Level 5. Elige 1.1.0 en los filtros para ver solo los intentos hechos en esa versión:


La tasa de finalización del Level 5 subió del 17 % al 54 %, y los intentos en el Level 6 pasaron de 19 a 44, así que ahora más jugadores llegan al resto del juego.
Cada intento pertenece a la versión de su evento started
. Selecciona más de una versión en los filtros para verlas combinadas.