| App |
Mecánica |
Resultado |
| Duolingo |
Streak freeze (“Weekend Amulets”) permiten breaks |
Usuarios con freeze son 4% más propensos a volver semanalmente y 5% menos propensos a perder streak |
| Duolingo |
“Earn Back” — recuperar streak perdido con trabajo extra |
Usuarios 2.3x más propensos a engagement diario con streak de 7+ días |
| Duolingo |
Desacoplar streak de goals ambiciosos |
40%+ aumento en usuarios manteniendo streaks de 7+ días |
| Snapchat |
Timer bilateral 24h, emoji de hourglass a ~20h |
Presión social bilateral |
| Apple Watch |
Anillos de actividad (Gestalt: Principio de Cierre) |
Completar el anillo es visceralmente motivador |
Duolingo descubrió que permitir breaks aumenta engagement a largo plazo. Esto contradice la intuición de que streaks rígidos motivan más.
RÍGIDO (anti-patrón):
Miss 1 día → Streak = 0 → Usuario se frustra → Abandona
FLEXIBLE (patrón validado):
Miss 1 día → Streak freeze activado → Streak intacto
Miss 2 días → "Earn back" con esfuerzo extra → Streak recuperado
Miss 3+ días → Streak se pierde → Ventana de 3 días para reparar
Resultado: 21% menos churn
| Método |
App |
Cómo Funciona |
| Streak Freeze |
Duolingo |
1-2 freezes gratis/mes, extras comprables |
| Ventana de reparación |
Duolingo |
3 días para “earn back” streak perdido |
| Reparación mensual |
Duolingo |
Opción de reparar una vez al mes |
| Rest as success |
Gentler Streak |
Recovery y movimiento ligero cuentan como wins |
| Silencio inteligente |
Waterllama |
Reminders callan cuando usuario cumple metas |
| App |
Score |
Por Qué Funciona |
| WHOOP |
Recovery Score |
Strain Coach ajusta targets diarios — score cambia con acción |
| Oura |
Readiness Score |
“One Big Thing” cambia durante el día — 3+ opens/día promedio |
| Garmin |
Body Battery |
Metáfora de gauge de gasolina — intuitivo y familiar |
| Apple Watch |
Activity Rings |
Completar visualmente es adictivo (Gestalt: Cierre) |
El score funciona cuando:
- Cambia frecuentemente — da razón para volver
- Conecta con acción — “tu score hoy sugiere X”
- Tiene metáfora visual intuitiva — batería, anillo, gauge
- Mejora con datos — más uso = score más preciso
| App |
Programa |
Retención/Engagement |
| Noom |
16 semanas |
D30 engagement: 40% (10x promedio industria) |
| Peloton |
Programas estructurados |
96% retención de suscriptores, 13x/mes uso |
| Calm |
Daily Reminder 30 días |
3x boost en retención (causativo, no solo correlativo) |
| Strava |
Challenges |
Retención 90 días: 18% → 32% después de Challenges |
PATRÓN TÍPICO:
Día 1-10: >80% drop (los que nunca iban en serio)
Día 11-30: Estabilización — los que quedan son "moderate engagers"
Día 31-60: Grupo crítico — 31% de "moderate engagers" caen a inactivos
Día 61-90: Los sobrevivientes son high-value, retención estable
GRUPO CLAVE: "Moderate engagers" semanas 1-2
- Si los mantienes → completarán el programa
- Si los pierdes → nunca vuelven
- Milestone celebrations — Celebrar día 7, 30, 60 con recompensas
- Difficulty curve — Empezar fácil, incrementar gradualmente
- Social accountability — Compartir progreso o competir
- Variedad — Contenido nuevo cada semana evita monotonía
- Re-engagement hooks — Si 3+ días sin actividad, trigger especial
| Frecuencia |
Efecto en Retención |
| 0 notificaciones/semana |
Baseline |
| 1 notificación/semana |
+440% retención vs. cero |
| Diaria |
+820% retención vs. cero |
| 2-5/semana |
46% opt-out — punto de saturación |
| Sin notificación en 90 días post-opt-in |
95% churn |
| Categoría |
Open Rate |
| Health/Fitness |
2.80% (bajo) |
| General apps |
~5-8% |
| Top performers |
10-15% |
Implicación: Cada notificación debe ser valiosa. Con solo 2.80% de apertura, el contenido importa enormemente.
| Patrón |
Ejemplo |
Por Qué |
| Contextual trigger |
“Tu glucosa bajó 12% esta semana” |
Relevante y personal |
| Pre-permission |
Explicar valor antes de pedir permiso |
40%+ más opt-ins |
| Opt-down |
“Menos frecuente” vs “apagar todo” |
Retiene usuario que se hartó |
| Silent when on track |
Waterllama: no molesta si cumples |
Respeta al usuario activo |
| Time-sensitive only |
Citas, alertas críticas |
No devalúa el canal |
- “No olvides loguear!” — genérico, bajo engagement
- Notificaciones a las 3am (debe haber quiet hours)
- Mismo mensaje repetido
- Confirmshaming (“Realmente vas a rendirte?”) — especialmente malo en salud
Capa 1: In-Memory (state actual de la app)
Capa 2: IndexedDB (datos persistidos localmente)
Capa 3: Encrypted Vault (datos sensibles de salud)
- 5-10MB por actividad almacenada offline
- 5-15 segundos para sync al reconectar
- Queue de actividades pendientes visible al usuario
- Dexie.js + Workbox: 99.8% sync success across 500K+ usuarios
- Datos de salud requieren: encriptación PHI, audit trails, data minimization
| Métrica |
Promedio |
Top Performers |
| Day 1 retention |
~20% |
35-40% |
| Day 30 retention |
4-27% |
Hasta 47.5% |
| 90-day retention (fitness) |
31% |
Strava: 32% con Challenges |
| 90-day retention (medical) |
34% |
71% con “Love Dialogs” (feedback) |
| DAU/MAU ratio |
20-30% |
30%+ |
| Primera semana activo |
— |
80% más probable retener 6 meses |
Social features boost retención 30% vs. apps sin ellas.
- Streak flexible con freezes y “earn back” — no all-or-nothing
- 1 notificación diaria máximo (fuera de alertas críticas)
- Milestone celebrations en día 7, 30, 60, 90
- Offline queue con sync visual al reconectar
- Re-engagement en semanas 1-2 — el grupo crítico que determina completitud
- Streak reset a 0 si miss un día → Implementar streak freeze (1-2/mes gratis)
- Notificaciones sin quiet hours → Implementar ventana 8am-10pm
- Sin social features → Considerar compartir logros (30% boost retención)
- Confirmshaming en notificaciones
- Streak rígido que causa ansiedad
- Notificaciones genéricas (2.80% open rate ya es bajo)
- Ignorar “moderate engagers” semanas 1-2