Skip to content
← All datasets

Georgia Milestones End-of-Grade (EOG) Results

Georgia Milestones grades 3-8 test results by school, district, grade, and subject, 2015-2025.

Year coverage
20152025
Updated
annual
Version
1.0.0
Schema hash
809585caadc3

Detail levels available

StateDistrictSchool · default

Overview

Georgia Milestones End-of-Grade (EOG) assessment results for grades 3-8 — published annually (except 2020, cancelled due to COVID) at the state, district/system, and school level. The primary metrics are the count of students tested, the mean scale score, and the share of students at each of the four achievement levels (Beginning / Developing / Proficient / Distinguished Learner) plus the two cumulative shares. English Language Arts rows additionally carry Reading Status metrics (pct_below_grade_level_lexile / pct_grade_level_or_above_lexile) from 2018 onward, anchored to grade-specific Lexile thresholds (520L for grade 3, 740L for grade 4, 830L for grade 5, 925L for grade 6, 970L for grade 7, 1010L for grade 8). 2016-2021 grade 6-8 rows split affected subjects into EOG / EOC / Combined variants to represent middle-schoolers taking end-of-course exams early (captured in the assessment_type column). 2022+ drops the EOC variants (moved to the georgia_milestones_end_of_course topic), adds a Standard Deviation metric per subject, and adds Physical Science for grade 8. 2024-2025 adds Student Growth Percentile (SGP) metrics — num_sgp_received, sgp_median, pct_sgp_low_growth, pct_sgp_typical_growth, pct_sgp_high_growth — reported on the parent ELA / Mathematics rows for grades 4-8.

Row grain: One row per year, district_code, school_code, grade_level, subject, assessment_type.

Key metric

avg_scale_scoreAverage Scale Score (score, 140–830)

The single headline value most answers want.

Variables

Every column in the fact table. The code is the exact field name the API returns.

ColumnTypeUnitRangeNull?Description
yearYearintegernoEnding calendar year of the school year (e.g., 2025 = school year 2024-2025). 2020 is absent — the COVID-19 pandemic cancelled the administration.
Full description
Ending calendar year of the school year (e.g., 2025 = school year 2024-2025). 2020 is absent — the COVID-19 pandemic cancelled the administration.
district_codeDistrict Codestringyes3-digit GOSA district/system code (FK to districts dimension). 7-digit charter / state-school campus codes are preserved in full; 2015 school-level rows published under the bare charter SYSTEM codes 782/783 are promoted to the 7-digit campus code (system + school code), and the 2015 shared state-school code 799 is remapped to the unique 7991893/7991894/7991895 codes used from 2016. NULL for state-level rows.
Full description
3-digit GOSA district/system code (FK to districts dimension). 7-digit charter / state-school campus codes are preserved in full; 2015 school-level rows published under the bare charter SYSTEM codes 782/783 are promoted to the 7-digit campus code (system + school code), and the 2015 shared state-school code 799 is remapped to the unique 7991893/7991894/7991895 codes used from 2016. NULL for state-level rows.

Joins districts; adds its label columns.

school_codeSchool Codestringyes4-digit GOSA school code (FK to schools dimension, composite with district_code). NULL for district- and state-level rows.
Full description
4-digit GOSA school code (FK to schools dimension, composite with district_code). NULL for district- and state-level rows.

Joins schools; adds its label columns.

grade_levelGrade LevelstringnoTested grade, 03 through 08 (Milestones EOG covers only grades 3-8).
Full description
Grade level, zero-padded 2-char string ('03'..'08'). Georgia Milestones EOG is administered only to grades 3-8. Same encoding as the other per-grade education topics.
6 allowed values
  • 03
  • 04
  • 05
  • 06
  • 07
  • 08
subjectSubjectstringnoThe content area tested (english_language_arts, mathematics, science, social_studies, physical_science).
Full description
Snake-case academic content area: english_language_arts, mathematics, science, social_studies, physical_science (grade 8 only, from 2022 — 8th-graders taking the high-school Physical Science course early; bronze labels it 'HS Physical Science'). Bronze ships Reading Status and Student Growth Percentile (SGP) as parallel "subject" blocks, but those are metric families computed on the ELA / Mathematics test-taker population — the transform folds their metric columns onto the parent ELA / Mathematics row (pct_below_grade_level_lexile, pct_grade_level_or_above_lexile, num_sgp_received, sgp_median, pct_sgp_*) and drops the parallel rows.
5 allowed values
  • english_language_arts
  • mathematics
  • science
  • social_studies
  • physical_science
