Saltar al contenido
← Todos los conjuntos de datos

K-12 Expenditures by Spending Function

K-12 dollars spent by Georgia public schools and districts, broken out by spending function (instruction, transportation, administration, ...), 2011-2024.

Cobertura de años
20112024
Actualización
annual
Versión
1.0.0
Hash del esquema
f87003f1c86b

Niveles de detalle disponibles

EstadoDistritoEscuela · predeterminado

Resumen

K-12 expenditures for every Georgia public school, school district, and the state as a whole, by spending function, published by the Governor's Office of Student Achievement (GOSA). Each row reports the total dollar amount and the per-FTE (full-time-equivalent student) dollar amount for one of 11 expenditure functions — instruction, pupil services, instructional support, school administration, general administration, maintenance and operations, transportation, media, school food services, debt services, and renovation and capital projects — covering school years 2010-11 through 2023-24. This is the full function-level spending ledger: all expenditures, broken out by function. The revenue side of the same GOSA report lives in the sibling topic `k12_revenues` (K-12 revenues by funding source, district/state detail); the two topics split the retired combined `revenues_and_expenditures` topic (one measure family per fact table) and share one bronze source, so they join cleanly on year and district_code. Distinct from the `per_pupil_expenditure` topic (FESR methodology), which is an included-cost per-pupil spending series whose totals intentionally differ from this full ledger.

Granularidad de fila: Una fila por year, district_code, school_code, expenditure_function.

Métrica clave

