{"main_topic":"education","sub_topic":"gosa","topic":"hope_eligible_graduates","key":"education/gosa/hope_eligible_graduates","version":"1.0.0","year_min":2004,"year_max":2024,"year_gaps":[],"update_frequency":"annual","detail_levels":["districts","schools","states"],"default_detail":"schools","path_template":"education/hope_eligible_graduates/year={year}/{detail}.parquet","grain":["year","district_code","school_code"],"title":"HOPE-Eligible Graduates","summary":"Georgia high school graduates who met the academic eligibility criteria for the HOPE scholarship, by school, district, and state, 2004-2024.","description":"Governor's Office of Student Achievement (GOSA) HOPE Eligibility dataset. For every Georgia public high school, school district, and the state as a whole, reports the number of graduating seniors who met the academic eligibility criteria for Georgia's HOPE scholarship program. Three metrics: num_graduates (regular graduates), num_hope_eligible (subset that met HOPE academic eligibility), and hope_eligible_rate (the share that met eligibility, on a 0-1 decimal scale). Coverage: spring 2004 through spring 2024 (21 files; filename year = spring graduation year). No demographic / gender / race breakdowns — every row is the all-students total. There is a substantive series break between 2006 and 2007: state-level percent eligible drops from ~62% (2006) to ~38% (2007+). This reflects a real methodology change in HOPE eligibility determination, not a data-processing artifact: beginning with the high school graduating class of 2007, the Georgia Student Finance Commission (GSFC) began computing each student's HOPE GPA directly from electronic high-school transcript data (the GSFC-calculated HOPE GPA) rather than relying on the school-reported GPA used previously. The break is preserved as published, not 'fixed'. Treat 2004-2006 and 2007-2024 as separate eras when comparing percentages.","source":"Governor's Office of Student Achievement (GOSA)","source_url":"https://gosa.georgia.gov/dashboards-data-report-card/downloadable-data","endpoint":"/api/v1/education/hope_eligible_graduates","columns":[{"name":"year","type":"integer","role":"year","nullable":false,"label":"Year","short_description":"","description":"Spring graduation year (e.g., 2024 = spring-2024 graduating class, 2023-2024 school year). For Era 1 and Era 2 files the filename year is cross-checked against the LONG_SCHOOL_YEAR column's ending year and must match.","valid_values":null,"example":2024,"unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"district_code","type":"string","role":"fk_district","nullable":true,"label":"District Code","short_description":"","description":"3-digit GOSA district code (zero-padded). 7-digit charter / state-school codes pass through unchanged (e.g., 7820412). NULL for state-level aggregate rows. FK to districts dimension.","valid_values":null,"example":"601","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"school_code","type":"string","role":"fk_school","nullable":true,"label":"School Code","short_description":"","description":"4-digit GOSA school code (zero-padded). NULL for district- and state-level aggregate rows. FK to schools dimension (composite PK with district_code). Bronze padding is inconsistent across eras (the composite-key eras ship unpadded 3-digit codes; Era 2 mixes by year; 2008 mixes within the file); the transform normalizes to 4 digits via zfill.","valid_values":null,"example":"0103","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"num_graduates","type":"integer","role":"metric","nullable":true,"label":"Number Graduates","short_description":"","description":"Number of regular high-school graduates in the cohort. NULL when suppressed in bronze (TFS = Too Few Students, applied per the 2009 source SQL when graduates <= 9; affects 2009 and 2011-2024) or when the bronze cell is genuinely blank — a value GOSA left unreported (all 2014 and 2020 NULLs are blank cells; those files contain no TFS markers). The 2004-2008 and 2010 files have no suppression, so their values are uncensored.","valid_values":null,"example":335,"unit":"count","value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":"denominator"},{"name":"num_hope_eligible","type":"integer","role":"metric","nullable":true,"label":"Number HOPE Eligible","short_description":"","description":"Number of graduates in this cohort who met HOPE academic eligibility (GPA + required-course requirements). NULL when TFS-suppressed or when the bronze cell is genuinely blank (both occur in 2011-2020; see the suppression note). May be 0 (e.g., Renaissance Academy in 2008 had 28 graduates and 0 HOPE-eligible — a real zero, not suppression). Never exceeds num_graduates (enforced by a quality check; 0 violations in bronze).","valid_values":null,"example":170,"unit":"count","value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":"numerator"},{"name":"hope_eligible_rate","type":"number","role":"metric","nullable":true,"label":"HOPE Eligible Rate","short_description":"Share of graduates that met HOPE academic eligibility, on a 0-1 scale; NULL when suppressed (too few students).","description":"Share of graduates that met HOPE academic eligibility, on a 0-1 decimal scale (bronze 0-100 divided by 100). NULL when TFS-suppressed or genuinely blank in bronze (see the suppression note). For derived district + state aggregates (2008 all levels above school; 2004 district level) and bronze rows merged under one school code (the 2004 trailing-x pairs, the 2008 Westside pair), this is computed as num_hope_eligible / num_graduates — a graduate-count weighted mean across the contributing rows. Reconciles with the published counts within 0.005 everywhere (measured max deviation 0.0005, from 1-decimal bronze rounding).","valid_values":null,"example":0.5075,"unit":"proportion","value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null}],"key_metric":"hope_eligible_rate","usage":"Star-schema fact table. Join the districts dimension on district_code; the schools dimension on district_code + school_code. Read directly with DuckDB over Parquet.","limitations":"Suppressed cells are NULL (not zero). State rows have NULL district_code and school_code; district rows have NULL school_code. Derived-aggregate caveat: for 2008 the bronze ships only school-level rows, so all district and state aggregate rows are derived here (sum of counts, graduate-count-weighted mean for hope_eligible_rate); the derived 2008 state total matches the bronze State Level sheet exactly (Renaissance Academy, fully orphaned, is excluded by both). For 2004 the bronze has school + state rows but no district rollups, so the 2004 district rows are likewise derived from the school rows. A separate known 2004 bronze artifact means the official state total (68,163 graduates / 42,233 eligible) is ~0.2% higher than the sum of itemized 2004 school rows, so a user roll-up from schools/districts to state will be ~0.2% short for 2004 only.","null_semantics":{"suppressed_to_null":true,"zero_is_real":true},"available_years":[2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024],"schema_hash":"09bef34719e284141e0b1b30494b268f25cc91bf4d8295935c38624d7e371346","tags":["education","governor's office of student achievement","hope_eligible_graduates"],"granularity_description":"One row per year, district_code, school_code (geography columns are NULL at higher aggregation levels).","example_queries":[{"description":"Latest year (2024), schools detail","query":"SELECT * FROM hope_eligible_graduates WHERE year = 2024 LIMIT 100"},{"description":"District 601 in 2024","query":"SELECT * FROM hope_eligible_graduates WHERE district_code = '601' AND year = 2024 LIMIT 100"}],"foreign_keys":[{"column":"district_code","target_object":"districts","target_columns":["district_code"],"attribute_columns_added":["district_name","district_census_id","district_type"],"scope":"domain"},{"column":"school_code","target_object":"schools","target_columns":["district_code","school_code"],"attribute_columns_added":["school_name"],"scope":"domain"}],"filters":[{"param":"year","kind":"year_exact","type":"integer","multi_value":false,"enum_enforced":false,"values":null},{"param":"year_min","kind":"year_range","type":"integer","multi_value":false,"enum_enforced":false,"values":null},{"param":"year_max","kind":"year_range","type":"integer","multi_value":false,"enum_enforced":false,"values":null},{"param":"detail","kind":"detail","type":"string","multi_value":false,"enum_enforced":true,"values":["districts","schools","states"],"default":"schools"},{"param":"district_code","kind":"foreign_key","column":"district_code","type":"string","multi_value":true,"enum_enforced":false,"values":null},{"param":"school_code","kind":"foreign_key","column":"school_code","type":"string","multi_value":true,"enum_enforced":false,"values":null},{"param":"district_type","kind":"dimension_attribute","dimension":"districts","column":"district_type","type":"string","multi_value":true,"enum_enforced":true,"values":["commission_charter","resa","standard","state_agency","state_charter","state_school","state_special"]}],"filter_hints":[]}