Logo Lanfrica

lesl-i-e/kenya-sme-distress-ml

Domain:

socioeconomic

Record type:

project
Creator:
les
Host:
# SME Business Distress Predictor — East Africa **BIT 2303 / SDS 2406 — Final Year Project** **Student:** Gedion Leslie Kweya Odera · SCT213-C002-0062/2022 **Supervisor:** Mr. Adhola Samuel · JKUAT --- ## 🚀 Live Dashboard --- ## 📋 Project Overview This project predicts business distress risk in East African SMEs using machine learning applied to World Bank Enterprise Survey data from **14,688 firms across 8 countries**. Businesses are classified into three risk levels: - **Stable** — No active distress signals - **Moderate Risk** — One distress signal present - **High Risk** — Two or more distress signals active simultaneously **Three distress signals:** 1. Credit Constraint — needs financing but cannot access it 2. Employment Shrinkage — workforce fell >10% over 3 years 3. Low Capacity Utilisation — operating below 60% capacity --- ## 📊 Results | Model | ROC-AUC | F1 (macro) | F1 (High Risk) | |-------|---------|------------|----------------| | Logistic Regression | 0.9507 | 0.7824 | 0.6352 | | Random Forest | 1.0000 | 0.9970 | 0.9924 | | XGBoost (initial) | 1.0000 | 0.9985 | 0.9962 | | **XGBoost (tuned) ★** | **1.0000** | **0.9985** | **0.9962** | **Top SHAP predictors:** Credit Constrained · Employment Growth · Capacity Utilisation --- ## 🗂️ Repository Structure ``` kenya-sme-distress-ml/ │ ├── app.py # Streamlit entry point ├── utils.py # Shared model loading and constants ├── requirements.txt ├── README.md │ ├── pages/ │ ├── 1_Overview.py # Dataset stats and class distribution │ ├── 2_Predictor.py # Comprehensive investor predictor │ ├── 3_Model_Performance.py # Evaluation results │ ├── 4_SHAP.py # Feature importance │ └── 5_Geography.py # Country analysis │ ├── models/ # Trained model pkl files │ ├── model_logistic_regression.pkl │ ├── model_xgboost.pkl │ ├── model_xgboost_tuned.pkl │ ├── scaler.pkl │ └── feature_names.pkl …

Languages