{"main_topic":"education","sub_topic":"gosa","topic":"per_pupil_expenditure","key":"education/gosa/per_pupil_expenditure","version":"1.0.0","year_min":2014,"year_max":2024,"year_gaps":[],"update_frequency":"annual","detail_levels":["districts","schools"],"default_detail":"schools","path_template":"education/per_pupil_expenditure/year={year}/{detail}.parquet","grain":["year","district_code","school_code"],"title":"Per-Pupil Expenditure (FESR)","summary":"Annual per-pupil spending — total, federal, and state/local — for Georgia school districts (2014-2024) and schools (2017-2024), from the FESR methodology.","description":"Annual per-pupil expenditure panel for Georgia public school districts and schools under the GOSA Financial Efficiency Star Rating (FESR) methodology: total, federal, and state/local expenditures, full-time-equivalent K-12 enrollment, and the resulting per-pupil expenditure (PPE) for every fiscal year the FESR downloads cover — district rows FY2014-FY2024 (the 180 traditional systems), school rows FY2017-FY2024 (all schools, including charter authorizers). District rows additionally carry the federal vs state/local split of total expenditures; school rows additionally carry the pre-allocation included/excluded expenditure split and the school's share of district enrollment. This is the FESR included-cost per-pupil series, whereas the k12_expenditures topic is the full function-level expenditure ledger — their totals intentionally differ (FESR excludes capital, debt, and other non-included costs). It is also the reliable school-level PPE series (the k12_expenditures school per-pupil column is degenerate in 2023-24). The FESR star ratings built from this panel live in the sibling financial_efficiency_star_rating topic.","source":"Governor's Office of Student Achievement (GOSA)","source_url":"https://gosa.georgia.gov/dashboards-data-report-card/downloadable-data","endpoint":"/api/v1/education/per_pupil_expenditure","columns":[{"name":"year","type":"integer","role":"year","nullable":false,"label":"Year","short_description":"","description":"Fiscal year the row's expenditure and enrollment inputs refer to (e.g. FY2024 = 2023-24 school year). Differs from the bronze filename year for back-window rows: each rolling FESR report covers up to 3 fiscal years, but gold keys every row by the actual fiscal year.","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":false,"label":"District Code","short_description":"","description":"GOSA district/system code (FK to districts dimension), zero-padded to 3 digits (7-digit codes are charter authorizers, school rows only). District-detail rows cover the 180 traditional school systems (codes 601-793); school-detail rows additionally include charter authorizer codes. Populated on every row.","valid_values":null,"example":"657","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":"GOSA school code, zero-padded to 4 characters (composite FK to schools dimension with district_code; not globally unique on its own). Populated on school rows only — district aggregate rows carry NULL.","valid_values":null,"example":"0103","unit":null,"value_min":null,"value_max":null,"null_meaning":"Populated only on school-detail rows; NULL on every district-detail row (the district level has no school code). The geography-key NULL pattern is how detail level is read from the unioned table.","key_metric_grain_contributor":false,"metric_component":null},{"name":"total_expenditures","type":"number","role":"metric","nullable":true,"label":"Total Expenditures","short_description":"","description":"Total expenditures for the fiscal year (nominal dollars, not inflation-adjusted). For DISTRICT rows this is the district's total included expenditures (= federal_expenditures + state_local_expenditures within $1, enforced by a quality check). For SCHOOL rows this is the per-school total — included expenditures plus the school's allocated share of district central costs (= total_federal_expenditures + total_state_local_expenditures within $10; from FY22 also folds in Allocated CCA and Alternative Program costs, so FY22+ school totals are not strictly comparable to FY17-FY21). per_pupil_expenditure = total_expenditures / fte_enrollment at both levels.","valid_values":null,"example":8125000.0,"unit":"currency","value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"fte_enrollment","type":"integer","role":"metric","nullable":true,"label":"FTE Enrollment","short_description":"","description":"Full-time-equivalent K-12 enrollment, the denominator of per_pupil_expenditure (per_pupil_expenditure = total_expenditures / fte_enrollment within rounding at both detail levels, enforced by a quality check).","valid_values":null,"example":984,"unit":"count","value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":"denominator"},{"name":"per_pupil_expenditure","type":"number","role":"metric","nullable":true,"label":"Per-Pupil Expenditure","short_description":"Total dollars spent per student for the fiscal year (nominal, not inflation-adjusted).","description":"Per-pupil expenditure for the fiscal year (nominal dollars) = total_expenditures / fte_enrollment, as published (rounded to cents by the source). A few Atlanta (district 660) school rows in FY21/FY22 are negative — faithful GOSA restatements preserved per §4b, not errors.","valid_values":null,"example":9349.52,"unit":"currency","value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"federal_per_pupil_expenditure","type":"number","role":"metric","nullable":true,"label":"Federal per Pupil Expenditure","short_description":"","description":"Federal portion of per_pupil_expenditure (nominal dollars). federal_per_pupil_expenditure + state_local_per_pupil_expenditure = per_pupil_expenditure within rounding (enforced by a quality check). NULL for district FY2014.","valid_values":null,"example":578.3,"unit":"currency","value_min":null,"value_max":null,"null_meaning":"NULL for district FY2014 (the 2016 workbook, the only source covering FY14, published no federal/state-local breakdown).","key_metric_grain_contributor":false,"metric_component":null},{"name":"state_local_per_pupil_expenditure","type":"number","role":"metric","nullable":true,"label":"State Local per Pupil Expenditure","short_description":"","description":"State + local portion of per_pupil_expenditure (nominal dollars). NULL for district FY2014.","valid_values":null,"example":8771.22,"unit":"currency","value_min":null,"value_max":null,"null_meaning":"NULL for district FY2014 (no breakdown published).","key_metric_grain_contributor":false,"metric_component":null},{"name":"federal_expenditures","type":"number","role":"metric","nullable":true,"label":"Federal Expenditures","short_description":"","description":"Federal portion of the district's total_expenditures (nominal dollars). District-detail rows only. The school-level analogue of this quantity is total_federal_expenditures (both split the shared total_expenditures column); they are kept as separate columns because the school download names them differently and additionally publishes the pre-allocation included_* split, which districts do not.","valid_values":null,"example":5542000.0,"unit":"currency","value_min":null,"value_max":null,"null_meaning":"Populated on DISTRICT rows only (NULL on every school row — schools instead publish total_federal_expenditures, the same federal share of total_expenditures, plus the distinct included_federal_expenditures pre-allocation split). Also NULL for district FY2014, whose only source published totals without a breakdown.","key_metric_grain_contributor":false,"metric_component":null},{"name":"state_local_expenditures","type":"number","role":"metric","nullable":true,"label":"State Local Expenditures","short_description":"","description":"State + local portion of the district's total_expenditures (nominal dollars). District-detail rows only; the school-level analogue is total_state_local_expenditures.","valid_values":null,"example":79501000.0,"unit":"currency","value_min":null,"value_max":null,"null_meaning":"Populated on DISTRICT rows only (NULL on every school row — schools publish total_state_local_expenditures instead). Also NULL for district FY2014 (no breakdown).","key_metric_grain_contributor":false,"metric_component":null},{"name":"included_expenditures","type":"number","role":"metric","nullable":true,"label":"Included Expenditures","short_description":"","description":"Total included expenditures for the school (nominal dollars), BEFORE allocation of district central costs — the school's total_expenditures equals included_expenditures plus its allocated central-cost share. School-detail rows only. Placeholder $0 values on unreported/non-compliant FY17-FY18 rows are NULLed per §4b (see limitations).","valid_values":null,"example":7413403.4,"unit":"currency","value_min":null,"value_max":null,"null_meaning":"Populated on SCHOOL rows only (NULL on every district row — the district download has no pre-allocation included split; a district's total_expenditures IS its included total).","key_metric_grain_contributor":false,"metric_component":null},{"name":"included_federal_expenditures","type":"number","role":"metric","nullable":true,"label":"Included Federal Expenditures","short_description":"","description":"Federal portion of the school's included_expenditures (nominal dollars). included_federal_expenditures + included_state_local_expenditures = included_expenditures (exact in the canonical bronze blocks; enforced by a quality check). School-detail rows only. FY17-FY18 placeholder $0 values NULLed per §4b.","valid_values":null,"example":456789.0,"unit":"currency","value_min":null,"value_max":null,"null_meaning":"Populated on SCHOOL rows only (NULL on district rows).","key_metric_grain_contributor":false,"metric_component":null},{"name":"included_state_local_expenditures","type":"number","role":"metric","nullable":true,"label":"Included State Local Expenditures","short_description":"","description":"State + local portion of the school's included_expenditures (nominal dollars). School-detail rows only. FY17-FY18 placeholder $0 values NULLed per §4b.","valid_values":null,"example":6956614.4,"unit":"currency","value_min":null,"value_max":null,"null_meaning":"Populated on SCHOOL rows only (NULL on district rows).","key_metric_grain_contributor":false,"metric_component":null},{"name":"excluded_expenditures","type":"number","role":"metric","nullable":true,"label":"Excluded Expenditures","short_description":"","description":"Expenditures excluded from the PPE computation (nominal dollars) per the FESR methodology. NOT a component of total_expenditures (totals = included + allocated central costs). School-detail rows only. A few rows per year carry negative values — faithful GOSA restatements preserved per §4b. FY17-FY18 placeholder $0 values NULLed per §4b.","valid_values":null,"example":120000.0,"unit":"currency","value_min":null,"value_max":null,"null_meaning":"Populated on SCHOOL rows only (NULL on district rows).","key_metric_grain_contributor":false,"metric_component":null},{"name":"total_federal_expenditures","type":"number","role":"metric","nullable":true,"label":"Total Federal Expenditures","short_description":"","description":"Federal portion of the school's total_expenditures (post-allocation; nominal dollars). The school-level analogue of the district's federal_expenditures (both split the shared total_expenditures). School-detail rows only. FY17-FY18 placeholder $0 values NULLed per §4b.","valid_values":null,"example":500000.0,"unit":"currency","value_min":null,"value_max":null,"null_meaning":"Populated on SCHOOL rows only (NULL on district rows — the district analogue is federal_expenditures).","key_metric_grain_contributor":false,"metric_component":null},{"name":"total_state_local_expenditures","type":"number","role":"metric","nullable":true,"label":"Total State Local Expenditures","short_description":"","description":"State + local portion of the school's total_expenditures (post-allocation; nominal dollars). School-detail rows only; the district analogue is state_local_expenditures. FY17-FY18 placeholder $0 values NULLed per §4b.","valid_values":null,"example":7625000.0,"unit":"currency","value_min":null,"value_max":null,"null_meaning":"Populated on SCHOOL rows only (NULL on district rows — the district analogue is state_local_expenditures).","key_metric_grain_contributor":false,"metric_component":null},{"name":"pct_of_district_enrollment","type":"number","role":"metric","nullable":true,"label":"Percent of District Enrollment","short_description":"","description":"The school's share of its district's total enrollment, 0-1 decimal (0.2912 = 29.12%), used by the FESR methodology to allocate district central costs. School-detail rows only. Caveat: within-district sums are not a strict partition — they exceed 1.0 in 552 district-years (55 of them by more than 0.005, up to 1.82), faithful to bronze.","valid_values":null,"example":0.2912,"unit":"proportion","value_min":null,"value_max":null,"null_meaning":"Populated on SCHOOL rows only (NULL on district rows). Also NULL for charter/excluded schools outside the district rollup.","key_metric_grain_contributor":false,"metric_component":null}],"key_metric":"per_pupil_expenditure","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":"Two detail levels (district, school) in one fact table, split by parquet filename; school_code is NULL on district rows. Detail level is read from the geography-key NULL pattern. The district level covers FY2014-FY2024 (180 traditional systems, codes 601-793, no charters/RESAs/state agencies); the school level covers FY2017-FY2024 (all schools, including charter authorizers). School-level and district-level rows come from two independent GOSA downloads whose K-12 bases need not reconcile, so school rows are NOT guaranteed to sum to their district row. Level-specific columns are NULL on the other level: federal_expenditures / state_local_expenditures are district-only; included_* / excluded_expenditures / total_federal_expenditures / total_state_local_expenditures / pct_of_district_enrollment are school-only. The district federal_expenditures and the school total_federal_expenditures are the same federal share of total_expenditures but are kept as separate columns (different source naming; schools also publish the distinct pre-allocation included_* split). District federal/state-local breakdowns are NULL for FY2014 (the only source covering FY14 published totals only). FY2022 methodology change: from FY22 school total_expenditures (and per_pupil_expenditure) additionally include Allocated CCA and Alternative Program costs, so FY22+ school totals are not strictly comparable to FY17-FY21. This is the FESR included-cost per-pupil series — totals intentionally differ from the k12_expenditures function-level expenditure ledger. Placeholder $0 school expenditure amounts on unreported/non-compliant FY17-FY18 rows are NULLed per §4b (see _transform_manifest.json masked_values). A small number of district 660 (Atlanta) school rows carry negative expenditure / per-pupil values — faithful GOSA restatements preserved as-is. Currency is nominal dollars (not inflation-adjusted). No cell-level small-cell suppression exists in this source; NULLs are structural or §4b masks, never suppression.","null_semantics":{"suppressed_to_null":false,"zero_is_real":true},"available_years":[2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024],"schema_hash":"ea9016eba4caacdc00c5419c8999813a5aea53f943ac347a2478fe947519bb33","tags":["education","governor's office of student achievement","per_pupil_expenditure"],"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 per_pupil_expenditure WHERE year = 2024 LIMIT 100"},{"description":"District 657 in 2024","query":"SELECT * FROM per_pupil_expenditure WHERE district_code = '657' 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"],"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"]},{"param":"school_level","kind":"dimension_attribute","dimension":"schools","column":"school_level","type":"string","multi_value":true,"enum_enforced":true,"values":["elementary","middle","high","k12","other"]},{"param":"locale","kind":"dimension_attribute","dimension":"schools","column":"locale","type":"string","multi_value":true,"enum_enforced":true,"values":["city","suburb","town","rural"]}],"filter_hints":[],"values_endpoint":"/api/v1/education/per_pupil_expenditure/values"}