Certified Personnel Years of Experience
Experience distribution of Georgia school staff -- headcounts in five experience bands plus mean years of experience for administrators, PK-12 teachers, and support personnel by school, district, and state, 2011-2024.
- 2011–2024
- annual
- 1.0.0
- 167aeba533a2
Overview
Georgia Office of Student Achievement (GOSA) certified-personnel years-of-experience measures, compiled from local school systems' Certified/Classified Personnel Information (CPI) submissions. For every Georgia public school, school district, and the state as a whole, publishes the experience distribution of the certified-personnel roster for each of three employee groups (Administrators, PK-12 Teachers, Support Personnel): headcounts in five mutually exclusive experience bands (less than 1 year, 1-10, 11-20, 21-30, over 30 years) plus the mean years of experience. One row per school, district, or state per employee group per year; coverage runs from the 2010-11 school year through 2023-24. This is one of three topics derived from the same GOSA Certified Personnel source: `certified_personnel_composition` carries the staff headcount axes (certificate level, certification status, gender, employment status, race/ethnicity — including the total staff counts), and `certified_personnel_compensation` carries the FTE position counts and salary/contract-day measures.
Row grain: One row per year, district_code, school_code, employee_type.
avg_years_experience — Average Years Experience
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 | Ending calendar year of the school year. Year 2024 = 2023-2024 school year. Derived from the bronze `LONG_SCHOOL_YEAR` column's ending year.Full description▾Ending calendar year of the school year. Year 2024 = 2023-2024 school year. Derived from the bronze `LONG_SCHOOL_YEAR` column's ending year. |
district_code | string | — | — | yes | GOSA district code (FK to the education districts dimension): 3-digit zero-padded for standard districts, 7-digit for state/commission charter schools (present from 2012 onward). NULL for state-level aggregate rows (the bronze sentinel `ALL`).Full description▾GOSA district code (FK to the education districts dimension): 3-digit zero-padded for standard districts, 7-digit for state/commission charter schools (present from 2012 onward). NULL for state-level aggregate rows (the bronze sentinel `ALL`). |
school_code | string | — | — | yes | 4-digit zero-padded GOSA school code (FK to the education schools dimension, composite key with district_code). NULL for district-level and state-level aggregate rows (the bronze sentinel `ALL`).Full description▾4-digit zero-padded GOSA school code (FK to the education schools dimension, composite key with district_code). NULL for district-level and state-level aggregate rows (the bronze sentinel `ALL`). |
employee_type | string | — | — | no | Which staff group the measurements cover: administrators, PK-12 teachers, or support personnel.Full description▾Employee group this row's experience measures cover. Snake_case recode of bronze EMPLOYEE_TYPE: `administrators`, `pk_12_teachers`, `support_personnel`. 3 allowed values▾
|
num_staff_less_than_1_yr | integer | — | no | Headcount of staff with less than 1 year of experience.Full description▾Whole-person headcount of staff in this employee group with less than 1 year of experience. One of five mutually exclusive experience bands (<1, 1-10, 11-20, 21-30, >30 years) that partition the entity's certified-personnel roster — the bands may be summed WITHIN a row to rebuild the entity's staff total, but school rows must never be summed to rebuild district or state counts (staff serving multiple schools are counted once per school assignment but deduplicated at higher levels). Zero counts are real (no suppression in this source). | |
num_staff_1_to_10_yr | integer | — | no | Headcount of staff with 1-10 years of experience.Full description▾Whole-person headcount of staff in this employee group with 1 to 10 years of experience. One of five mutually exclusive experience bands (<1, 1-10, 11-20, 21-30, >30 years) that partition the entity's certified-personnel roster — the bands may be summed WITHIN a row to rebuild the entity's staff total, but school rows must never be summed to rebuild district or state counts (staff serving multiple schools are counted once per school assignment but deduplicated at higher levels). Zero counts are real (no suppression in this source). | |
num_staff_11_to_20_yr | integer | — | no | Headcount of staff with 11-20 years of experience.Full description▾Whole-person headcount of staff in this employee group with 11 to 20 years of experience. One of five mutually exclusive experience bands (<1, 1-10, 11-20, 21-30, >30 years) that partition the entity's certified-personnel roster — the bands may be summed WITHIN a row to rebuild the entity's staff total, but school rows must never be summed to rebuild district or state counts (staff serving multiple schools are counted once per school assignment but deduplicated at higher levels). Zero counts are real (no suppression in this source). | |
num_staff_21_to_30_yr | integer | — | no | Headcount of staff with 21-30 years of experience.Full description▾Whole-person headcount of staff in this employee group with 21 to 30 years of experience. One of five mutually exclusive experience bands (<1, 1-10, 11-20, 21-30, >30 years) that partition the entity's certified-personnel roster — the bands may be summed WITHIN a row to rebuild the entity's staff total, but school rows must never be summed to rebuild district or state counts (staff serving multiple schools are counted once per school assignment but deduplicated at higher levels). Zero counts are real (no suppression in this source). | |
num_staff_over_30_yr | integer | — | no | Headcount of staff with more than 30 years of experience.Full description▾Whole-person headcount of staff in this employee group with more than 30 years of experience. One of five mutually exclusive experience bands (<1, 1-10, 11-20, 21-30, >30 years) that partition the entity's certified-personnel roster — the bands may be summed WITHIN a row to rebuild the entity's staff total, but school rows must never be summed to rebuild district or state counts (staff serving multiple schools are counted once per school assignment but deduplicated at higher levels). Zero counts are real (no suppression in this source). | |
avg_years_experience | number | — | — | no | Mean years of experience across the employee group's certified-personnel roster.Full description▾Mean years of experience across this entity's certified-personnel roster for the employee group, in years (0.01 precision; observed range [0, 50] across all 14 source years, enforced to [0, 60] by a quality check). An ENTITY-LEVEL mean: never sum it across entities, and a state mean is not the sum (or simple average) of district means. Carries no `unit` marker — a mean in years fits none of the unit vocabulary values — and no `metric_component` counts: the N it averages over (the total staff headcount) is published in the sibling `certified_personnel_composition` topic, not here. |
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 | districtsschoolsstates | enum-enforced, default: schools |
district_code | foreign_key | any value | multi-value |
school_code | foreign_key | any value | multi-value |
employee_type | categorical | administratorspk_12_teacherssupport_personnel | multi-value, enum-enforced, pick one |
district_type | dimension_attribute | 7 allowed values▾
| multi-value, enum-enforced |
school_level | dimension_attribute | elementarymiddlehighk12other | multi-value, enum-enforced |
locale | dimension_attribute | citysuburbtownrural | 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/certified_personnel_experience"schools data for 2024
curl "https://georgiacivicdata.org/api/v1/education/certified_personnel_experience?year=2024"Filtered to employee_type = administrators for 2024
curl "https://georgiacivicdata.org/api/v1/education/certified_personnel_experience?year=2024&employee_type=administrators"One district (code 644), 2024
curl "https://georgiacivicdata.org/api/v1/education/certified_personnel_experience?district_code=644&year=2024&detail=districts"Download 2024 as CSV
curl "https://georgiacivicdata.org/api/v1/education/certified_personnel_experience?year=2024&format=csv"Notes & limitations
NULL handling
- Zero is a real, reported value.
Limitations
This source has no suppression; a 0 is a real reported value. State rows have NULL district_code and school_code. District rows have NULL school_code.