Analysis
How the data was inspected, summarized, and compared — in plain language.
I pulled mean NAEP scale scores for mathematics and reading, grades 4 and 8, for the U.S. national public average and for Texas, across the years NAEP actually tested: 2015, 2017, 2019, 2022, and 2024. That produced a tidy table of 40 rows (one per jurisdiction × subject × grade × year) with five columns: year, jurisdiction, subject, grade, and score.
The steps I took
- Inspected the structure. I checked the number of rows and columns, and confirmed every cell had a value.
- Checked for missing or unusual values. NAEP is biennial, so years like 2016, 2018, and 2025 return a "999" placeholder meaning "no data." I recognized those and filtered them out rather than treating them as real scores.
- Summarized. I computed averages by subject and grade, the highest and lowest year for each series, and the change from before COVID to after.
- Compared groups. I compared the national average to Texas, and mathematics to reading.
- Created charts. I built line and bar charts to make the patterns visible.
- Used AI tools to help write, run, and explain the analysis — see the AI use section for how that was verified.
Tools
The analysis was written in Python (using pandas and matplotlib) and ran against the NAEP Data Service API through a small command-line tool. The full code and the assembled dataset are available as appendices in the references.
What the analysis does not do
This is a descriptive and comparative analysis. It does not fit a predictive model, and it does not test causal hypotheses — those would require a different design, which I discuss in limitations.