Dataset
School attendance and dropout — 2024 school year
Synthetic daily attendance records for 6,800 students across 24 schools, structured to support dropout risk and school feeding analysis.
syntheticeducationkobotoolbox
- Rows
- 68,000
- Variables
- 6
- Period
- 2024 school year
- Licence
- CC BY 4.0
- Completeness
- 91%
Files
school-attendance-2024.v1.csvschool-roster-2024.v1.csv
Files are versioned by filename. A corrected release ships as.v2.csv rather than replacing the file in place, so an analysis pinned to v1 keeps reproducing.
Data dictionary
| Variable | Type | Description | Unit | Values | Missing |
|---|---|---|---|---|---|
student_id | string | Pseudonymous student identifier, joins the roster to the attendance file. | — | — | — |
school_id | string | Pseudonymous school identifier. | — | — | — |
attendance_date | date | School day the attendance was recorded for. | — | — | — |
present | boolean | Whether the student was marked present that day. | — | — | — |
grade | integer | Grade level the student was enrolled in. | — | — | — |
feeding_programme | boolean | Whether the school operated a school feeding programme that term. | — | — | — |
Provenance
Data quality
- Simulated records. No real student is represented, and identifiers are randomly generated.
- Attendance is recorded only for scheduled school days, so a missing date is a closure rather than an absence.
Known issues
- Two schools have no records for a three-week strike period.
Example analyses
Python
Dropout risk from attendance patterns
Builds consecutive-absence features per student and ranks dropout risk before term end.
examples/dropout-risk.pyR
Attendance and the school feeding programme
Compares attendance trends between schools with and without feeding programmes.
examples/feeding-attendance.R