MRR Stripe: come calcolarlo correttamente
Pubblicato il 13 aprile 2026 · Jules, Founder of NoNoiseMetrics · 14min di lettura
Aggiornato il 15 aprile 2026
L’MRR Stripe non è una metrica nativa. Stripe mostra il fatturato, non il fatturato ricorrente mensile. Il calcolo MRR Stripe richiede di normalizzare i dati grezzi degli abbonamenti: dividere i piani annuali per 12, escludere i costi una tantum, gestire le proporzioni e contare solo gli abbonamenti attivi. Il numero “MRR” mostrato nel dashboard Stripe è errato per la maggior parte dei SaaS con un mix di intervalli di fatturazione. Questa guida spiega perché il dato MRR Stripe in Billing → Overview è inaffidabile, illustra passo per passo come calcolare correttamente l’MRR da Stripe e copre ogni caso limite — trial, sconti, coupon e piani annuali — che la maggior parte delle guide salta.
MRR Stripe: il valore “MRR” nativo di Stripe non è normalizzato. MRR corretto = somma di tutti gli importi degli abbonamenti attivi convertiti in equivalenti mensili, escludendo costi una tantum, trial e abbonamenti in pausa. I piani annuali devono essere divisi per 12.
Calcola il tuo MRR da Stripe → MRR normalizzato con corretta gestione dei piani annuali, gratis fino a 10 000 € di MRR.
Stripe mostra l’MRR?
Sì e no. Stripe Billing mostra un numero “MRR” nella sezione Billing → Overview. Il problema: non è correttamente normalizzato.
Cosa conta davvero l’MRR di Stripe: Stripe calcola l’MRR prendendo tutti gli abbonamenti attivi e sommando i loro importi convertiti su base mensile. La logica di conversione sembra corretta, ma gestisce male i casi limite per la maggior parte dei SaaS.
Perché è sbagliato per chi ha piani annuali: Il calcolo MRR Stripe per gli abbonamenti annuali è incoerente. In alcune configurazioni distribuisce correttamente l’importo annuale su 12 mesi. In altre — in particolare quando si mescolano fatturazione annuale e mensile, o quando i clienti sono stati migrati manualmente tra piani — mostra l’intero addebito annuale nel mese di incasso e zero negli altri mesi.
Il problema dei trial: Stripe può includere o meno i trial nell’MRR a seconda della configurazione. Se un trial ha un primo periodo a 0 €, di solito viene escluso. Se utilizza un coupon al 100 % sul primo mese, può essere conteggiato come 0 € di MRR o escluso in modo incoerente.
Il test pratico: Confronta il dato MRR di Stripe con la somma manuale degli importi dei tuoi piani attivi. Se coincidono entro pochi euro, il calcolo Stripe funziona per la tua configurazione. Se divergono — soprattutto se il numero Stripe esplode nei mesi di rinnovo — hai un problema di normalizzazione dei piani annuali. La maggior parte dei SaaS con oltre il 15 % di clienti annuali noterà divergenze significative, tipicamente 20-40 % di inflazione nei mesi di picco di rinnovo.
Per le regole complete su cosa va incluso nell’MRR e cosa no — incluse proporzioni, costi di setup e addebiti una tantum — consulta la guida al calcolo MRR.
Perché un MRR Stripe corretto è importante
L’MRR è la metrica fondante su cui poggiano quasi tutti gli altri numeri SaaS. Se sbagli, la cascata si rompe.
Tasso di churn = MRR perso ÷ MRR iniziale. Se l’MRR iniziale è gonfiato da picchi di piani annuali, il denominatore del tuo churn è errato: il churn appare più basso nei mesi di rinnovo intenso e più alto nei mesi calmi, facendo oscillare il tuo segnale di retention più importante.
LTV = ARPU ÷ tasso di churn mensile. ARPU = MRR ÷ clienti. Gonfia l’MRR, gonfia l’ARPU, gonfia l’LTV. Le tue decisioni di spesa per acquisizione si basano su un numero sbagliato del 20-40 %.
NRR e GRR: entrambi usano l’MRR iniziale come denominatore. Stesso problema.
Forecasting: se proietti l’MRR al tuo tasso di crescita attuale, un falso picco da rinnovi annuali fa apparire il tasso di crescita di questo mese più alto di quanto sia. La tua previsione a 6 mesi sfora, e ti sorprendi quando la crescita “rallenta” il mese successivo.
L’MRR corretto è la fondazione. Tutto il resto ne discende. I 15 minuti investiti per normalizzare il calcolo MRR Stripe valgono più di quasi qualsiasi altra attività di analytics che potresti fare questa settimana. Fallo una volta, prendi l’abitudine di controllarlo mensilmente, e ogni altra metrica SaaS che calcoli poggerà su terreno solido. Costruiscilo male una volta e passerai mesi a debuggare LTV gonfiati e tassi di churn errati prima di ricondurre il problema alla sorgente.
Cosa Stripe mostra al posto dell’MRR
Il dashboard Stripe Billing fornisce diversi dati di fatturato. Capire cosa rappresenta ciascuno aiuta a identificare quale richiede correzione.
“MRR” in Billing Overview: Stima di Stripe del fatturato ricorrente mensile. Inaffidabile per i motivi sopra. Usalo come controllo di sanità, non come fonte primaria di MRR.
Net volume (tab Payments): Totale degli addebiti incassati in un periodo. Include costi una tantum, costi di setup e l’intero importo dei pagamenti annuali. È cash flow, non MRR. Un piano annuale fatturato a 480 € appare come 480 € di net volume nel mese di addebito e 0 € nei successivi 11 mesi.
Subscription revenue: In Stripe Billing → Revenue → Subscription Revenue puoi vedere l’attività mensile di fatturazione degli abbonamenti. È più utile ma mescola ancora gli intervalli di fatturazione e non normalizza i piani annuali in equivalenti mensili.
Revenue Recognition (funzione a pagamento): L’add-on Revenue Recognition di Stripe calcola correttamente i ricavi riconosciuti secondo ASC 606, distribuendo l’abbonamento annuale di 480 € su 12 mesi a 40 €/mese. È accurato dal punto di vista contabile, ma è il dato del ricavo riconosciuto, non l’MRR operativo che useresti per tracciare la crescita.
Come calcolare correttamente l’MRR dai dati Stripe
L’approccio corretto: prendi tutti gli abbonamenti attivi, converti ciascuno nel suo equivalente mensile, somma il tutto.
La formula:
MRR = Σ (importo_abbonamento × quantità × fattore_conversione_mensile)
Dove fattore_conversione_mensile è:
- Fatturazione mensile: 1,0
- Fatturazione annuale: 1/12 = 0,0833
- Fatturazione trimestrale: 1/3 = 0,333
- Fatturazione settimanale: 52/12 = 4,333
Calcolo passo per passo:
Passo 1. Elenca tutti gli abbonamenti attivi.
Attivo = stato active o trialing (se conti i trial nell’MRR). Escludi canceled, past_due, paused e incomplete.
Passo 2. Per ogni abbonamento, ottieni l’importo del piano e l’intervallo di fatturazione.
Nel modello dati Stripe: subscription.items[0].price.unit_amount (in centesimi) e subscription.items[0].price.recurring.interval.
Passo 3. Converti in importo mensile.
importo_mensile = unit_amount / 100.0 × quantità × fattore_conversione_mensile
Passo 4. Somma tutti gli importi mensili. Quella somma è il tuo MRR normalizzato.
Approccio via API Stripe:
import stripe
stripe.api_key = 'rk_live_...' # chiave ristretta, sola lettura
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']
# Normalizzare a mensile
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} €")
Questo script gestisce correttamente tutti gli intervalli di fatturazione. Per gli abbonamenti multi-item (clienti con add-on), somma tutti gli item.
Gestire i casi limite
Trial
Includere i trial nell’MRR? La convenzione varia. La maggior parte dei founder SaaS esclude i trial gratuiti dall’MRR perché non viene incassato fatturato. Se un trial si converte in piano a pagamento, aggiungi l’abbonamento all’MRR al momento della conversione.
Trial “trialing-ma-pagati” (dove il periodo di prova usa un coupon che sconta a 0 €): escludili dall’MRR finché il coupon non scade e il cliente paga prezzo pieno.
Implementazione Stripe: filtra a status = 'active' soltanto (non trialing) per escludere tutti i trial dall’MRR.
Sconti e coupon
I coupon che riducono l’importo addebitato influiscono sulla cassa incassata ma tipicamente NON vengono sottratti dall’MRR nella contabilità SaaS standard. L’MRR rappresenta il prezzo di listino — il fatturato “impegnato”. Usare il prezzo di listino evita anche fluttuazioni dell’MRR allo scadere di coupon a tempo limitato.
Tuttavia, se un coupon rappresenta un impegno di prezzo permanente (uno sconto negoziato che non scade mai), usa l’importo scontato nell’MRR. Interroga subscription.discount.coupon.duration; se forever, usa il prezzo scontato.
Coupon Stripe nel calcolo MRR:
# Solo per coupon permanenti
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 # converti centesimi
Piani annuali: il caso limite critico
I piani annuali sono la fonte più comune di inflazione dell’MRR quando calcolato male. Il rimedio: dividi sempre gli importi dei piani annuali per 12.
Piano annuale: 480 €/anno → contributo MRR: 40 €/mese
Se conti i 480 € come MRR nel mese di rinnovo, il tuo MRR esplode a ogni rinnovo annuale e appare più basso nei mesi senza rinnovo. La versione normalizzata (40 €/mese costante) è quella che vuoi tracciare per le metriche di crescita.
Cosa fare con i mesi parziali: quando un cliente si abbona a metà mese, alcuni team prorabilizzano il contributo MRR del primo mese. La maggior parte dei founder salta la proporzione per semplicità — aggiunge l’intero importo mensile alla data di creazione dell’abbonamento e lo rimuove alla data di cancellazione. La differenza è di solito immateriale all’early stage.
Per il trattamento completo di cosa include ed esclude un MRR normalizzato — e perché il dato nativo di Stripe sbaglia per molte configurazioni di fatturazione — la guida alla definizione MRR copre ogni caso limite.
Stripe Sigma: approccio SQL
Stripe Sigma ti permette di interrogare i tuoi dati Stripe direttamente in SQL. Ecco una query Sigma per MRR normalizzato:
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;
Questo gestisce intervalli mensili, annuali e settimanali con la giusta normalizzazione.
Limiti di Sigma per il tracking dell’MRR: Sigma ti dà l’MRR di adesso. Non memorizza snapshot storici di MRR — quindi non puoi vedere com’era l’MRR il 1° gennaio. Per analisi di tendenza dovresti eseguire questa query ogni giorno e memorizzare i risultati esternamente, oppure usare uno strumento che mantiene la cronologia automaticamente.
Sigma manca anche:
- Il waterfall MRR (scomposizione new/expansion/contraction/churn) senza tabelle di snapshot mensili
- Il tracking di conversione trial-a-pagato a livello di MRR
- La scomposizione MRR per piano e per coorte senza ulteriore complessità di query
Sigma è lo strumento giusto se hai competenze SQL e una domanda specifica una tantum sui tuoi dati Stripe. Per il monitoraggio continuo dell’MRR, l’overhead di manutenzione delle query Sigma man mano che il tuo pricing evolve rende gli strumenti analytics dedicati più pratici per la maggior parte dei founder.
Movimenti di MRR: oltre un singolo numero
Una volta ottenuto l’MRR normalizzato, il livello successivo è capire cosa guida i cambiamenti mese su mese. Stripe ti dà l’MRR totale — un numero statico. Ciò che ti serve davvero per capire la crescita è un waterfall MRR:
Net New MRR = New MRR + Expansion MRR − Contraction MRR − Churned MRR
New MRR: fatturato da clienti che non esistevano nel mese precedente. Expansion MRR: fatturato aggiuntivo da clienti che hanno fatto upgrade (pagano di più questo mese rispetto allo scorso). Contraction MRR: fatturato ridotto da clienti che hanno fatto downgrade. Churned MRR: fatturato da clienti che hanno cancellato.
Stripe non calcola questa scomposizione nativamente. Sa che le cancellazioni sono avvenute ma non traccia expansion vs contraction vs nuove sottoscrizioni in formato waterfall. Stripe Sigma può ricostruirlo unendo due snapshot mensili di abbonamenti, ma richiede di mantenere quegli snapshot autonomamente.
Perché il waterfall conta:
Un tasso di crescita MRR ti dice il risultato. Il waterfall ti dice la causa. Due aziende che crescono entrambe del 10 % MRR mensile possono apparire identiche su un singolo grafico MRR ma avere driver molto diversi:
- Azienda A: 15 % new MRR, 8 % churned MRR → crescita guidata dall’acquisizione, vulnerabile se l’acquisizione rallenta
- Azienda B: 8 % new MRR, 3 % expansion MRR, 2 % churned MRR → crescita a fonte mista, più difendibile
Il waterfall è anche il ponte tra MRR e Net Revenue Retention (NRR): NRR = (MRR iniziale + expansion − contraction − churn) ÷ MRR iniziale. Se calcoli NRR manualmente, ti servono i componenti del waterfall.
Per la pianificazione ARR, moltiplica il tuo MRR mensile normalizzato per 12. ARR = MRR × 12. Si applicano le stesse regole di normalizzazione: piani annuali ÷ 12, poi × 12 = importo del piano annuale, che è corretto.
Strumenti di terze parti per MRR Stripe
| Strumento | Normalizzazione MRR | Tendenze storiche | Prezzo di partenza |
|---|---|---|---|
| NoNoiseMetrics | ✅ Corretta (annuale ÷12) | ✅ Storia completa | Gratis → 79 €/mese |
| ChartMogul | ✅ Corretta | ✅ Storia completa | 100 €+/mese |
| Baremetrics | ✅ Corretta | ✅ Storia completa | 108 €+/mese |
| Stripe Sigma | ✅ (via SQL) | ❌ Solo punto nel tempo | ~10 €/mese |
| Foglio manuale | Dipende | ❌ Richiede manutenzione | Gratis |
Per il quadro completo di cosa fornisce il livello analytics di Stripe vs cosa richiede strumenti esterni, consulta l’analisi delle lacune di Stripe Analytics.
FAQ
Stripe mostra l’MRR?
Stripe Billing Overview mostra una cifra MRR, ma è spesso inesatta per aziende con piani annuali o intervalli di fatturazione misti. La cifra può esplodere nei mesi di rinnovo per i clienti annuali e mostrare MRR più basso negli altri mesi. Per un MRR corretto, normalizza tutti gli importi degli abbonamenti al loro equivalente mensile: piani annuali ÷ 12, piani mensili × 1.
Come calcolo l’MRR da Stripe?
Elenca tutti gli abbonamenti attivi tramite l’API Stripe o Sigma. Per ogni abbonamento, prendi importo del piano × quantità e dividi per l’intervallo di fatturazione in mesi (annuale = 12, trimestrale = 3, mensile = 1). Somma tutti gli equivalenti mensili. Escludi trial, abbonamenti cancellati, abbonamenti in pausa e addebiti una tantum.
Perché l’MRR di Stripe è errato?
Il calcolo MRR di Stripe gestisce i piani annuali in modo incoerente a seconda della tua configurazione di fatturazione. Può anche includere i trial, contare interi importi annuali nei mesi di rinnovo o perdere upgrade a metà ciclo. L’approccio più sicuro è calcolare l’MRR autonomamente dalla lista degli abbonamenti usando una conversione di intervalli normalizzata.
Come vedo l’MRR in Stripe senza Sigma?
Stripe Billing → Revenue mostra un grafico dei ricavi e metriche di abbonamento. Per MRR normalizzato l’approccio manuale più affidabile: esporta i tuoi abbonamenti attivi in CSV, aggiungi una colonna per l’equivalente mensile (importo annuale ÷ 12) e somma. Per il tracking continuo collega Stripe a uno strumento che calcoli la normalizzazione automaticamente.
Qual è la formula MRR Stripe?
MRR normalizzato = somma di (importo equivalente mensile × quantità) per tutti gli abbonamenti attivi. Equivalente mensile = importo del piano ÷ mesi di fatturazione (1 mensile, 12 annuale, 3 trimestrale). Escludi abbonamenti in pausa, cancellati, incompleti e trial.
Come gestisco i piani annuali nell’MRR Stripe?
Dividi sempre gli importi dei piani annuali per 12. Un piano da 480 €/anno contribuisce 40 €/mese all’MRR. Non aggiungere mai i 480 € interi all’MRR nel mese di rinnovo — crea picchi falsi che oscurano la tua reale tendenza di crescita. I 40 € costanti sono la cifra corretta per ogni mese in cui il cliente è attivo.
Stripe mostra l’MRR nativamente?
No. Stripe mostra il volume lordo (tutti gli addebiti), non l’MRR normalizzato. Stripe non annualizza i piani mensili, non esclude gli addebiti una tantum dai totali ricorrenti e non gestisce correttamente la proporzione ai fini MRR. Devi calcolare l’MRR autonomamente dai dati di abbonamento o usare uno strumento di analytics collegato a Stripe che normalizza automaticamente.
Come gestisco l’MRR multi-valuta in Stripe?
Converti tutti gli importi degli abbonamenti in una valuta base usando il tasso di cambio al momento della fattura. Stripe fornisce il campo currency su ogni abbonamento. Applica tassi di conversione coerenti — medie mensili o tassi spot giornalieri — ma sii coerente. La maggior parte degli strumenti analytics gestisce questo automaticamente quando connessi a Stripe.
Calcola il tuo MRR da Stripe → MRR correttamente normalizzato con gestione dei piani annuali, waterfall MRR e scomposizione per coorte, gratis fino a 10 000 € di MRR.
Strumento gratis
Prova il template Dashboard MRR →
Template di tracking MRR pronto all’uso, senza registrazione.