DRAFT - WORK IN PROGRESS Send feedback

Back to the policy explorer

Methods

How the explorer works

This page explains where each number in the explorer comes from, what each control does, and what the tool leaves out. The tables and charts here read the same data file as the explorer, so they always match it. Section 8 covers the "What would it take?" page, and section 12 the score-change page.

1. The data

The explorer uses public NAEP results only. For each subject and grade, we took the national scores at the 10th, 25th, 50th, 75th, and 90th percentiles and the standard deviation in every year the explorer offers, from the NAEP Data Service (National Center for Education Statistics [NCES], 2025). "National" covers public and private schools together. The table shows how far each percentile's score fell from 2019 to 2024, the pair the project's paper studies and the only pair checked against NAEP's student records. From the same source we also took each year's score distribution: the share of students in every 10-point band of the scale. We took the same bands separately for students NAEP counts as economically disadvantaged and for students it does not, which the eligibility screen and the group results in section 5 use.

Grade 12 math is reported on a 0 to 300 scale and the other five on a 0 to 500 scale, so NAEP points are not comparable across every row. The explorer therefore measures both the drop and the program in standard deviations (SD), using each subject and grade's own SD in the reference year (section 9).

2. The drop

At each percentile p, the change is the comparison year's score minus the reference year's score at that percentile, written D(p); in the pair chosen below, that is 2024 minus 2019. Dividing by the reference year's SD, S, puts it in SD units: D(p) / S. That is the dashed line in the explorer. Its mirror image, g*(p) = −D(p) / S, is what a program would have to add at percentile p to bring that percentile back to its 2019 score. We call g*(p) the restoration requirement. Where scores rose between the two years, D(p) is positive and there is nothing to restore.

To draw the whole curve, we use the five percentiles and the score bands together. Stacking the bands from the bottom of the scale up shows what share of students scored below each band's upper edge, so each band gives one point on the curve, 30 to 40 points per year. We add the five published percentiles as points too, so the curve matches them exactly. Through all of these points we draw, for each year separately, a smooth curve that never turns back on itself (monotone cubic interpolation; Fritsch & Carlson, 1980). Because the bands cover the whole scale, no part of the curve rests on an assumed shape, including the parts below the 10th percentile and above the 90th. The charts still run only from the 10th to the 90th percentile, for the reason given in section 11; the dots mark the five published percentiles.

One cell needed care. In reading, grade 8, in 2017, the edge of the 310-point band falls 0.011 percentile points from the published 90th percentile. Two points that close bend the curve sharply between them, so the tool drops that band point and keeps the published percentile, as it does when a band edge and a percentile coincide exactly. No other cell and year has a gap under 0.04 percentile points.

The change, in SD to

Percentile, from lowest-scoring students (left) to highest (right)

These are different students in each year. The 2024 fourth graders are not the 2019 fourth graders, so the change compares two groups of students. It is a change across cohorts, not a measure of what any one student lost or gained.

3. How much the program helps

The effect control sets the average boost, in SD, for a student who takes part. The buttons under it load estimates from research.

The two tutoring estimates come from a meta-analysis that sorted tutoring programs by how many students they served (Kraft, Schueler, & Falken, 2024). We use the averages for U.S. programs measured with standardized tests, with math and reading pooled. Programs serving 1,000 or more students averaged SD, but that estimate is not statistically different from zero and rests on few studies; the full sample has only nine studies of programs that size. The explorer starts there anyway, because a national recovery effort would have to run at that scale. Programs serving 400 to 999 students averaged SD.

The two summer estimates show how far practice fell short of research. A meta-analysis of summer math programs found an average effect of about SD; it covers math only (Lynch, An, & Mancenido, 2022). Summer programs that eight districts ran in 2022 raised math scores by about SD for students who attended at least one day, and had no detectable effect on reading (Callen et al., 2025). A follow-up found about the same in 2023 (Morton et al., 2025).

Each estimate is an effect for students who took part, which is how the effect control is defined.

