Saltar al contenido principal

¿Qué son las Rachas?

Una racha es un período de días, semanas o meses consecutivos en que un usuario ha realizado una acción clave en tu plataforma. Se ha demostrado que las rachas aumentan significativamente la retención, particularmente cuando la acción del usuario que se rastrea se alinea con el valor central de tu producto.

Frecuencia de Racha

Las rachas en Trophy pueden ser diarias, semanales o mensuales. Esto significa que un usuario debe cumplir sus condiciones de racha al menos una vez cada día, semana o mes natural para mantener su racha. Si has configurado zonas horarias para tus usuarios, Trophy rastreará automáticamente la racha de cada usuario en su zona horaria local (incluyendo tener en cuenta cuando los usuarios cambian de zona horaria) y mantendrá las rachas intactas.
Trophy calcula automáticamente los datos de racha para cada frecuencia, lo que significa que puedes cambiar en cualquier momento.

Condiciones de Racha

En Trophy puedes establecer los umbrales que un usuario debe cumplir para extender su racha según tus Métricas configuradas. Puedes elegir qué métricas deben formar parte de tu racha, y para aquellas que elijas, puedes establecer un umbral personalizado que los usuarios deben cumplir.
Al combinar métricas de esta manera, puedes elegir entre dos modos de evaluación:
  • ALL significa que un usuario debe cumplir cada umbral de métrica para extender su racha
  • OR significa que un usuario solo tiene que cumplir uno de tus umbrales de métrica para extender su racha
De esta manera puedes diseñar tu lógica de rachas para que se ajuste al caso de uso de tu aplicación.

Congelaciones de Racha

Las congelaciones de racha ayudan a los usuarios a mantener sus rachas por más tiempo al permitirles omitir períodos sin que se reinicie a cero. Esto ayuda a mantener las rachas motivadoras incluso si los usuarios no mantienen un hábito de uso perfecto.
Las congelaciones de racha son opcionales en Trophy pero se pueden configurar en la página de rachas del panel de Trophy.

Otorgar Congelaciones Iniciales

Puedes configurar cualquier número de congelaciones arbitrarias para otorgar a nuevos usuarios cuando los identificas por primera vez con Trophy.
Otorgar a los usuarios demasiadas congelaciones puede disminuir su valor percibido, pero otorgar muy pocas congelaciones podría resultar en un mayor número de rachas perdidas. Un buen punto de partida es una congelación por usuario, ¡pero el truco está en experimentar!

Acumulación de Congelaciones

A medida que los usuarios agotan las congelaciones de racha, necesitarán un suministro continuo de nuevas para mantenerlas activas. Para facilitar esto, Trophy puede otorgar automáticamente congelaciones de racha a los usuarios con el tiempo. Puedes elegir un número arbitrario de días durante los cuales otorgar un número arbitrario de congelaciones a cada usuario. Si has configurado zonas horarias para tus usuarios, Trophy consumirá automáticamente las congelaciones a medianoche en la zona horaria del usuario cuando sea necesario para extender su racha, y si se deben otorgar nuevas congelaciones a un usuario, se otorgarán hasta diez minutos después.

Número Máximo de Congelaciones

En Trophy también configuras el número máximo de congelaciones que puede tener cada usuario, hasta un límite de 100. La acumulación de congelaciones solo otorgará congelaciones hasta este límite.

Seguimiento de Rachas

Trophy calcula automáticamente las rachas para todos los usuarios según los eventos de métrica que reportes a Trophy. No se requiere trabajo adicional para rastrear rachas, y puedes comenzar a usarlas de inmediato. Solo asegúrate de que las rachas estén habilitadas en el panel de Trophy.
Para un recorrido completo sobre cómo configurar una función de rachas usando Trophy, consulta nuestra guía oficial.

Gestión de Rachas

Esta sección describe algunas de las operaciones que puedes realizar para gestionar las rachas de los usuarios en tu aplicación.

Restaurar la Racha de un Usuario

Para restaurar la racha de un usuario, dirígete a la página de detalles del usuario y utiliza la acción ‘Restaurar Racha’. Restaurar la racha de un usuario la establece a la duración que tenía cuando la perdió por última vez.
También puedes usar el API de administración para restaurar rachas para restaurar rachas programáticamente.

Visualización de Rachas

Trophy expone los datos de rachas de dos formas, que pueden usarse para crear elementos de interfaz dentro de tus aplicaciones y mostrar rachas a los usuarios.
Consulta nuestra guía completa sobre cómo agregar una función de rachas a tu aplicación para más detalles.

Respuesta de Evento de Métrica

