FrançaisEnglishEspañolItalianoDeutschPortuguêsNederlandsPolski

MRR Stripe: jak go poprawnie obliczyć

Opublikowano 13 kwietnia 2026 · Jules, Founder of NoNoiseMetrics · 12min czytania

Zaktualizowano 15 kwietnia 2026

MRR Stripe nie jest natywną metryką. Stripe pokazuje przychody, a nie miesięczne przychody cykliczne. Obliczanie MRR Stripe wymaga normalizacji surowych danych subskrypcji Stripe: dzielenia planów rocznych przez 12, wykluczania opłat jednorazowych, obsługi proporcji i liczenia tylko aktywnych subskrypcji. Liczba “MRR” wyświetlana w panelu Stripe jest nieprawidłowa dla większości firm SaaS z mieszanką interwałów rozliczeniowych. Ten przewodnik wyjaśnia, dlaczego liczba MRR Stripe w Billing → Overview jest niewiarygodna, krok po kroku przedstawia, jak poprawnie obliczyć MRR ze Stripe, oraz omawia każdy przypadek brzegowy — okresy próbne, rabaty, kupony i plany roczne — który większość przewodników pomija.

MRR Stripe: natywna liczba “MRR” Stripe nie jest znormalizowana. Prawidłowy MRR = suma wszystkich kwot aktywnych subskrypcji przeliczonych na miesięczne ekwiwalenty, z wyłączeniem opłat jednorazowych, okresów próbnych i wstrzymanych subskrypcji. Plany roczne należy dzielić przez 12.

Oblicz swój MRR ze Stripe → Znormalizowany MRR z poprawną obsługą planów rocznych, darmowo do 10 000 € MRR.


Czy Stripe pokazuje MRR?

Tak i nie. Stripe Billing pokazuje liczbę “MRR” w sekcji Billing → Overview. Problem: nie jest poprawnie znormalizowana.

Co tak naprawdę liczy MRR Stripe: Stripe oblicza MRR, biorąc wszystkie aktywne subskrypcje i sumując ich kwoty przeliczone na bazę miesięczną. Logika konwersji brzmi poprawnie, ale źle obsługuje przypadki brzegowe dla większości firm SaaS.

Dlaczego jest błędne dla firm z planami rocznymi: Obliczenie MRR Stripe dla subskrypcji rocznych jest niespójne. W niektórych konfiguracjach poprawnie rozkłada kwotę roczną na 12 miesięcy. W innych — szczególnie gdy mieszasz rozliczenie roczne i miesięczne lub klienci zostali ręcznie zmigrowani między planami — pokazuje pełną opłatę roczną w miesiącu inkasa i zero w pozostałych miesiącach.

Problem okresów próbnych: Stripe może uwzględniać lub wyłączać okresy próbne z MRR w zależności od twojej konfiguracji. Jeśli okres próbny ma pierwszy okres na 0 €, zazwyczaj jest wyłączany. Jeśli używa kuponu 100 % na pierwszy miesiąc, może być liczony jako 0 € MRR lub wyłączany niespójnie.

Test praktyczny: Porównaj liczbę MRR Stripe z ręczną sumą kwot twoich aktywnych planów. Jeśli zgadzają się z dokładnością do kilku euro, obliczenie Stripe działa dla twojej konfiguracji. Jeśli się rozbiegają — szczególnie jeśli liczba Stripe skacze w miesiącach odnowienia — masz problem z normalizacją planów rocznych. Większość firm SaaS z ponad 15 % klientów rocznych zobaczy znaczące rozbieżności, zazwyczaj 20-40 % inflacji w miesiącach szczytowych odnowień.

Po pełne reguły dotyczące tego, co należy do MRR, a co nie — w tym proporcje, opłaty wdrożeniowe i opłaty jednorazowe — zobacz przewodnik obliczania MRR.


Dlaczego prawidłowy MRR Stripe jest ważny

MRR to fundamentalna metryka, na której opiera się prawie każda inna liczba SaaS. Pomyl się, a kaskada się rozsypuje.

