Skip to content
← All datasets

Educational Attainment (ACS)

The share of each Georgia community's adults 25 and over at each education level, from less than high school to a graduate degree - American Community Survey 5-year estimates down to the census-tract level.

Year coverage
20202024
Updated
annual
Version
1.0.0
Schema hash
62385068845d

Detail levels available

StateCounty · defaultDistrict

Overview

Educational attainment from the American Community Survey 5-year estimates (detailed table B15003, Educational Attainment for the Population 25 Years and Over), for Georgia at state, county, school district, and census tract geography, vintages 2020-2024. The 24 detailed attainment cells are collapsed into six levels (less than high school through graduate/professional degree); each row carries the level's share of adults 25 and over, the underlying counts, and 90 percent margins of error.

Row grain: One row per year, county_fips, district_code, tract_geoid, attainment_level.

Key metric

attainment_rateAttainment Rate (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.

ColumnTypeUnitRangeNull?Description
yearYearintegernoACS 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_fipsCounty FIPSstringyes5-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.

Joins counties; adds its label columns.

district_codeDistrict CodestringyesGCD 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 via the dimension's district_census_id.
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 via the dimension's district_census_id.

Joins districts; adds its label columns.

tract_geoidTract GEOIDstringyes11-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.

Joins tracts; adds its label columns.

attainment_levelAttainment LevelstringnoHighest education level attained, collapsed from the 24 B15003 cells: less_than_hs (no diploma), hs_grad (regular diploma or GED/alternative credential), some_college (no degree), associate, bachelors, graduate (master's, professional, or doctorate). The six levels are mutually exclusive and partition the 25+ universe exactly - there is no 'all' row.
Full description
Highest education level attained, collapsed from the 24 B15003 cells: less_than_hs (no diploma), hs_grad (regular diploma or GED/alternative credential), some_college (no degree), associate, bachelors, graduate (master's, professional, or doctorate). The six levels are mutually exclusive and partition the 25+ universe exactly - there is no 'all' row.
6 allowed values
  • associate
  • bachelors
  • graduate
  • hs_grad
  • less_than_hs
  • some_college
attainment_rateAttainment RatenumberproportionyesShare of adults 25+ at this education level.
Full description
Adults 25 and over whose highest attainment falls in this level, as a share of all adults 25 and over (0-1), derived as num_in_attainment_level / num_adults_25_plus. NULL when the geography has no 25+ population. A geography's six shares sum to 1.
attainment_rate_moeAttainment Rate Moenumberproportionyes90 percent margin of error for attainment_rate, derived from the component margins with the Census ratio formula. Never the headline metric.
Full description
90 percent margin of error for attainment_rate, derived from the component margins with the Census ratio formula. Never the headline metric.
num_in_attainment_levelNumber in Attainment LevelintegercountyesAdults 25 and over whose highest attainment falls in this level (ACS estimate; sum of the level's B15003 member cells) - the rate's numerator.
Full description
Adults 25 and over whose highest attainment falls in this level (ACS estimate; sum of the level's B15003 member cells) - the rate's numerator.
num_in_attainment_level_moeNumber in Attainment Level Moenumbercountyes90 percent margin of error for num_in_attainment_level: the Census sqrt-sum-of-squares approximation over the level's member-cell MOEs (stored as Float64 and never rounded; integral for the single-cell associate and bachelors levels, where it is the published margin). Never the headline metric.
Full description
90 percent margin of error for num_in_attainment_level: the Census sqrt-sum-of-squares approximation over the level's member-cell MOEs (stored as Float64 and never rounded; integral for the single-cell associate and bachelors levels, where it is the published margin). Never the headline metric.
num_adults_25_plusNumber Adults 25 PlusintegercountyesTotal population 25 years and over (ACS estimate, B15003_001) - the rate's denominator, repeated on each of the geography's six attainment rows.
Full description
Total population 25 years and over (ACS estimate, B15003_001) - the rate's denominator, repeated on each of the geography's six attainment rows.
num_adults_25_plus_moeNumber Adults 25 Plus Moeintegercountyes90 percent margin of error for num_adults_25_plus, as published. Never the headline metric.
Full description
90 percent margin of error for num_adults_25_plus, as published. Never the headline metric.

Filters

Query parameters the fact endpoint accepts. Comma-separated values are OR within a parameter; multiple parameters AND together.

ParameterKindAllowed valuesNotes
yearyear_exactany value
year_minyear_rangeany value
year_maxyear_rangeany value
detaildetailcountiesdistrictsstatestractsenum-enforced, default: counties
district_codeforeign_keyany valuemulti-value
county_fipsforeign_keyany valuemulti-value
tract_geoidforeign_keyany valuemulti-value
attainment_levelcategoricalassociatebachelorsgraduatehs_gradless_than_hssome_collegemulti-value, enum-enforced, pick one
district_typedimension_attribute
7 allowed values
  • commission_charter
  • resa
  • standard
  • state_agency
  • state_charter
  • state_school
  • state_special
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/educational_attainment"

counties data for 2024

curl "https://georgiacivicdata.org/api/v1/census/educational_attainment?year=2024"

Filtered to attainment_level = associate for 2024

curl "https://georgiacivicdata.org/api/v1/census/educational_attainment?year=2024&attainment_level=associate"

One district (code 660), 2024

curl "https://georgiacivicdata.org/api/v1/census/educational_attainment?district_code=660&year=2024&detail=districts"

One county (FIPS 13121), 2024

curl "https://georgiacivicdata.org/api/v1/census/educational_attainment?county_fips=13121&year=2024&detail=counties"

Download 2024 as CSV

curl "https://georgiacivicdata.org/api/v1/census/educational_attainment?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: the population 25 years and over - attainment of younger adults is not covered, and each geography's six attainment shares describe adults only. There is no 'all' attainment row; the num_adults_25_plus denominator rides every row instead. hs_grad includes GED and other alternative credentials, not just regular diplomas. For the four multi-cell levels (less_than_hs, hs_grad, some_college, graduate) num_in_attainment_level_moe is the Census sqrt-sum-of-squares approximation over member-cell margins, not a published margin; for associate and bachelors the level is a single B15003 cell, so the Census's published margin is carried through unchanged. attainment_rate_moe uses the Census ratio formula on the derived share; a degenerate derived margin above 1.0 is set to NULL. 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.