Reproducible analysis code for "Calibrated early-warning models with fairness auditing and selective prediction for course withdrawal risk: evidence from OULAD"
Abstract
This repository provides the reproducible Python code used in the manuscript “Calibrated early-warning models with fairness auditing and selective prediction for course withdrawal risk: evidence from OULAD.” The pipeline builds early-semester features from the Open University Learning Analytics Dataset (OULAD; doi:10.1038/sdata.2017.171) and evaluates withdrawal-risk early-warning models with a deployment-oriented protocol covering discrimination, calibration, policy-aligned fairness auditing, and capacity-aware decision layers (Top-x% alerting and confidence-based selective prediction). What this code does Constructs early-window (e.g., day 0–27 / 4-week) features from OULAD VLE and assessment logs Trains baseline logistic regression and histogram-based gradient boosting (HGB) models Evaluates discrimination (ROC–AUC, PR–AUC) and probability reliability (Brier score, ECE, reliability diagrams) Audits fairness across disability status, gender, and age band under (i) a fixed threshold and (ii) capacity-based Top-x% alerting Implements selective prediction (abstention) to quantify coverage–risk and workload–quality trade-offs Runs robustness checks across observation windows and repeated group-wise splits How to run Install dependencies (see requirements.txt) Download OULAD from the original source (data are not redistributed in this archive) Run: python run_oulad_pipeline_robust.py Outputs: tables and figures reported in the manuscript Notes The OULAD dataset is publicly available (doi:10.1038/sdata.2017.171). This Zenodo record archives the exact code version corresponding to the manuscript submission.
Fields of Study & Subjects
Online Learning and Analytics
Artificial Intelligence in Healthcare
Customer churn and segmentation
Publication details
- Journal / source
- Zenodo (CERN European Organization for Nuclear Research)
- Publication date
- 6 March 2026
- Language
- EN