Analityka churnu Stripe: jak wydobyć prawdziwe dane
Opublikowano 13 kwietnia 2026 · Jules, Founder of NoNoiseMetrics · 9min czytania
Zaktualizowano 15 kwietnia 2026
Analityka churnu w Stripe jest trudniejsza niż wygląda. Stripe rejestruje każde zdarzenie rezygnacji, każdą nieudaną płatność i każdą zmianę subskrypcji, ale nie zestawia tego w wskaźnik churnu, nie segmentuje według planu i nie pokazuje czy Twój churn poprawia się czy pogarsza. Aby uzyskać prawdziwą analitykę churnu ze Stripe, musisz obliczać go z surowych danych zdarzeń, co wymaga dokładnej wiedzy co liczyć, co wykluczać i jak obsługiwać przypadki graniczne, które powodują, że obliczenia churnu są błędne w 80% przypadków.
Analityka churnu Stripe to proces wyodrębniania, czyszczenia i obliczania metryk churnu z danych zdarzeń subskrypcji Stripe, w tym wskaźnika churnu klientów, wskaźnika churnu MRR, involuntary churn i segmentacji churnu według planu.
Analityka churnu Stripe: jak wydobyć prawdziwe dane
Co Stripe daje Ci dla churnu
Wbudowana analityka Stripe zawiera:
- Rezygnacje subskrypcji: Log każdego zdarzenia rezygnacji z timestamp, ID klienta i kwotą subskrypcji
- Nieudane płatności: Zdarzenia nieudanych płatności ze statusem ponowienia
- Zmiana MRR: Widok waterfall pokazujący netto zmianę MRR (Stripe nazywa to „Revenue movement”)
- Churn MRR: Przychody utracone z powodu rezygnacji w danym okresie
Co to daje: surowy log zdarzeń churnu i nagłówkową liczbę churn MRR. Czego nie daje: wskaźnik churnu jako procentu, segmentacji według planu, rozróżnienia między churnem dobrowolnym a involuntary, ani danych trendów obliczanych konsekwentnie w czasie.
Obliczenie wskaźnika churnu, którego Stripe nie robi
Wskaźnik churnu to nie „rezygnacje w miesiącu”. To rezygnacje podzielone przez klientów narażonych na ryzyko churnu (tzn. klientów na początku okresu). Stripe pokazuje Ci licznik (rezygnacje), ale nie mianownik (klienci na początku okresu) w łatwy sposób do użycia.
Oto wzór:
Miesięczny wskaźnik churnu klientów =
Rezygnacje w miesiącu / Aktywni klienci na początku miesiąca × 100
Problem z mianownikiem: bieżąca liczba aktywnych klientów Stripe w danym momencie uwzględnia klientów, którzy dołączyli w trakcie miesiąca. Aby uzyskać właściwy mianownik, potrzebujesz klientów aktywnych na początku miesiąca, bez żadnego kto dołączył po tym. Dashboard Stripe nie rozdziela ich wyraźnie.
Dla wskaźnika churnu MRR:
Miesięczny wskaźnik churnu MRR =
(Churn MRR + MRR kontrakcji) / MRR na początku miesiąca × 100
Wymaga to pobierania zdarzeń rezygnacji ORAZ zdarzeń downgrade’u (subskrypcja zaktualizowana do niższej kwoty), a następnie zsumowania delty MRR. Stripe ma surowe dane; obliczenie wymaga agregacji.
Przykład obliczony: obliczanie wskaźnika churnu z danych Stripe
Masz produkt SaaS. Na początku marca masz 420 aktywnych płacących klientów. W trakcie marca:
- 18 klientów anulowało subskrypcje
- 14 nowych klientów rozpoczęło subskrypcje (nie licz w obliczeniu churnu)
- 3 klientów miało nieudane płatności, ale odzysk nastąpił
- 2 klientów downgrade’owało z €99/mies. na €49/mies.
Wskaźnik churnu klientów:
18 rezygnacji / 420 klientów na początku × 100 = 4,3%
Wskaźnik churnu MRR:
- Churn MRR z 18 rezygnacji: 18 × średnio €72 = €1 296
- MRR kontrakcji z 2 downgrade’ów: 2 × (€99 − €49) = €100
- Łączny utracony MRR: €1 396
- Startowe MRR: 420 × €72 średnio = €30 240
Wskaźnik churnu MRR = €1 396 / €30 240 × 100 = 4,6%
3 odzyski nieudanych płatności NIE są liczone jako churn, pozostali subskrybentami. Gdyby anulowali, byliby dobrowolnym churnem z perspektywy raportowania Stripe, ale involuntary w rzeczywistości.
Problem involuntary churnu
Największa luka w analityce churnu Stripe to rozróżnienie involuntary vs dobrowolny. Stripe rejestruje:
customer.subscription.deleted, subskrypcja anulowana (może być dobrowolna LUB końcowy stan nieudanej płatności)invoice.payment_failed, nieudana płatnośćinvoice.payment_succeeded, odzysk płatności
Jeśli subskrypcja jest ostatecznie anulowana z powodu nieudanej płatności (po wyczerpaniu prób Stripe Smart Retry), Stripe rejestruje to jako anulowanie, taki sam typ zdarzenia jak klient, który kliknął „Anuluj subskrypcję”. Nie ma wbudowanej flagi mówiącej „ta rezygnacja była involuntary”.
Dlaczego to ma znaczenie: między 20–40% churnu SaaS to involuntary (Baremetrics, 2024). Jeśli nie możesz go zidentyfikować, nie możesz go odzyskać. Rozwiązanie dla involuntary churnu (sekwencja dunningowa, przepływ aktualizacji karty) jest zupełnie inne od rozwiązania dla dobrowolnego churnu (zmiany produktu/wyceny). Traktowanie ich tak samo oznacza rozwiązywanie złego problemu.
Aby je oddzielić w danych Stripe: involuntary churn koreluje z subskrypcjami, które miały niedawne zdarzenia invoice.payment_failed przed zdarzeniem customer.subscription.deleted. Możesz je oznaczać zapytaniem lub użyć narzędzia, które robi to automatycznie.
Przypadki graniczne w analityce churnu Stripe
1. Bezpłatne triala kończące się bez konwersji
Gdy trial kończy się bez płatności, Stripe może rejestrować anulowanie subskrypcji lub po prostu brak próby płatności. W zależności od konfiguracji, wygaśnięcia trialu mogą lub nie mogą pojawiać się jako zdarzenia churnu. NIE powinny być liczone w wskaźniku churnu, nigdy nie stały się płacącymi klientami.
Rozwiązanie: filtruj obliczenie churnu do subskrypcji z co najmniej jedną udaną płatnością. Churny trialu sztucznie zawyżają wskaźnik churnu.
2. Anulowania subskrypcji rocznych w połowie cyklu
Jeśli klient anuluje roczną subskrypcję w połowie cyklu, Stripe może rejestrować anulowanie natychmiast (z harmonogramem dostępu do końca okresu) lub na końcu okresu. Timing zdarzenia anulowania wpływa na miesięczną liczbę churnu.
Rozwiązanie: używaj flagi cancel_at_period_end w subskrypcjach Stripe. Licz anulowania gdy subskrypcja faktycznie wygasa (koniec okresu), nie gdy klient żąda anulowania.
3. Zmiany planu rejestrowane jako anuluj + nowy
Niektóre integracje Stripe rejestrują upgrade planu jako anulowanie subskrypcji i nowe stworzenie subskrypcji, zamiast aktualizacji subskrypcji. Zmiany planu zawyżają zarówno liczbę churnu (stara subskrypcja) jak i nową liczbę klientów (nowa subskrypcja).
Rozwiązanie: sprawdź czy aktualizacje subskrypcji tworzą nowe ID subskrypcji czy aktualizują istniejące. Jeśli tworzą nowe ID, musisz dopasować je do istniejącej subskrypcji klienta, żeby wykluczyć z liczby churnu.
4. Klienci z wieloma subskrypcjami
Klient z dwiema aktywnymi subskrypcjami, który anuluje jedną, nie jest w pełni churned. Stripe rejestruje anulowanie poszczególnej subskrypcji poprawnie, ale jeśli obliczasz churn na poziomie subskrypcji zamiast klienta, będziesz podwójnie liczyć.
Rozwiązanie: zawsze agreguj churn do poziomu klienta. Klient jest churned gdy wszystkie jego aktywne subskrypcje są anulowane.
5. Reaktywacje
Klient, który anuluje i resubskrybuje w tym samym miesiącu może pojawić się zarówno w liczbie churnu (anulowanie) jak i w liczbie nowych klientów (reaktywacja). Czy liczyć ich jako churned-i-nowych czy po prostu jako zatrzymanych to wybór definicyjny, musisz go podjąć wyraźnie i stosować konsekwentnie.
Segmentacja churnu z danych Stripe
Zagregowany wskaźnik churnu to punkt wyjścia, nie diagnoza. Pytanie brzmi: którzy klienci rezygnują? Struktura danych Stripe pozwala segmentować według:
Plan/cena: Grupuj rezygnacje według price.id na subskrypcji. Oblicz wskaźnik churnu według punktu cenowego. Często ujawnia to, że jeden plan churns na 8% podczas gdy inny na 1,5%, wskazując na specyficzny problem product-market fit na poziomie cenowym.
Kohorta rejestracji: Grupuj klientów według miesiąca pierwszej subskrypcji. Oblicz jaki procent każdej kohorty anulował do każdego kolejnego miesiąca. To jest retencja kohortowa, najbardziej diagnostyczny widok churnu. Więcej o metodzie znajdziesz w artykule analiza kohort dla założycieli SaaS.
Powód anulowania: Jeśli zbierasz powód anulowania (przez ankietę rezygnacji zanim fires subscription.deleted), połącz go ze zdarzeniem anulowania Stripe. To nie jest wbudowane w Stripe, zbierasz to w produkcie przed wywołaniem API anulowania Stripe.
Geografia: Stripe rejestruje kraj klienta. Możesz segmentować churn według kraju, żeby znaleźć wzorce geograficzne.
Jak wyodrębnić dane churnu ze Stripe w praktyce
Opcja 1: Dashboard Stripe (podstawowy)
Sekcja Revenue w dashboardzie Stripe pokazuje churn MRR dla dowolnego okresu. Dokładna dla nagłówkowej liczby, ale bez segmentacji, bez procentowego wskaźnika churnu i bez historii trendów poza widocznym zakresem dat.
Opcja 2: Stripe Sigma (pośredni)
Stripe Sigma to interfejs zapytań SQL dla Twoich danych Stripe. Możesz pisać zapytania do obliczania wskaźnika churnu, segmentowania według planu i budowania tabel kohortowych. Wymaga znajomości SQL.
Przykładowa struktura zapytania (uproszczona):
SELECT
DATE_TRUNC('month', cancelled_at) AS miesiac,
COUNT(*) AS rezygnacje,
price_id
FROM subscriptions
WHERE status = 'canceled'
AND cancelled_at IS NOT NULL
GROUP BY 1, 2
To daje liczby rezygnacji, ale nie wskaźnik churnu (nadal potrzebujesz mianownika).
Opcja 3: Dedykowane narzędzie (zalecane)
NoNoiseMetrics łączy się ze Stripe przez API tylko do odczytu i oblicza wskaźnik churnu klientów, wskaźnik churnu MRR, involuntary vs dobrowolny churn, segmentację według planu i retencję kohortową, automatycznie, z obsługą wszystkich przypadków granicznych. Bez SQL, bez eksportów, aktualizowane przy każdej synchronizacji.
Działanie na podstawie analityki churnu Stripe
Po uzyskaniu czystych danych churnu, kolejność priorytetów jest jasna:
1. Involuntary churn powyżej 30% łącznego churnu? Najpierw zaatakuj go sekwencją dunningową i przepływem aktualizacji karty. To Twoja aktywność redukcji churnu o najwyższym ROI.
2. Churn planu wejściowego powyżej 5%? Najtańszy plan przyciąga klientów, którzy nie pasują. Albo zaostrz onboarding, dostosuj wymogi bezpłatnego trialu lub podnieś cenę żeby lepiej filtrować.
3. Spadek kohorty w miesiącu 3? Coś się psuje po początkowym entuzjazmie. Przeprowadź analizę użytkowania klientów, którzy zrezygnowali w miesiącu 3 vs tych, którzy zostali. Co robili zatrzymani klienci, czego churned nie robili?
4. Churn planu wyższego poniżej 2%? Świetnie. Twój premium produkt jest lepki. Podwój wysiłki na ścieżce upgrade’u; szybciej przenoś tam więcej klientów.
FAQ
Jak znaleźć wskaźnik churnu w Stripe?
Stripe nie pokazuje wskaźnika churnu jako procentu natywnie. Przejdź do sekcji Revenue, wybierz okres i zwróć uwagę na „Churned MRR”. Aby obliczyć wskaźnik churnu klientów, musisz podzielić anulowane subskrypcje przez startowe aktywne subskrypcje, obliczenie, które musisz wykonać ręcznie lub przy pomocy narzędzia.
Co to jest involuntary churn w Stripe?
Involuntary churn to rezygnacje spowodowane nieudaną płatnością, a nie świadomą decyzją klienta. W Stripe pojawiają się jako zwykłe anulowania subskrypcji po wyczerpaniu wszystkich prób Smart Retry. Stripe nie oznacza ich jako involuntary, musisz je identyfikować korelując zdarzenia anulowania z wcześniejszymi zdarzeniami nieudanych płatności.
Jak segmentować churn według planu w Stripe?
W dashboardzie Stripe możesz filtrować subskrypcje według produktu lub ceny, żeby zobaczyć liczby aktywnych. Dla wskaźnika churnu według planu musisz obliczyć rezygnacje według price ID podzielone przez startowe subskrypcje według price ID. Stripe Sigma może to zrobić z SQL.
Dlaczego mój wskaźnik churnu Stripe wygląda niżej niż oczekiwany?
Typowe przyczyny: patrzysz na churn MRR jako procent łącznego MRR (który niedoważy churn na mniejszych planach), masz rocznych subskrybentów którzy nie osiągnęli jeszcze odnowienia, lub Twoje wygaśnięcia trialu tworzą zawyżenie mianownika.
Jak Stripe obsługuje pauzy subskrypcji w obliczeniu churnu?
Stripe obsługuje pauzy subskrypcji (status: paused). Zawieszona subskrypcja nie jest churned, klient nie anulował. Jednak zawieszone subskrypcje generują €0 MRR podczas pauzy. Dokładniejsze podejście: wyklucz zawieszone subskrypcje zarówno z licznika (churn) jak i mianownika (aktywni).
Jaka jest różnica między Stripe churn MRR a wskaźnikiem churnu MRR?
Churn MRR to bezwzględna liczba (np. €2 400 utracone z powodu rezygnacji). Wskaźnik churnu MRR to procent (np. 4,8% startowego MRR utracone). Obie są przydatne, bezwzględna liczba mówi o wpływie na przychody; wskaźnik mówi o względnej powadze i umożliwia benchmarkowanie.
Czy mogę śledzić kohorty churnu w Stripe?
Nie natywnie. Stripe nie ma widoku kohortowego. Musisz wyeksportować dane subskrypcji z datą rejestracji i datą anulowania, a następnie grupować według miesiąca rejestracji i obliczać jaki procent każdej kohorty jest nadal aktywny w miesiącach 1, 3, 6, 12. To możliwe w arkuszu dla małych zestawów danych lub ze Stripe Sigma + SQL dla większych.
Jak zidentyfikować możliwości win-back z danych churnu Stripe?
Wyeksportuj anulowane subskrypcje z ostatnich 90 dni. Filtruj klientów, którzy: (1) byli aktywni przez ponad 3 miesiące przed anulowaniem, (2) nie cytowali ceny jako powodu i (3) anulowali w ciągu ostatnich 30–60 dni. To Twoi kandydaci win-back o najwyższym prawdopodobieństwie. Skontaktuj się z nimi z ograniczoną czasowo ofertą.
Powiązane artykuły na ten temat: Carr Vs Arr Roznica, Wskaznik Retencji Klientow Saas, Ujemny Churn Saas i Szablon Dashboardu Przychodow Saas.
Wyświetl swój prawdziwy wskaźnik churnu ze Stripe. NoNoiseMetrics łączy się ze Stripe i oblicza wskaźnik churnu klientów, churn MRR, involuntary vs dobrowolny churn i segmentację według planu, automatycznie.
Darmowe narzędzie
Wypróbuj MRR Dashboard Template →
Śledź churn obok wszystkich innych metryk subskrypcji, waterfall MRR, ekspansja, kontrakcja i churn w jednym widoku.