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 β¦