DepEd public-school counts for 11 academic years and all 17 regions. Senior high school did not exist until SY 2016-2017; by SY 2020-2021 it held 1,987,180 pupils. Over the same period teachers grew 4.97 times as fast as enrollment.
Enrollment rose 14.61% across the eleven years. Teacher numbers rose 72.66% — 369,009 more teachers, growing 4.97 times as fast — and the pupil-teacher ratio fell from 38.93 to 25.84.
National enrollment and teacher counts across the 11 academic years. The two lines are on separate axes because the point is the difference in slope, not the difference in level.
19,769,142 to 22,656,448 pupils.
507,833 to 876,842 — 369,009 more posts.
Down from 38.93, a fall of 33.6%. Blended across all three levels; section 3 separates them.
K-12 added two years to Philippine basic education. Every senior-high column in the file is zero until SY 2016-2017, which is asserted by a check — a stray value before then would mean the grade columns are being matched wrongly.
Pupils in SY 2016-2017, with 36,788 teachers.
A factor of 2.71, with 74,056 teachers.
Of public basic education in SY 2020-2021. Junior high enrollment rose 27.34% over the period while elementary fell -4.3% — a cohort moving up, not a system shrinking.
Pupils per teacher for each level, each paired only with its own staff. A check asserts that pairing, because crossing two levels' figures would produce a plausible number and would be invisible on a chart.
Down to 26.51, helped by enrollment actually falling -4.3% to 13,626,891 — not only by hiring.
Down to 24.39, the largest fall of the three, and with enrollment up 27.34% at the same time.
The wrong way. It opened here, peaked at 29.57 in SY 2017-2018 when enrollment doubled in one year, and was still 26.83 at the end — recovering, without reaching where it started.
Senior-high enrollment by track in SY 2020-2021. The academic strands together are 61.61%, so the split is not academic-versus-vocational so much as one very large vocational track against four smaller academic ones.
751,873 pupils. The largest single track by a wide margin.
179,227 pupils — 4th of 8, and 4.2 times smaller than TVL.
MARITIME, nationwide. An entire strand smaller than a large school.
Pupils per teacher by region in the last year. The spread is 11.68 pupils between the extremes, and the ordering is close to the ordering of almost every other development measure in this project.
The most crowded of the 17 regions.
The least crowded. A gap of 11.68 pupils per teacher.
Pupils in Region IV-A — more than the whole of BARMM.
Everything above counts children who are enrolled. These are national UIS estimates, which include private schools and children in no school at all — the question the DepEd file cannot answer about itself.
In 2024, meaning 8.55% of a cohort does not finish primary school.
Primary-age children not enrolled anywhere, 2024.
Both 2015, deliberately: net stops at 2015 and gross runs to 2024, so pairing each with its own latest year would print three numbers that do not add up. Net counts only pupils of the official age, so the 16.45-point gap is over-age pupils.
Education spending as a share of GDP across ASEAN in 2022. Indonesia is shown but excluded from the ranking: its series falls from 3.58% of GDP in 2015 to about 1% after, which is a change in what it reports rather than in what it spends, and a break like that is detected rather than assumed.
Of GDP in 2022, the highest of the 5 comparable countries.
The Philippine figure for 2025, its own most recent.
Indonesia, for the series break above. The row is kept rather than dropped, because a five-country chart labelled ASEAN reads as though the sixth was never there.
Four limits, all recorded in the coverage file and asserted by checks.
DepEd counts the schools it runs. Roughly a tenth of Philippine basic education is private, and it is absent from every DepEd figure here — including the pupil-teacher ratios, which would look different if private schools were in them.
There are no test scores in this file, no completion rates and no grades. It records who is on a roll. The national figures in section 6 are the nearest this project gets to an outcome, and they are enrolment and completion rather than attainment.
A teacher may take several classes and a class several teachers, and the file carries neither class nor school counts. The ratio is a staffing measure. It is a real one — it is what changed most over the decade — but it is not the number of children in a room.
Each row is one region in one year, so no pupil cohort can be tracked and no dropout or repetition rate can be computed from this. The rise in junior-high enrollment alongside the fall in elementary is consistent with a cohort moving up, but this data cannot confirm that it is the same children.
One fetcher over a 187-row file, plus the World Bank for what the file cannot say.
The source spells one of them Enrollees_G122_SPORTs — a typo for G12. Matching by prefix counts it; a hand-kept list would have dropped 3,809 pupils and the totals would still have looked plausible. A check asserts the three levels sum to the national total, which is what would catch it next time.
Elementary enrollment against elementary teachers, and so on. A blended figure hides that senior high moved the opposite way from the other two, which is the most interesting thing in the file.
Indonesia's education spending falls from 3.58% of GDP to 1.21% in one year and stays down, because it devolves most spending to its regions and changed what it reports to UIS. Any country whose series halves and stays down is flagged automatically, with the break year recorded, rather than a name being written into the script.
Net secondary enrolment stops at 2015 and gross runs to 2024. Taking each at its own latest year would put 65.56% and 85.29% beside a gap of 16.45 points — three numbers that do not add up. A check fails if the year the page pairs them on ever loses one of them.
The source spells one “BARMM - Bangsamoro Autonomous Region in Muslim Mindanao”. Cards use the acronym; the CSVs keep the full string, so a figure still traces to a row that names the region in full.
UIS completion, enrolment, out-of-school and spending series, fetched from the WDI API because it is reachable and returns a clean error on a wrong indicator code rather than an empty success.
Every figure on this page traces to one of these, through a CSV in
data/ph-education/. Each is checked against its source query on every
build.
DepEd enrollment by grade level and senior-high track, plus teacher counts by level, for all 17 regions across 11 academic years from SY 2010-2011 to SY 2020-2021 — Public schools only -- roughly a tenth of Philippine basic education is private and absent from every figure. Enrollment counts who is on a roll; there are no scores, no completion rates and no cohort tracking.
The originating administrative system for the enrollment and staffing counts above — Cited for provenance. deped.gov.ph is reachable but publishes these as spreadsheets per year rather than as a series; the Kaggle mirror is what this analysis reads.
Primary completion, gross and net enrolment ratios, out-of-school children, adult literacy, tertiary enrolment and education spending as a share of GDP, 1971-2025 — The counterweight: DepEd counts the children who are enrolled, and these count the ones who are not. Indonesia's spending series breaks after 2015 and is marked not comparable rather than published beside the others.
If you have raw data and want to transform it into meaningful insights like this analysis, I'd love to help! Whether it's business data, research datasets, or any information you want to visualize and understand better.
Have a dataset you'd like analyzed or need a mini AI project as a starter guide? Send me your suggestions!
I wrote a companion post — “The Most Popular Senior High Track Is Not STEM” — in simple, everyday words.