How hayachiq/credit-default-risk works
This is a credit-default risk modeling and decision-support project: it cleans applicant data, engineers SQL features, trains and evaluates classifiers, then exposes scoring and analysis through an API and dashboard. The main workflow is raw data → cleaning → feature engineering → model evaluation; independent branches add a WOE scorecard and income estimation, while saved predictions feed fairness and business-impact checks. The README documents these capabilities and the orchestration paths; source excerpts are partial, so unverified internal calls are omitted.
Main entry points: flow.py Metaflow pipeline · credit_risk_pipeline_dag.py Airflow pipeline · build_features.py Feature builder · train_evaluate.py Classifier training
Components 21
Risk pipeline
- Raw applicants
data/raw/cs-training.csv - Data cleaning
src/clean_data.py - Cleaned applicants
data/processed/cs-training-cleaned.csv - SQL feature logic
sql/feature_engineering.sql - Feature builder
src/build_features.py - Engineered features
data/features.parquet - Reference builder
src/save_scoring_reference.py
Modeling and analysis
- Classifier training
src/train_evaluate.py - Model bundle
outputs/model_bundle.joblib - Test predictions
outputs/test_predictions.parquet - WOE scorecard
src/scorecard.py - Income regression
src/income_regression.py - Fairness analysis
src/fairness_check.py - Business simulation
src/business_impact.py
Scoring and exploration
- Scoring reference
outputs/scoring_reference.json - Scoring API
src/api.py - Interactive dashboard
app.py
Orchestration
- Metaflow pipeline
src/flow.py - Airflow pipeline
dags/credit_risk_pipeline_dag.py
Other components
- Risk analyst
- Applicant client
Connections 38
- Data cleaning → Raw applicants: reads
- Data cleaning → Cleaned applicants: writes
- Feature builder → Cleaned applicants: reads
- Feature builder → SQL feature logic: executes
- Feature builder → Engineered features: writes
- Classifier training → Engineered features: reads
- Classifier training → Model bundle: writes
- Classifier training → Test predictions: writes
- WOE scorecard → Engineered features: reads
- Income regression → Cleaned applicants: reads
- Fairness analysis → Test predictions: reads
- Business simulation → Test predictions: reads
- Reference builder → Engineered features: reads
- Reference builder → Scoring reference: writes
- Applicant client → Scoring API: submits applicant
- Scoring API → Model bundle: loads model
- Scoring API → Scoring reference: loads reference
- Scoring API → Applicant client: returns risk score
- Risk analyst → Interactive dashboard: explores results
- Interactive dashboard → Engineered features: reads
- Interactive dashboard → Model bundle: reads
- Interactive dashboard → Test predictions: reads
- Metaflow pipeline → Data cleaning: runs
- Metaflow pipeline → Feature builder: runs
- Metaflow pipeline → Classifier training: runs
- Metaflow pipeline → WOE scorecard: runs
- Metaflow pipeline → Income regression: runs
- Metaflow pipeline → Fairness analysis: runs
- Metaflow pipeline → Business simulation: runs
- Metaflow pipeline → Reference builder: runs
- Airflow pipeline → Data cleaning: runs
- Airflow pipeline → Feature builder: runs
- Airflow pipeline → Classifier training: runs
- Airflow pipeline → WOE scorecard: runs
- Airflow pipeline → Income regression: runs
- Airflow pipeline → Fairness analysis: runs
- Airflow pipeline → Business simulation: runs
- Airflow pipeline → Reference builder: runs