Cuando incrementas una métrica para un usuario, la respuesta del API de métricas incluirá la racha actual del usuario.
Response
{
  "metricId": "d01dcbcb-d51e-4c12-b054-dc811dcdc623",
  "eventId": "0040fe51-6bce-4b44-b0ad-bddc4e123534",
  "total": 750,
  "achievements": [
    {
      "id": "5100fe51-6bce-6j44-b0hs-bddc4e123682",
      "trigger": "metric",
      "metricId": "5100fe51-6bce-6j44-b0hs-bddc4e123682",
      "metricName": "Flashcards Flipped",
      "metricValue": 500,
      "name": "500 Flashcards Flipped",
      "description": "Write 500 words in the app.",
      "achievedAt": "2020-01-01T00:00:00Z"
    }
  ],
  "currentStreak": {
    "length": 1,
    "frequency": "daily",
    "started": "2025-04-02",
    "periodStart": "2025-03-31",
    "periodEnd": "2025-04-05",
    "expires": "2025-04-12"
  },
  "points": {
    "xp": {
      "id": "0040fe51-6bce-4b44-b0ad-bddc4e123534",
      "key": "xp",
      "name": "XP",
      "description": null,
      "badgeUrl": null,
      "maxPoints": null,
      "total": 10,
      "level": {
        "id": "1140fe51-6bce-4b44-b0ad-bddc4e123534",
        "key": "bronze",
        "name": "Bronze",
        "description": "Starting level",
        "badgeUrl": null,
        "points": 0
      },
      "added": 10,
      "awards": [
        {
          "id": "0040fe51-6bce-4b44-b0ad-bddc4e123534",
          "awarded": 10,
          "date": "2021-01-01T00:00:00Z",
          "total": 10,
          "trigger": {
            "id": "0040fe51-6bce-4b44-b0ad-bddc4e123534",
            "type": "metric",
            "metricName": "Flashcards Flipped",
            "metricThreshold": 100,
            "points": 10
          }
        }
      ]
    }
  },
  "leaderboards": {
    "daily_champions": {
      "id": "0040fe51-6bce-4b44-b0ad-bddc4e123535",
      "key": "daily_champions",
      "name": "Daily Champions",
      "description": null,
      "rankBy": "metric",
      "runUnit": null,
      "runInterval": 0,
      "maxParticipants": 100,
      "metricName": "Flashcards Flipped",
      "metricKey": "flashcards-flipped",
      "threshold": 10,
      "start": "2025-01-01",
      "end": null,
      "previousRank": 50,
      "rank": 12
    }
  }
}
Esto se puede usar para activar de forma transaccional elementos de UI/UX, incluyendo:
  • Mostrar ventanas emergentes dentro de la aplicación
  • Reproducir efectos de sonido

API de Rachas de Usuario

La API de rachas de usuario devuelve la racha actual de un único usuario, junto con su historial reciente de rachas. Usa el parámetro de consulta historyPeriods para controlar cuántos períodos devolver.
Response
{
  "length": 1,
  "frequency": "weekly",
  "started": "2025-04-02",
  "periodStart": "2025-03-31",
  "periodEnd": "2025-04-05",
  "expires": "2025-04-12",
  "rank": 5,
  "streakHistory": [
    {
      "periodStart": "2025-03-02",
      "periodEnd": "2025-03-08",
      "length": 9
    },
    {
      "periodStart": "2025-03-09",
      "periodEnd": "2025-03-15",
      "length": 0
    },
    {
      "periodStart": "2025-03-16",
      "periodEnd": "2025-03-22",
      "length": 0
    },
    {
      "periodStart": "2025-03-23",
      "periodEnd": "2025-03-29",
      "length": 1
    },
    {
      "periodStart": "2025-03-30",
      "periodEnd": "2025-04-05",
      "length": 2
    },
    {
      "periodStart": "2025-04-06",
      "periodEnd": "2025-04-12",
      "length": 3
    },
    {
      "periodStart": "2025-04-13",
      "periodEnd": "2025-04-19",
      "length": 4
    }
  ]
}
Usa estos datos para mostrar el historial de rachas de un usuario dentro de tu aplicación.

Listar Rachas de Múltiples Usuarios

Si quieres mostrar rachas para varios usuarios a la vez, por ejemplo para soportar una función de rachas de amigos o grupos de usuarios, usa la API de listar rachas de usuario.
[
  {
    "userId": "user-123",
    "streakLength": 15,
    "extended": "2025-01-01T05:03:00Z"
  },
  {
    "userId": "user-456",
    "streakLength": 12,
    "extended": "2025-01-01T08:43:00Z"
  },
  {
    "userId": "user-789",
    "streakLength": 0,
    "extended": null
  }
]

Obtener Soporte

¿Quieres ponerte en contacto con el equipo de Trophy? Contáctanos por correo electrónico. ¡Estamos aquí para ayudar!