For scale, the last column places each estimate in the distribution of 1,942 effects from 747 randomized trials of education programs with standardized test outcomes (Kraft, 2020).

One caution applies to every estimate. Studies measure effects in SD of their own samples, and those samples are usually narrower than the whole nation. Scores vary less in a narrow sample, so the same gain in points is a larger number of SD there than on the national scale (Kraft, 2020). The explorer applies each estimate to the national SD without shrinking it, so it gives programs the benefit of the doubt.

4. How many students take part

The share control sets the fraction of all students in the grade who take part. This is the share who actually take part, not the share who are eligible or offered a seat.

The district tutoring figure comes from a national survey of schools, the NCES School Pulse Panel. Among districts that offer high-dosage tutoring, about of district students take part (as reported by Kraft, Schueler, & Falken, 2024, p. 14). It describes only districts that offer tutoring, so as a national share it is generous.

The sign-up rate comes from a California charter network that offered all of its middle and high school students free, on-demand online tutoring in spring 2021. Without any encouragement, of students used it at least once (Robinson, Bisht, & Loeb, 2025). That is a share of students offered the service, and the service was lighter than high-dosage tutoring. The buttons show it rounded to ; the calculations use the unrounded figure.

The summer figure is the average share of students in grades 1 to 8 who attended at least one day of summer programs in eight districts in 2022, 12.7 percent, rounded to (Callen et al., 2025). Districts that recruited low performers reached only about one in four of the students they targeted.

5. Who takes part

The five buttons tilt participation toward low or high scorers. Each is a straight line in percentile, w(p) = 1 + k(p − 50) / 40, where k sets the slope. The line averages 1 across all students, so a tilt moves seats between score levels without changing how many students take part. The buttons are named by the ratio of the line at the 90th percentile to the line at the 10th: 1:4, 1:2, 1:1, 2:1, and 4:1.

No score level can have more than 100 percent taking part. When a tilt would push a level past 100 percent, the tool fills that level and passes its extra seats to the levels that still have room, in proportion to the line, until every seat is placed. This is called water-filling. It keeps the total number of seats fixed, so a large program with a strong tilt flattens at the top.

Percentile, from lowest-scoring students (left) to highest (right)

Who signs up matters. In the charter network described in section 4, 22.7 percent of students who had passed all their courses used the optional tutoring, compared with 11.6 percent of students with a D or F (Robinson, Bisht, & Loeb, 2025). Stronger students signed up about twice as often, a pattern the "More high scorers" button approximates.

Programs can push the other way by recruiting low scorers, but targeting is imperfect. Summer programs that recruited struggling students did enroll more low performers than programs open to all (Callen et al., 2025). In a study of recovery programs, though, 31 percent of the students in a math intervention meant for students at or below the 20th percentile scored above the 40th (Carbonari et al., 2024). The explorer starts at "All equally."

Seats only for economically disadvantaged students

The "Economically disadvantaged only" button replaces the tilt with an eligibility rule. NAEP counts a student as economically disadvantaged if they are eligible for the National School Lunch Program. Under the rule, seats go at random to those students and to no one else.

What that does at each score level depends on how many disadvantaged students are there. In every 10-point band, the tool divides the disadvantaged students in the band by all students in it, using the 2024 score distributions from section 1, and places that share at the band's percentile. In , disadvantaged students are of all students, of students at the 10th percentile, and at the 90th. If the program has seats for a share B of all students, each disadvantaged student's chance of a seat is B divided by their share of students, and the share taking part at a score level is that chance times the disadvantaged share there. A program with more seats than eligible students seats every one of them and leaves the rest empty, because the rule has no one else to give them to.

The rule uses 2024 shares because the program serves 2024 students. Students whose status NAEP does not know ( of students in 2024) are never eligible.

Results for disadvantaged students and everyone else

The explorer also shows each group's own distribution before and after the program. A disadvantaged student at a given percentile of their own group has some score, and that score sits at some percentile of all students. The program sees the second percentile: under a tilt, that is where the student's chance of a seat and size of boost are read. Under the eligibility screen, every disadvantaged student has the same chance and no one else has any. Each group's result is then counted the same way as the national one (section 7).

