SaaS KPI Dashboard
This project simulates a complete end-to-end SaaS data pipeline. It generates synthetic customer-level data and visualizes KPIs through an interactive dashboard. Designed to reflect the type of modeling and insight generation that powers data-driven GTM, retention, and monetization strategy at high-growth software companies.
This project includes a full pipeline for generating, enriching, and segmenting SaaS data—delivering visibility into CAC, LTV, churn risk, health scoring, and customer behavior across segments. Driven by this pipeline is a dashboard visualizing the core unit economics and customer health metrics. It is specifically designed to provide strategic visibility into revenue efficiency, retention trends, and GTM performance across customer segments.
Client
JM Labs
Service Provided
SaaS KPIs
Project Overview:
This project centers on building a complete SaaS analytics stack from the ground up. It begins with synthetic customer-level data generation via a robust Python script that models acquisition, subscription events, payments, product usage, and support interactions. The data is then aggregated and transformed into optimized summary files to ensure dashboard performance at scale.
From there, the focus shifts to SaaS KPI modeling — calculating core metrics like Customer Acquisition Cost (CAC), Lifetime Value (LTV), CAC Payback Period, LTV:CAC ratio, and usage-based health scores that capture churn risk and retention strength. Additional metrics include support sentiment and customer health flags (0 = unhealthy, 1 = very healthy), giving a multidimensional view of performance.
The final layer is an interactive KPI dashboard (Streamlit + Plotly) that delivers strategic visibility into revenue efficiency, retention trends, and GTM performance. Designed for scalability and clarity, the dashboard enables both granular customer-level insights and aggregated segment analysis.
Python Scripts:
data_generator_v2.py – Generates synthetic SaaS customer data, including acquisition, subscriptions, payments, product usage, and support interactions.
aggregate_usage.py – Aggregates raw usage events into compact summaries for faster dashboard performance.
saas_dashboard.py – Streamlit + Plotly app that visualizes KPIs, customer health, and GTM performance.
Executive Summary
A high-level view of the most critical SaaS metrics that give quick insight into acquisition efficiency, retention, and customer health:
Total Customers: 1,133
Churn Rate: 49.9%
Average CAC: $1,915
Average LTV: $14,883
LTV:CAC Ratio: 9.57x
CAC Payback: 9.9 months
Customer Health Score: 0.41
Customer Acquisition & Segmentation
Insights into how customers are acquired and who they are that reveals the most efficient GTM strategies and target segments:
Distribution of acquisition channels (social, paid, referrals, webinars, etc.).
Customer mix by company size (startup, SMB, enterprise).
Subscriptions & MRR
These views track revenue and growth dynamics to highlight retention, upsell success, and long-term revenue stability.
Monthly Recurring Revenue (MRR) trend over time.
Subscription growth by plan type and expansion events.
Product Usage & Engagement
Shows how customers interact with the product:
Total usage events and daily activity.
Top features by adoption (logins, dashboards, reports, integrations).
Usage is correlated with retention and customer health.
Support & Sentiment Analysis
Measures customer satisfaction and support efficiency:
Support ticket volume, resolution time, and escalation rates.
Sentiment analysis of support interactions (positive/neutral/negative).
This closes the loop on product and customer success by surfacing friction points.