School Enrollment of Children (ACS)
Where each Georgia community's school-age children (3-17) go to school - public, private, or not enrolled - American Community Survey 5-year shares down to the census-tract level.
- 2020–2024
- annual
- 1.0.0
- f3fe93a3fe97
Overview
School enrollment of school-age children (ages 3-17) from the American Community Survey 5-year estimates (detailed table B14003), for Georgia at state, county, school district, and census tract geography, vintages 2020-2024: the share of children enrolled in public school, private school, or not enrolled, with the underlying counts and margins of error.
Row grain: One row per year, county_fips, district_code, tract_geoid, school_type.
pct_of_school_age_population — Percent of School Age Population (proportion)
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 | ACS 5-year vintage END year: 2024 covers the pooled 2020-2024 survey period. Consecutive vintages overlap.Full description▾ACS 5-year vintage END year: 2024 covers the pooled 2020-2024 survey period. Consecutive vintages overlap. |
county_fips | string | — | — | yes | 5-digit county FIPS code (state 13 + county). Populated only on county-level rows.Full description▾5-digit county FIPS code (state 13 + county). Populated only on county-level rows. |
district_code | string | — | — | yes | GCD school district code (FK to the education districts dimension). Populated only on district-level rows - Census unified-school-district estimates mapped onto the ~180 standard districts.Full description▾GCD school district code (FK to the education districts dimension). Populated only on district-level rows - Census unified-school-district estimates mapped onto the ~180 standard districts. |
tract_geoid | string | — | — | yes | 11-digit census tract GEOID (2020 boundaries). Populated only on tract-level rows.Full description▾11-digit census tract GEOID (2020 boundaries). Populated only on tract-level rows. |
school_type | string | — | — | no | Enrollment status of school-age children (3-17): enrolled in public school, enrolled in private school, or not enrolled. The Census type split covers nursery school through college, not K-12 specifically. The three types partition the school-age population.Full description▾Enrollment status of school-age children (3-17): enrolled in public school, enrolled in private school, or not enrolled. The Census type split covers nursery school through college, not K-12 specifically. The three types partition the school-age population. 3 allowed values▾
|
pct_of_school_age_population | number | — | yes | Share of school-age children in this enrollment type.Full description▾Children aged 3-17 in this school_type as a share of the school-age population (0-1), derived as num_in_school_type / num_school_age_population. NULL when the geography has no school-age children. | |
pct_of_school_age_population_moe | number | — | yes | 90 percent margin of error for pct_of_school_age_population, derived from the two aggregated count margins (each built under the Census zero-estimate rule) with the Census proportion-MOE formula, falling back to the ratio-form (addition) formula whenever the radicand is not positive; a margin above 1.0 is NULLed. When a geography's entire school-age population sits in one school_type (share exactly 1.0; 418 tract rows in 2020-2024), the numerator and denominator margins coincide, the proportion formula degenerates, and the served margin is the ratio-form fallback sqrt(2) * MOE / N (246 rows, median 0.61) or NULL where that exceeds 1.0 (172 rows). The same geography's sibling rows (0 of N children) serve the complement's margin - the largest zero-cell margin over N, typically 14 / N (median 0.054) - which bounds the same quantity more tightly because MOE(p) = MOE(1 - p); prefer the sibling rows' margins for those geographies. Never the headline metric.Full description▾90 percent margin of error for pct_of_school_age_population, derived from the two aggregated count margins (each built under the Census zero-estimate rule) with the Census proportion-MOE formula, falling back to the ratio-form (addition) formula whenever the radicand is not positive; a margin above 1.0 is NULLed. When a geography's entire school-age population sits in one school_type (share exactly 1.0; 418 tract rows in 2020-2024), the numerator and denominator margins coincide, the proportion formula degenerates, and the served margin is the ratio-form fallback sqrt(2) * MOE / N (246 rows, median 0.61) or NULL where that exceeds 1.0 (172 rows). The same geography's sibling rows (0 of N children) serve the complement's margin - the largest zero-cell margin over N, typically 14 / N (median 0.054) - which bounds the same quantity more tightly because MOE(p) = MOE(1 - p); prefer the sibling rows' margins for those geographies. Never the headline metric. | |
num_in_school_type | integer | — | yes | Children aged 3-17 in this school_type (sum of the pinned B14003 sex x age cells) - the share's numerator.Full description▾Children aged 3-17 in this school_type (sum of the pinned B14003 sex x age cells) - the share's numerator. | |
num_in_school_type_moe | number | — | yes | 90 percent margin of error for num_in_school_type: sqrt-sum-of-squares over the member cells' published margins under the Census zero-estimate rule (of the member cells whose estimate is zero, only the largest margin enters the sum).Full description▾90 percent margin of error for num_in_school_type: sqrt-sum-of-squares over the member cells' published margins under the Census zero-estimate rule (of the member cells whose estimate is zero, only the largest margin enters the sum). | |
num_school_age_population | integer | — | yes | Children aged 3-17 (sum of all 24 pinned B14003 cells; the table publishes no 3-17 total) - the share's denominator, repeated on each school_type row.Full description▾Children aged 3-17 (sum of all 24 pinned B14003 cells; the table publishes no 3-17 total) - the share's denominator, repeated on each school_type row. | |
num_school_age_population_moe | number | — | yes | 90 percent margin of error for num_school_age_population: sqrt-sum-of-squares approximation over all 24 member cells under the Census zero-estimate rule (of the member cells whose estimate is zero, only the largest margin enters the sum).Full description▾90 percent margin of error for num_school_age_population: sqrt-sum-of-squares approximation over all 24 member cells under the Census zero-estimate rule (of the member cells whose estimate is zero, only the largest margin enters the sum). |
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 | countiesdistrictsstatestracts | enum-enforced, default: counties |
district_code | foreign_key | any value | multi-value |
county_fips | foreign_key | any value | multi-value |
tract_geoid | foreign_key | any value | multi-value |
school_type | categorical | not_enrolledprivatepublic | multi-value, enum-enforced, pick one |
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), counties level
curl "https://georgiacivicdata.org/api/v1/census/school_enrollment"counties data for 2024
curl "https://georgiacivicdata.org/api/v1/census/school_enrollment?year=2024"Filtered to school_type = not_enrolled for 2024
curl "https://georgiacivicdata.org/api/v1/census/school_enrollment?year=2024&school_type=not_enrolled"One district (code 660), 2024
curl "https://georgiacivicdata.org/api/v1/census/school_enrollment?district_code=660&year=2024&detail=districts"One county (FIPS 13121), 2024
curl "https://georgiacivicdata.org/api/v1/census/school_enrollment?county_fips=13121&year=2024&detail=counties"Download 2024 as CSV
curl "https://georgiacivicdata.org/api/v1/census/school_enrollment?year=2024&format=csv"Notes & limitations
NULL handling
- Suppressed cells (too few students to report) are NULL, never zero.
- Zero is a real, reported value.
Limitations
Universe: SCHOOL-AGE children (ages 3-17) by deliberate scoping - the source table covers population 3+, where adult non-enrollment would dominate the not_enrolled share. The public/private split is the Census school-type split (nursery through college), not K-12 enrollment specifically: a 16-year-old enrolled in college counts in public or private per their institution. not_enrolled is concentrated among 3-4-year-olds (pre-K non-attendance). The school-age denominator and its margin are derived by aggregating the 24 source cells (the table publishes no 3-17 total), so the count margins are sqrt-sum-of-squares approximations applying the Census zero-estimate rule (of the member cells whose estimate is zero, only the largest margin enters the sum); share margins use the Census proportion-MOE formula (ratio-form fallback when the radicand is not positive), and a margin above 1.0 is NULLed. ACS 5-year period estimates: the year column is the vintage END year and each estimate pools five years of survey responses (2024 = 2020-2024). Consecutive vintages share about 80% of their sample, so the series is heavily smoothed - never difference overlapping vintages as if they were annual change. Estimates are survey-based and carry 90% margins of error (the *_moe columns); tract-level margins can be large relative to the estimate. All levels serve vintages 2020-2024 only, on 2020-vintage tract boundaries. State rows have NULL county_fips, district_code, and tract_geoid; county rows carry only county_fips, district rows only district_code, tract rows only tract_geoid. District rows cover the ~180 standard (city/county) districts only: the Census publishes school-district estimates at unified school district geography, which has no codes for charter schools, RESAs, or state agencies, and its few Census-only districts (e.g. the Fort Stewart military district) have no GCD district code and are dropped.