FrançaisEnglishEspañolItalianoDeutschPortuguêsNederlandsPolski

MRR Stripe : comment le calculer correctement

Publié le 13 avril 2026 · Jules, Founder of NoNoiseMetrics · 14min de lecture

Mis à jour le 15 avril 2026

Le MRR Stripe n’est pas une métrique native. Stripe affiche du chiffre d’affaires, pas du revenu récurrent mensuel. Le calcul du MRR Stripe demande de normaliser les données brutes d’abonnement : diviser les plans annuels par 12, exclure les frais ponctuels, gérer les prorations et compter uniquement les abonnements actifs. Le chiffre “MRR” affiché dans le dashboard Stripe est incorrect pour la plupart des SaaS qui mélangent plusieurs intervalles de facturation. Ce guide explique pourquoi le chiffre MRR Stripe dans Billing → Overview n’est pas fiable, détaille étape par étape comment calculer correctement le MRR à partir de Stripe, et couvre tous les cas particuliers — essais, remises, coupons, plans annuels — que la plupart des guides oublient.

MRR Stripe : le “MRR” natif de Stripe n’est pas normalisé. Le bon MRR = somme de tous les montants d’abonnement actifs convertis en équivalent mensuel, hors frais ponctuels, essais et abonnements en pause. Les plans annuels doivent être divisés par 12.

Calculez votre MRR depuis Stripe → MRR normalisé avec gestion correcte des plans annuels, gratuit jusqu’à 10 000 € de MRR.


Stripe affiche-t-il le MRR ?

Oui et non. Stripe Billing affiche un chiffre “MRR” dans la section Billing → Overview. Le problème : il n’est pas correctement normalisé.

Ce que le MRR de Stripe compte réellement : Stripe calcule le MRR en prenant tous les abonnements actifs et en sommant leurs montants, convertis sur une base mensuelle. La logique de conversion semble correcte, mais elle gère mal les cas particuliers pour la plupart des SaaS.

Pourquoi c’est faux pour les business avec des plans annuels : Le calcul du MRR Stripe pour les abonnements annuels est incohérent. Dans certaines configurations, il répartit correctement le montant annuel sur 12 mois. Dans d’autres, en particulier quand vous mélangez facturation annuelle et mensuelle, ou quand des clients ont été migrés manuellement entre plans, il affiche la charge annuelle complète le mois de l’encaissement et zéro les autres mois.

Le problème des essais : Stripe peut inclure ou exclure les essais du MRR selon votre configuration. Si un essai a une première période à 0 €, il est généralement exclu. S’il utilise un coupon 100 % sur le premier mois, il peut être compté comme 0 € de MRR ou exclu de façon incohérente.

Le test pratique : Comparez le chiffre MRR de Stripe à une somme manuelle des montants de vos plans actifs. S’ils correspondent à quelques euros près, le calcul Stripe fonctionne pour votre configuration. S’ils divergent, surtout si le chiffre Stripe explose les mois de renouvellement, vous avez un problème de normalisation des plans annuels. La plupart des SaaS avec plus de 15 % de clients annuels verront une divergence significative, typiquement 20 à 40 % d’inflation les mois de renouvellement de pointe.

Pour les règles complètes sur ce qui appartient au MRR et ce qui n’y appartient pas, y compris les prorations, frais d’installation et charges ponctuelles, voir le guide de calcul du MRR.


Pourquoi un MRR Stripe correct compte

Le MRR est la métrique fondatrice sur laquelle presque tous les autres chiffres SaaS reposent. Si vous le ratez, la cascade casse.

Taux de churn = MRR churné ÷ MRR de départ. Si le MRR de départ est gonflé par des pics de plans annuels, le dénominateur de votre churn est faux : le churn paraît plus bas les mois de renouvellement intense et plus haut les mois calmes, faisant osciller votre signal de rétention le plus important.

LTV = ARPU ÷ taux de churn mensuel. ARPU = MRR ÷ clients. Gonflez le MRR, gonflez l’ARPU, gonflez la LTV. Vos décisions d’investissement marketing reposent sur un chiffre faux à 20-40 %.

NRR et GRR : tous deux utilisent le MRR de départ comme dénominateur. Même problème.

Forecasting : si vous projetez le MRR à votre taux de croissance actuel, un faux pic de renouvellements annuels rend la croissance du mois plus haute qu’elle ne l’est. Votre prévision à 6 mois dépasse la réalité, et vous êtes surpris quand la croissance “ralentit” le mois suivant.

