An AI-powered Early Warning System (EWS) using XGBoost and Explainable AI (SHAP) to predict and prevent student dropout in West African university foundation programs.
# Lightweight Dropout Prediction and Early Warning System (EWS)
> **Explainable AI for University Foundation Programs in Ghana**
> CS Department | 2026 Batch Mini-Project | Group 3
---
## 🎯 Project Overview
This system identifies at-risk foundation-year students by **Week 6 of semester** using only five registry-available features — no LMS telemetry, no paid cloud services. It combines an **XGBoost classifier** with **SHAP explainability** to give counsellors plain-language briefs on why a student was flagged, and logs all interventions for tracking.
**AUC-ROC: 0.997** (XGBoost) vs 0.753 (Rule-based) on 2,000 student records.
---
## 👥 Group Members
| # | Index No. | Name | Role |
|---|-----------|------|------|
| 1 | 9019123 | Fobi Osei Randy Yamoah | ML / Data Engineer |
| 2 | 9018323 | Angela Essein | Backend / Systems Dev |
| 3 | 9019523 | Frank Fatawu Bakuwale Techi Junior | Frontend / Mobile Dev |
| 4 | 9019323 | Fosu Kwame Korletey | Analytics / XAI Lead |
| 5 | 9018623 | Essilfie David Amoabeng (PM) | EdTech / Pedagogy & PM |
---
## 🏗️ System Architecture
```
University Registry (CSV)
│
▼
Python ETL Pipeline ←── CTGAN Synthetic Data (500 records)
(SHA-256 anonymisation, feature engineering, imputation)
│
▼
SQLite Database
(students, predictions, interventions, alerts)
│
├──► XGBoost Classifier (Optuna HPO) ──► Risk Score (0–1)
│ │
│ ▼
│ SHAP TreeExplainer ──► Waterfall Charts + Beeswarm
│
▼
FastAPI REST API (async, APScheduler nightly job)
│
▼
React Dashboard (university LAN, no internet required)
├── Risk Heatmap (cohort overview)
├── Student Drill-Down (SHAP waterfall)
├── Analytics Page (ROC curve, Beeswarm, Pilot Metrics)
├── Interventions Log
└── Settings (upload data, re-train model)
```
**Deployment:** University server or Raspberry Pi 4 (8GB RAM). Zero paid cloud dependency.
---
## ⚙️ Tech Stack
| Component | Technology | Version |
|-----------|-----------|---------|
| Language | Python | 3.11.8 |
| ML Classifier …