Wskaźnik churn = utracony MRR ÷ początkowy MRR. Jeśli początkowy MRR jest zawyżony przez piki planów rocznych, mianownik twojego churn jest błędny — churn wydaje się niższy w miesiącach intensywnych odnowień i wyższy w miesiącach spokojnych, kołysząc twoim najważniejszym sygnałem retencji.

LTV = ARPU ÷ miesięczny wskaźnik churn. ARPU = MRR ÷ klienci. Zawyż MRR, zawyż ARPU, zawyż LTV. Twoje decyzje o wydatkach na akwizycję opierają się na liczbie błędnej o 20-40 %.

NRR i GRR: oba używają początkowego MRR jako mianownika. Ten sam problem.

Forecasting: jeśli prognozujesz MRR przy obecnym tempie wzrostu, fałszywy pik z odnowień rocznych sprawia, że tempo wzrostu w tym miesiącu wygląda na wyższe niż jest. Twoja prognoza 6-miesięczna przestrzela cel i jesteś zaskoczony, gdy wzrost “zwalnia” w następnym miesiącu.

Prawidłowy MRR to fundament. Wszystko inne z niego wynika. 15 minut zainwestowane w normalizację obliczenia MRR Stripe jest warte więcej niż prawie każde inne zadanie analityczne, jakie mógłbyś zrobić w tym tygodniu. Zrób to raz, wyrabiaj nawyk sprawdzania co miesiąc, a każda inna metryka SaaS, którą obliczasz, będzie stała na solidnym gruncie. Zbudujesz źle raz i będziesz miesiącami debugować zawyżone LTV i błędne wskaźniki churn, zanim wytropisz problem do źródła.


Co Stripe pokazuje zamiast MRR

Panel Stripe Billing dostarcza kilka liczb przychodów. Zrozumienie, co reprezentuje każda, pomaga zidentyfikować, która wymaga korekty.

“MRR” w Billing Overview: Szacunek Stripe dla miesięcznych przychodów cyklicznych. Niewiarygodny z powodów wymienionych wyżej. Używaj jako kontroli zdroworozsądkowej, nie jako podstawowego źródła MRR.

Net volume (zakładka Payments): Suma opłat zainkasowanych w okresie. Obejmuje opłaty jednorazowe, opłaty wdrożeniowe i pełną kwotę płatności subskrypcji rocznych. To przepływ gotówki, nie MRR. Plan roczny rozliczany na 480 € pojawia się jako 480 € w net volume w miesiącu opłaty i 0 € w kolejnych 11 miesiącach.

Subscription revenue: W Stripe Billing → Revenue → Subscription Revenue widzisz miesięczną aktywność rozliczeniową subskrypcji. Bliżej użyteczności, ale nadal miesza interwały rozliczeniowe i nie normalizuje planów rocznych do ekwiwalentów miesięcznych.

Revenue Recognition (funkcja płatna): Dodatek Revenue Recognition Stripe poprawnie oblicza rozpoznane przychody zgodnie z ASC 606, rozkładając roczną subskrypcję 480 € na 12 miesięcy po 40 €/miesiąc. To dokładne z punktu widzenia rachunkowości, ale to liczba rozpoznanych przychodów — nie operacyjny MRR, którego użyłbyś do śledzenia wzrostu.


Jak poprawnie obliczyć MRR z danych Stripe

Prawidłowe podejście: weź wszystkie aktywne subskrypcje, przelicz każdą na jej miesięczny ekwiwalent, sumuj wszystko.

Wzór:

MRR = Σ (kwota_subskrypcji × ilość × współczynnik_konwersji_miesięcznej)

Gdzie współczynnik_konwersji_miesięcznej to:

  • Rozliczenie miesięczne: 1,0
  • Rozliczenie roczne: 1/12 = 0,0833
  • Rozliczenie kwartalne: 1/3 = 0,333
  • Rozliczenie tygodniowe: 52/12 = 4,333

Obliczenie krok po kroku:

Krok 1. Wylistuj wszystkie aktywne subskrypcje. Aktywna = status active lub trialing (jeśli liczysz okresy próbne w MRR). Wyłącz canceled, past_due, paused i incomplete.

Krok 2. Dla każdej subskrypcji pobierz kwotę planu i interwał rozliczeniowy. W modelu danych Stripe: subscription.items[0].price.unit_amount (w centach) i subscription.items[0].price.recurring.interval.

