Financial Efficiency Star Rating (FESR)
Per-pupil spending, CCRPI scores, and 0.5-5 financial efficiency star ratings for Georgia school districts and schools, 2014-2024.
- 2014–2024
- annual
- 1.0.0
- 96d511f347d1
Overview
Georgia Office of Student Achievement (GOSA) Financial Efficiency Star Rating (FESR) dataset at two detail levels in one fact table: district (one row per traditional Georgia school system, FY2014-FY2024) and school (one row per school, FY2017-FY2024). Reports per-pupil expenditure (PPE) inputs — total, federal, and state/local — full-time-equivalent K-12 enrollment, a CCRPI-derived annual Single Score, and the FESR star rating (0.5-5.0 in 0.5 increments). District rows additionally carry the federal vs state/local split of total expenditures, three-year rolling PPE and Single Score averages, and a PPE percentile rank; school rows additionally carry the pre-allocation included/excluded expenditure split and the school's share of district enrollment. Coverage in tidy long form, one row per (district[, school], fiscal year). FESR and the rolling metrics are populated only on the fiscal year each publishing report treats as its newest year (FY2016-FY2019, FY2024 for districts; FY2017-FY2019, FY2024 for schools); GOSA paused the program 2020-2023. Merges the formerly separate financial_efficiency_star_rating_fesr_district and financial_efficiency_star_rating_fesr_school topics.
Row grain: One row per year, district_code, school_code.
per_pupil_expenditure — Per-Pupil Expenditure (currency)
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 | Fiscal year the row's PPE inputs refer to (e.g. FY2024 = 2023-24 school year). Differs from the bronze filename year for back-window rows: each rolling report covers up to 3 fiscal years, but gold keys every row by the actual fiscal year.Full description▾Fiscal year the row's PPE inputs refer to (e.g. FY2024 = 2023-24 school year). Differs from the bronze filename year for back-window rows: each rolling 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.Full 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. |
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.Full 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. |
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.Full 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. | |
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).Full 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). | |
per_pupil_expenditure | number | — | yes | Total dollars spent per student for the fiscal year (nominal, not inflation-adjusted).Full 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. | |
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.Full 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. | |
state_local_per_pupil_expenditure | number | — | yes | State + local portion of per_pupil_expenditure (nominal dollars). NULL for district FY2014.Full description▾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.Full 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. | |
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.Full 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. | |
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).Full 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). | |
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.Full 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. | |
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.Full description▾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.Full 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. | |
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.Full 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. | |
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.Full 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. | |
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 55 district-years (up to 1.82), faithful to bronze.Full 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 55 district-years (up to 1.82), faithful to bronze. | |
ccrpi_single_score | number | — | yes | CCRPI-derived annual Single Score, preserved as published (a GOSA score, not a rate). Typically a 0-100 scale; FY17 school scores may exceed 100 due to early-CCRPI challenge-point scoring (29 rows reach ~108.2), so no upper bound is enforced (a negative score is impossible — enforced). NULL for FY2020-FY2022 (program pause).Full description▾CCRPI-derived annual Single Score, preserved as published (a GOSA score, not a rate). Typically a 0-100 scale; FY17 school scores may exceed 100 due to early-CCRPI challenge-point scoring (29 rows reach ~108.2), so no upper bound is enforced (a negative score is impossible — enforced). NULL for FY2020-FY2022 (program pause). | |
per_pupil_expenditure_three_year_avg | number | — | yes | Three-year rolling average of per_pupil_expenditure (nominal dollars), attributed to the publishing district report's newest fiscal year (FY2016, FY2017, FY2018, FY2019, FY2024) and NULL elsewhere. FY2024's window is non-contiguous (FY19+FY23+FY24). District-detail rows only. C-1 rename of the former ppe_three_year_avg.Full description▾Three-year rolling average of per_pupil_expenditure (nominal dollars), attributed to the publishing district report's newest fiscal year (FY2016, FY2017, FY2018, FY2019, FY2024) and NULL elsewhere. FY2024's window is non-contiguous (FY19+FY23+FY24). District-detail rows only. C-1 rename of the former ppe_three_year_avg. | |
ccrpi_three_year_avg | number | 0–100 | yes | Three-year rolling average of ccrpi_single_score (0-100 scale), attributed to district report-year rows only (see per_pupil_expenditure_three_year_avg). District-detail rows only.Full description▾Three-year rolling average of ccrpi_single_score (0-100 scale), attributed to district report-year rows only (see per_pupil_expenditure_three_year_avg). District-detail rows only. | |
per_pupil_expenditure_percentile | integer | — | yes | Percentile rank (1-100 integer) of the district's per_pupil_expenditure_three_year_avg among all 180 Georgia districts in the same report — population-based, not a national percentile. Higher = more spending per pupil. District report-year rows only. C-1 rename of the former ppe_percentile.Full description▾Percentile rank (1-100 integer) of the district's per_pupil_expenditure_three_year_avg among all 180 Georgia districts in the same report — population-based, not a national percentile. Higher = more spending per pupil. District report-year rows only. C-1 rename of the former ppe_percentile. | |
fesr_star_rating | number | 0.5–5 | yes | Financial Efficiency Star Rating in 0.5 increments. Districts: observed 1.0-5.0; schools: 0.5-5.0 (the value range spans both levels). Populated only on report-year rows; half-steps enforced by a quality check. Bronze stores it as Float64 in early files and as strings in later files; non-numeric publisher statuses (district 'Non-Compliant'; school '.', 'Non-Compliant[ in 20YY]') are NULLed here, with non-compliance preserved via is_non_compliant.Full description▾Financial Efficiency Star Rating in 0.5 increments. Districts: observed 1.0-5.0; schools: 0.5-5.0 (the value range spans both levels). Populated only on report-year rows; half-steps enforced by a quality check. Bronze stores it as Float64 in early files and as strings in later files; non-numeric publisher statuses (district 'Non-Compliant'; school '.', 'Non-Compliant[ in 20YY]') are NULLed here, with non-compliance preserved via is_non_compliant. | |
is_non_compliant | boolean | — | — | yes | True when the district or school was flagged non-compliant with financial reporting (no star rating issued); false when a rating was published.Full description▾FESR publication outcome: true when the source flags the entity non-compliant (no star rating exists, so fesr_star_rating is NULL — enforced by a quality check); false when a numeric rating was published; NULL when no FESR outcome was published. Districts: the 2018 report's 'Non-Compliant' status (Talbot County 730). Schools: FY17/FY18 string sentinels, the FY19 note (Cirrus Charter, 7830611/0611), and the FY21 PPE sentinel (7830629/0629). |
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 | districtsschools | enum-enforced, default: schools |
district_code | foreign_key | any value | multi-value |
school_code | foreign_key | any value | multi-value |
is_non_compliant | categorical | any value | multi-value |
district_type | dimension_attribute | 7 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/financial_efficiency_star_rating"schools data for 2024
curl "https://georgiacivicdata.org/api/v1/education/financial_efficiency_star_rating?year=2024"One district (code 657), 2024
curl "https://georgiacivicdata.org/api/v1/education/financial_efficiency_star_rating?district_code=657&year=2024&detail=districts"Download 2024 as CSV
curl "https://georgiacivicdata.org/api/v1/education/financial_efficiency_star_rating?year=2024&format=csv"Notes & limitations
NULL handling
- Zero is a real, reported value.
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 and the three rolling/percentile metrics 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). fesr_star_rating and the rolling/percentile metrics are populated only on the report-year row of each rolling-window publication; GOSA paused the program FY2020-FY2023 (those years carry only PPE inputs), and ccrpi_single_score is additionally NULL for FY2020-FY2022 (CCRPI paused). 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. 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.