Early Student Dropout Prediction
Team of 3 · BINUS · Streamlit app + course research paper
Can dropout risk be flagged at enrollment, before first-semester grades exist?
- Read the profile
- Estimate the risk
- Compare to the threshold
The app's default profile
- Marital status
- Single
- Study program
- Biofuel Production Technologies
- Previous qualification
- Secondary education
- Mother's education
- Secondary education
- Father's education
- Secondary education
- Displaced student
- No
- Special needs
- No
- Gender
- Female
- Age at enrollment
- 18
- International
- No
34.0%Estimated dropout probability
Review threshold 40%
Below the threshold: not flagged.
Walkthrough of real model output. Random Forest, live app, 4 Oct 2026.
- My role
- Trained the app's model; charts and editing for the paper.
- Team
- 3 students: Saladin Zhalifunnas Ahfar, Michael Hendrilie, Valentino Allen Prasetyo. Supervisors: Rifqi Alfinnur Charisma, Henry Lucky
- Stack
- scikit-learn, XGBoost, Streamlit
Problem
Universities usually see dropout risk only after first-semester grades arrive. We tested how early that risk can be flagged.
Data: the UCI “Predict Students’ Dropout and Academic Success” dataset (Realinho et al., 2022). We removed the “Enrolled” class, leaving 3,630 records: 2,209 Graduate and 1,421 Dropout.
Approach
The project has two parts, and their numbers differ because the setups differ. The app uses 10 enrollment-time features and a threshold tuned for recall. The paper uses only pre-acceptance variables, an 80:20 split and SMOTE on the training data.
Part A: EarlyDrop app
A Streamlit screening tool. We compared five pipelines (Random Forest, Extra Trees, SVM with an RBF kernel, logistic regression and gradient boosting) and chose Random Forest, with the decision threshold set to 0.40 for recall.
It uses no semester data, so nothing from after enrollment leaks into the prediction. The code has unit tests.
Part B: Research paper
“Early Student Dropout Prediction Using Pre-Acceptance Variables with Gaussian Naive Bayes and XGBoost.” Course paper (unpublished), Research Methodology in Computer Science (COMP6696), BINUS, June 2026.
We compared Gaussian Naive Bayes and XGBoost in two feature settings: Background-Only and Background-Application.

Results
EarlyDrop app
High recall has a cost. With precision at 0.537, roughly 46% of flagged students in the test set did not drop out.
Research paper
Gaussian Naive Bayes reached recall of 0.94 to 0.97 but precision below 0.40, so it over-flags. Pre-acceptance data gives a useful but moderate early signal.
| Metric | Value |
|---|---|
| Recall | 0.838 |
| Precision | 0.537 |
| F1 | 0.655 |
| ROC-AUC | 0.775 |
| Accuracy | 0.654 |
| Metric | Value |
|---|---|
| Accuracy | 0.733 |
| Precision | 0.651 |
| Recall | 0.683 |
| F1 | 0.667 |


What I did
Paper (CRediT roles): Investigation, Visualization, and Writing: review and editing. I produced the research visualizations: the model comparison, the Top-10 XGBoost feature-importance chart (Fig. 2) and the prediction-probability distribution (Fig. 3).
App: model training and threshold tuning (commits are under Saladin's account because training ran on his machine).
Limitations
EarlyDrop is decision support. Every flag needs human review before anyone acts on it.
Both parts use one public dataset, so the results may not hold at other universities.
Pre-acceptance data alone gives a moderate signal. The paper's best F1 is 0.667.
Links
EarlyDrop app
- EarlyDrop app May take a moment to wake up.
- App code Repository by Saladin Zhalifunnas Ahfar
- App demo video
- App reportNot available yet
Research paper
- Course paper (unpublished) PDF
- Paper trailer

Paper trailer · YouTube - Paper presentationNot available yet
- Paper slidesNot available yet