Skip to content
← All datasets

Student Growth Model (SGM) End-of-Grade Results

Student growth percentiles on Georgia Milestones grades 4-8 tests by school, district, grade, and subject, 2015-2023.

Year coverage
20152023
Updated
annual
Version
1.0.0
Schema hash
b96869f8e00f

Detail levels available

StateDistrictSchool · default

Overview

Georgia Student Growth Model (GSGM / SGP) on End-of-Grade (EOG) Milestones assessments. Each row is a (year x detail_level x geography x subject x grade) cohort's growth-related measures: Median Student Growth Percentile (1-99 ordinal), share of students at or above Typical growth (SGP >= 35), and (in 2023 only) a three-bucket SGP split (Low < 35, Typical 35-65, High > 65). 2015-2019 also report achievement-level percentages (Proficient / Developing Learner and above) on the underlying EOG assessment. Data covers reporting years 2015, 2016, 2017, 2018, 2019, and 2023. No GSGM was reported during COVID years 2020-2022. 2015-2016 report four subjects (ELA, Math, Science, Social Studies); 2017-2019 report only ELA + Math; 2023 reports only ELA + Math.

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

Key metric

sgp_medianSGP Median (percentile, 1–99)

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 (spring year). E.g., 2017 = school year 2016-2017. Data published years are 2015, 2016, 2017, 2018, 2019, 2023.
Full description
Ending calendar year of the school year (spring year). E.g., 2017 = school year 2016-2017. Data published years are 2015, 2016, 2017, 2018, 2019, 2023.
district_codeDistrict Codestringyes3-digit GOSA district/system code (FK to districts dimension). 7-digit charter / state-school codes are preserved in full; 2015-2017 school-level rows published under the bare charter SYSTEM codes 782/783 are promoted to the 7-digit campus code (system + school code) used by 2018+ files. NULL for state-level rows.
Full description
3-digit GOSA district/system code (FK to districts dimension). 7-digit charter / state-school codes are preserved in full; 2015-2017 school-level rows published under the bare charter SYSTEM codes 782/783 are promoted to the 7-digit campus code (system + school code) used by 2018+ files. 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 LevelstringnoGrade tested, 04 through 08 (grade 3 has no prior score for growth); 'all' is the across-grades aggregate.
Full description
Grade level as a zero-padded 2-char string categorical, matching the rest of the per-grade education topics. Per-grade rows carry `"04"`-`"08"` (EOG SGP is only reported for grades 4-8 because an SGP requires a prior-year score, and grade 3 is the first tested grade). The published AllGrades aggregate (2015-2019 only) is preserved as `"all"` because its `sgp_median` cannot be reconstructed from the per-grade medians — analogous to the `"all"` value used in the `demographic` column for cross-demographic aggregates. 2023 has no AllGrades row in bronze.
6 allowed values
  • all — total / aggregate
  • 04
  • 05
  • 06
  • 07
  • 08
subjectSubjectstringnoThe content area tested (english_language_arts, mathematics, science, social_studies).
Full description
Snake-case subject label. 2015-2016 report four subjects (english_language_arts, mathematics, science, social_studies); 2017+ reports only english_language_arts and mathematics.
4 allowed values
  • english_language_arts
  • mathematics
  • science
  • social_studies
