MRR Stripe: cómo calcularlo correctamente
Publicado el 13 de abril de 2026 · Jules, Founder of NoNoiseMetrics · 14min de lectura
Actualizado el 15 de abril de 2026
El MRR Stripe no es una métrica nativa. Stripe muestra ingresos, no ingresos recurrentes mensuales. El cálculo del MRR Stripe requiere normalizar los datos brutos de suscripción: dividir los planes anuales entre 12, excluir cargos puntuales, gestionar prorrateos y contar solo suscripciones activas. El número “MRR” que aparece en el dashboard de Stripe es incorrecto para la mayoría de SaaS con una mezcla de intervalos de facturación. Esta guía explica por qué el MRR Stripe en Billing → Overview no es fiable, recorre paso a paso cómo calcular el MRR Stripe correctamente y cubre cada caso límite — pruebas, descuentos, cupones y planes anuales — que la mayoría de guías omiten.
MRR Stripe: el “MRR” nativo de Stripe no está normalizado. MRR correcto = suma de todos los importes de suscripciones activas convertidos a equivalente mensual, excluyendo cargos puntuales, pruebas y suscripciones pausadas. Los planes anuales deben dividirse entre 12.
Calcula tu MRR desde Stripe → MRR normalizado con gestión correcta de planes anuales, gratis hasta 10 000 € de MRR.
¿Stripe muestra el MRR?
Sí y no. Stripe Billing muestra un número “MRR” en la sección Billing → Overview. El problema: no está correctamente normalizado.
Lo que el MRR de Stripe cuenta realmente: Stripe calcula el MRR tomando todas las suscripciones activas y sumando sus importes, convertidos a base mensual. La lógica de conversión parece correcta, pero gestiona mal los casos límite para la mayoría de SaaS.
Por qué falla con planes anuales: El cálculo del MRR Stripe para suscripciones anuales es inconsistente. En algunas configuraciones, distribuye correctamente el importe anual entre los 12 meses. En otras, especialmente cuando mezclas facturación anual y mensual, o cuando los clientes han sido migrados manualmente entre planes, muestra el cargo anual completo en el mes del cobro y cero en los demás.
El problema de las pruebas: Stripe puede o no incluir las pruebas en el MRR según tu configuración. Si una prueba tiene un primer periodo a 0 €, normalmente se excluye. Si usa un cupón del 100 % en el primer mes, puede contarse como 0 € de MRR o excluirse de forma inconsistente.
La prueba práctica: Compara el MRR de Stripe con la suma manual de los importes de tus planes activos. Si coinciden con unos pocos euros de diferencia, el cálculo de Stripe funciona para tu configuración. Si divergen, sobre todo si el número de Stripe se dispara en meses de renovación, tienes un problema de normalización de planes anuales. La mayoría de SaaS con más del 15 % de clientes anuales verán divergencias significativas, típicamente 20-40 % de inflación en meses pico de renovación.
Para las reglas completas sobre qué entra en el MRR y qué no — incluyendo prorrateos, fees de setup y cargos puntuales — consulta la guía de cálculo del MRR.
Por qué importa un MRR Stripe correcto
El MRR es la métrica fundamental sobre la que se construye casi cualquier otro número SaaS. Si te equivocas, la cascada se rompe.
Tasa de churn = MRR perdido ÷ MRR inicial. Si el MRR inicial está inflado por picos de planes anuales, el denominador del churn es erróneo: el churn parece menor en meses de renovación intensa y mayor en meses calmados, oscilando tu señal de retención más importante.
LTV = ARPU ÷ tasa de churn mensual. ARPU = MRR ÷ clientes. Infla el MRR, infla el ARPU, infla el LTV. Tus decisiones de inversión en adquisición se basan en un número erróneo en un 20-40 %.
NRR y GRR: ambas usan el MRR inicial como denominador. Mismo problema.
Forecasting: si proyectas el MRR a tu tasa de crecimiento actual, un falso pico por renovaciones anuales hace parecer el crecimiento de este mes más alto de lo que es. Tu previsión a 6 meses se sobrepasa, y te sorprende cuando el crecimiento “ralentiza” el mes siguiente.
El MRR correcto es la base. Todo lo demás se deriva. Los 15 minutos invertidos en normalizar tu cálculo del MRR Stripe valen más que casi cualquier otra tarea analítica que puedas hacer esta semana. Hazlo una vez, adopta el hábito de revisarlo mensualmente, y todas tus métricas SaaS reposarán sobre suelo firme. Constrúyelo mal una vez y pasarás meses depurando LTV inflados y churn rates erróneos antes de rastrear el problema hasta el origen.
Lo que Stripe muestra en lugar del MRR
El dashboard de Stripe Billing proporciona varias cifras de ingresos. Entender qué representa cada una ayuda a identificar cuál necesita corrección.
“MRR” en Billing Overview: Estimación de Stripe del ingreso recurrente mensual. No fiable por las razones anteriores. Úsalo como verificación de cordura, no como fuente principal de MRR.
Volumen neto (pestaña Payments): Total de cargos cobrados en un periodo. Incluye fees puntuales, cargos de setup y el importe completo de pagos de suscripción anual. Esto es flujo de caja, no MRR. Un plan anual facturado en 480 € aparece como 480 € en volumen neto el mes del cobro y 0 € los 11 meses siguientes.
Subscription revenue: En Stripe Billing → Revenue → Subscription Revenue puedes ver la actividad mensual de facturación de suscripciones. Es más útil pero sigue mezclando intervalos de facturación y no normaliza planes anuales a equivalente mensual.
Revenue Recognition (función de pago): El add-on de Revenue Recognition de Stripe calcula los ingresos reconocidos correctamente según ASC 606, repartiendo la suscripción anual de 480 € en 12 meses a 40 €/mes. Es preciso desde el punto de vista contable, pero es el ingreso reconocido, no el MRR operativo que usarías para seguir el crecimiento.
Cómo calcular el MRR a partir de los datos de Stripe correctamente
El enfoque correcto: toma todas las suscripciones activas, convierte cada una a su equivalente mensual y suma.
La fórmula:
MRR = Σ (importe_suscripcion × cantidad × factor_conversion_mensual)
Donde factor_conversion_mensual es:
- Facturación mensual: 1,0
- Facturación anual: 1/12 = 0,0833
- Facturación trimestral: 1/3 = 0,333
- Facturación semanal: 52/12 = 4,333
Cálculo paso a paso:
Paso 1. Lista todas las suscripciones activas.
Activa = estado active o trialing (si cuentas las pruebas en el MRR). Excluye canceled, past_due, paused e incomplete.
Paso 2. Para cada suscripción, obtén el importe del plan y el intervalo.
En el modelo de datos de Stripe: subscription.items[0].price.unit_amount (en céntimos) y subscription.items[0].price.recurring.interval.
Paso 3. Convierte a importe mensual.
importe_mensual = unit_amount / 100.0 × cantidad × factor_conversion_mensual
Paso 4. Suma todos los importes mensuales. Esa suma es tu MRR normalizado.
Enfoque vía API de Stripe:
import stripe
stripe.api_key = 'rk_live_...' # clave restringida, solo lectura
subscriptions = stripe.Subscription.list(status='active', limit=100, expand=['data.items.data.price'])
mrr = 0
for sub in subscriptions.auto_paging_iter():
for item in sub['items']['data']:
price = item['price']
amount = price['unit_amount'] / 100.0
qty = item['quantity']
interval = price['recurring']['interval']
interval_count = price['recurring']['interval_count']
# Normalizar a mensual
if interval == 'month':
monthly = amount * qty / interval_count
elif interval == 'year':
monthly = amount * qty / (12 * interval_count)
elif interval == 'week':
monthly = amount * qty * (52 / 12) / interval_count
elif interval == 'day':
monthly = amount * qty * (365 / 12) / interval_count
mrr += monthly
print(f"MRR: {mrr:.2f} €")
Este script gestiona todos los intervalos de facturación correctamente. Para suscripciones multi-item (clientes con add-ons) suma todos los items.
Gestionar casos límite
Pruebas
¿Incluir pruebas en el MRR? La convención varía. La mayoría de fundadores SaaS excluyen las pruebas gratuitas del MRR porque no se cobra ingreso. Si una prueba se convierte a plan de pago, añade la suscripción al MRR en el momento de la conversión.
Pruebas “trialing-pero-pagadas” (donde la prueba usa un cupón que descuenta a 0 €): exclúyelas del MRR hasta que expire el cupón y el cliente pague precio completo.
Implementación Stripe: filtra a status = 'active' solamente (no trialing) para excluir todas las pruebas del MRR.
Descuentos y cupones
Los cupones que reducen el importe cobrado afectan al efectivo cobrado pero típicamente NO se restan del MRR en contabilidad SaaS estándar. El MRR representa el precio de catálogo, el ingreso “comprometido”. Usar precio de catálogo evita además fluctuaciones de MRR cuando expiran cupones de tiempo limitado.
Sin embargo, si un cupón representa un compromiso de precio permanente (un descuento negociado que nunca expira), usa el importe descontado en el MRR. Consulta subscription.discount.coupon.duration; si es forever, usa el precio descontado.
Cupón Stripe en el cálculo del MRR:
# Solo para cupones permanentes
if sub.get('discount') and sub['discount']['coupon']['duration'] == 'forever':
coupon = sub['discount']['coupon']
if coupon.get('percent_off'):
monthly *= (1 - coupon['percent_off'] / 100)
elif coupon.get('amount_off'):
monthly -= coupon['amount_off'] / 100.0 # convertir céntimos
Planes anuales: el caso límite crítico
Los planes anuales son la fuente más común de inflación del MRR cuando se calcula mal. La solución: dividir siempre los importes de planes anuales entre 12.
Plan anual: 480 €/año → contribución MRR: 40 €/mes
Si cuentas los 480 € como MRR el mes de la renovación, tu MRR se dispara cada vez que se renuevan planes anuales y parece más bajo en los meses sin renovación. La versión normalizada (40 €/mes constante) es lo que quieres seguir para métricas de crecimiento.
Qué hacer con meses parciales: cuando un cliente se suscribe a mitad de mes, algunos equipos prorratean la contribución MRR del primer mes. La mayoría de fundadores omiten el prorrateo por simplicidad — añaden el importe mensual completo en la fecha de creación de la suscripción y lo retiran en la fecha de cancelación. La diferencia suele ser irrelevante en early stage.
Para el tratamiento completo de qué incluye y excluye un MRR normalizado, y por qué la cifra nativa de Stripe falla en muchas configuraciones, la guía de definición del MRR cubre todos los casos.
Stripe Sigma: enfoque SQL
Stripe Sigma te permite consultar tus datos de Stripe directamente en SQL. Aquí una consulta Sigma para MRR normalizado:
WITH active_subs AS (
SELECT
s.id,
si.price_unit_amount / 100.0 as price_amount,
si.quantity,
p.recurring_interval,
p.recurring_interval_count
FROM subscriptions s
JOIN subscription_items si ON si.subscription_id = s.id
JOIN prices p ON p.id = si.price_id
WHERE s.status = 'active'
)
SELECT
SUM(
CASE recurring_interval
WHEN 'month' THEN price_amount * quantity / recurring_interval_count
WHEN 'year' THEN price_amount * quantity / (12.0 * recurring_interval_count)
WHEN 'week' THEN price_amount * quantity * 52.0 / (12.0 * recurring_interval_count)
ELSE 0
END
) AS normalized_mrr
FROM active_subs;
Esto gestiona intervalos mensuales, anuales y semanales con la normalización correcta.
Limitaciones de Sigma para seguir el MRR: Sigma te da el MRR de ahora. No almacena snapshots históricos de MRR, así que no puedes ver cómo era el MRR el 1 de enero. Para análisis de tendencias necesitarías ejecutar esta consulta diariamente y almacenar los resultados externamente, o usar una herramienta que mantenga el histórico automáticamente.
Sigma también falla en:
- El waterfall del MRR (desglose new/expansion/contraction/churn) sin mantener tablas mensuales de snapshots
- Seguimiento de conversión prueba a pago a nivel de MRR
- Desglose de MRR por plan y por cohorte sin complejidad adicional de consulta
Sigma es la herramienta adecuada si tienes habilidades SQL y una pregunta puntual sobre tus datos Stripe. Para monitorización continua de MRR, el coste de mantener consultas Sigma actualizadas conforme tu pricing evoluciona hace que herramientas analíticas dedicadas sean más prácticas para la mayoría de fundadores.
Movimientos del MRR: más allá de un único número
Una vez que tienes MRR normalizado, la siguiente capa es entender qué impulsa los cambios mes a mes. Stripe te da MRR total, un número estático. Lo que realmente necesitas para entender el crecimiento es un waterfall del MRR:
Net New MRR = New MRR + Expansion MRR − Contraction MRR − Churned MRR
New MRR: ingreso de clientes que no existían el mes anterior. Expansion MRR: ingreso adicional de clientes que upgradearon (pagan más este mes que el pasado). Contraction MRR: ingreso reducido de clientes que downgradearon. Churned MRR: ingreso de clientes que cancelaron.
Stripe no calcula este desglose nativamente. Sabe que las cancelaciones ocurrieron pero no rastrea expansion vs contraction vs nuevas suscripciones en formato waterfall. Stripe Sigma puede reconstruirlo uniendo dos snapshots mensuales de suscripciones, pero requiere mantener esos snapshots tú mismo.
Por qué importa el waterfall:
Una tasa de crecimiento del MRR te dice el resultado. El waterfall te dice la causa. Dos negocios creciendo MRR al 10 % mensual pueden parecer idénticos en un gráfico de MRR pero tener motores muy distintos:
- Negocio A: 15 % new MRR, 8 % churned MRR → crecimiento dirigido por adquisición, vulnerable si la adquisición ralentiza
- Negocio B: 8 % new MRR, 3 % expansion MRR, 2 % churned MRR → crecimiento de fuente mixta, más defendible
El waterfall es también el puente entre MRR y Net Revenue Retention (NRR): NRR = (MRR inicial + expansion − contraction − churn) ÷ MRR inicial. Si calculas el NRR a mano, necesitas las componentes del waterfall.
Para planificación de ARR, multiplica tu MRR mensual normalizado por 12. ARR = MRR × 12. Las mismas reglas de normalización aplican: planes anuales ÷ 12, luego × 12 = importe del plan anual, lo cual es correcto.
Herramientas de terceros para MRR Stripe
| Herramienta | Normalización MRR | Tendencias históricas | Precio inicial |
|---|---|---|---|
| NoNoiseMetrics | ✅ Correcta (anual ÷12) | ✅ Histórico completo | Gratis → 79 €/mes |
| ChartMogul | ✅ Correcta | ✅ Histórico completo | 100 €+/mes |
| Baremetrics | ✅ Correcta | ✅ Histórico completo | 108 €+/mes |
| Stripe Sigma | ✅ (vía SQL) | ❌ Solo punto en el tiempo | ~10 €/mes |
| Hoja de cálculo manual | Depende | ❌ Requiere mantenimiento | Gratis |
Para la imagen completa de qué proporciona la capa analítica de Stripe vs lo que requiere herramientas externas, consulta el análisis de gaps de Stripe Analytics.
FAQ
¿Stripe muestra el MRR?
Stripe Billing Overview muestra una cifra de MRR, pero suele ser inexacta para negocios con planes anuales o intervalos de facturación mixtos. La cifra puede dispararse en meses de renovación de clientes anuales y mostrar MRR más bajo en meses sin renovación. Para un MRR correcto, normaliza todos los importes de suscripción a su equivalente mensual: planes anuales ÷ 12, planes mensuales × 1.
¿Cómo calculo el MRR desde Stripe?
Lista todas las suscripciones activas vía la API de Stripe o Sigma. Para cada suscripción, toma importe del plan × cantidad y divide entre el intervalo de facturación en meses (anual = 12, trimestral = 3, mensual = 1). Suma todos los equivalentes mensuales. Excluye pruebas, suscripciones canceladas, suscripciones pausadas y cargos puntuales.
¿Por qué el MRR de Stripe es erróneo?
El cálculo del MRR de Stripe gestiona los planes anuales de forma inconsistente según tu configuración de facturación. También puede incluir pruebas, contar importes anuales completos en meses de renovación, o perder upgrades a mitad de ciclo. El enfoque más seguro es calcular el MRR tú mismo a partir de la lista de suscripciones usando conversión de intervalos normalizada.
¿Cómo veo el MRR en Stripe sin Sigma?
Stripe Billing → Revenue muestra un gráfico de ingresos y métricas de suscripciones. Para MRR normalizado, el enfoque manual más fiable: exporta tus suscripciones activas en CSV, añade una columna de equivalente mensual (importe anual ÷ 12) y suma. Para seguimiento continuo, conecta Stripe a una herramienta que calcule la normalización automáticamente.
¿Cuál es la fórmula del MRR Stripe?
MRR normalizado = suma de (importe equivalente mensual × cantidad) para todas las suscripciones activas. Equivalente mensual = importe del plan ÷ meses de facturación (1 mensual, 12 anual, 3 trimestral). Excluye suscripciones pausadas, canceladas, incompletas y en prueba.
¿Cómo gestiono planes anuales en el MRR Stripe?
Divide siempre los importes de planes anuales entre 12. Un plan a 480 €/año contribuye 40 €/mes al MRR. Nunca añadas los 480 € enteros al MRR en el mes de renovación — eso crea picos falsos que oscurecen tu tendencia real de crecimiento. Los 40 € constantes son la cifra correcta para cada mes en que el cliente está activo.
¿Stripe muestra el MRR de forma nativa?
No. Stripe muestra volumen bruto (todos los cargos), no MRR normalizado. Stripe no anualiza planes mensuales, no excluye cargos puntuales de los totales recurrentes y no gestiona el prorrateo correctamente para fines de MRR. Necesitas calcular el MRR tú mismo con datos de suscripción, o usar una herramienta analítica conectada a Stripe que normalice automáticamente.
¿Cómo gestiono MRR multi-divisa en Stripe?
Convierte todos los importes de suscripción a una moneda base usando el tipo de cambio en el momento de la factura. Stripe proporciona el campo currency en cada suscripción. Aplica tipos consistentes — promedios mensuales o spot diarios — pero sé consistente. La mayoría de herramientas analíticas gestionan esto automáticamente al conectarse a Stripe.
Calcula tu MRR desde Stripe → MRR correctamente normalizado con gestión de planes anuales, waterfall MRR y desglose por cohorte, gratis hasta 10 000 € de MRR.
Herramienta gratis
Prueba la plantilla de Dashboard MRR →
Plantilla de seguimiento de MRR lista para usar, sin registro.