Connecting

Connecting to the analytics server...

Data Analyst Portfolio

Executive KPI Report

NovaCRM SaaS Business Health Dashboard

Filters

Portfolio Project #4

Can a data analyst build an automated executive reporting system from scratch?

This project answers that question. It simulates the work a data analyst would do at a mid-market B2B SaaS company: building a real-time KPI dashboard, setting up anomaly detection, producing time-series forecasts, and automating PDF executive reports -- all from raw data to production-ready deliverables.

What This Project Does

An end-to-end executive KPI reporting system for NovaCRM, a fictional B2B SaaS company ($5M-$12M ARR). The dashboard tracks 12 KPIs across four categories:

Monitors revenue health (MRR, ARR, NRR) with waterfall breakdowns and segment analysis

Tracks customer health (churn, NPS, support tickets) with concentration curves and trend analysis

Runs automated anomaly detection (z-score + IQR) to flag unusual metric movements

Generates 6-month forecasts (Holt-Winters exponential smoothing) with confidence intervals and downloadable PDF reports

Why It Was Built This Way

Every design decision reflects real-world analyst constraints:

Synthetic data by necessity: No public dataset contains real SaaS operational metrics (MRR, churn, NPS, CAC). The data was engineered to match industry benchmarks (OpenView, SaaStr) with realistic events -- a Q3 2024 pricing-change churn spike and a Q2 2025 product launch boost.

Full-stack architecture: Real executive dashboards need a backend (data processing, forecasting, PDF generation) and a frontend (interactive visualization). This mirrors the analyst-to-engineering handoff that happens at most companies.

Bilingual (EN/ES) support: Demonstrates internationalization as a first-class concern, not an afterthought. Every label, commentary, and report narrative works in both languages.

About the Data

The dataset simulates 24 months of operational data for a mid-market B2B SaaS company. It was generated programmatically with realistic distributions, correlations, and two narrative events to test the anomaly detection and commentary systems.

Company

NovaCRM

Data Type

Synthetic (seeded)

Period

Jan 2024 -- Dec 2025

Granularity

Monthly, 3 segments

Why synthetic? SaaS operational metrics (MRR, churn rates, NPS, CAC, LTV) are confidential data that no company publishes in downloadable form. Public SaaS benchmarks exist only as aggregated statistics, not row-level time series. Generating synthetic data with known properties also allows us to validate the anomaly detection and forecasting systems against ground truth.

Methodology

Three analytical methods drive the dashboard, each chosen for practical reasons an analyst would face in production:

KPI Calculations

Industry-standard SaaS metrics following Bessemer and a16z frameworks. Traffic-light thresholds compare each KPI against configurable targets. A composite health score (0-100) weights six dimensions.

Anomaly Detection

Dual-method approach: z-score (parametric, good for normally distributed metrics) and IQR (non-parametric, robust to outliers). Flagged anomalies include severity levels and contextual explanations.

Forecasting

Holt-Winters exponential smoothing with additive trend. 6-month horizon with 95% confidence intervals. Simple, interpretable, and appropriate for 24 data points -- ARIMA and ML models need more history.

How to Navigate This Dashboard

Each tab serves a different audience and purpose. Start with Overview for the executive summary, then drill into specific areas:

Overview

Start here. A single health score, 12 KPIs with traffic lights and sparklines, and an auto-generated executive commentary. This is what a CEO or board member sees.

Revenue

MRR waterfall showing where revenue came from (new, expansion) and where it went (contraction, churn). ARR trajectory, segment breakdown, and net revenue retention trends.

Customers

Logo vs. revenue churn (they tell different stories), NPS trajectory with zone indicators, customer concentration (Lorenz curve), and support ticket trends.

Forecast

Six-month projections for key metrics with confidence bands. Shows where the business is heading if current trends continue.

Anomalies

Automatically flagged data points that deviate significantly from historical patterns. Sorted by severity with explanations -- this is the "what should I investigate?" view.

Report

Configure and download an executive PDF report. Choose language, date range, and which sections to include. The report generates charts, tables, and commentary automatically.

Technical

Full Jupyter notebooks showing every step: data generation, EDA, anomaly detection methodology, forecasting model selection, and report automation pipeline.

Lessons & Reflections

Building this project surfaced several insights about executive reporting as an analytical discipline:

1

Traffic lights matter more than charts

Executives want "is this good or bad?" before "show me the trend." The health score and red/yellow/green system gets more engagement than any chart. Context and thresholds are analytical work too.

2

Commentary is the hardest part

Generating natural-language summaries that are specific, accurate, and useful is harder than any statistical method in this project. Template-based NLG is a pragmatic middle ground between hand-writing and LLMs.

3

Anomaly detection needs business context

A z-score > 2 is not always an anomaly. The Q2 2025 product launch shows up as "anomalous" because it is unusual -- but it is a planned event. Real systems need an exclusion mechanism for known events.

4

Forecasting with 24 data points is humbling

Exponential smoothing works because it is simple. With only 24 monthly observations, complex models (ARIMA, Prophet) overfit. The confidence intervals are wide -- and that honesty is the right answer.

Tech Stack

Next.js 14FastAPIPythonTypeScriptTailwind CSSRechartspandasstatsmodelsfpdf2PlotlySWRFramer Motion