Krok 3. Przelicz na kwotę miesięczną.

kwota_miesięczna = unit_amount / 100.0 × ilość × współczynnik_konwersji_miesięcznej

Krok 4. Sumuj wszystkie kwoty miesięczne. Ta suma to twój znormalizowany MRR.

Podejście przez API Stripe:

import stripe

stripe.api_key = 'rk_live_...'  # klucz ograniczony, tylko do odczytu

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']
        
        # Normalizacja na miesiąc
        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} €")

Skrypt poprawnie obsługuje wszystkie interwały rozliczeniowe. Dla subskrypcji wieloelementowych (klienci z dodatkami) sumuje wszystkie elementy.


Obsługa przypadków brzegowych

Okresy próbne

Wliczać okresy próbne do MRR? Konwencja jest różna. Większość założycieli SaaS wyłącza darmowe okresy próbne z MRR, ponieważ żaden przychód nie jest pobierany. Jeśli okres próbny konwertuje się na płatny plan, dodaj subskrypcję do MRR w momencie konwersji.

Okresy próbne “trialing-ale-opłacone” (gdzie okres próbny używa kuponu obniżającego do 0 €): wyłącz je z MRR do wygaśnięcia kuponu i zapłaty pełnej ceny przez klienta.

Implementacja Stripe: filtruj tylko po status = 'active' (nie trialing), aby wyłączyć wszystkie okresy próbne z MRR.

Rabaty i kupony

Kupony zmniejszające naliczaną kwotę wpływają na zainkasowaną gotówkę, ale zazwyczaj NIE są odejmowane od MRR w standardowej księgowości SaaS. MRR reprezentuje cenę katalogową — przychód “zobowiązany”. Używanie ceny katalogowej unika również wahań MRR przy wygasaniu kuponów czasowych.

Jednak jeśli kupon reprezentuje stałe zobowiązanie cenowe (wynegocjowany rabat, który nigdy nie wygasa), użyj ceny po rabacie w MRR. Sprawdź subscription.discount.coupon.duration; jeśli forever, użyj ceny po rabacie.

Kupon Stripe w obliczeniu MRR:

# Tylko dla kuponów stałych
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  # konwersja centów

Plany roczne: krytyczny przypadek brzegowy

Plany roczne to najczęstsze źródło inflacji MRR przy błędnym obliczeniu. Naprawa: zawsze dziel kwoty planów rocznych przez 12.

Plan roczny: 480 €/rok → wkład MRR: 40 €/miesiąc

Jeśli liczysz 480 € jako MRR w miesiącu odnowienia, twój MRR skacze przy każdym odnowieniu rocznym i wygląda niżej w miesiącach bez odnowień. Wersja znormalizowana (40 €/miesiąc stale) to to, co chcesz śledzić dla metryk wzrostu.

Co robić z miesiącami częściowymi: gdy klient subskrybuje w trakcie miesiąca, niektóre zespoły proporcjonalizują wkład MRR pierwszego miesiąca. Większość założycieli pomija proporcjonalizację dla prostoty — dodają pełną kwotę miesięczną w dacie utworzenia subskrypcji i usuwają w dacie anulowania. Różnica jest zazwyczaj nieistotna na wczesnym etapie.

Po pełne omówienie tego, co znormalizowany MRR obejmuje i wyklucza — i dlaczego natywna liczba Stripe chybia dla wielu konfiguracji rozliczeniowych — przewodnik definicji MRR obejmuje każdy przypadek brzegowy.


Stripe Sigma: podejście SQL

Stripe Sigma pozwala bezpośrednio odpytywać twoje dane Stripe w SQL. Oto zapytanie Sigma dla znormalizowanego MRR:

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;

Obsługuje to interwały miesięczne, roczne i tygodniowe z poprawną normalizacją.

Ograniczenia Sigma dla śledzenia MRR: Sigma daje ci MRR z teraz. Nie przechowuje historycznych snapshotów MRR — więc nie możesz zobaczyć, jak wyglądał MRR 1 stycznia. Do analizy trendów musiałbyś uruchamiać to zapytanie codziennie i przechowywać wyniki zewnętrznie, lub używać narzędzia, które utrzymuje historię automatycznie.

