10 SaaS Metrics Every Founder Should Know (but most ignore)

Whether you're just launching or already scaling your SaaS product, it's easy to get distracted by vanity metrics. But what really drives sustainable growth are deeper, actionable insights. This guide focuses on **10 key SaaS metrics **often overlooked that you can extract today from tools you already use: GitHub, Stripe, and Supabase Auth .
1. Activation Rate (Supabase Auth)
What it is: Percentage of users who complete a key onboarding step after signing up.
Why it matters: A high signup count means nothing if users don't engage. Activation is your first real conversion.
How to track:
- From Supabase Auth, track new user signups.
- Define an "activation event" (e.g. creating a project, connecting a data source).
- Use server logs or client-side events to track the first occurrence of that event.
Example: 100 users signed up this week, but only 25 connected a data source. Your activation rate = 25%.
2. Churned Users (Logged In But Stopped Coming Back) (Supabase Auth)
What it is: Users who logged in at least 3 times but haven’t returned in 30 days.
Why it matters: These users were engaged, but something drove them away.
How to track:
- Export login timestamps from Supabase Auth logs.
- Filter for users with multiple logins, but none in the last 30 days.
Example: 48 users fit this pattern this month. Reach out to them for feedback.
3. Time to First Commit (GitHub)
What it is: How long it takes for your team to commit code after starting a feature or issue.
Why it matters: Long delays can signal blockers, over-complex planning, or unclear scope.
How to track:
- Use GitHub issues and pull request timestamps.
- Compare issue creation date to first commit timestamp.
Example: You notice the average time is 4.5 days. Set a goal to bring it under 2 days.
4. Deployment Frequency (GitHub)
What it is: How often you push changes to production.
Why it matters: Frequent deploys often mean faster iteration and better feedback loops.
How to track:
- Use GitHub Actions or tagging to log production deployments.
- Count deploys per week/month.
Example: 3 deployments per week = healthy. 0 for 2 weeks? Investigate blockers.
5. Failed Payment Recovery Rate (Stripe)
What it is: The percentage of failed payments that are successfully retried or recovered.
Why it matters: Every recovered payment is revenue you would've lost.
How to track:
- Use Stripe’s invoice.payment_failed and invoice.payment_succeeded events.
- Track how many failed invoices were later paid successfully.
Example: You had 12 failed payments this month, and 8 were recovered. Your recovery rate is ~66%.
6. Expansion Revenue (Stripe)
What it is: Revenue from existing users upgrading or adding seats/usage.
Why it matters: A strong sign of product-market fit and value delivery.
How to track:
- Track upgrades using Stripe's subscription update events.
- Segment by existing users who increased spend.
Example: $800 in expansion revenue this month out of $4,000 MRR = 20% expansion rate.
7. Trial-to-Paid Conversion Rate (Stripe + Supabase Auth)
What it is: % of users who start a free trial and convert to paying.
Why it matters: Indicates onboarding quality and perceived value.
How to track:
- Match Supabase trial signups with Stripe subscription starts.
Example: 50 trial users, 12 converted. 24% conversion rate.
8. Logins per Active User (Supabase Auth)
What it is: Average number of logins per user over a period.
Why it matters: Shows engagement depth. High means sticky usage.
How to track:
- Use Supabase Auth logs to count logins per user.
- Divide total logins by number of active users.
Example: 300 logins from 100 users this month = 3 logins/user.
9. Issue Closure Time (GitHub)
What it is: Time it takes to close a GitHub issue.
Why it matters: Affects velocity and perceived responsiveness.
How to track:
- Use GitHub API to get issue created_at and closed_at .
- Calculate average time.
Example: Average closure time is 12 days. Aim for <7 if bugs are piling up.
10. Monthly Net Revenue Retention (NRR) (Stripe)
What it is: % of revenue retained from existing customers, including expansion and churn.
Why it matters: NRR over 100% = growth without new customers.
How to track:
- Calculate last month’s revenue from existing customers.
- Add upgrades, subtract downgrades/churn.
- NRR = (Revenue this month from last month’s users / Last month revenue from them) * 100
Example: $4,000 last month, $4,400 this month from same cohort = 110% NRR.
Final Thoughts
Don’t wait to scale before you start tracking what matters. These metrics give you a pulse on real user behavior and business health without needing a complex analytics stack. If you're using GitHub, Stripe, and Supabase Auth, you're already collecting the data. Use it.