This project demonstrates how to build an end-to-end analytics workflow for user funnel analysis, from raw events to business insights.
We analyze a typical product growth funnel with 4 steps:
- Signup
- Profile Completed
- KYC Passed
- First Payment
The objective is to identify where users drop off, and to analyze differences by acquisition channel, cohort, and geography.
- Python → generate synthetic seed data (
events.csv) - dbt → transform raw events into clean, business-ready models
- BigQuery (Google Cloud) → data warehouse
- Dashboard (Looker) (ongoing)
- seeds/
- events.csv # Synthetic event data
- models/
- staging/ # Raw events cleaned (views)
- intermediate/ # Funnel path logic (views)
- marts/ # Business-ready facts (tables)
- schema.yml # Tests (nulls, accepted values)
The dashboard walks through:
- Funnel Overview → conversion rates at each step
- By Acquisition Source → Ads vs Organic vs Partner
- Cohort Analysis → conversions over time
- Geography → country-level drop-offs
To reproduce locally:
# Install dependencies
pip install dbt-bigquery
# Run seeds (load events into BigQuery)
dbt seed
# Build models
dbt run
# Run tests
dbt test