Le bon chiffre de MRR est la fondation. Tout le reste en découle. Les 15 minutes investies pour normaliser votre calcul du MRR Stripe valent plus que presque toute autre tâche analytics que vous pourriez faire cette semaine. Faites-le une fois, prenez l’habitude de le vérifier chaque mois, et toutes vos autres métriques SaaS reposeront sur un sol solide. Si vous le construisez mal une fois, vous passerez des mois à déboguer des LTV gonflées et des taux de churn faux avant de remonter à la source.


Ce que Stripe affiche à la place du MRR

Le dashboard Stripe Billing fournit plusieurs chiffres de revenu. Comprendre ce que chacun représente aide à identifier celui qui demande correction.

“MRR” dans Billing Overview : L’estimation Stripe du revenu récurrent mensuel. Pas fiable pour les raisons ci-dessus. À utiliser comme contrôle de cohérence, pas comme votre source primaire de MRR.

Volume net (onglet Payments) : Total des charges encaissées sur une période. Inclut les frais ponctuels, frais d’installation et le montant complet des paiements d’abonnement annuels. C’est du cash flow, pas du MRR. Un plan annuel facturé 480 € apparaît à 480 € en volume net le mois de la charge, et 0 € les 11 mois suivants.

Subscription revenue : Dans Stripe Billing → Revenue → Subscription Revenue, vous voyez l’activité de facturation mensuelle des abonnements. C’est plus utile mais ça mélange encore les intervalles de facturation et ne normalise pas les plans annuels en équivalent mensuel.

Revenue Recognition (option payante) : L’add-on Revenue Recognition de Stripe calcule le revenu reconnu correctement selon ASC 606, en répartissant l’abonnement annuel de 480 € sur 12 mois à 40 €/mois. C’est exact d’un point de vue comptable, mais c’est le revenu reconnu, pas le MRR opérationnel que vous utiliseriez pour suivre la croissance.


Comment calculer correctement le MRR à partir des données Stripe

L’approche correcte : prenez tous les abonnements actifs, convertissez chacun en équivalent mensuel, sommez le tout.

La formule :

MRR = Σ (montant_abonnement × quantité × facteur_conversion_mensuel)

facteur_conversion_mensuel vaut :

  • Facturation mensuelle : 1,0
  • Facturation annuelle : 1/12 = 0,0833
  • Facturation trimestrielle : 1/3 = 0,333
  • Facturation hebdomadaire : 52/12 = 4,333

Calcul étape par étape :

Étape 1. Lister tous les abonnements actifs. Actif = statut active ou trialing (si vous comptez les essais dans le MRR). Excluez canceled, past_due, paused et incomplete.

Étape 2. Pour chaque abonnement, récupérer le montant du plan et l’intervalle. Dans le modèle de données Stripe : subscription.items[0].price.unit_amount (en centimes) et subscription.items[0].price.recurring.interval.

Étape 3. Convertir en montant mensuel.

montant_mensuel = unit_amount / 100.0 × quantité × facteur_conversion_mensuel

Étape 4. Sommer tous les montants mensuels. Cette somme est votre MRR normalisé.

Approche via l’API Stripe :

import stripe

stripe.api_key = 'rk_live_...'  # clé restreinte, lecture seule

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']
        
        # Normaliser au mensuel
        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} €")

Ce script gère correctement tous les intervalles de facturation. Pour les abonnements multi-items (clients avec add-ons), il somme tous les items.


Gérer les cas particuliers

Essais

Inclure les essais dans le MRR ? La convention varie. La plupart des fondateurs SaaS excluent les essais gratuits du MRR car aucun revenu n’est encaissé. Si un essai se convertit en plan payant, ajoutez l’abonnement au MRR au moment de la conversion.

Essais “trialing-mais-payés” (où la période d’essai utilise un coupon réduisant à 0 €) : excluez-les du MRR jusqu’à expiration du coupon et paiement plein tarif.

Implémentation Stripe : filtrez sur status = 'active' uniquement (pas trialing) pour exclure tous les essais du MRR.

Remises et coupons

Les coupons qui réduisent le montant facturé affectent le cash encaissé mais ne sont typiquement PAS soustraits du MRR en comptabilité SaaS standard. Le MRR représente le prix catalogue, le revenu “engagé”. Utiliser le prix catalogue évite aussi les fluctuations de MRR à l’expiration de coupons à durée limitée.

Cependant, si un coupon représente un engagement de prix permanent (une remise négociée qui n’expire jamais), utilisez le montant remisé dans le MRR. Interrogez subscription.discount.coupon.duration ; si forever, utilisez le prix remisé.

Coupon Stripe dans le calcul du MRR :

# Pour les coupons permanents uniquement
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 centimes

Plans annuels : le cas critique

Les plans annuels sont la source la plus fréquente d’inflation du MRR mal calculé. Le correctif : toujours diviser le montant des plans annuels par 12.

Plan annuel : 480 €/an → contribution MRR : 40 €/mois

Si vous comptez les 480 € comme MRR le mois du renouvellement, votre MRR explose à chaque renouvellement annuel et paraît plus bas les mois sans. La version normalisée (40 €/mois constant) est ce que vous voulez suivre pour les métriques de croissance.

Que faire des mois partiels : quand un client souscrit en cours de mois, certaines équipes proratisent la contribution MRR du premier mois. La plupart des fondateurs sautent la proration par simplicité — ajoutez le montant mensuel complet à la date de création de l’abonnement et retirez-le à la date d’annulation. La différence est généralement insignifiante en early stage.

Pour le traitement complet de ce qu’inclut et exclut un MRR normalisé, et pourquoi le chiffre natif Stripe se trompe pour beaucoup de configurations, le guide de définition du MRR couvre tous les cas.


Stripe Sigma : approche SQL

Stripe Sigma permet d’interroger vos données Stripe directement en SQL. Voici une requête Sigma pour un MRR normalisé :

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;

Ça gère les intervalles mensuels, annuels et hebdomadaires avec la bonne normalisation.

Limites de Sigma pour le suivi du MRR : Sigma vous donne le MRR maintenant. Il ne stocke pas de snapshots historiques de MRR — vous ne pouvez donc pas voir le MRR au 1ᵉʳ janvier. Pour analyser une tendance, il faut exécuter cette requête tous les jours et stocker les résultats à l’extérieur, ou utiliser un outil qui maintient l’historique automatiquement.

Sigma rate aussi :

  • Le waterfall MRR (décomposition new/expansion/contraction/churn) sans tables de snapshots mensuels
  • Le suivi de conversion essai → payant au niveau MRR
  • Les décompositions par plan ou par cohorte sans complexité de requête supplémentaire

Sigma est le bon outil si vous avez les compétences SQL et une question ponctuelle sur vos données Stripe. Pour un suivi continu du MRR, le coût de maintenance des requêtes Sigma à mesure que votre pricing évolue rend les outils analytics dédiés plus pratiques pour la plupart des fondateurs.


Mouvements de MRR : au-delà d’un seul chiffre

Une fois que vous avez un MRR normalisé, la couche suivante est de comprendre ce qui pilote les variations d’un mois à l’autre. Stripe vous donne un MRR total, un chiffre statique. Ce dont vous avez besoin pour comprendre la croissance, c’est un waterfall MRR :

Net New MRR = New MRR + Expansion MRR − Contraction MRR − Churned MRR

New MRR : revenu de clients qui n’existaient pas le mois précédent. Expansion MRR : revenu additionnel de clients ayant upgradé (qui paient plus ce mois-ci que le précédent). Contraction MRR : revenu réduit de clients ayant downgradé. Churned MRR : revenu de clients ayant résilié.

Stripe ne calcule pas cette décomposition nativement. Il sait que des annulations ont eu lieu mais ne suit pas expansion vs contraction vs nouvelles souscriptions au format waterfall. Stripe Sigma peut la reconstruire en joignant deux snapshots mensuels d’abonnements, mais il faut maintenir ces snapshots vous-même.

Pourquoi le waterfall compte :

Un taux de croissance MRR vous dit le résultat. Le waterfall vous dit la cause. Deux business à 10 % de croissance MRR mensuelle peuvent paraître identiques sur un graphique MRR mais avoir des moteurs très différents :

  • Business A : 15 % de New MRR, 8 % de Churned MRR → croissance tirée par l’acquisition, vulnérable si l’acquisition ralentit
  • Business B : 8 % de New MRR, 3 % d’Expansion MRR, 2 % de Churned MRR → croissance multi-source, plus défendable

Le waterfall est aussi le pont entre MRR et Net Revenue Retention (NRR) : NRR = (MRR de départ + expansion − contraction − churn) ÷ MRR de départ. Si vous calculez le NRR à la main, il vous faut les composantes du waterfall.

Pour la planification ARR, multipliez votre MRR mensuel normalisé par 12. ARR = MRR × 12. Les mêmes règles de normalisation s’appliquent : plans annuels ÷ 12, puis × 12 = montant annuel du plan, ce qui est correct.


Outils tiers pour le MRR Stripe

