Mathematical Musings

PISA 2025 · A neutral read

Data and downloads

The main dataset is one row per country, PISA cycle and subject. Below is its data dictionary.

Contents

Contents

Downloads

Report and US annexAbout 23,000 words.PDF (417 KB) Word (78 KB)
Full versionReport, annex, and all supporting sections.PDF (1.2 MB) Word (256 KB)
DatasetCountry × cycle × subject, 2000–2025, with data dictionary.CSV (720 KB) All data (325 KB)
CodeThe Python that built the dataset and ran the checks.ZIP (41 KB)

One row per country/economy (or OECD aggregate) × PISA cycle (2000, 2003, 2006, 2009, 2012, 2015, 2018, 2022, 2025) × domain (reading, mathematics, science). Rows exist only where at least one substantive value is available. 1,681 rows; 100 entities (91 PISA 2025 participants, 5 entities that appear only in the PISA 2022 trend tables — Baku (Azerbaijan), Jamaica, Panama, Ukrainian regions (18 of 27), and Viet Nam’s 2022 row — and 4 OECD aggregates). All scores are on the PISA scale (OECD mean 500, SD 100 in the cycle in which the domain was first the major domain). Regenerate with python3 build_dataset.py; the script reads only files under raw/ and writes build_log.txt with consistency checks.

Sources#

Source File Tables used
PISA 2025 Results (Volume I), Annex B1.2a, StatLink https://stat.link/mrq53f raw/mrq53f.xlsx I.B1.2a.1-3 (2025 means, SD, percentiles), I.B1.2a.10-12 (2025 proficiency levels), I.B1.2a.33-35 (low/top performers by cycle), I.B1.2a.36-38 (means by cycle, changes to 2025, decennial trend), I.B1.2a.39-41 (percentiles by cycle), I.B1.2a.42-44 (SD by cycle)
PISA 2025 Vol. I, Annex B1.2b, https://stat.link/k68msa raw/k68msa.xlsx I.B1.2b.22-24 (performance by national ESCS quarter, 2015-2025)
PISA 2025 Vol. I, Annex B1.2c, https://stat.link/68stqn raw/68stqn.xlsx I.B1.2c.25, 28, 31 (gender gap, 2015-2025)
PISA 2025 Vol. I, Annex B1.2d, https://stat.link/6gtbnx raw/6gtbnx.xlsx I.B1.2d.7-9 (performance by immigrant background, 2015-2025)
PISA 2025 Vol. I, Annex A2, https://stat.link/pe3lsg raw/pe3lsg.xlsx I.A2.1 (Coverage Index 3, 2003-2025)
PISA 2022 Results (Volume I), Annex B1 ch. 5, https://stat.link/wh9d4z raw/pisa2022/wh9d4z.xlsx I.B1.5.1-9 (fill-in for cycles/entities not carried in the 2025 tables), I.B1.5.19-21 (ESCS quarters 2012), I.B1.5.40/43/46 (gender gap 2012)
PISA 2022 Vol. I, Annex A2, https://stat.link/hpg9nd raw/pisa2022/hpg9nd.xlsx I.A2.6 (response rates, PISA 2022)
PISA 2018 Results (Volume I), Annex A2, https://doi.org/10.1787/888934028862 raw/pisa2018/annexA2_888934028862.xlsx I.A2.6 (response rates, PISA 2018)
PISA 2025 Vol. I, Reader’s Guide pp. 16-20 (hard-coded in build_dataset.py) 2025 response rates for the annotated entities; comparability notes

All other 2025 StatLink workbooks listed in raw/ (chapter figures, questionnaire indices, Annex A1 tables, link errors) were downloaded but are not used by the CSV.

Columns#