num_testedNumber TestedintegercountyesNumber of students who took the EOG assessment. NULL in 2023 (Era 6 does not report this column — see bronze-data-structure.md §Era 6).
Full description
Number of students who took the EOG assessment. NULL in 2023 (Era 6 does not report this column — see bronze-data-structure.md §Era 6).
num_sgp_receivedNumber SGP ReceivedintegercountyesNumber of students with enough prior-year scores to receive a Student Growth Percentile (subset of num_tested in 2015-2019; the only count metric reported in 2023).
Full description
Number of students with enough prior-year scores to receive a Student Growth Percentile (subset of num_tested in 2015-2019; the only count metric reported in 2023).
sgp_received_rateSGP Received RatenumberproportionyesShare of tested students who received an SGP (num_sgp_received / num_tested). 0-1 decimal scale. NULL in 2023 (not reported).
Full description
Share of tested students who received an SGP (num_sgp_received / num_tested). 0-1 decimal scale. NULL in 2023 (not reported).
sgp_medianSGP Mediannumberpercentile1–99yesMedian student growth percentile (1-99); 50 is average growth, higher means faster growth than similar peers.
Full description
Median Student Growth Percentile on the 1-99 ordinal scale (the true SGP domain — there is no 0 or 100 SGP, so the range guard is tightened from the percentile default [0, 100] to [1, 99]). NOT converted to 0-1 — it's a percentile rank, preserved verbatim per data-cleaning-standards §4. Statewide median is 50 by construction. Values can be `.5` halves (e.g., 44.5). NULL on empty-cohort rows (num_sgp_received == 0): a median is undefined with no students, and bronze's sentinel 0 there is outside the valid 1-99 scale, so it is nulled rather than carried (which is why the tightened [1, 99] guard holds). The mask is recorded in the transform manifest (masked_values).
pct_proficient_learner_or_abovePercent Proficient Learner or AbovenumberproportionyesShare of students at the Proficient Learner achievement level or higher on the EOG assessment (0-1 scale; bronze / 100). NULL in 2023 (metric dropped).
Full description
Share of students at the Proficient Learner achievement level or higher on the EOG assessment (0-1 scale; bronze / 100). NULL in 2023 (metric dropped).
pct_developing_learner_or_abovePercent Developing Learner or AbovenumberproportionyesShare of students at the Developing Learner achievement level or higher on the EOG assessment (0-1 scale; bronze / 100). NULL in 2023 (metric dropped).
Full description
Share of students at the Developing Learner achievement level or higher on the EOG assessment (0-1 scale; bronze / 100). NULL in 2023 (metric dropped).
pct_sgp_typical_or_high_growthPercent SGP Typical or High GrowthnumberproportionyesShare of SGP-scored students with SGP >= 35 (Typical or High growth). 0-1 scale. NULL in 2023 — Era 6 replaced this with the three-bucket SGP split below.
Full description
Share of SGP-scored students with SGP >= 35 (Typical or High growth). 0-1 scale. NULL in 2023 — Era 6 replaced this with the three-bucket SGP split below.
pct_sgp_low_growthPercent SGP Low GrowthnumberproportionyesShare of SGP-scored students in the Low Growth band (SGP < 35). 0-1 scale. Era 6 (2023) only; NULL for 2015-2019.
Full description
Share of SGP-scored students in the Low Growth band (SGP < 35). 0-1 scale. Era 6 (2023) only; NULL for 2015-2019.
pct_sgp_typical_growthPercent SGP Typical GrowthnumberproportionyesShare of SGP-scored students in the Typical Growth band (35 <= SGP <= 65). 0-1 scale. Era 6 only; NULL for 2015-2019. NOT the same as pct_sgp_typical_or_high_growth — Era 1-5's `% Typical or High` lumps typical and high together (SGP >= 35).
Full description
Share of SGP-scored students in the Typical Growth band (35 <= SGP <= 65). 0-1 scale. Era 6 only; NULL for 2015-2019. NOT the same as pct_sgp_typical_or_high_growth — Era 1-5's `% Typical or High` lumps typical and high together (SGP >= 35).
pct_sgp_high_growthPercent SGP High GrowthnumberproportionyesShare of SGP-scored students in the High Growth band (SGP > 65). 0-1 scale. Era 6 only; NULL for 2015-2019.
Full description
Share of SGP-scored students in the High Growth band (SGP > 65). 0-1 scale. Era 6 only; NULL for 2015-2019.

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_levelcategoricalall0405060708multi-value, enum-enforced
subjectcategoricalenglish_language_artsmathematicssciencesocial_studiesmulti-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_student_growth_model_end_of_grade"

schools data for 2023

curl "https://georgiacivicdata.org/api/v1/education/georgia_student_growth_model_end_of_grade?year=2023"

Filtered to grade_level = 04 for 2023

curl "https://georgiacivicdata.org/api/v1/education/georgia_student_growth_model_end_of_grade?year=2023&grade_level=04"

One district (code 601), 2023

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

Download 2023 as CSV

curl "https://georgiacivicdata.org/api/v1/education/georgia_student_growth_model_end_of_grade?year=2023&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.