The chart plots each group against its own 2019 score, so zero means that group is back where it was. The table gives the distance between the groups at the same percentile of each group, in NAEP points. Each group's curve runs through its own 10-point bands; NAEP's percentiles for each group are not used there.

6. Who gains the most

The second set of buttons tilts the boost the same way, with the same five lines. The boost's average across all students stays at the value of the effect control, so a tilt toward low scorers gives them more and high scorers less, with no change in the average.

The evidence on whether low or high achievers gain more from these programs is thin. The tutoring meta-analysis cites earlier work suggesting tutoring may help lower performers more, but does not test it (Kraft, Schueler, & Falken, 2024). The summer meta-analysis had no measure of students' prior achievement (Lynch, An, & Mancenido, 2022). The 2022 summer study found little consistent difference in effects by students' prior scores (Callen et al., 2025). One tutoring evaluation, cited in a study of recovery programs, found larger effects for higher performers (Carbonari et al., 2025). The explorer therefore starts at "All equally" and treats the other buttons as what-ifs.

Effects in programs for low achievers and programs for everyone

The table uses Kraft's (2023) collection of randomized trials with standardized test outcomes. We coded each study by the students it served: low achievers, everyone, or another group. That does not show that targeted programs work better. A study of low achievers measures its effect against a narrower group whose scores vary less, so the same gain in points is a larger number of SD (Kraft, 2020). On the national scale the explorer uses, those effects would be smaller. None of the sources we reviewed compares the effects of targeted and universal versions of the same program.

7. Two ways to count

When only some students at a score level take part, "how much did the 10th percentile gain?" has two reasonable answers, and the fifth control picks between them.

Same students

Follow the students who started at percentile p. If a share π(p) of them take part and each gains δ(p), the group's average rises by π(p) × δ(p). This counts everyone who started at p, whether or not they took part.

All students

Line everyone up again after the program and read off the new score at percentile p. Students who took part move up past classmates who did not, so the person standing at the 10th percentile afterward may not be someone who started there. The tool computes this exactly. It treats the population after the program as a mix of students who took part (shifted up by their boost) and students who did not (unchanged), and reads the percentiles of that mix. This is the explorer's main measure, because NAEP itself reports percentiles of whoever is tested.

The two agree when everyone at a score level takes part, or no one does. In between they differ, and the difference grows with the boost. A program that reaches only part of each score level spreads scores out, because it splits students at the same starting point into two groups. That is why "All students" can show the 90-10 gap widening even when the program is spread evenly.

8. Rounds of a program

The "What would it take?" page counts how many times a program would have to run to bring the 10th percentile back to its reference-year score. We call each run a round. A round seats a share c of students, with the same chance at every score level, and each seated student gains g SD.

The page counts the way "Same students" does (section 7). In one round, the students who started at any percentile gain c × g SD on average, so every percentile rises by the same amount. Each further round adds that amount again. The 10th percentile therefore needs g*(10th) / (c × g) rounds, rounded up, where g*(10th) is its drop in SD. If each round serves students who have not had a turn, every student has taken part once after 1 / c rounds, rounded up. Because every percentile rises together, the 90-10 gap keeps its comparison-year size however many rounds run. Only the product c × g enters, so take-up and gain count equally.

Three hopeful assumptions sit under these counts. Gains add up from round to round, none fade, and a second turn helps a student as much as the first. Fading can undo the whole plan. If a share f of the gains built up so far fades between rounds, the gain just after each round levels off at c × g / f SD, so the 10th percentile gets back to its reference score only if f is at most c × g / g*(10th). The page reports that threshold for the program you set. The rounds also follow one group of students through repeated runs. Real students move on to the next grade, so the count shows the size of the task, not a schedule.

