Per-Pupil Expenditure (FESR)
Annual per-pupil spending — total, federal, and state/local — for Georgia school districts (2014-2024) and schools (2017-2024), from the FESR methodology.
- 2014–2024
- annual
- 1.0.0
- ea9016eba4ca
Resumen
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.
Granularidad de fila: Una fila por year, district_code, school_code.
per_pupil_expenditure — Per-Pupil Expenditure (currency)
El valor principal que la mayoría de las consultas busca.
Variables
Todas las columnas de la tabla de hechos. El código es el nombre exacto del campo que devuelve la API.
| Columna | Tipo | Unidad | Rango | ¿Nulo? | Descripción |
|---|---|---|---|---|---|
year | integer | — | — | no | 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.Descripción completa▾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. |
district_code | string | — | — | no | 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.Descripción completa▾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. |
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). Populated on school rows only — district aggregate rows carry NULL.Descripción completa▾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. |
total_expenditures | number | — | yes | 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.Descripción completa▾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. | |
fte_enrollment | integer | — | yes | 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).Descripción completa▾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). | |
per_pupil_expenditure | number | — | yes | Total dollars spent per student for the fiscal year (nominal, not inflation-adjusted).Descripción completa▾Per-pupil expenditure for the fiscal year (nominal dollars) = total_expenditures / fte_enrollment, as published (rounded to cents by the source). A few Fulton County (district 660) school rows in FY21/FY22 are negative — faithful GOSA restatements preserved per §4b, not errors. | |
federal_per_pupil_expenditure | number | — | yes | 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.Descripción completa▾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. | |
state_local_per_pupil_expenditure | number | — | yes | State + local portion of per_pupil_expenditure (nominal dollars). NULL for district FY2014.Descripción completa▾State + local portion of per_pupil_expenditure (nominal dollars). NULL for district FY2014. | |
federal_expenditures | number | — | yes | 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.Descripción completa▾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. | |
state_local_expenditures | number | — | yes | State + local portion of the district's total_expenditures (nominal dollars). District-detail rows only; the school-level analogue is total_state_local_expenditures.Descripción completa▾State + local portion of the district's total_expenditures (nominal dollars). District-detail rows only; the school-level analogue is total_state_local_expenditures. | |
included_expenditures | number | — | yes | 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).Descripción completa▾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). | |
included_federal_expenditures | number | — | yes | 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. A small number of rows (21 across eight districts, FY2017-FY2023) carry negative values — federal-side restatements faithful to bronze, preserved per §4b.Descripción completa▾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. A small number of rows (21 across eight districts, FY2017-FY2023) carry negative values — federal-side restatements faithful to bronze, preserved per §4b. | |
included_state_local_expenditures | number | — | yes | State + local portion of the school's included_expenditures (nominal dollars). School-detail rows only. FY17-FY18 placeholder $0 values NULLed per §4b.Descripción completa▾State + local portion of the school's included_expenditures (nominal dollars). School-detail rows only. FY17-FY18 placeholder $0 values NULLed per §4b. | |
excluded_expenditures | number | — | yes | 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.Descripción completa▾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. | |
total_federal_expenditures | number | — | yes | 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.Descripción completa▾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. | |
total_state_local_expenditures | number | — | yes | 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.Descripción completa▾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. | |
pct_of_district_enrollment | number | — | yes | 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 548 district-years (51 of them by more than 0.005, up to 1.83 for district 666 in FY2020-FY2024), faithful to bronze.Descripción completa▾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 548 district-years (51 of them by more than 0.005, up to 1.83 for district 666 in FY2020-FY2024), faithful to bronze. |
Filtros
Parámetros de consulta que acepta el endpoint de hechos. Los valores separados por comas son OR dentro de un parámetro; varios parámetros se combinan con AND.
| Parámetro | Tipo | Valores permitidos | Notas |
|---|---|---|---|
year | year_exact | cualquier valor | — |
year_min | year_range | cualquier valor | — |
year_max | year_range | cualquier valor | — |
detail | detail | districtsschools | enum validado, predeterminado: schools |
district_code | foreign_key | cualquier valor | valores múltiples |
school_code | foreign_key | cualquier valor | valores múltiples |
district_type | dimension_attribute | 7 valores permitidos▾
| valores múltiples, enum validado |
school_level | dimension_attribute | elementarymiddlehighk12other | valores múltiples, enum validado |
locale | dimension_attribute | citysuburbtownrural | valores múltiples, enum validado |
Ejemplos de solicitudes
Ejecútalos contra la URL base: devuelven datos en vivo.
All rows (first page), schools level
curl "https://georgiacivicdata.org/api/v1/education/per_pupil_expenditure"schools data for 2024
curl "https://georgiacivicdata.org/api/v1/education/per_pupil_expenditure?year=2024"One district (code 657), 2024
curl "https://georgiacivicdata.org/api/v1/education/per_pupil_expenditure?district_code=657&year=2024&detail=districts"Download 2024 as CSV
curl "https://georgiacivicdata.org/api/v1/education/per_pupil_expenditure?year=2024&format=csv"Notas y limitaciones
Manejo de NULL
- El cero es un valor real y reportado.
Limitaciones
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 rows for each fiscal year are the schools listed by that fiscal year's OWN FESR publication; later rolling-window files that republish the year only fill NULL cells on those schools, and school codes that appear only in a later file's back-window (GOSA re-coded schools restated under new codes — 11 FY2017 and 5 FY2018 keys, including the four FY2017/FY2018 per-pupil-only rows the 2019 file annotates as involved in a FY18 code change) are dropped and ledgered in _transform_manifest.json as school_code_restated_in_later_publication, so a district-year never carries two breakouts of the same money; a quality check keeps 3-digit-district school fte_enrollment sums within 5% of the district row. Verified in gold: in every 3-digit district-year the school rows sum to the district row's fte_enrollment exactly and to its total_expenditures within 0.3%; but the two levels come from independent GOSA downloads, so exact dollar agreement is not guaranteed. 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). One FY2021 school row (7830629/0629) publishes the literal 'Non-Compliant' publisher status in all three per-pupil columns; those three values are NULL here (recorded in masked_values; the status is preserved as is_non_compliant in the financial_efficiency_star_rating topic). Negative dollar values occur in three places and are faithful GOSA restatements preserved as-is: per_pupil_expenditure / total_expenditures / included_expenditures and their state-local components on three district 660 (Fulton County) school rows in FY21-FY22; excluded_expenditures on a few rows every year; and included_federal_expenditures on 21 rows across eight districts (FY2017-FY2023). 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.