assessment_typeAssessment TypestringnoMarks regular EOG vs the 2016-2021 early end-of-course variants; use eog for year-over-year comparisons.
Full description
Differentiates regular EOG from the middle-school EOG / EOC / Combined triples that existed in 2016-2021 (middle-schoolers taking End-of-Course exams early: Mathematics 2016-2019, Science 2016-2021, English Language Arts 2018-2019 — never Social Studies). 2015 and 2022+ data is always `eog`. Filter assessment_type = 'eog' for the canonical comparison-safe year-over-year EOG-only time series.
3 allowed values
  • eog
  • eoc
  • eog_and_eoc_combined
num_testedNumber TestedintegercountyesNumber of students who took the test. NULL when the source suppresses the cell ('--') for small populations.
Full description
Number of students who took the test. NULL when the source suppresses the cell ('--') for small populations.
avg_scale_scoreAverage Scale Scorenumberscore140–830yesAverage end-of-grade scale score (140-830 scale); higher means stronger performance.
Full description
Mean scale score on the EOG scale. Georgia Milestones EOG scale scores span 140-830 across grades/subjects (per-grade min/max differ; the envelope runs from the grade-6 ELA floor of 140 to the grade-3 ELA ceiling of 830, per the GaDOE EOG Score Interpretation Guide); the contract enforces that range. NOT converted to 0-1 — scale scores are preserved as-is per education CLAUDE.md. Never published for eoc / eog_and_eoc_combined rows (the bronze EOC blocks ship no Mean Scale Score column).
scale_score_std_devScale Score Std DevnumberyesStandard deviation of the scale scores — a dispersion measure, NOT a bounded score. Units are scale-score points; the value is always >= 0. Exempt from unit/range checks (it has no fixed upper bound). Published from 2022 onward; NULL for all earlier years.
Full description
Standard deviation of the scale scores — a dispersion measure, NOT a bounded score. Units are scale-score points; the value is always >= 0. Exempt from unit/range checks (it has no fixed upper bound). Published from 2022 onward; NULL for all earlier years.
pct_beginning_learnerPercent Beginning LearnernumberproportionyesShare of tested students at the Beginning Learner level (0-1 decimal scale; bronze 0-100 divided by 100).
Full description
Share of tested students at the Beginning Learner level (0-1 decimal scale; bronze 0-100 divided by 100).
pct_developing_learnerPercent Developing LearnernumberproportionyesShare at Developing Learner (0-1 scale).
Full description
Share at Developing Learner (0-1 scale).
pct_proficient_learnerPercent Proficient LearnernumberproportionyesShare at Proficient Learner (0-1 scale).
Full description
Share at Proficient Learner (0-1 scale).
pct_distinguished_learnerPercent Distinguished LearnernumberproportionyesShare at Distinguished Learner (0-1 scale).
Full description
Share at Distinguished Learner (0-1 scale).
pct_developing_learner_or_abovePercent Developing Learner or AbovenumberproportionyesShare at Developing Learner or higher (= developing + proficient + distinguished). Published by the source and preserved verbatim rather than re-derived.
Full description
Share at Developing Learner or higher (= developing + proficient + distinguished). Published by the source and preserved verbatim rather than re-derived.
pct_proficient_learner_or_abovePercent Proficient Learner or AbovenumberproportionyesShare at Proficient Learner or higher (= proficient + distinguished). Published by the source and preserved verbatim.
Full description
Share at Proficient Learner or higher (= proficient + distinguished). Published by the source and preserved verbatim.
pct_below_grade_level_lexilePercent Below Grade Level LexilenumberproportionyesReading Status: share of ELA test takers reading BELOW the grade-specific Lexile threshold (2018 onward). Populated only on english_language_arts rows. The threshold is 520L / 740L / 830L / 925L / 970L / 1010L for grades 3 / 4 / 5 / 6 / 7 / 8 — documented here rather than encoded in the column name so the schema stays grade-agnostic.
Full description
Reading Status: share of ELA test takers reading BELOW the grade-specific Lexile threshold (2018 onward). Populated only on english_language_arts rows. The threshold is 520L / 740L / 830L / 925L / 970L / 1010L for grades 3 / 4 / 5 / 6 / 7 / 8 — documented here rather than encoded in the column name so the schema stays grade-agnostic.
pct_grade_level_or_above_lexilePercent Grade Level or Above LexilenumberproportionyesReading Status: share of ELA test takers reading at or above the grade-specific Lexile threshold; complement of pct_below_grade_level_lexile. Populated only on english_language_arts rows (2018 onward).
Full description
Reading Status: share of ELA test takers reading at or above the grade-specific Lexile threshold; complement of pct_below_grade_level_lexile. Populated only on english_language_arts rows (2018 onward).
enrolled_tested_rateEnrolled Tested RatenumberproportionyesShare of enrolled students who actually tested. Published ONLY by the 2021 files (testing was optional during COVID, so participation is essential context); NULL for every other year. The 2021 grade-8 system file leaves this sub-header blank in the ELA-EOG block (a merged-cell artifact); the transform repairs the header so the published participation rates are preserved.
Full description
Share of enrolled students who actually tested. Published ONLY by the 2021 files (testing was optional during COVID, so participation is essential context); NULL for every other year. The 2021 grade-8 system file leaves this sub-header blank in the ELA-EOG block (a merged-cell artifact); the transform repairs the header so the published participation rates are preserved.
num_sgp_receivedNumber SGP ReceivedintegercountyesNumber of students with a Student Growth Percentile. Populated only on english_language_arts / mathematics rows at grades 4-8 from 2024 onward. Counted on the SGP-scored subset of test takers — distinct from num_tested. NULL elsewhere.
Full description
Number of students with a Student Growth Percentile. Populated only on english_language_arts / mathematics rows at grades 4-8 from 2024 onward. Counted on the SGP-scored subset of test takers — distinct from num_tested. NULL elsewhere.
sgp_medianSGP MediannumberpercentileyesMedian Student Growth Percentile (1-99 percentile rank, preserved on its natural scale per data-cleaning-standards §4). Float64 because even-population groups yield half-integer medians.
Full description
Median Student Growth Percentile (1-99 percentile rank, preserved on its natural scale per data-cleaning-standards §4). Float64 because even-population groups yield half-integer medians.
pct_sgp_low_growthPercent SGP Low GrowthnumberproportionyesShare of SGP-scored students in the Low Growth band (0-1 scale).
Full description
Share of SGP-scored students in the Low Growth band (0-1 scale).
pct_sgp_typical_growthPercent SGP Typical GrowthnumberproportionyesShare in the Typical Growth band (0-1 scale).
Full description
Share in the Typical Growth band (0-1 scale).
pct_sgp_high_growthPercent SGP High GrowthnumberproportionyesShare in the High Growth band (0-1 scale).
Full description
Share in the High Growth band (0-1 scale).

