Spider-Man hanging upside down
FIG. 02

Student Risk Dashboard

An XGBoost classifier that flags at-risk students early, wired into a live dashboard built for faculty with no ML background.

ROLE
ML Intern, IIT BHU
TIMELINE
10 weeks
TYPE
ML + Dashboard
STATUS
Completed
3
SIGNAL CATEGORIES
10
WEEK BUILD
3
RISK TIERS
0
ML BACKGROUND NEEDED TO READ IT

Faculty Dashboard

What faculty actually see — plain-language risk tiers, not raw model output.

STUDENT RISK OVERVIEW — SEM 5
STUDENTATTENDANCEASSIGNMENTSRISK
R. Sharma
ID 20214512
52%
38%
HIGH RISK
A. Mehta
ID 20214588
74%
68%
MEDIUM RISK
K. Iyer
ID 20214601
93%
89%
LOW RISK

Case File

Three angles on the same build — click through.

// WHY THIS NEEDED BUILDING

Faculty had academic and attendance data spread across spreadsheets, updated inconsistently across departments, with no early-warning signal for students likely to underperform or drop out.

By the time a student's struggle showed up in a mid-term or final grade, it was often too late to intervene meaningfully. The gap wasn't a lack of data — it was that nobody could turn scattered records into a signal fast enough to act on.

// HOW IT WAS PUT TOGETHER
  • Data Cleaning & Merging — pulled multi-semester academic, attendance, and engagement records from separate spreadsheets into one consistent structure faculty had never had before.
  • Feature Engineering — built features that captured trend over time (is attendance dropping, not just what it is today), not just a single snapshot score.
  • Model Training — trained and tuned an XGBoost classifier, benchmarked against logistic regression and random forest baselines to confirm it was actually the better fit, not just the fashionable one.
  • Dashboard Layer — built a dashboard that translates raw model output into plain-language risk tiers (Low / Medium / High), so a non-technical faculty member never has to interpret a probability score.
  • Validation — checked predictions against historical outcomes to catch false positives before faculty started acting on them.
// WHAT SHIPPED

A working risk-scoring pipeline faculty could act on directly, without needing to interpret raw model scores themselves. Attendance, assignment, and engagement data that used to sit in disconnected spreadsheets now feeds a single risk view, updated as new data comes in.

The bigger lesson: a model is only useful if the people meant to act on it can actually read it. Most of the real design work here wasn't the XGBoost tuning — it was translating a probability into something a professor with zero ML background could glance at and understand in seconds.

Pipeline

From scattered spreadsheets to a single risk score, in four stages.

RAW DATA Spreadsheets Attendance · scores Engagement logs FEATURES Pandas / NumPy Trend features not just snapshots MODEL XGBoost Tuned vs. LR + RF baselines DASHBOARD Risk Tiers Low / Med / High for faculty view

Try the Risk Model

Adjust the sliders to see how attendance and performance signals shift a student's risk tier.

85%
80%
75%
RISK SCORE
18
LOW RISK

What the Model Catches

● HIGH RISK

Attendance 52%, Sharply Declining

Assignment average dropped from 71% to 38% over the semester — the trend, not the snapshot, is what triggers the flag.

● LOW RISK

Attendance 93%, Stable

Consistent scores across assignments and mid-terms, no negative trend in engagement or attendance.

Stack

Click any tag to see how it's actually used in this project.

SELECT A TAG

Click any technology above to see exactly how it's used in this build.

← Ticket Resale Platform Flight Price Predictor →