Sigma także nie obejmuje:

  • Wodospadu MRR (rozkład new/expansion/contraction/churn) bez utrzymywania miesięcznych tabel snapshotów
  • Śledzenia konwersji okres próbny-na-płatny na poziomie MRR
  • Rozkładu MRR per-plan i per-kohorta bez dodatkowej złożoności zapytań

Sigma to właściwe narzędzie, jeśli masz umiejętności SQL i jednorazowe konkretne pytanie o twoje dane Stripe. Do bieżącego monitorowania MRR koszty utrzymania zapytań Sigma w miarę ewolucji twojego cennika sprawiają, że dedykowane narzędzia analityczne są bardziej praktyczne dla większości założycieli.


Ruchy MRR: ponad jedną liczbą

Gdy masz znormalizowany MRR, kolejna warstwa to zrozumienie, co napędza zmiany miesiąc do miesiąca. Stripe daje ci całkowity MRR — statyczną liczbę. Tym, czego naprawdę potrzebujesz, by zrozumieć wzrost, jest wodospad MRR:

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

New MRR: przychód od klientów, którzy nie istnieli w poprzednim miesiącu. Expansion MRR: dodatkowy przychód od klientów, którzy zrobili upgrade (płacą więcej w tym miesiącu niż w poprzednim). Contraction MRR: zmniejszony przychód od klientów, którzy zrobili downgrade. Churned MRR: przychód od klientów, którzy anulowali.

Stripe nie oblicza tego rozkładu natywnie. Wie, że anulowania się zdarzyły, ale nie śledzi expansion vs contraction vs nowe subskrypcje w formacie wodospadu. Stripe Sigma może go zrekonstruować, łącząc dwa miesięczne snapshoty subskrypcji, ale wymaga to utrzymywania tych snapshotów samodzielnie.

Dlaczego wodospad ma znaczenie:

Stopa wzrostu MRR mówi ci wynik. Wodospad mówi ci przyczynę. Dwie firmy rosnące MRR po 10 % miesięcznie mogą wyglądać identycznie na pojedynczym wykresie MRR, ale mieć bardzo różne motory:

  • Firma A: 15 % new MRR, 8 % churned MRR → wzrost napędzany akwizycją, podatny, jeśli akwizycja zwolni
  • Firma B: 8 % new MRR, 3 % expansion MRR, 2 % churned MRR → wzrost z mieszanych źródeł, bardziej obronny

Wodospad to także most między MRR a Net Revenue Retention (NRR): NRR = (początkowy MRR + expansion − contraction − churn) ÷ początkowy MRR. Jeśli liczysz NRR ręcznie, potrzebujesz komponentów wodospadu.

Do planowania ARR pomnóż swój znormalizowany miesięczny MRR przez 12. ARR = MRR × 12. Obowiązują te same reguły normalizacji: plany roczne ÷ 12, potem × 12 = kwota planu rocznego, co jest poprawne.


Narzędzia zewnętrzne do MRR Stripe

NarzędzieNormalizacja MRRTrendy historyczneCena startowa
NoNoiseMetrics✅ Poprawna (roczne ÷12)✅ Pełna historiaDarmowo → 79 €/miesiąc
ChartMogul✅ Poprawna✅ Pełna historia100 €+/miesiąc
Baremetrics✅ Poprawna✅ Pełna historia108 €+/miesiąc
Stripe Sigma✅ (przez SQL)❌ Tylko punkt w czasie~10 €/miesiąc
Ręczny arkuszZależy❌ Wymaga utrzymaniaDarmowo

Dla szerszego obrazu tego, co warstwa analityczna Stripe dostarcza vs co wymaga zewnętrznych narzędzi, zobacz analizę luk Stripe Analytics.


FAQ

Czy Stripe pokazuje MRR?

Stripe Billing Overview pokazuje liczbę MRR, ale jest często niedokładna dla firm z planami rocznymi lub mieszanymi interwałami rozliczeniowymi. Liczba może skoczyć w miesiącach odnowień klientów rocznych i pokazywać niższy MRR w miesiącach bez odnowień. Dla poprawnego MRR znormalizuj wszystkie kwoty subskrypcji do ich miesięcznego ekwiwalentu: plany roczne ÷ 12, plany miesięczne × 1.