Filters

Query parameters the fact endpoint accepts. Comma-separated values are OR within a parameter; multiple parameters AND together.

ParameterKindAllowed valuesNotes
yearyear_exactany value
year_minyear_rangeany value
year_maxyear_rangeany value
detaildetaildistrictsschoolsstatesenum-enforced, default: schools
district_codeforeign_keyany valuemulti-value
school_codeforeign_keyany valuemulti-value
grade_levelcategorical030405060708multi-value, enum-enforced, pick one
subjectcategoricalenglish_language_artsmathematicssciencesocial_studiesphysical_sciencemulti-value, enum-enforced, pick one
assessment_typecategoricaleogeoceog_and_eoc_combinedmulti-value, enum-enforced, pick one
district_typedimension_attribute
7 allowed values
  • commission_charter
  • resa
  • standard
  • state_agency
  • state_charter
  • state_school
  • state_special
multi-value, enum-enforced

Example requests

Run these against the base URL — they return live data.

All rows (first page), schools level

curl "https://georgiacivicdata.org/api/v1/education/georgia_milestones_end_of_grade"

schools data for 2025

curl "https://georgiacivicdata.org/api/v1/education/georgia_milestones_end_of_grade?year=2025"

Filtered to grade_level = 03 for 2025

curl "https://georgiacivicdata.org/api/v1/education/georgia_milestones_end_of_grade?year=2025&grade_level=03"

One district (code 601), 2025

curl "https://georgiacivicdata.org/api/v1/education/georgia_milestones_end_of_grade?district_code=601&year=2025&detail=districts"

Download 2025 as CSV

curl "https://georgiacivicdata.org/api/v1/education/georgia_milestones_end_of_grade?year=2025&format=csv"

Notes & limitations

NULL handling

  • Suppressed cells (too few students to report) are NULL, never zero.
  • Zero is a real, reported value.

Limitations

Suppressed cells are NULL (not zero). State rows have NULL district_code and school_code. District rows have NULL school_code.