Column Meaning Source
country Country/economy name as in PISA 2025 Vol. I (asterisks removed; “Czech Republic”→“Czechia”, “Turkey”→“Türkiye”). “OECD average” = all 38 OECD members; “OECD average-35” = OECD excluding Costa Rica, Luxembourg and Spain (comparable since 2015); “OECD average-23” = the 23 members with data in every cycle since 2000 (see Reader’s Guide p. 21); “OECD average-29” = 29 members used for immigrant analyses.
oecd_member 1 = OECD member (38 in 2025), 0 = partner, blank for aggregates
is_aggregate 1 for OECD-average rows
cycle PISA cycle year. Note: PISA 2000+ countries (Albania, Argentina, Bulgaria, Chile, Indonesia, North Macedonia, Peru, Thailand tested in 2001; Hong Kong, Israel, Romania in 2002) are recorded under 2000; PISA 2009+ countries (Costa Rica, Georgia, Malaysia, Malta, Mauritius, Moldova, UAE tested in 2010) under 2009; PISA for Development 2017 results (Cambodia, Ecuador, Guatemala, Paraguay, Zambia) under 2018, as in the OECD tables. Table notes, Annex B1
domain reading / mathematics / science
mean, mean_se Mean score and standard error I.B1.2a.36-38 (2025 workbook); I.B1.2a.1-3 for 2025 rows of entities not in the trend tables; I.B1.5.4-6 (2022 workbook) where filled_from_2022_workbook=1
sd, sd_se Standard deviation of scores I.B1.2a.42-44; I.B1.2a.1-3
p10p90 and _se 10th, 25th, 50th, 75th, 90th percentiles I.B1.2a.39-41; I.B1.2a.1-3; I.B1.5.7-9
pct_below_l2, _se % of students below proficiency Level 2 (science < 409.54; reading < 407.47; mathematics < 420.07) I.B1.2a.33-35; for 2025 rows without trend data, sum of levels below 2 from I.B1.2a.10-12
pct_l5_plus, _se % of students at Level 5 or above same
change_to_2025, change_to_2025_se Mean-score change PISA 2025 minus this cycle; the SE includes the link error (Annex A3). Blank for 2025 rows. I.B1.2a.36-38
change_to_2025_sig 1 if change/SE
p10_change_to_2025, p90_change_to_2025 (+_se) Change in the 10th / 90th percentile to 2025 I.B1.2a.39-41
pct_below_l2_change_to_2025, pct_l5_plus_change_to_2025 (+_se) Percentage-point change in low / top performer shares to 2025 I.B1.2a.33-35
decennial_trend_2015_2025, _se, _p OECD “average decennial trend” (linear regression on 2015-2025 cycles, points per 10 years), reported on the 2025 row only I.B1.2a.36-38
escs_bottom_q_mean, escs_top_q_mean (+_se) Mean score of students in the bottom / top national quarter of ESCS I.B1.2b.22-24 (2015-2025), I.B1.5.19-21 (2012)
escs_gap, escs_gap_se Top minus bottom ESCS quarter (score points) same
escs_gap_change_to_2025, escs_bottom_q_change_to_2025, escs_top_q_change_to_2025 (+_se) Changes to 2025 I.B1.2b.22-24
gender_gap_boys_minus_girls, gender_gap_se Boys’ mean minus girls’ mean I.B1.2c.25/28/31 (2015-2025), I.B1.5.40/43/46 (2012)
gender_gap_change_to_2025, _se Change in the boys-minus-girls gap to 2025 I.B1.2c.25/28/31
nonimmigrant_mean, immigrant_mean, immigrant_gap, immigrant_gap_se Means by immigrant background and immigrant-minus-non-immigrant difference, before accounting for ESCS or language I.B1.2d.7-9
trend_comparable_2025 1 if the OECD reports this cycle’s value as comparable with PISA 2025 in the 2025 Volume I trend tables (value present rather than “m”); 0 otherwise. Forced to 0 for Albania (OECD: “no trend reporting”) and Viet Nam (OECD: “not included in performance trends analyses”), even though the Albania rows carry numbers below the line in the tables. derived from I.B1.2a.36-38; Reader’s Guide
in_2025_trend_table 1 if a mean is reported for this cycle in I.B1.2a.36-38 derived
filled_from_2022_workbook 1 if the mean comes from the PISA 2022 trend tables (only 24 rows: Baku (Azerbaijan) 2018/2022, Jamaica 2022, Panama 2009/2018/2022, Ukrainian regions (18 of 27) 2022, Viet Nam 2022) derived
coverage_index_3 Coverage Index 3: weighted number of participating students ÷ total population of 15-year-olds (proportion, 0-1). Values above 1 (Zambia 2025 = 1.002, Korea 2022, Ireland 2022, Belgium 2022) are as published. I.A2.1 (2025 workbook)
school_rr_before_replacement, school_rr_after_replacement, student_rr Weighted school response rate before / after replacement schools and weighted student response rate, in %. 2018 and 2022 from the Annex A2 tables; 2025 only for the five entities whose rates are quoted in the 2025 Reader’s Guide (Volume I does not publish a 2025 response-rate table; it refers to the forthcoming Technical Report, Chapter 14). I.A2.6 (2018, 2022); Reader’s Guide (2025)
rr_source Source of the response-rate values
asterisk_2025 1 if the entity is annotated with an asterisk in PISA 2025 Vol. I (Albania, Canada, Netherlands, New Zealand, Norway, United States)
asterisk_2022 1 if annotated in PISA 2022 Vol. I trend tables (Australia, Canada, Denmark, Hong Kong (China), Ireland, Jamaica, Latvia, Netherlands, New Zealand, Panama, United Kingdom, United States, Viet Nam) 2022 workbook row labels
oecd_comparability_note Text of the OECD’s sampling/comparability annotation for the entity (Reader’s Guide 2025, table notes)
trend_note Row-level note when a cycle the country participated in is reported as “m” in the 2025 trend tables derived
mean_source Table from which mean was taken

Known quirks#

  • The “OECD average” (38 countries) rows in the trend tables are blank for cycles in which not every current member has comparable data (e.g. 2018 and 2022 reading/mathematics/science), so the OECD’s own trend statements use “OECD average-35” (since 2015) or “OECD average-23” (since 2000); use those rows for time series.
  • ESCS-quarter means for 2015 and 2018 in the 2025 workbook differ by up to about 4 points from the values printed in the 2022 workbook (e.g. OECD science gap 2018: 86.1 vs 87.3), presumably because the ESCS index was recomputed; 2022 values are identical in both workbooks except for the Palestinian Authority, whose 2022 results were recalculated to the 2025 coverage (Reader’s Guide p. 20). The CSV uses the 2025 workbook wherever it has a value. Means for 2000-2022 are identical in both workbooks (1,230 overlapping cells, max difference 0.0001) apart from the Palestinian Authority.
  • Cycles reported as “m” for a country that participated (e.g. Spain reading 2018, Austria 2009, Argentina 2015, Kazakhstan 2015, Malaysia 2015, Jordan reading 2006-2018, United Kingdom 2003, United States reading 2006, Viet Nam 2012-2018) carry no score; Volume I 2025 does not restate the reasons.
  • Significance flags are computed as |estimate/SE| > 1.96, identical to the rule embedded in the workbooks’ conditional formatting; the OECD’s own counts in the text sometimes exclude Cyprus from figures, which explains one-unit differences documented in factual_summary.md.