expenditure_amountExpenditure Amount (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.

ColumnaTipoUnidadRango¿Nulo?Descripción
yearYearintegernoEnding (spring) calendar year of the school year (e.g. 2024 for 2023-24), parsed from the source's SCHOOL_YEAR / LONG_SCHOOL_YEAR column and cross-checked against the filename year.
Descripción completa
Ending (spring) calendar year of the school year (e.g. 2024 for 2023-24), parsed from the source's SCHOOL_YEAR / LONG_SCHOOL_YEAR column and cross-checked against the filename year.
district_codeDistrict CodestringyesGOSA district code (FK to districts dimension): 3-digit zero-padded county/city codes or 7-digit compound codes for commission / state charter schools. Codes 850-888 are RESA service agencies (typed 'resa' in the dimension). NULL on state-level rows — the bronze sentinel 'ALL' is mapped to NULL.
Descripción completa
GOSA district code (FK to districts dimension): 3-digit zero-padded county/city codes or 7-digit compound codes for commission / state charter schools. Codes 850-888 are RESA service agencies (typed 'resa' in the dimension). NULL on state-level rows — the bronze sentinel 'ALL' is mapped to NULL.

Se une a districts; agrega sus columnas de etiqueta.

school_codeSchool Codestringyes4-digit zero-padded GOSA school code (composite FK to schools dimension with district_code). NULL on district- and state-level rows (bronze sentinel 'ALL' mapped to NULL). The 2012 file publishes a minority of codes as 3-digit; they are zero-padded to match the other years. 2023-2024 'DOE OTHER' rows (GNETS programs, alternative schools, Pre-K centers, central offices) carry real institution numbers and appear under the school detail level, matching where the pre-2023 files placed the same entities.
Descripción completa
4-digit zero-padded GOSA school code (composite FK to schools dimension with district_code). NULL on district- and state-level rows (bronze sentinel 'ALL' mapped to NULL). The 2012 file publishes a minority of codes as 3-digit; they are zero-padded to match the other years. 2023-2024 'DOE OTHER' rows (GNETS programs, alternative schools, Pre-K centers, central offices) carry real institution numbers and appear under the school detail level, matching where the pre-2023 files placed the same entities.

Se une a schools; agrega sus columnas de etiqueta.

expenditure_functionExpenditure FunctionstringnoSpending function of the expenditure: instruction, pupil_services, transportation, school_administration, and 7 more.
Descripción completa
Spending function of the expenditure (11 values): instruction, pupil_services, instructional_support, school_administration, general_administration, maintenance_and_operations, transportation, media, school_food_services, debt_services, and renovation_and_capital_projects. Every district and state row set carries all 11 functions in every year (enforced by quality checks; school rows may publish partial function sets), so summing expenditure_amount over the 11 functions gives a district's total expenditure. The bronze spelling 'School food Services' (lowercase food) is an upstream-report typo normalized to school_food_services.
11 valores permitidos
  • debt_services
  • general_administration
  • instruction
  • instructional_support
  • maintenance_and_operations
  • media
  • pupil_services
  • renovation_and_capital_projects
  • school_administration
  • school_food_services
  • transportation
expenditure_amountExpenditure AmountnumbercurrencyyesTotal dollars spent on this function at the row's level; negatives are real budget adjustments.
Descripción completa
Total dollar amount spent on this expenditure function at the row's detail level. Never NULL (enforced by a quality check — the source publishes no suppression). Negative values are legitimate budget adjustments / corrections and are preserved; no range check applies. This is the full-ledger figure; it is NOT comparable to the FESR-methodology totals in the per_pupil_expenditure topic, which count only included costs.
expenditure_per_pupilExpenditure per PupilnumbercurrencyyesPer-FTE (full-time-equivalent student) dollar amount spent on this function. Can be negative (budget adjustments). NULL only in 2012-2014 where the bronze FTE denominator was missing or zero (475 rows; enforced by a quality check). Caution — not always a true per-pupil amount: in the 2024 file the source publishes expenditure_per_pupil equal to expenditure_amount verbatim on EVERY school-detail row (all 35,398 rows, traditional schools included), so 2024 school-level values carry no per-pupil information at all; in 2023 the same artifact covers all 9,526 DOE OTHER school rows plus 151 other nonzero school rows; in 2012 it covers the rows with a missing FTE_COUNT; and it frequently equals expenditure_amount on aggregate / non-school rows in other years. Standard-district and state rows in 2023-2024 do carry true per-FTE values (the 16 RESA rollup district rows, codes 850-888, do not). For a reliable school-level per-pupil spending series, use the per_pupil_expenditure topic (FESR methodology) instead; here, verify expenditure_per_pupil <> expenditure_amount (or sanity-check the magnitude) before treating a school-level value as per-pupil spending.
Descripción completa
Per-FTE (full-time-equivalent student) dollar amount spent on this function. Can be negative (budget adjustments). NULL only in 2012-2014 where the bronze FTE denominator was missing or zero (475 rows; enforced by a quality check). Caution — not always a true per-pupil amount: in the 2024 file the source publishes expenditure_per_pupil equal to expenditure_amount verbatim on EVERY school-detail row (all 35,398 rows, traditional schools included), so 2024 school-level values carry no per-pupil information at all; in 2023 the same artifact covers all 9,526 DOE OTHER school rows plus 151 other nonzero school rows; in 2012 it covers the rows with a missing FTE_COUNT; and it frequently equals expenditure_amount on aggregate / non-school rows in other years. Standard-district and state rows in 2023-2024 do carry true per-FTE values (the 16 RESA rollup district rows, codes 850-888, do not). For a reliable school-level per-pupil spending series, use the per_pupil_expenditure topic (FESR methodology) instead; here, verify expenditure_per_pupil <> expenditure_amount (or sanity-check the magnitude) before treating a school-level value as per-pupil spending.

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ámetroTipoValores permitidosNotas
yearyear_exactcualquier valor
year_minyear_rangecualquier valor
year_maxyear_rangecualquier valor
detaildetaildistrictsschoolsstatesenum validado, predeterminado: schools
district_codeforeign_keycualquier valorvalores múltiples
school_codeforeign_keycualquier valorvalores múltiples
expenditure_functioncategorical
11 valores permitidos
  • debt_services
  • general_administration
  • instruction
  • instructional_support
  • maintenance_and_operations
  • media
  • pupil_services
  • renovation_and_capital_projects
  • school_administration
  • school_food_services
  • transportation
valores múltiples, enum validado, elige uno
district_typedimension_attribute
7 valores permitidos
  • commission_charter
  • resa
  • standard
  • state_agency
  • state_charter
  • state_school
  • state_special
valores múltiples, enum validado
school_leveldimension_attributeelementarymiddlehighk12othervalores múltiples, enum validado
localedimension_attributecitysuburbtownruralvalores 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/k12_expenditures"

schools data for 2024

curl "https://georgiacivicdata.org/api/v1/education/k12_expenditures?year=2024"

Filtered to expenditure_function = debt_services for 2024

curl "https://georgiacivicdata.org/api/v1/education/k12_expenditures?year=2024&expenditure_function=debt_services"

One district (code 644), 2024

curl "https://georgiacivicdata.org/api/v1/education/k12_expenditures?district_code=644&year=2024&detail=districts"

Download 2024 as CSV

curl "https://georgiacivicdata.org/api/v1/education/k12_expenditures?year=2024&format=csv"

Notas y limitaciones

Manejo de NULL

  • El cero es un valor real y reportado.

Limitaciones

State rows have NULL district_code and school_code; district rows have NULL school_code. The school detail level includes non-traditional entities (central offices, GNETS programs, Pre-K centers, maintenance facilities) in every year, and district detail includes the 16 RESA service-agency rollups (district codes 850-888) — exclude both when analyzing traditional schools/districts only. expenditure_per_pupil is not a true per-pupil amount everywhere: the 2024 file publishes it equal to expenditure_amount on every school-detail row (traditional schools included — 2024 school-level per-FTE values are totals, not per-pupil amounts), the 2023 file does so on all DOE OTHER school rows plus 151 other nonzero school rows, the 2012 file on its missing-FTE rows, and it frequently equals expenditure_amount on aggregate / non-school rows in other years — for a reliable school-level per-pupil spending series use the per_pupil_expenditure topic (FESR methodology) instead. State rows are published independently of district rows and do not always equal the sum of district values within a function (e.g. the 2014 renovation_and_capital_projects district sum runs about 5x the published state total) — treat each detail level as its own published series. This topic is the full function-level ledger; its totals intentionally differ from the FESR included-cost figures in per_pupil_expenditure. No suppression exists in this topic — NULL never means suppressed; the only NULL metric values are 475 expenditure_per_pupil rows in 2012-2014 with a missing/zero FTE denominator. Negative dollar values are legitimate budget adjustments and are preserved.