Counted across all students, one round lifts the 10th percentile slightly less and widens the 90-10 gap slightly, for the reason section 7 gives. The page shows that comparison for one round. It does not count rounds this way, because the "All students" answer after several rounds depends on which students each round seats, and the tool does not model that.

9. Choosing the years

The explorer and the rounds page compare any two NAEP years from 2005 to 2024: a reference year, whose scores are the target, and a later comparison year, whose students the program serves. Grades 4 and 8 were tested in more years than grade 12, so the grade 12 menus are shorter. The table lists the years for each subject and grade.

Three things change with the years. First, the unit. S is the reference year's SD, so the same change in NAEP points is a slightly different number of SD under a different reference year, and so is a program's effect. Second, the direction. Between some pairs of years scores rose, at some percentiles or at all of them. There the explorer reports "No drop" rather than a share undone, and the rounds page counts no rounds. Third, the check. Only 2019 to 2024 is checked against NAEP's student records (section 1); every other pair rests on the public data and the same method.

The economically disadvantaged share also moves. The table below gives, for the subject and grade chosen in section 2, the share NAEP counts as disadvantaged and the share it could not classify, in every year. Comparisons between the two groups are cleaner when those shares are close in the two years compared.

10. The checks

  • The public data match the restricted-use analysis. The companion analysis of NAEP student records reports how much more the 10th percentile fell than the 90th in each subject and grade. The five public percentiles reproduce that figure in all six, to one decimal (the last two columns of the table in section 1).
  • The explorer matches the research code. The simulations were written in R, and the explorer's engine is a separate JavaScript version. An automated test runs both on the same inputs and requires them to agree; they match to about 13 decimal places, far below any digit the page shows. The test also checks that the data file matches the published tables value for value.
  • The score bands agree with the percentiles. A curve drawn through the bands alone, without the five percentiles, lands within about a tenth of a point of every published percentile in every subject, grade, and year. The two sources describe the same distribution, so matching the curve to the percentiles bends it very little.
  • The group results hold together. The explorer's eligibility screen and group results match the R code to at least nine decimal places (about twelve in practice). Two separate calculations of the disadvantaged share of the bottom tenth, one from the 10-point bands and one from each group's curve, agree within 0.2 percentage points in every subject and grade. Under the screen, students who are not disadvantaged never move, and once every disadvantaged student has a seat, every percentile of that group rises by exactly the boost.
  • A second, independent version agrees. A Stata version of the core calculation, written separately, gives the same drops and requirements as the R version to about 14 decimal places.
  • The rounds add up. The same test checks the rounds page's arithmetic: the round counts against the requirement in the published tables for every preset pair, one round against the explorer's "Same students" answer, several rounds against a program that shifts every student by the same total, and a 90-10 gap that never moves. No research-code result covers more than one round, so these checks tie the page to the one-round answer, not to a separate simulation.
  • Other years. The public-data method is the same for every pair of years, but only 2019 to 2024 has the student-record check above. For other pairs, the explorer's results for the proportional rule and the eligibility screen match the research code, run separately on three other pairs, to about 12 decimal places. With the 2019 and 2024 data, the multi-year data file reproduces the original file value for value.
  • Sanity checks. With no one taking part, the tool returns the comparison year's scores exactly. With everyone taking part and the same boost for all, every percentile moves up by exactly that boost, and the two ways to count agree. Every tilt keeps the share taking part and the average boost where the controls set them.

