Case Studies

SaaS Analytics Engineering

A production-style dbt and BigQuery pipeline for reliable SaaS subscription reporting.

A production-style dbt and BigQuery pipeline for reliable SaaS subscription reporting.

Blue data network visual
Overview

Executive summary

A dbt and BigQuery build that turns synthetic subscription events into reporting-ready SaaS metrics. It models 420 customers across 24 months and produces monthly recurring revenue, churn, and lifetime value with automated checks and a scheduled production run.

Business context

Subscription reporting is difficult when customer, plan, and billing events live at different levels of detail. The question was how to make revenue movement and customer value trustworthy enough for recurring commercial reporting.

Data and preparation

Python generated customers, subscriptions, and billing events with early churn, a short honeymoon period, contract fatigue, upgrades, downgrades, failed payments, and refunds. Raw fields were renamed and lightly cleaned in staging before any metric logic was applied.

Method

The models follow staging, intermediate, and marts layers. A window function in the subscription-period model derives each customer’s time on plan. That choice keeps the history logic inside the transformation flow rather than adding snapshot infrastructure that was outside the project scope.

Results, limits, and next step

The final marts separate new, expansion, contraction, and churned revenue by month, alongside a customer-level lifetime-value table. Not-null, uniqueness, accepted-value, and non-negative MRR tests protect the outputs. The next improvement would be snapshots for a fuller audit trail when source history changes.

Date:

Client:

Personal portfolio project

Industry:

SaaS

Analytics Engineering

Data Warehousing

Skills:

dbt

BigQuery

SQL

Git

Live Project:

VIEW PROJECT