Data Analyst · ML Engineer

Ploypairaoh Pat

I build production-grade analysis that ends in a decision — quantitative risk, NLP, fraud detection, and the MLOps that keeps models honest in production.

01 Quantitative Risk02 Analytics Engineering03 NLP Classification04 Fraud Detection05 Data Governance06 Model Monitoring07 Full-Stack
Toolkit PythonSQL / dbtscikit-learnXGBoostSHAPEvidentlyMLflowAirflowPlotlyDuckDBTypeScript / React

Selected work

Seven projects · click to filter
Quant Finance

Financial Portfolio Risk Analysis

Three Value-at-Risk methodologies on an 8-asset portfolio, stress-tested through the COVID crash and the 2022 rate shock — ending in a concrete rebalancing recommendation.

$29,146 — 1-day 99% VaR on $1M · diversification cuts tail risk 25%
PythonNumPySciPyyfinance
Analytics Engineering

SQL Analytics Engineering

A 5-layer dbt + DuckDB warehouse turning raw seeds into a business-facing metrics layer, with automated testing baked into every model and a published lineage DAG.

18 models · 127 tests · 100% pass rate
dbt CoreDuckDBSQLStar Schema
NLP / ML

Fake News Detection Classifier

A spaCy → TF-IDF → XGBoost pipeline that separates fabricated from real news articles, packaged as a paste-an-article web app for live inference.

97% macro F1 · 14.4k held-out articles
scikit-learnXGBoostspaCyStreamlit
Financial Crime / ML

Fraud Detection on Imbalanced Data

Five model/resampling combinations benchmarked on a 0.17%-fraud dataset by PR-AUC, then a business cost function that turns a decision threshold into dollars per day.

PR-AUC 0.859 · $2,615/day at the cost-optimal threshold
scikit-learnXGBoostimbalanced-learnSHAP
Data Governance

Regulatory Compliance Data Audit

A simulated GDPR/CCPA audit on 50k records, deliberately seeded with violations so every detector, scanner, and dbt masking model can be proven to catch them.

100% of 4,447 violations caught · SAR query in 3.2ms
PythonDuckDBdbtGreat Expectations
MLOps Live

Automated Model Monitoring

A drift-detection pipeline that caught a distribution shift weeks before any performance metric moved — PSI + KS tests, an Airflow loop, and a live Streamlit dashboard.

PSI 0.004 → 2.96 · drift caught at Week 5 while F1 stayed flat
EvidentlyMLflowAirflowStreamlit
Engineering Live

Ledger — Personal Finance Platform

A full-stack finance app on Plaid Production: a TypeScript cleaning pipeline, a 7-detector alerts engine, and an explainable 0–100 financial health score, synced daily.

Plaid Production · 7 alert detectors · 0–100 health score
ReactTypeScriptNodePrismaPlaid