11. The limits

  • Different students. The change compares two cohorts. Undoing it on the chart means the 2024 students would score like the 2019 students did, not that any student recovers a loss.
  • Thin tails. Few students score in the top and bottom tenth, so NAEP measures those scores much less precisely. From NAEP's own standard errors, the drop at the 1st or 99th percentile is uncertain by two to four times as much as at the middle. The charts therefore stop at the 10th and 90th percentiles, though the calculation behind them uses the whole distribution. Inside each 10-point band (a quarter to a third of an SD), the curve is also estimated rather than published.
  • Straight-line tilts. Real programs may target by a cutoff (everyone below the 25th percentile) rather than a smooth slope. The tilts show the direction of an effect, not any one program's rule.
  • A school-lunch measure of disadvantage. Eligibility for the National School Lunch Program is a rough measure of family income, not a direct one. Both the share counted as disadvantaged and the share whose status NAEP does not know move from year to year (section 9 gives them for the subject and grade chosen in section 2), and the tool leaves the unknown students out of both groups.
  • A random screen. The screen gives every eligible student the same chance. A real program might screen on disadvantage and then favor its lowest scorers; the tool does not model that.
  • Same gain for similar students. The tool assumes that, among students with the same score, those who take part would gain as much as those who do not. If students who sign up would have gained more (or less), the results are too pessimistic (or too optimistic).
  • No fade-out. The explorer adds the boost once, in full. The rounds page repeats it and assumes none of it fades between rounds, the best case (section 8 gives the fade rate that would stop the 10th percentile short of its reference score). Neither page models effects that fade over later years, or that build over several years of a program.
  • Generous effects. Research effects are applied to the national SD without shrinking, as section 3 explains. The large-program tutoring estimate is also not statistically different from zero.
  • No costs. The tool says nothing about what a program costs or whether districts could staff it.

12. The score-change page

The score-change page shows how scores changed in each state between any two test years from 2005 to 2024. It covers reading and math in grades 4 and 8, where every state takes part. We left out grade 12 because only a few states have tested it, and only in some years.

Which places. The page covers the 50 states, the District of Columbia, and national public schools. States test only public school students, so the page compares them with national public schools, not with the national sample the rest of this site uses, which includes private schools. We left out two jurisdictions. NAEP flags every DoDEA result with a code we have not yet interpreted, and Puerto Rico takes a different assessment.

How each curve is built. For each place and year we took the same public data the policy explorer uses for the nation (section 1): the scores at the five published percentiles and the share of students in each 10-point band of the scale. The curve passes through the five percentiles and the band edges, so it gives a score at every percentile from the 10th to the 90th. The change at a percentile is the comparison year's score there minus the reference year's.

The check on each curve. The curve passes through the published percentiles by construction, so matching them proves nothing. We therefore build a second curve from the score bands alone and compare it with the published percentiles. Across all 2,080 combinations of place, subject, grade, and year, the two differ by at most 0.65 points, and by at most 0.11 points for national public schools. Had a combination missed by more than 1 point, the page would have dropped its curve and joined its five published points with dashed lines. None did.

In 22 combinations the two sources disagree in order, by a rounding margin. Hawaii's 2024 grade 4 reading bands put a score of 190 at the 24.97th percentile, while NAEP reports 189.97 at the 25th. A higher percentile cannot have a lower score, but the gap is 0.03 points, the size of a rounding error, since NAEP computes the two numbers separately. In these 22 cases we drop the conflicting band edge and keep NAEP's published percentile. We build every other curve as described above.

Significance. A filled marker means NAEP's own test finds the change at that percentile significant; a hollow marker means it does not. We used NAEP's test for every percentile, place, and pair of years (46,800 tests) rather than computing our own.

The spread between percentiles. The table's last column, the tooltips, and the spread grid ask a separate question: did two percentiles move apart or closer together? In grade 8 math, national public schools' 90th percentile fell 5.5 points from 2019 to 2024 and the 10th fell 12.0, so the spread between them widened by 6.4 points. Both percentiles come from the same sample of students, so their two standard errors cannot tell us whether that widening is significant. NAEP runs the test that can, in the NAEP Data Explorer's Gap Analysis ("Across Years," "Between Percentiles") (NCES, n.d.). We requested it for every pair of the five percentiles, every place, and every pair of years (93,600 tests), and the page reports NAEP's call. NAEP's change in the spread matches the difference in the published percentile changes to rounding; in the example above it is 6.44 points, with a standard error of 1.44, and significant. NAEP sets the level at 0.05 and treats each comparison as independent, with no adjustment for the number of tests. The endpoint behind this test is internal to the Data Explorer, not part of NAEP's documented Data Service, so we keep every result in tables/locale-gap-sig.csv.

