CCRPI Content Mastery
Georgia student proficiency scores on state assessments (the CCRPI Content Mastery component) by subject, grade cluster, and demographic subgroup, 2012-2025.
- 2012–2025
- annual
- 1.0.0
- b9a4d90cbf66
Overview
CCRPI Content Mastery measures student proficiency on Georgia state assessments in core academic subjects at the school, district, and (2014+) state level, broken out by demographic subgroup, grade cluster, and (2012-2017) assessment type. The primary `indicator_score` metric unifies four source labels across eras: Meets & Exceeds Rate (2012-2014, CRCT/EOCT), Weighted Proficiency Rate (2015-2017, EOG/EOC; exceeds 100 by design), Indicator Score (2018-2019, 2022-2025), and Achievement Rate (2021). 2021-2022 add four learner-band proportions with derived `_or_above` cumulatives; 2018-2019 and 2023-2025 add an improvement `indicator_target` and a color `ccrpi_flag`. 2020 is absent — Georgia paused CCRPI during COVID. This is the deep-dive into the Content Mastery component only (by demographic, subject, and assessment type); the overall CCRPI score and the side-by-side scorecard of all five rolled-up component scores live in the `ccrpi_scoring_by_component` topic (the CCRPI overview), which this topic does not duplicate.
Row grain: One row per year, district_code, school_code, demographic, grade_cluster, assessment_type, subject.
indicator_score — Indicator Score (score, ≥ 0)
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 (2025 = 2024-2025). Sourced from the bronze `School Year` column, cross-checked against the filename year. 2020 does not exist (COVID pause).Full description▾Ending calendar year of the school year (2025 = 2024-2025). Sourced from the bronze `School Year` column, cross-checked against the filename year. 2020 does not exist (COVID pause). |
district_code | string | — | — | yes | 3-digit GOSA district code (zero-padded) for standard districts; 7-digit code for state-charter systems; the allowlisted pseudo-district code `RTC` (Residential Treatment Center aggregate, 2015-2017 only). NULL for state-level rows. FK to districts dimension.Full description▾3-digit GOSA district code (zero-padded) for standard districts; 7-digit code for state-charter systems; the allowlisted pseudo-district code `RTC` (Residential Treatment Center aggregate, 2015-2017 only). NULL for state-level rows. FK to districts dimension. |
school_code | string | — | — | yes | 4-digit GOSA school code (zero-padded; bronze strips leading zeros from some codes). NULL for district- and state-level rows. FK to schools dimension (composite key with district_code).Full description▾4-digit GOSA school code (zero-padded; bronze strips leading zeros from some codes). NULL for district- and state-level rows. FK to schools dimension (composite key with district_code). |
demographic | string | — | — | no | Which student group the row covers - `all`, a race, or a special population (economically disadvantaged, English learners, students with disabilities).Full description▾Canonical demographic code (FK to demographics dimension). `all` is the unfiltered total. Race uses the combined `asian_pacific_islander` bucket — the source publishes the explicit `Asian/Pacific Islander` label in every era and never separate Asian or Pacific Islander rows. Cross-era label spellings (`American Indian/Alaskan [Native]`, `Students With/with Disability`) fold into single canonical keys. 10 allowed values▾
|
grade_cluster | string | — | — | no | Grade band the row covers: elementary, middle, or high.Full description▾Grade cluster the row aggregates: `elementary`, `middle`, or `high` (bronze single-letter E/M/H expanded). A cluster of grades, not a single grade — distinct from `grade_level` per §16. 3 allowed values▾
|
assessment_type | string | — | — | yes | Which state testing program the score came from (CRCT/EOCT or EOG/EOC); NULL for 2018 and later.Full description▾Georgia state assessment program: `crct`/`eoct` (2012-2014) or `eog`/`eoc` (2015-2017). NULL for every 2018+ row — the source dropped the column when CCRPI consolidated to four broad indicators. Part of the row grain because 2012-2017 report the same subject under both programs. 4 allowed values▾
|
subject | string | — | — | no | Academic subject tested (e.g. mathematics, science); broad areas from 2018, more granular subjects before.Full description▾Academic subject assessed, snake_case. 2018+ uses 4 broad areas (english_language_arts, mathematics, science, social_studies); 2012-2017 split into 12-13 granular subjects (CRCT `reading` is a distinct subject, not an ELA alias). The 2021-2022 label `English` folds into `english_language_arts`. Social studies has roughly half the rows of other subjects in 2021+ (assessed only in high school and part of middle). 15 allowed values▾
|
participation_rate | number | — | yes | Share of eligible students assessed, 0-1 decimal scale. Bronze ships 0-100 in 2012-2017 and 2021-2022 (divided by 100 here) and 0-1 in 2018-2019 and 2023-2025 (passed through). 94 rows (21 in 2012, 73 in 2013; max 1.059/1.084 after scaling) legitimately exceed 1.0 — transfers-in inflated the tested/enrolled ratio before GaDOE began capping in 2014. Preserved verbatim, hence unit `ratio`, not `proportion`. State-level participation collapses to ~0.65 in 2021 (COVID-year testing disruption) versus ~0.98-0.99 in every other year — faithful to bronze, not a scaling artifact.Full description▾Share of eligible students assessed, 0-1 decimal scale. Bronze ships 0-100 in 2012-2017 and 2021-2022 (divided by 100 here) and 0-1 in 2018-2019 and 2023-2025 (passed through). 94 rows (21 in 2012, 73 in 2013; max 1.059/1.084 after scaling) legitimately exceed 1.0 — transfers-in inflated the tested/enrolled ratio before GaDOE began capping in 2014. Preserved verbatim, hence unit `ratio`, not `proportion`. State-level participation collapses to ~0.65 in 2021 (COVID-year testing disruption) versus ~0.98-0.99 in every other year — faithful to bronze, not a scaling artifact. | |
indicator_score | number | ≥ 0 | yes | Content-mastery proficiency score on a 0-100 scale (can exceed 100 in some years by design); NULL when suppressed.Full description▾Primary content-mastery metric on its natural 0-100 SCORE scale (exempt from the 0-1 percentage convention). Unifies Meets & Exceeds Rate (2012-2014), Weighted Proficiency Rate (2015-2017 — exceeds 100 by design, max observed 146.154), Indicator Score (2018-2019, 2022-2025), and Achievement Rate (2021). No upper bound is declared because >100 is legitimate. The `100.00+` top-cap sentinel is repaired two ways: 2021 (1,772 rows) reconstructed from the learner bands as 0.5*developing + proficient + 1.5*distinguished (verified to rounding precision on all numeric 2021 rows; reconstructed values span [100.005, 150.0]); 2023 (2,683 rows) capped at 100.0 because no learner bands exist that year to reconstruct from. | |
pct_beginning_learner | number | — | yes | Share of students at the Beginning Learner band, 0-1 scale (bronze 0-100 divided by 100). Published only for 2021-2022; NULL every other year.Full description▾Share of students at the Beginning Learner band, 0-1 scale (bronze 0-100 divided by 100). Published only for 2021-2022; NULL every other year. | |
pct_developing_learner | number | — | yes | Share at the Developing Learner band, 0-1 scale. Published only for 2021-2022; NULL every other year.Full description▾Share at the Developing Learner band, 0-1 scale. Published only for 2021-2022; NULL every other year. | |
pct_proficient_learner | number | — | yes | Share at the Proficient Learner band, 0-1 scale. Published only for 2021-2022; NULL every other year.Full description▾Share at the Proficient Learner band, 0-1 scale. Published only for 2021-2022; NULL every other year. | |
pct_distinguished_learner | number | — | yes | Share at the Distinguished Learner band, 0-1 scale. Published only for 2021-2022; NULL every other year. The four bands sum to 1.0 within rounding except for 146 defective 2021 source rows (worst sum 0.7646) — preserved as published.Full description▾Share at the Distinguished Learner band, 0-1 scale. Published only for 2021-2022; NULL every other year. The four bands sum to 1.0 within rounding except for 146 defective 2021 source rows (worst sum 0.7646) — preserved as published. | |
pct_developing_learner_or_above | number | — | yes | Derived cumulative: developing + proficient + distinguished, 0-1 scale, clipped at 1.0 (independent rounding can overshoot by up to 0.0002). NULL when any summand is NULL. Only populated for 2021-2022.Full description▾Derived cumulative: developing + proficient + distinguished, 0-1 scale, clipped at 1.0 (independent rounding can overshoot by up to 0.0002). NULL when any summand is NULL. Only populated for 2021-2022. | |
pct_proficient_learner_or_above | number | — | yes | Derived cumulative: proficient + distinguished, 0-1 scale, clipped at 1.0. NULL when any summand is NULL. Only populated for 2021-2022.Full description▾Derived cumulative: proficient + distinguished, 0-1 scale, clipped at 1.0. NULL when any summand is NULL. Only populated for 2021-2022. | |
indicator_target | number | 0–100 | yes | CCRPI improvement target on the same 0-100 scale as indicator_score (observed range [1.7, 95.0]; unlike indicator_score it is bounded at 100). Published only for 2018-2019 and 2023-2025. Every 2024 mathematics row is NULL by design — GaDOE computed no math targets during the new-math-standards rollout. NOT cross-topic comparable: each CCRPI topic's target inherits its companion metric's scale (§16).Full description▾CCRPI improvement target on the same 0-100 scale as indicator_score (observed range [1.7, 95.0]; unlike indicator_score it is bounded at 100). Published only for 2018-2019 and 2023-2025. Every 2024 mathematics row is NULL by design — GaDOE computed no math targets during the new-math-standards rollout. NOT cross-topic comparable: each CCRPI topic's target inherits its companion metric's scale (§16). | |
ccrpi_flag | string | — | — | yes | Performance color flag (green, green_star, yellow, red); published only 2018-2019 and 2023-2025.Full description▾CCRPI performance color flag: `green`, `green_star` (green with caveat), `yellow`, or `red` (bronze G/G*/Y/R recoded per §16). Published only for 2018-2019 and 2023-2025; bronze `NA` becomes NULL. A derived performance attribute functionally determined by the rest of the row key, so it is excluded from the contract grain. 4 allowed values▾
|
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 |
demographic | foreign_key | 10 allowed values▾
| multi-value, enum-enforced |
grade_cluster | categorical | elementaryhighmiddle | multi-value, enum-enforced, pick one |
assessment_type | categorical | crcteoceocteog | multi-value, enum-enforced, pick one |
subject | categorical | 15 allowed values▾
| multi-value, enum-enforced, pick one |
ccrpi_flag | categorical | greengreen_starredyellow | multi-value, enum-enforced |
district_type | dimension_attribute | 7 allowed values▾
| multi-value, enum-enforced |
demographic_category | dimension_attribute | 12 allowed values▾
| 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/ccrpi_content_mastery"schools data for 2025
curl "https://georgiacivicdata.org/api/v1/education/ccrpi_content_mastery?year=2025"Filtered to grade_cluster = elementary for 2025
curl "https://georgiacivicdata.org/api/v1/education/ccrpi_content_mastery?year=2025&grade_cluster=elementary"One district (code 601), 2025
curl "https://georgiacivicdata.org/api/v1/education/ccrpi_content_mastery?district_code=601&year=2025&detail=districts"Download 2025 as CSV
curl "https://georgiacivicdata.org/api/v1/education/ccrpi_content_mastery?year=2025&format=csv"Notes & limitations
NULL handling
- Suppressed cells (too few students to report) are NULL, never zero.
- Zero is a real, reported value.
Limitations
Suppressed cells are NULL (not zero). State rows have NULL district_code and school_code. District rows have NULL school_code.