Docs MindStack Suite
13
KPIs y Métricas — MindStack
North stars, funnel metrics, billing health y alertas operacionales del portal
Versión
v1.0
Fecha
Mayo 2026
Audiencia
Founders · Dev
Estado
DRAFT
MINDSTACK
El sistema operativo de tu PyME. Todo en uno. Sin complicaciones.
Portal — Cheryx Suite

[CONSEJO — Doc 13] Contrarian: La trampa de las métricas SaaS es medir lo que es fácil de medir (pageviews, registros, usuarios activos) en lugar de lo que predice el negocio (activation rate, expansión MRR, churn por cohorte). Un portal con 1,000 registros y 5 clientes pagando está fallando — aunque las métricas superficiales se vean bien. Optimizar la métrica equivocada es peor que no tener métricas. First Principles: Un negocio SaaS tiene exactamente 3 palancas de crecimiento: adquirir más clientes, retenerlos más tiempo, y expandir su valor. Cada KPI debe mapear claramente a una de estas 3 palancas. Si no puedes decir a qué palanca pertenece una métrica, probablemente no vale medir.


1. North Stars del portal

North Star principal: MRR

MRR = Σ (precio_mensual × suscripciones_activas)
    + Σ (precio_anual / 12 × suscripciones_anuales_activas)

Meta por gate: - Mes 6: MRR $8,500 (escenario base) - Mes 12: MRR $32,000 - Mes 30: MRR $250,000 (Gate #1 → ARR $3M)

North Star de producto: Activation Rate D7

Activation Rate D7 = trials_que_completan_momento_aha_en_7_dias / trials_iniciados

Meta: ≥35% — si cae por debajo, es la palanca #1 a atacar antes que adquisición.

Momento aha por módulo: - StockMind: primera orden de compra generada automáticamente - SalesMind: pipeline configurado con ≥3 oportunidades y primera proyección de cierre - BookMind: primera reconciliación de banco completada o primera FE emitida - PayMind: primera planilla calculada y aprobada por el administrador


2. Funnel completo de conversión

VISITANTE ÚNICO
  ↓ × visitor_to_trial_rate (meta: ≥4%)
TRIAL INICIADO
  ↓ × trial_activation_rate (meta: ≥35% en D7)
TRIAL ACTIVADO
  ↓ × activation_to_paid_rate (meta: ≥55%)
CLIENTE PAGANDO
  ↓ × retention_rate (meta: ≥97%/mes)
CLIENTE RETENIDO
  ↓ × expansion_rate (meta: ≥20% tienen 2+ módulos a mes 18)
CLIENTE EXPANDIDO

Queries de funnel (SQL)

-- Funnel mensual completo
WITH cohorte AS (
    SELECT DATE_TRUNC('month', created_at) AS mes
    FROM ms_subscriptions
    WHERE trial_end IS NOT NULL
)
SELECT
    mes,
    COUNT(*) AS trials,
    COUNT(*) FILTER (WHERE activated_at IS NOT NULL) AS activados,
    COUNT(*) FILTER (WHERE estado = 'active') AS pagando,
    ROUND(100.0 * COUNT(*) FILTER (WHERE activated_at IS NOT NULL) / COUNT(*), 1) AS pct_activation,
    ROUND(100.0 * COUNT(*) FILTER (WHERE estado = 'active') /
          NULLIF(COUNT(*) FILTER (WHERE activated_at IS NOT NULL), 0), 1) AS pct_conversion
FROM ms_subscriptions s
JOIN cohorte c ON DATE_TRUNC('month', s.created_at) = c.mes
WHERE s.trial_end IS NOT NULL
GROUP BY 1
ORDER BY 1 DESC;

3. Métricas de billing

MRR components

Métrica Definición Frecuencia
New MRR MRR de clientes nuevos en el mes Mensual
Expansion MRR MRR adicional de upgrades + nuevos módulos Mensual
Churned MRR MRR perdido por cancelaciones Mensual
Contraction MRR MRR perdido por downgrades Mensual
Net New MRR New + Expansion - Churned - Contraction Mensual
Net New MRR = New MRR + Expansion MRR - Churned MRR - Contraction MRR
Net MRR Growth Rate = Net New MRR / MRR anterior × 100

Meta: Net MRR Growth Rate ≥15% mensual en los primeros 18 meses.

Churn metrics

-- Churn rate mensual (logo churn)
SELECT
    DATE_TRUNC('month', cancelled_at) AS mes,
    COUNT(*) AS cancelaciones,
    (SELECT COUNT(*) FROM ms_subscriptions
     WHERE estado = 'active'
     AND period_start < DATE_TRUNC('month', cancelled_at)) AS activos_inicio_mes,
    ROUND(100.0 * COUNT(*) /
          (SELECT COUNT(*) FROM ms_subscriptions
           WHERE estado = 'active'
           AND period_start < DATE_TRUNC('month', cancelled_at)), 2) AS logo_churn_rate
FROM ms_subscriptions
WHERE estado = 'cancelled'
GROUP BY 1
ORDER BY 1 DESC;

Umbrales de alerta: - Churn <3%/mes → saludable - Churn 3-5%/mes → investigar causas (NPS, entrevistas de churn) - Churn >5%/mes → parar adquisición y resolver retención primero

ARPU y LTV

-- ARPU actual
SELECT
    AVG(p.precio_usd) AS arpu_mensual,
    PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY p.precio_usd) AS arpu_mediana
