{"main_topic":"education","sub_topic":"gosa","topic":"certified_personnel_compensation","key":"education/gosa/certified_personnel_compensation","version":"1.0.0","year_min":2011,"year_max":2024,"year_gaps":[],"update_frequency":"annual","detail_levels":["districts","schools","states"],"default_detail":"schools","path_template":"education/certified_personnel_compensation/year={year}/{detail}.parquet","grain":["year","district_code","school_code","employee_type"],"title":"Certified Personnel Compensation (Salaries and Positions)","summary":"Average salaries, contract days, and FTE position counts for Georgia school staff by school, district, and state, 2011-2024.","description":"Georgia Office of Student Achievement (GOSA) certified-personnel compensation dataset, 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 four position measures per employee group (Administrators, PK-12 Teachers, Support Personnel): the full-time-equivalent (FTE) count of certified positions and the average annual salary, average daily salary, and average contract days of those positions. Coverage runs from the 2010-11 school year through 2023-24. This is one of three topics split from the retired certified_personnel dataset, all reading the same GOSA source: staff headcounts by certificate level, certification status, gender, employment status, and race/ethnicity live in certified_personnel_composition, and years-of-experience band headcounts live in certified_personnel_experience.","source":"Governor's Office of Student Achievement (GOSA)","source_url":"https://gosa.georgia.gov/dashboards-data-report-card/downloadable-data","endpoint":"/api/v1/education/certified_personnel_compensation","columns":[{"name":"year","type":"integer","role":"year","nullable":false,"label":"Year","short_description":"","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.","valid_values":null,"example":2024,"unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"district_code","type":"string","role":"fk_district","nullable":true,"label":"District Code","short_description":"","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`).","valid_values":null,"example":"644","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"school_code","type":"string","role":"fk_school","nullable":true,"label":"School Code","short_description":"","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`).","valid_values":null,"example":"0189","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"employee_type","type":"string","role":"categorical","nullable":false,"label":"Employee Type","short_description":"Which staff group the row covers: administrators, PK-12 teachers, or support personnel.","description":"Certified employee group this row's position and compensation figures cover. Snake_case recode of bronze EMPLOYEE_TYPE: `administrators`, `pk_12_teachers`, `support_personnel`.","valid_values":["administrators","pk_12_teachers","support_personnel"],"example":"pk_12_teachers","unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":true,"metric_component":null},{"name":"fte_positions","type":"number","role":"metric","nullable":false,"label":"FTE Positions","short_description":"Full-time-equivalent count of certified positions in this staff group — fractional because part-time positions count as fractions.","description":"Full-time-equivalent (FTE) count of certified positions for this employee group (bronze Positions/Number). An FTE-style count, so legitimately fractional — part-time positions contribute fractions of a position. This is the N behind the three salary/contract-day averages (their denominator). Do not sum school rows to rebuild district or state totals — use the published aggregate rows.","valid_values":null,"example":52.5,"unit":"count","value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":"denominator"},{"name":"avg_annual_salary","type":"number","role":"metric","nullable":false,"label":"Average Annual Salary","short_description":"Average annual salary (US dollars) of this staff group's certified positions.","description":"Average annual salary in US dollars across this entity's certified positions in the employee group (bronze Positions/Average Annual Salary). An entity-level mean: never sum across entities, and a state average is not the sum (or mean) of district averages. Reconciles with avg_daily_salary x avg_contract_days to within $5 (enforced by a quality check). A value of 0.0 is a real published figure, occurring at small cells where an entity reports positions without salary data (observed max: 250,831.94).","valid_values":null,"example":62108.55,"unit":"currency","value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"avg_daily_salary","type":"number","role":"metric","nullable":false,"label":"Average Daily Salary","short_description":"Average daily salary (US dollars) of this staff group's certified positions.","description":"Average daily salary in US dollars across this entity's certified positions in the employee group (bronze Positions/Average Daily Salary). An entity-level mean: never sum across entities. Multiplied by avg_contract_days it reproduces avg_annual_salary to within $5 (observed max: 2,764.56).","valid_values":null,"example":328.62,"unit":"currency","value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null},{"name":"avg_contract_days","type":"number","role":"metric","nullable":false,"label":"Average Contract Days","short_description":"Average number of contract days per year for this staff group's certified positions.","description":"Average number of contract days per year across this entity's certified positions in the employee group (bronze Positions/Average Contract Days). An entity-level mean: never sum across entities. Declares no `unit` (days are neither a rescaled percentage nor a currency); the [0, 366] range is enforced by an authored quality check instead (observed bronze range: [30, 260]).","valid_values":null,"example":190.0,"unit":null,"value_min":null,"value_max":null,"null_meaning":null,"key_metric_grain_contributor":false,"metric_component":null}],"key_metric":"avg_annual_salary","usage":"Star-schema fact table. Join the districts dimension on district_code; the schools dimension on district_code + school_code. Read directly with DuckDB over Parquet.","limitations":"This source has no suppression markers in any year (2010-11 through 2023-24): every value is published, zeros are real, and all four metric columns are non-null on every row. avg_annual_salary, avg_daily_salary, and avg_contract_days are entity-level means — never sum them across entities, and a state average is not the sum (or mean) of district averages; use the published district/state rows for aggregate analysis. avg_annual_salary can be a real 0.0 at small cells where an entity reports positions without salary data. fte_positions is an FTE-style fractional position count (part-time positions count as fractions), and it is the N behind the three averages; do not sum school rows to rebuild district or state position totals. State rows have NULL district_code and school_code; district rows have NULL school_code.","null_semantics":{"suppressed_to_null":false,"zero_is_real":true},"available_years":[2011,2012,2013,2014,2015,2016,2017,2018,2019,2020,2021,2022,2023,2024],"schema_hash":"e00ffea94b1d4b03140629f26a99507e7706e7891fb5a99220f7cbe8a6e2a654","tags":["education","governor's office of student achievement","certified_personnel_compensation"],"granularity_description":"One row per year, district_code, school_code, employee_type (geography columns are NULL at higher aggregation levels).","example_queries":[{"description":"Latest year (2024), schools detail","query":"SELECT * FROM certified_personnel_compensation WHERE year = 2024 LIMIT 100"},{"description":"District 644 in 2024","query":"SELECT * FROM certified_personnel_compensation WHERE district_code = '644' AND year = 2024 LIMIT 100"},{"description":"Filter by employee_type = pk_12_teachers","query":"SELECT * FROM certified_personnel_compensation WHERE employee_type = 'pk_12_teachers' AND year = 2024 LIMIT 100"}],"foreign_keys":[{"column":"district_code","target_object":"districts","target_columns":["district_code"],"attribute_columns_added":["district_name","district_census_id","district_type"],"scope":"domain"},{"column":"school_code","target_object":"schools","target_columns":["district_code","school_code"],"attribute_columns_added":["school_name"],"scope":"domain"}],"filters":[{"param":"year","kind":"year_exact","type":"integer","multi_value":false,"enum_enforced":false,"values":null},{"param":"year_min","kind":"year_range","type":"integer","multi_value":false,"enum_enforced":false,"values":null},{"param":"year_max","kind":"year_range","type":"integer","multi_value":false,"enum_enforced":false,"values":null},{"param":"detail","kind":"detail","type":"string","multi_value":false,"enum_enforced":true,"values":["districts","schools","states"],"default":"schools"},{"param":"district_code","kind":"foreign_key","column":"district_code","type":"string","multi_value":true,"enum_enforced":false,"values":null},{"param":"school_code","kind":"foreign_key","column":"school_code","type":"string","multi_value":true,"enum_enforced":false,"values":null},{"param":"employee_type","kind":"categorical","column":"employee_type","type":"string","multi_value":true,"enum_enforced":true,"values":["administrators","pk_12_teachers","support_personnel"],"has_total":false,"total_value":null,"requires_single_value":true,"nullable":false,"null_filter_token":null},{"param":"district_type","kind":"dimension_attribute","dimension":"districts","column":"district_type","type":"string","multi_value":true,"enum_enforced":true,"values":["commission_charter","resa","standard","state_agency","state_charter","state_school","state_special"]},{"param":"school_level","kind":"dimension_attribute","dimension":"schools","column":"school_level","type":"string","multi_value":true,"enum_enforced":true,"values":["elementary","middle","high","k12","other"]},{"param":"locale","kind":"dimension_attribute","dimension":"schools","column":"locale","type":"string","multi_value":true,"enum_enforced":true,"values":["city","suburb","town","rural"]}],"filter_hints":[],"values_endpoint":"/api/v1/education/certified_personnel_compensation/values"}