Data Analyst · Data Scientist
Four end-to-end data projects, each deployed and reproducible. Every figure is generated by committed code, and each project links to a live dashboard or documentation site you can open without installing anything.
A probability of default approves nobody — a threshold does. Who should be lent to, at what cutoff, and what does getting that cutoff wrong cost?
1.15M real SBA 7(a) loans and 285k card transactions. One column was contaminated by the outcome and worth +0.46 Gini — it would have shipped as a 0.85. With loss given default measured at 0.77 instead of the assumed 0.45, the lender's break-even default probability at a 75% guarantee is 1.02: nobody is unprofitable to approve, so the party bearing the risk isn't the one deciding.
Python · WOE scorecard · LightGBM · out-of-time validation · SHAP · FastAPI
Which data skills are actually in demand, what do they pay, and how does that differ between Indonesia and the international remote market?
Pipeline over 2,367 postings from 6 public APIs across 5 markets. The salary model went from R² 0.12 to 0.46 without changing the algorithm — every point came from data work.
Read the write-up Live dashboardwakes in ~30s GitHub
Python · pandas · scikit-learn · Streamlit · GitHub Actions
What drives revenue, who are the best customers, and where do operations break down across a 100k-order marketplace?
Nine raw tables modelled into a documented star schema. 97% of customers purchased only once, generating 94% of revenue — the headline retention opportunity.
Live Power BI dashboard GitHub
PostgreSQL · advanced SQL · dimensional modelling · Power BI + DAX · Docker
Three ride-hail feeds with three different schemas, unified into one trusted fact table, with the data-quality tests that prove it.
Testing exposed a vendor reporting conflict that double-counted $2.50 on 27% of all trips, about $5.9M on 2022 Q1. Nothing in the source schema warns you, and no chart would have looked wrong.
dbt-core · DuckDB · 70 data tests · GitHub Actions