Jak obliczyć MRR ze Stripe?

Wylistuj wszystkie aktywne subskrypcje przez API Stripe lub Sigma. Dla każdej subskrypcji weź kwotę planu × ilość i podziel przez interwał rozliczeniowy w miesiącach (rocznie = 12, kwartalnie = 3, miesięcznie = 1). Sumuj wszystkie ekwiwalenty miesięczne. Wyklucz okresy próbne, anulowane subskrypcje, wstrzymane subskrypcje i opłaty jednorazowe.

Dlaczego MRR Stripe jest błędne?

Obliczenie MRR Stripe obsługuje plany roczne niespójnie w zależności od twojej konfiguracji rozliczeniowej. Może też uwzględniać okresy próbne, liczyć pełne kwoty roczne w miesiącach odnowień lub przegapiać upgrade’y w środku cyklu. Najbezpieczniejsze podejście to obliczenie MRR samodzielnie z listy subskrypcji za pomocą znormalizowanej konwersji interwałów.

Jak zobaczyć MRR w Stripe bez Sigma?

Stripe Billing → Revenue pokazuje wykres przychodów i metryki subskrypcji. Dla znormalizowanego MRR najbardziej niezawodne podejście ręczne: wyeksportuj swoje aktywne subskrypcje jako CSV, dodaj kolumnę dla ekwiwalentu miesięcznego (kwota roczna ÷ 12) i sumuj. Do bieżącego śledzenia MRR podłącz Stripe do narzędzia, które oblicza normalizację automatycznie.

Jaki jest wzór MRR Stripe?

Znormalizowany MRR = suma (miesięczna kwota ekwiwalentu × ilość) dla wszystkich aktywnych subskrypcji. Ekwiwalent miesięczny = kwota planu ÷ miesiące rozliczeniowe (1 miesięczny, 12 roczny, 3 kwartalny). Wyklucz subskrypcje wstrzymane, anulowane, niekompletne i okresy próbne.

Jak obsługiwać plany roczne w MRR Stripe?

Zawsze dziel kwoty planów rocznych przez 12. Plan 480 €/rok wnosi 40 €/miesiąc do MRR. Nigdy nie dodawaj pełnych 480 € do MRR w miesiącu odnowienia — to tworzy fałszywe piki, które zaciemniają twój prawdziwy trend wzrostu. Stałe 40 € to poprawna liczba dla każdego miesiąca, w którym klient jest aktywny.

Czy Stripe pokazuje MRR natywnie?

Nie. Stripe pokazuje wolumen brutto (wszystkie opłaty), nie znormalizowany MRR. Stripe nie annualizuje planów miesięcznych, nie wyklucza opłat jednorazowych z sum cyklicznych i nie obsługuje proporcji poprawnie dla celów MRR. Musisz obliczać MRR samodzielnie z danych subskrypcji lub używać narzędzia analitycznego podłączonego do Stripe, które normalizuje automatycznie.

Jak obsługiwać MRR wielowalutowy w Stripe?

Konwertuj wszystkie kwoty subskrypcji na jedną walutę bazową, używając kursu wymiany w momencie faktury. Stripe dostarcza pole currency na każdej subskrypcji. Stosuj spójne kursy konwersji — używaj średnich miesięcznych lub dziennych kursów spot — ale bądź spójny. Większość narzędzi analitycznych obsługuje to automatycznie po podłączeniu do Stripe.


Oblicz swój MRR ze Stripe → Poprawnie znormalizowany MRR z obsługą planów rocznych, wodospadem MRR i rozkładem na kohorty, darmowo do 10 000 € MRR.


Darmowe narzędzie
Wypróbuj szablon Dashboard MRR →
Gotowy szablon śledzenia MRR, bez rejestracji.
Share: Share on X Share on LinkedIn
J
Juleake
Solo founder · Building in public
Building NoNoiseMetrics — Stripe analytics for indie hackers, without the BS.
Zobacz swój prawdziwy MRR ze Stripe → Zacznij za darmo