All work

Banking Customer 360 on GCP

Every customer, account, loan and payment in one trusted warehouse.

Role
Data engineer · personal project
Status
Personal project
Stack
Python · SQL · PySpark · BigQuery · Cloud Storage · Dataflow · Pub/Sub · Cloud Composer

A personal project built on Google Cloud. It is not a bank’s or an employer’s production system.

How it fits together

A simplified illustration of a personal project. No real customer or bank data is shown.
01

Context

Banking data typically lives in separate systems for customers, accounts, transactions, loans and payments. Answering a basic Customer 360 question means joining all of them, and the numbers have to agree.

I designed this platform on Google Cloud to bring those sources together in a BigQuery warehouse built for analytics and reporting.

02

Constraints

  • Financial figures must reconcile: totals in the warehouse have to match the source systems.
  • Sources change continuously, so reloading everything on each run is too slow and too costly.
  • Some transaction data needs to arrive in near real time, alongside scheduled batch loads.
03

What I built

  • Python and SQL ETL pipelines that ingest structured banking datasets from several source systems into Cloud Storage as the landing layer.
  • Bronze, Silver and Gold layers, with PySpark transformations for customer, account, loan and transaction data.
  • A star-schema model in BigQuery, with fact and dimension tables for transactions, loans, payments and customers.
  • Incremental loading using Change Data Capture concepts, and Pub/Sub event ingestion for near-real-time transactions.
  • Validation and reconciliation checks that keep financial totals correct between layers.
  • Cloud Composer (Apache Airflow) DAGs to orchestrate the pipelines, and tuned BigQuery SQL for reporting.
  • Exploratory GenAI and RAG work for banking document processing and customer information extraction.
04

Tradeoff: Reconcile at every layer, not just at the end

Checking totals between Bronze, Silver and Gold adds pipeline steps and run time. When a number is wrong, the failing layer is obvious immediately instead of surfacing later as a report nobody trusts.

05

Outcome

One analytical model supports Customer 360, transaction and loan analytics, segmentation and transaction monitoring, with financial totals reconciled at every layer.