A Time-Synchronous Prequential Evaluation Framework for Next-Week Student Disengagement Prediction from Moodle LMS Logs
Organizations: University of the Witwatersrand, Johannesburg, South Africa · University of Johannesburg, Johannesburg, South Africa
Abstract
Retrospective evaluation of early-warning models may not reflect information available when predictions are issued and outcomes become observable. We developed a time-synchronous prequential framework for online prediction of next-week student disengagement, operationalised as inactivity onset, from Moodle logs. Ordered by calendar time, models were updated only with available outcomes and remained unchanged for all predictions at each prediction cutoff; development, calibration and evaluation were chronologically separate. We compared stochastic gradient descent logistic regression (SGD-LR), online sequential extreme learning machine (OSELM) and echo state network (ESN) across predictive performance, fixed, frozen and rolling threshold policies, calendar-time variation and four behavioural feature sets. Held-out evaluation comprised 49,329 predictions with 37.68% inactivity-onset prevalence. Discrimination was similar (average precision 0.665-0.679; ROC-AUC 0.755-0.774). OSELM had the highest recall, SGD-LR the highest precision and specificity, and ESN the highest Matthews correlation coefficient and balanced accuracy. Lower thresholds increased recall and alert volume, whereas rolling adaptation did not improve MCC over frozen thresholds. Weekly performance and calibrated-probability distributions varied without sustained deterioration. During model selection, cumulative-and-temporal features achieved the highest individual-set AP, with modest gains from combining all feature groups. These findings indicate that streaming early-warning evaluation should consider calibration, threshold-dependent performance, alert burden and calendar-time variation alongside aggregate discrimination.
Figures & tables
| Feature group | Measures | |
|---|---|---|
| Current activity | 7 | Log-transformed counts of total events, views, submissions, attempts, downloads, posts, and other actions in the current week. |
| Cumulative and temporal | 8 | Week-to-week change in log events; positive-change indicator; mean and standard deviation of log events to date; active-week rate; log mean event count to date; and the mean and standard deviation of log events over the most recent four weeks. |
| Risk history | 7 | Log active-streak length; log preceding-inactivity length; log maximum inactivity run to date; inactive-week rate; log inactivity-spell count; reactivation after at least two inactive weeks; and log reactivation count. |
| All features | 22 | All current-activity, cumulative-and-temporal, and risk-history predictors. |
| Model | Development search | Selected configuration |
|---|---|---|
| SGD-LR | Four feature sets; ; . | All 22 features; ; ; . |
| OSELM | Four feature sets; hidden units ; ridge . | All 22 features; 64 hidden units; ridge ; input scale . |
| ESN | Four feature sets; reservoir units ; spectral radius ; leak rate ; ridge . | All 22 features; 64 reservoir units; spectral radius ; leak rate ; ridge ; input scale . |
| Model | AP | ROC- AUC | MCC | F1 | Precision | Recall | Specificity | Balanced accuracy | |
|---|---|---|---|---|---|---|---|---|---|
| SGD-LR | 0.45 | 0.665 | 0.755 | 0.396 | 0.603 | 0.656 | 0.557 | 0.823 | 0.690 |
| OSELM | 0.35 | 0.670 | 0.766 | 0.405 | 0.643 | 0.601 | 0.692 | 0.722 | 0.707 |
| ESN | 0.40 | 0.679 | 0.774 | 0.423 | 0.636 | 0.648 | 0.625 | 0.795 | 0.710 |
| Model | Policy | MCC | Recall | Alert rate (%) | |
|---|---|---|---|---|---|
| SGD-LR | Fixed | 0.300 | 0.346 | 0.736 | 51.37 |
| SGD-LR | Fixed | 0.500 | 0.386 | 0.489 | 26.90 |
| SGD-LR | Frozen MCC | 0.450 | 0.396 | 0.557 | 32.01 |
| SGD-LR | Rolling MCC | 0.450 | 0.387 | 0.551 | 31.86 |
| OSELM | Fixed | 0.300 | 0.392 | 0.738 | 48.64 |
| OSELM | Fixed | 0.500 | 0.400 | 0.545 | 30.75 |
| Model | Feature set | No. features | AP | ROC-AUC | Raw Brier |
|---|---|---|---|---|---|
| SGD-LR | Current | 7 | 0.593 | 0.711 | 0.239 |
| SGD-LR | Cumulative and temporal | 8 | 0.696 | 0.759 | 0.199 |
| SGD-LR | Risk history | 7 | 0.664 | 0.727 | 0.217 |
| SGD-LR | All features | 22 | 0.704 | 0.769 | 0.192 |
| OSELM | Current | 7 | 0.596 | 0.725 | 0.213 |
| OSELM | Cumulative and temporal | 8 | 0.684 | 0.759 | 0.205 |