Georgia Milestones End-of-Grade Assessment by Grade
Georgia Milestones End-of-Grade achievement levels by grade, subject, and demographic for schools, districts, and the state, 2015-2024.
- 2015–2024
- annual
- 1.0.0
- 692af1c294d3
Overview
Georgia Milestones End-of-Grade (EOG) assessment results for Georgia public-school students in grades 3-8, disaggregated by individual grade level. Each row is one (entity x grade x demographic subgroup x subject) cell reporting the number of students tested plus the count and percentage of test-takers at each of four achievement levels (Beginning, Developing, Proficient, Distinguished), with derived cumulative developing-or-above and proficient-or-above shares. State, district, and school detail levels. School years 2014-15 through 2023-24; 2019-20 is absent (EOG administration cancelled, COVID-19).
Row grain: One row per year, district_code, school_code, demographic, grade_level, subject.
pct_proficient_learner_or_above — Percent Proficient Learner or Above (proportion)
The single headline value most answers want.
Variables
Every column in the fact table. The code is the exact field name the API returns.
| Column | Type | Unit | Range | Null? | Description |
|---|---|---|---|---|---|
year | integer | — | — | no | Ending calendar year of the school year (e.g., 2024 = 2023-24), from the filename and cross-checked against the file's LONG_SCHOOL_YEAR. 2020 has no rows (EOG cancelled during COVID-19 closures).Full description▾Ending calendar year of the school year (e.g., 2024 = 2023-24), from the filename and cross-checked against the file's LONG_SCHOOL_YEAR. 2020 has no rows (EOG cancelled during COVID-19 closures). |
district_code | string | — | — | yes | GOSA district code (FK to districts dimension): 3-digit zero-padded standard codes or 7-digit state-charter / commission-charter / state-school codes. NULL on state-level rows.Full description▾GOSA district code (FK to districts dimension): 3-digit zero-padded standard codes or 7-digit state-charter / commission-charter / state-school codes. NULL on state-level rows. |
school_code | string | — | — | yes | GOSA school code, zero-padded to 4 characters (composite FK to schools dimension with district_code; not globally unique on its own). NULL on district- and state-level rows.Full description▾GOSA school code, zero-padded to 4 characters (composite FK to schools dimension with district_code; not globally unique on its own). NULL on district- and state-level rows. |
demographic | string | — | — | no | Student subgroup the row covers (race, gender, economic, disability, English-learner, etc.); 'all' is all students.Full description▾Canonical demographic subgroup (FK to the global demographics dimension), normalized from bronze SUBGROUP_NAME. This topic uses the split race convention: asian and pacific_islander are separate, mutually exclusive rows (the source publishes both labels in every year). 18 core subgroups in 2015-2019; active_duty and homeless added in 2021; foster_care and military_connected (renaming active_duty) added in 2022. NON-ADDITIVE MILITARY KEYS: active_duty (2021) and military_connected (2022+) never co-occur in a year, but conceptually active-duty dependents are a subset of military-connected students — do not sum the two keys across years as if disjoint. 22 allowed values▾
|
grade_level | string | — | — | no | Grade tested, 03-08; this is the grade-by-grade breakout that distinguishes this topic from the all-grades rollup.Full description▾Grade of the test-takers in this row, as a canonical 2-char zero-padded string. Bronze ACDMC_LVL is unpadded (3-8) in 2015 and 2019 and zero-padded (03-08) in all other years; gold normalizes both to 03-08. This column is the grain difference vs the all-grades rollup sibling topic. 6 allowed values▾
|
subject | string | — | — | no | EOG content area tested (ELA, mathematics, science, social studies, physical science); coverage varies by grade and year.Full description▾EOG academic subject. english_language_arts and mathematics span grades 3-8 in every year; science and social_studies are restricted to grades 5 and 8 from 2017 (social_studies to grade 8 only from 2021); physical_science (2022+) is an 8th-grade accelerated option. The natural grade x subject sparsity is preserved — untested combinations have no rows; rare out-of-pattern audit/retest cells are retained. 5 allowed values▾
|
num_tested | integer | — | yes | Number of students tested in this (entity x grade x subgroup x subject) cell. NULL when GOSA suppressed the cell (TFS); in 2024 GOSA extended suppression to this column (~30% of rows) while still publishing the rounded percentage distribution.Full description▾Number of students tested in this (entity x grade x subgroup x subject) cell. NULL when GOSA suppressed the cell (TFS); in 2024 GOSA extended suppression to this column (~30% of rows) while still publishing the rounded percentage distribution. | |
num_beginning_learner | integer | — | yes | Count of students at the lowest achievement level (Beginning Learner). Bronze BEGIN_CNT; NULL when suppressed.Full description▾Count of students at the lowest achievement level (Beginning Learner). Bronze BEGIN_CNT; NULL when suppressed. | |
num_developing_learner | integer | — | yes | Count of students at the second achievement level (Developing Learner). Bronze DEVELOPING_CNT; NULL when suppressed.Full description▾Count of students at the second achievement level (Developing Learner). Bronze DEVELOPING_CNT; NULL when suppressed. | |
num_proficient_learner | integer | — | yes | Count of students at the third achievement level (Proficient Learner). Bronze PROFICIENT_CNT; NULL when suppressed.Full description▾Count of students at the third achievement level (Proficient Learner). Bronze PROFICIENT_CNT; NULL when suppressed. | |
num_distinguished_learner | integer | — | yes | Count of students at the highest achievement level (Distinguished Learner). Bronze DISTINGUISHED_CNT; the most-suppressed metric (~70-76% of rows in recent years — few cells have enough distinguished scorers to clear the threshold).Full description▾Count of students at the highest achievement level (Distinguished Learner). Bronze DISTINGUISHED_CNT; the most-suppressed metric (~70-76% of rows in recent years — few cells have enough distinguished scorers to clear the threshold). | |
pct_beginning_learner | number | — | yes | Share of tested students at the Beginning level, 0-1 scale (bronze 0-100 divided by 100). Published shares are exact to one decimal on the 0-100 scale against num_tested. CAVEAT: on foster_care rows from 2022 onward the four level shares can sum below 1 (students tested but not assigned a level, plus all-zero placeholder rows on fully-suppressed cells) — published GOSA values are preserved exactly.Full description▾Share of tested students at the Beginning level, 0-1 scale (bronze 0-100 divided by 100). Published shares are exact to one decimal on the 0-100 scale against num_tested. CAVEAT: on foster_care rows from 2022 onward the four level shares can sum below 1 (students tested but not assigned a level, plus all-zero placeholder rows on fully-suppressed cells) — published GOSA values are preserved exactly. | |
pct_developing_learner | number | — | yes | Share of tested students at the Developing level, 0-1 scale. See pct_beginning_learner for the foster_care caveat.Full description▾Share of tested students at the Developing level, 0-1 scale. See pct_beginning_learner for the foster_care caveat. | |
pct_proficient_learner | number | — | yes | Share of tested students at the Proficient level, 0-1 scale. See pct_beginning_learner for the foster_care caveat.Full description▾Share of tested students at the Proficient level, 0-1 scale. See pct_beginning_learner for the foster_care caveat. | |
pct_distinguished_learner | number | — | yes | Share of tested students at the Distinguished level, 0-1 scale. See pct_beginning_learner for the foster_care caveat.Full description▾Share of tested students at the Distinguished level, 0-1 scale. See pct_beginning_learner for the foster_care caveat. | |
pct_developing_learner_or_above | number | — | yes | Derived cumulative share at Developing or above (developing + proficient + distinguished), 0-1 scale. Computed at transform time from the published per-level shares; sums of publisher-rounded shares that land within 0.005 above 1.0 are snapped to 1.0 (a share cannot exceed 1).Full description▾Derived cumulative share at Developing or above (developing + proficient + distinguished), 0-1 scale. Computed at transform time from the published per-level shares; sums of publisher-rounded shares that land within 0.005 above 1.0 are snapped to 1.0 (a share cannot exceed 1). | |
pct_proficient_learner_or_above | number | — | yes | Share of tested students scoring Proficient or Distinguished (proficient-or-above), on a 0-1 scale; the headline achievement measure.Full description▾Derived cumulative share at Proficient or above (proficient + distinguished), 0-1 scale. Computed at transform time from the published per-level shares; rounding overshoot above 1.0 within 0.005 is snapped to 1.0. |
Filters
Query parameters the fact endpoint accepts. Comma-separated values are OR within a parameter; multiple parameters AND together.
| Parameter | Kind | Allowed values | Notes |
|---|---|---|---|
year | year_exact | any value | — |
year_min | year_range | any value | — |
year_max | year_range | any value | — |
detail | detail | districtsschoolsstates | enum-enforced, default: schools |
district_code | foreign_key | any value | multi-value |
school_code | foreign_key | any value | multi-value |
demographic | foreign_key | 22 allowed values▾
| multi-value, enum-enforced |
grade_level | categorical | 030405060708 | multi-value, enum-enforced, pick one |
subject | categorical | english_language_artsmathematicsphysical_sciencesciencesocial_studies | multi-value, enum-enforced, pick one |
district_type | dimension_attribute | 7 allowed values▾
| multi-value, enum-enforced |
demographic_category | dimension_attribute | 12 allowed values▾
| 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_by_grade_level"schools data for 2024
curl "https://georgiacivicdata.org/api/v1/education/georgia_milestones_end_of_grade_by_grade_level?year=2024"Filtered to grade_level = 03 for 2024
curl "https://georgiacivicdata.org/api/v1/education/georgia_milestones_end_of_grade_by_grade_level?year=2024&grade_level=03"One district (code 601), 2024
curl "https://georgiacivicdata.org/api/v1/education/georgia_milestones_end_of_grade_by_grade_level?district_code=601&year=2024&detail=districts"Download 2024 as CSV
curl "https://georgiacivicdata.org/api/v1/education/georgia_milestones_end_of_grade_by_grade_level?year=2024&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. 2020 has no rows (EOG cancelled during COVID-19). Grade x subject coverage is naturally sparse and changes over time (science/social_studies grades 5+8 only from 2017, social_studies grade 8 only from 2021, physical_science grade 8 only). Foster Care caveat (2022-2024): the foster_care rows are the only rows whose four per-level shares can fail to sum to 1 — 28 fully-unsuppressed state-level rows carry level counts summing below num_tested (students tested but not assigned a performance level at publication), and partially- or fully-suppressed foster_care cells publish shares covering only the unsuppressed levels, including an all-four-zeros placeholder pattern. The published GOSA values are preserved exactly rather than reconciled.