Skip to content

slatterymp/subside

Repository files navigation

Subside: Revenue Risk Signals

Problem

SaaS teams have usage, support, and billing data, but struggle to identify early signals of churn risk.

Solution

This project builds an end-to-end data pipeline that:

  • generates synthetic SaaS data
  • loads data into Google Cloud Storage (GCS)
  • ingests data into BigQuery
  • transforms raw data into risk signals
  • visualizes results in a Streamlit dashboard

Architecture

  • Data Generation: Python (subside-gen)
  • Data Lake: Google Cloud Storage (GCS)
  • Data Warehouse: BigQuery
  • Transformations: SQL
  • Visualization: Streamlit

Dashboard

The Streamlit app displays:

  • Accounts by Risk Level (categorical distribution)
  • Usage vs Support Activity Over Time (time series)

Dashboard Preview

Dashboard Screenshot

How to Run

1. Generate data

subside-gen --out data_out --csv

2. Upload to GCS

gsutil cp data_out/*.csv gs://YOUR_BUCKET/

3. Load into BigQuery

bq load --autodetect --source_format=CSV ...

4. Run transformations

Execute the SQL scripts to create derived tables.

5. Run dashboard

streamlit run app/app.py

Notes

  • Replace YOUR_BUCKET with your GCS bucket
  • Set your GCP project ID (e.g. de2026-485318)
  • Run SQL transformations in BigQuery to create derived tables

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors