Predict SaaS churn from Stripe data

Every churned customer was a signal in your Stripe data. Payment failures, usage dropping, support tickets spiking. We just weren't looking at them together.

SaaS Churn Predictor connects to Stripe and scores every customer 0–100 nightly. It separates voluntary churn (cancellations, downgrades) from involuntary churn (failed payments, expired cards). Same dashboard, different root cause.

The intervention pipeline tracks every save attempt: Recommended, Contacted, Responded, Saved or Lost. MRR-weighted risk calculations mean a $2,000/mo account gets priority over a $29/mo account automatically.

What you get

Setup

1. Clone and install:
git clone https://github.com/Coding-Dev-Tools/SaaS-Churn-Predictor.git
cd SaaS-Churn-Predictor
npm install
2. Configure environment: add Stripe keys, Supabase URL, Resend API key, and Vercel app URL to .env.local.
3. Apply Supabase migrations in order: 20260425_add_stripe_signal_scoring_alert_tables.sql, 20260504_v2_schema.sql, 20260509_v2_1_engine.sql.
4. Set up Stripe webhook: checkout.session.completed, customer.subscription.updated, customer.subscription.deleted, invoice.payment_succeeded, invoice.payment_failed.
5. Run locally: npm run dev.
6. Deploy to Vercel with the same environment variables. The cron job at /api/cron/process runs daily at 1 AM UTC.

Pricing

PlanPriceCustomersWhat's included
Starter$49.99/moUp to 1,000Risk scoring, dashboard, daily digest, export, Stripe sync
Growth$99.99/moUp to 5,000Everything in Starter plus intervention execution, AI autopilot, Slack alerts, premium reporting
Pro$149/moUp to 5,000Everything in Growth with the Pro checkout tier
Enterprise$399/moUp to 50,000Custom scoring weights, API access, audit logging, scenario modeling, prioritized support

Every plan includes a 14-day free trial. No credit card required.

Honest setup

This is not a one-command deploy. You need a Stripe account, a Supabase project, and a Vercel deployment. Once wired, the nightly pipeline syncs customers, subscriptions, invoices, and payments automatically.

Tech stack: Next.js 15, Supabase (PostgreSQL), Stripe, Resend, Tailwind CSS, Recharts. MIT licensed.

FAQ

Does it need a server?

Yes. It's a Next.js app. Run it locally with npm run dev or deploy to Vercel.

Does it work with other payment processors?

The Stripe integration is native. CSV import works for engagement and support data from any CRM.

Is there a free tier?

Every plan includes a 14-day free trial. No credit card required. The Starter plan is $49.99/mo after the trial.

Where does the data come from?

Stripe syncs customers, subscriptions, invoices, and payments automatically. You can also import usage and support data via CSV.

View on GitHub