FROM ms_subscriptions s
JOIN ms_planes p ON s.plan_id = p.id
WHERE s.estado = 'active' AND p.periodo = 'monthly';

-- LTV simplificado (supone churn constante)
-- LTV = ARPU / churn_rate_mensual
-- Ejemplo: $349 / 0.03 = $11,633

4. Métricas de activación y onboarding

D7 Activation tracking

-- Tenants en trial y en qué paso del onboarding están
SELECT
    t.onboarding_step,
    COUNT(*) AS tenants,
    AVG(EXTRACT(EPOCH FROM (NOW() - s.created_at))/86400) AS dias_promedio_en_este_paso
FROM ms_tenants t
JOIN ms_subscriptions s ON s.tenant_id = t.id AND s.estado = 'trial'
GROUP BY 1
ORDER BY 1;

Palanca de mejora: Si hay una caída de >30% entre el paso 2 y 3 del wizard, ese es el punto de fricción a resolver, no agregar más features.

Email engagement de onboarding

Email Meta de open rate Meta de click rate
D0 — Bienvenida ≥55% ≥25%
D1 — Primer paso ≥45% ≥20%
D3 — Punto de activación ≥40% ≥15%
D7 — Check-in ≥35% ≥12%
D10 — Urgencia trial ≥45% ≥18%
D14 — Último día ≥50% ≥22%

5. Métricas de expansión (cross-sell)

-- Módulos por tenant (distribución)
SELECT
    COUNT(DISTINCT modulo) AS num_modulos,
    COUNT(*) AS tenants,
    ROUND(100.0 * COUNT(*) / SUM(COUNT(*)) OVER (), 1) AS pct
FROM ms_subscriptions
WHERE estado = 'active'
GROUP BY 1
ORDER BY 1;

-- Revenue por número de módulos
SELECT
    COUNT(DISTINCT s.modulo) AS modulos_activos,
    SUM(p.precio_usd) AS mrr_por_tenant,
    COUNT(DISTINCT s.tenant_id) AS tenants
FROM ms_subscriptions s
JOIN ms_planes p ON s.plan_id = p.id
WHERE s.estado = 'active' AND p.periodo = 'monthly'
GROUP BY s.tenant_id
ORDER BY 1;

Meta de expansión: - Mes 12: ≥15% de tenants con 2+ módulos - Mes 18: ≥25% de tenants con 2+ módulos - Mes 24: ≥35% de tenants con 2+ módulos


6. Métricas de partners CPA

Métrica Definición Meta (mes 18)
Partners activos Partners con ≥1 referido en los últimos 90 días ≥20
Clientes adquiridos vía partner % del total de clientes ≥20%
CAC vía partner Comisiones pagadas / clientes adquiridos <$120
Comisión promedio por partner MRR referido × 20% >$200/mes

7. Dashboard de métricas (admin interno)

Vista diaria (Cheryx team)

┌─────────────────────────────────────────────┐
│ MindStack — Dashboard Interno               │
│ Actualizado: hace 5 minutos                │
├─────────────┬──────────────┬───────────────┤
│ MRR HOY     │ TRIALS ACTIVOS│ ACTIVATION D7 │
│ $32,450     │ 47           │ 38%           │
│ ▲ +$349     │ ▲ +3         │ ▲ +3pp        │
├─────────────┴──────────────┴───────────────┤
│ ALERTAS                                     │
│ ⚠️  12 tenants sin login >7 días           │
│ ⚠️  3 suscripciones past_due              │
│ ✓  0 webhooks fallidos en las últimas 24h  │
└─────────────────────────────────────────────┘

Alertas operacionales

Alerta Condición Destino
Past due >10% del MRR Más del 10% del MRR en past_due Email founders
Webhook failures >5 fallos en 1 hora Sentry + Slack
Trial spike >10 trials en 1 hora Email (puede ser bot)
Churn spike >3 cancelaciones en 1 día Email founders
0 new trials en 48h Sin registros en 2 días Email — revisar landing

8. Reportes mensuales para founders

MRR Report (1er día del mes):

MindStack — Reporte Mayo 2026
──────────────────────────────
MRR: $X,XXX (▲ XX% vs abril)
  New MRR: $XXX
  Expansion MRR: $XXX
  Churned MRR: -$XXX

Clientes activos: XX
  StockMind: XX  SalesMind: XX
  BookMind: XX   PayMind: XX

Activation D7: XX%
Trial-to-paid: XX%
Churn: X.X%
NPS: XX

Ver también: Doc 05 (Proyecciones Financieras — escenarios de MRR) · Doc 04 (GTM — funnel de canales) · Doc 12 (Roadmap — criterios de release por fase)