A second check. The ETS Research Institute's dashboard of 2019-to-2024 changes reports the same five percentiles for the same states. For the 1,040 state, subject, grade, and percentile combinations the two tools share, the 2019 and 2024 scores are identical and every significance call agrees.

Limits. NAEP tests different students each year, so a change compares one year's students with another's, not the same students over time. A state's student population can also shift between years, and the page does not adjust for that.

13. References

  • Callen, I., Carbonari, M. V., DeArmond, M., Dewey, D., Dizon-Ross, E., Goldhaber, D., Isaacs, J., Kane, T. J., Kuhfeld, M., McDonald, A., McEachin, A., Morton, E., Muroga, A., & Staiger, D. O. (2025). Summer school as a learning loss recovery strategy after COVID-19: Evidence from summer 2022. American Educational Research Journal, 62(5), 982–1018. https://doi.org/10.3102/00028312251355990
  • Carbonari, M. V., Davison, M., DeArmond, M., Dewey, D., Dizon-Ross, E., Goldhaber, D., Hashim, A. K., Kane, T. J., McEachin, A., Morton, E., Muroga, A., Patterson, T., & Staiger, D. O. (2024). The impact and implementation of academic interventions during COVID-19: Evidence from the Road to Recovery project. AERA Open, 10.
  • Carbonari, M. V., DeArmond, M., Dewey, D., Dizon-Ross, E., Goldhaber, D., Kane, T. J., McDonald, A., McEachin, A., Morton, E., Muroga, A., Salazar, A., & Staiger, D. O. (2025). Impacts of academic recovery interventions on student achievement in 2022 to 2023. Educational Evaluation and Policy Analysis. Advance online publication. https://doi.org/10.3102/01623737251400377
  • Fritsch, F. N., & Carlson, R. E. (1980). Monotone piecewise cubic interpolation. SIAM Journal on Numerical Analysis, 17(2), 238–246. https://doi.org/10.1137/0717021
  • Kraft, M. A. (2020). Interpreting effect sizes of education interventions. Educational Researcher, 49(4), 241–253. https://doi.org/10.3102/0013189X20912798
  • Kraft, M. A. (2023). The effect size benchmark that matters most: Education interventions often fail. Educational Researcher, 52(3), 183–187. https://doi.org/10.3102/0013189X231155154
  • Kraft, M. A., Schueler, B. E., & Falken, G. (2024). What impacts should we expect from tutoring at scale? Exploring meta-analytic generalizability (EdWorkingPaper No. 24-1031). Annenberg Institute at Brown University. https://doi.org/10.26300/zygj-m525
  • Lynch, K., An, L., & Mancenido, Z. (2022). The impact of summer programs on student mathematics achievement: A meta-analysis (EdWorkingPaper No. 21-379). Annenberg Institute at Brown University. https://doi.org/10.26300/da7r-4z83
  • Morton, E., Goldhaber, D., Kane, T. J., & McEachin, A. (2025). School's in for summer: A scalable and effective post-pandemic academic intervention [Research brief]. NWEA.
  • National Center for Education Statistics. (2025). NAEP Data Service API: National percentiles, standard deviations, and score distributions, reading and mathematics, grades 4, 8, and 12, 2019 and 2024. Institute of Education Sciences, U.S. Department of Education. https://www.nationsreportcard.gov/api_documentation.aspx
  • National Center for Education Statistics. (n.d.). NAEP Data Explorer: Gap analysis, across years, between percentiles, reading and mathematics, grades 4 and 8, 2005 to 2024. Institute of Education Sciences, U.S. Department of Education. Retrieved October 8, 2026, from https://www.nationsreportcard.gov/ndecore/xplore/NDE
  • Robinson, C. D., Bisht, B., & Loeb, S. (2025). The inequity of opt-in educational resources and an intervention to increase equitable access. Educational Researcher. https://doi.org/10.3102/0013189X251331518

Back to the policy explorer