Skip to content
← All datasets

CCRPI Content Mastery

Georgia student proficiency scores on state assessments (the CCRPI Content Mastery component) by subject, grade cluster, and demographic subgroup, 2012-2025.

Year coverage
20122025
Updated
annual
Version
1.0.0
Schema hash
b9a4d90cbf66

Detail levels available

StateDistrictSchool · default

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.

Key metric

indicator_scoreIndicator 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.

ColumnTypeUnitRangeNull?Description
yearYearintegernoEnding 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_codeDistrict Codestringyes3-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.

Joins districts; adds its label columns.

school_codeSchool Codestringyes4-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).

Joins schools; adds its label columns.

demographicDemographicstringnoWhich 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
  • all
  • asian_pacific_islander
  • black
  • economically_disadvantaged
  • english_learners
  • hispanic
  • multiracial
  • native_american
  • students_with_disabilities
  • white

Joins demographics; adds its label columns.

grade_clusterGrade ClusterstringnoGrade 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
  • elementary
  • high
  • middle
assessment_typeAssessment TypestringyesWhich 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
  • crct
  • eoc
  • eoct
  • eog
subjectSubjectstringnoAcademic 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
  • 9th_grade_literature_and_composition
  • algebra_i_coordinate_algebra
  • american_literature_and_composition
  • biology
  • economics_business_free_enterprise
  • english_language_arts
  • geometry_analytic_geometry
  • mathematics
  • mathematics_1
  • mathematics_2
  • physical_science
  • reading
  • science
  • social_studies
  • us_history
participation_rateParticipation RatenumberratioyesShare 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_scoreIndicator Scorenumberscore≥ 0yesContent-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_learnerPercent Beginning LearnernumberproportionyesShare 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_learnerPercent Developing LearnernumberproportionyesShare 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_learnerPercent Proficient LearnernumberproportionyesShare 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_learnerPercent Distinguished LearnernumberproportionyesShare 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_abovePercent Developing Learner or AbovenumberproportionyesDerived 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_abovePercent Proficient Learner or AbovenumberproportionyesDerived 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_targetIndicator Targetnumberscore0–100yesCCRPI 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_flagCCRPI FlagstringyesPerformance 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
  • green
  • green_star
  • red
  • yellow

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
detaildetaildistrictsschoolsstatesenum-enforced, default: schools
district_codeforeign_keyany valuemulti-value
school_codeforeign_keyany valuemulti-value
demographicforeign_key
10 allowed values
  • all
  • asian_pacific_islander
  • black
  • economically_disadvantaged
  • english_learners
  • hispanic
  • multiracial
  • native_american
  • students_with_disabilities
  • white
multi-value, enum-enforced
grade_clustercategoricalelementaryhighmiddlemulti-value, enum-enforced, pick one
assessment_typecategoricalcrcteoceocteogmulti-value, enum-enforced, pick one
subjectcategorical
15 allowed values
  • 9th_grade_literature_and_composition
  • algebra_i_coordinate_algebra
  • american_literature_and_composition
  • biology
  • economics_business_free_enterprise
  • english_language_arts
  • geometry_analytic_geometry
  • mathematics
  • mathematics_1
  • mathematics_2
  • physical_science
  • reading
  • science
  • social_studies
  • us_history
multi-value, enum-enforced, pick one
ccrpi_flagcategoricalgreengreen_starredyellowmulti-value, enum-enforced
district_typedimension_attribute
7 allowed values
  • commission_charter
  • resa
  • standard
  • state_agency
  • state_charter
  • state_school
  • state_special
multi-value, enum-enforced
demographic_categorydimension_attribute
12 allowed values
  • aggregate
  • disability
  • economic_status
  • esol
  • foster_care
  • gender
  • grade
  • homeless_status
  • migrant_status
  • military
  • race
  • sped
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.