OutilNormalisation MRRTendances historiquesPrix de départ
NoNoiseMetrics✅ Correct (annuel ÷12)✅ Historique completGratuit → 79 €/mois
ChartMogul✅ Correct✅ Historique complet100 €+/mois
Baremetrics✅ Correct✅ Historique complet108 €+/mois
Stripe Sigma✅ (via SQL)❌ Point dans le temps uniquement~10 €/mois
Tableur manuelVariable❌ Demande maintenanceGratuit

Pour la vue d’ensemble de ce que la couche analytics de Stripe fournit vs ce qui demande des outils externes, voir l’analyse des manques de Stripe Analytics.


FAQ

Stripe affiche-t-il le MRR ?

Stripe Billing Overview affiche un chiffre MRR, mais il est souvent inexact pour les business avec des plans annuels ou des intervalles mixtes. Le chiffre peut exploser les mois de renouvellement annuel et paraître plus bas les autres mois. Pour un MRR correct, normalisez tous les montants d’abonnement à leur équivalent mensuel : plans annuels ÷ 12, plans mensuels × 1.

Comment calculer le MRR depuis Stripe ?

Listez tous les abonnements actifs via l’API Stripe ou Sigma. Pour chaque abonnement, prenez montant du plan × quantité et divisez par l’intervalle de facturation en mois (annuel = 12, trimestriel = 3, mensuel = 1). Sommez tous les équivalents mensuels. Excluez les essais, abonnements annulés, abonnements en pause et charges ponctuelles.

Pourquoi le MRR Stripe est-il faux ?

Le calcul du MRR Stripe gère les plans annuels de façon incohérente selon votre configuration de facturation. Il peut aussi inclure les essais, compter les montants annuels complets les mois de renouvellement, ou rater les upgrades en milieu de cycle. L’approche la plus sûre est de calculer le MRR vous-même à partir de la liste des abonnements en utilisant la conversion d’intervalle normalisée.

Comment voir le MRR dans Stripe sans Sigma ?

Stripe Billing → Revenue affiche un graphique de revenus et des métriques d’abonnements. Pour un MRR normalisé, l’approche manuelle la plus fiable : exportez vos abonnements actifs en CSV, ajoutez une colonne pour l’équivalent mensuel (montant annuel ÷ 12), et sommez. Pour un suivi continu, connectez Stripe à un outil qui calcule la normalisation automatiquement.

Quelle est la formule du MRR Stripe ?

MRR normalisé = somme de (montant équivalent mensuel × quantité) pour tous les abonnements actifs. Équivalent mensuel = montant du plan ÷ mois de facturation (1 pour mensuel, 12 pour annuel, 3 pour trimestriel). Exclure les abonnements en pause, annulés, incomplets et en essai.

Comment gérer les plans annuels dans le MRR Stripe ?

Toujours diviser le montant des plans annuels par 12. Un plan à 480 €/an contribue 40 €/mois au MRR. N’ajoutez jamais les 480 € entiers au MRR le mois du renouvellement — cela crée des faux pics qui obscurcissent votre vraie tendance de croissance. Les 40 € constants sont le bon chiffre pour chaque mois où le client est actif.

Stripe affiche-t-il le MRR nativement ?

Non. Stripe affiche le volume brut (toutes les charges), pas un MRR normalisé. Stripe n’annualise pas les plans mensuels, n’exclut pas les charges ponctuelles des totaux récurrents, et ne gère pas correctement la proration pour le MRR. Vous devez calculer le MRR vous-même à partir des données d’abonnement, ou utiliser un outil analytics connecté à Stripe qui normalise automatiquement.

Comment gérer le MRR multi-devises dans Stripe ?

Convertissez tous les montants d’abonnement vers une devise de référence en utilisant le taux de change au moment de la facture. Stripe fournit le champ currency sur chaque abonnement. Appliquez des taux cohérents — moyennes mensuelles ou taux journaliers — mais soyez consistant. La plupart des outils analytics gèrent ça automatiquement quand ils sont connectés à Stripe.


Calculez votre MRR depuis Stripe → MRR correctement normalisé avec gestion des plans annuels, waterfall MRR et décomposition par cohorte, gratuit jusqu’à 10 000 € de MRR.


Outil gratuit
Essayez le template Dashboard MRR →
Template de suivi MRR prêt à l’emploi, sans inscription.
Share: Share on X Share on LinkedIn
J
Juleake
Solo founder · Building in public
Building NoNoiseMetrics — Stripe analytics for indie hackers, without the BS.
Voyez votre vrai MRR depuis Stripe → Essayer gratuit