docs/qa_reports/miami/__served_invariants.json
Served verbatim from the project repository. Internal working document conventions apply: documents may reference file paths, branch names, and findings-ledger anchors from the repo.
{
"verdict": "REVIEW",
"hard": {
"I1_range_violations": 0,
"I2_identity_violations": 0,
"I3_stale_rows": []
},
"shift_alarms": {
"n": 146,
"unexplained": 16,
"rows": [
{
"metric_key": "enrollment_oct_g3",
"year": "2016-17",
"kind": "median",
"value": 53.0,
"reference_year": "2017-18",
"reference": 47.5,
"spread_of_moves": 1.0,
"spread_source": "own",
"floor": 1.05,
"threshold": 3.15,
"lift": 5.2,
"explained": null
},
{
"metric_key": "enrollment_oct_g3",
"year": "2017-18",
"kind": "median",
"value": 47.5,
"reference_year": "2016-17",
"reference": 53.0,
"spread_of_moves": 0.5,
"spread_source": "own",
"floor": 1.05,
"threshold": 3.15,
"lift": 5.2,
"explained": null
},
{
"metric_key": "enrollment_oct_g3",
"year": "2018-19",
"kind": "median",
"value": 42.5,
"reference_year": "2017-18",
"reference": 47.5,
"spread_of_moves": 1.0,
"spread_source": "own",
"floor": 1.05,
"threshold": 3.15,
"lift": 4.8,
"explained": null
},
{
"metric_key": "enrollment_oct_g3",
"year": "2022-23",
"kind": "median",
"value": 49.5,
"reference_year": "2021-22",
"reference": 39.0,
"spread_of_moves": 1.0,
"spread_source": "own",
"floor": 1.05,
"threshold": 3.15,
"lift": 10.0,
"explained": "As the count entry: with the zero cells absent from 2022-23 the median of the remaining cells is higher that year and returns in 2023-24"
},
{
"metric_key": "enrollment_oct_g3",
"year": "2022-23",
"kind": "count",
"value": 484,
"reference_year": "2021-22",
"reference": 507,
"spread_of_moves": 4,
"spread_source": "own",
"floor": 5.0,
"threshold": 15.1,
"lift": 4.6,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g3",
"year": "2023-24",
"kind": "median",
"value": 42.0,
"reference_year": "2022-23",
"reference": 49.5,
"spread_of_moves": 1.0,
"spread_source": "own",
"floor": 1.05,
"threshold": 3.15,
"lift": 7.1,
"explained": "As the count entry: with the zero cells absent from 2022-23 the median of the remaining cells is higher that year and returns in 2023-24"
},
{
"metric_key": "enrollment_oct_g3",
"year": "2023-24",
"kind": "count",
"value": 515,
"reference_year": "2022-23",
"reference": 484,
"spread_of_moves": 4,
"spread_source": "own",
"floor": 5.0,
"threshold": 15.1,
"lift": 6.2,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g5",
"year": "2022-23",
"kind": "count",
"value": 484,
"reference_year": "2021-22",
"reference": 506,
"spread_of_moves": 3,
"spread_source": "own",
"floor": 5.0,
"threshold": 15.1,
"lift": 4.4,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g5",
"year": "2023-24",
"kind": "median",
"value": 35.0,
"reference_year": "2022-23",
"reference": 44.0,
"spread_of_moves": 2.0,
"spread_source": "own",
"floor": 0.978,
"threshold": 6.0,
"lift": 4.5,
"explained": "As the count entry: with the zero cells absent from 2022-23 the median of the remaining cells is higher that year and returns in 2023-24"
},
{
"metric_key": "enrollment_oct_g5",
"year": "2023-24",
"kind": "count",
"value": 517,
"reference_year": "2022-23",
"reference": 484,
"spread_of_moves": 3,
"spread_source": "own",
"floor": 5.0,
"threshold": 15.1,
"lift": 6.6,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g11",
"year": "2023-24",
"kind": "count",
"value": 507,
"reference_year": "2022-23",
"reference": 488,
"spread_of_moves": 1,
"spread_source": "own",
"floor": 4.9,
"threshold": 14.7,
"lift": 3.9,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g1",
"year": "2021-22",
"kind": "median",
"value": 37.0,
"reference_year": "2020-21",
"reference": 41.0,
"spread_of_moves": 1.0,
"spread_source": "own",
"floor": 1.025,
"threshold": 3.075,
"lift": 3.9,
"explained": null
},
{
"metric_key": "enrollment_oct_g1",
"year": "2022-23",
"kind": "median",
"value": 43.0,
"reference_year": "2021-22",
"reference": 37.0,
"spread_of_moves": 1.0,
"spread_source": "own",
"floor": 1.025,
"threshold": 3.075,
"lift": 5.9,
"explained": "As the count entry: with the zero cells absent from 2022-23 the median of the remaining cells is higher that year and returns in 2023-24"
},
{
"metric_key": "enrollment_oct_g1",
"year": "2022-23",
"kind": "count",
"value": 486,
"reference_year": "2021-22",
"reference": 508,
"spread_of_moves": 6,
"spread_source": "own",
"floor": 5.0,
"threshold": 18,
"lift": 3.7,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g1",
"year": "2023-24",
"kind": "median",
"value": 37.0,
"reference_year": "2022-23",
"reference": 43.0,
"spread_of_moves": 1.5,
"spread_source": "own",
"floor": 1.025,
"threshold": 4.5,
"lift": 4.0,
"explained": "As the count entry: with the zero cells absent from 2022-23 the median of the remaining cells is higher that year and returns in 2023-24"
},
{
"metric_key": "enrollment_oct_g1",
"year": "2023-24",
"kind": "count",
"value": 515,
"reference_year": "2022-23",
"reference": 486,
"spread_of_moves": 7,
"spread_source": "own",
"floor": 5.0,
"threshold": 21,
"lift": 4.1,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g4",
"year": "2020-21",
"kind": "median",
"value": 42.0,
"reference_year": "2019-20",
"reference": 38.0,
"spread_of_moves": 1.0,
"spread_source": "own",
"floor": 0.988,
"threshold": 3.0,
"lift": 4.0,
"explained": null
},
{
"metric_key": "enrollment_oct_g4",
"year": "2021-22",
"kind": "median",
"value": 35.0,
"reference_year": "2020-21",
"reference": 42.0,
"spread_of_moves": 1.0,
"spread_source": "own",
"floor": 0.988,
"threshold": 3.0,
"lift": 7.0,
"explained": null
},
{
"metric_key": "enrollment_oct_g4",
"year": "2022-23",
"kind": "count",
"value": 485,
"reference_year": "2021-22",
"reference": 508,
"spread_of_moves": 2,
"spread_source": "own",
"floor": 5.0,
"threshold": 15.1,
"lift": 4.6,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g4",
"year": "2023-24",
"kind": "count",
"value": 513,
"reference_year": "2022-23",
"reference": 485,
"spread_of_moves": 5,
"spread_source": "own",
"floor": 5.0,
"threshold": 15.1,
"lift": 5.6,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g6",
"year": "2023-24",
"kind": "count",
"value": 507,
"reference_year": "2022-23",
"reference": 483,
"spread_of_moves": 1,
"spread_source": "own",
"floor": 4.9,
"threshold": 14.7,
"lift": 4.9,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_gKG",
"year": "2022-23",
"kind": "count",
"value": 485,
"reference_year": "2021-22",
"reference": 509,
"spread_of_moves": 2,
"spread_source": "own",
"floor": 5.0,
"threshold": 15.0,
"lift": 4.8,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_gKG",
"year": "2023-24",
"kind": "median",
"value": 33.0,
"reference_year": "2022-23",
"reference": 42.0,
"spread_of_moves": 2.0,
"spread_source": "own",
"floor": 0.956,
"threshold": 6.0,
"lift": 4.5,
"explained": "As the count entry: with the zero cells absent from 2022-23 the median of the remaining cells is higher that year and returns in 2023-24"
},
{
"metric_key": "enrollment_oct_gKG",
"year": "2023-24",
"kind": "count",
"value": 516,
"reference_year": "2022-23",
"reference": 485,
"spread_of_moves": 2,
"spread_source": "own",
"floor": 5.0,
"threshold": 15.0,
"lift": 6.2,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g2",
"year": "2022-23",
"kind": "count",
"value": 483,
"reference_year": "2021-22",
"reference": 509,
"spread_of_moves": 3,
"spread_source": "own",
"floor": 5.0,
"threshold": 15.1,
"lift": 5.2,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g2",
"year": "2023-24",
"kind": "count",
"value": 517,
"reference_year": "2022-23",
"reference": 483,
"spread_of_moves": 4,
"spread_source": "own",
"floor": 5.0,
"threshold": 15.1,
"lift": 6.8,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g10",
"year": "2023-24",
"kind": "count",
"value": 504,
"reference_year": "2022-23",
"reference": 488,
"spread_of_moves": 2,
"spread_source": "own",
"floor": 4.9,
"threshold": 14.7,
"lift": 3.3,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g12",
"year": "2023-24",
"kind": "count",
"value": 511,
"reference_year": "2022-23",
"reference": 493,
"spread_of_moves": 1,
"spread_source": "own",
"floor": 4.9,
"threshold": 14.8,
"lift": 3.7,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_g7",
"year": "2023-24",
"kind": "count",
"value": 508,
"reference_year": "2022-23",
"reference": 487,
"spread_of_moves": 5,
"spread_source": "own",
"floor": 4.9,
"threshold": 15,
"lift": 4.2,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_gPK",
"year": "2021-22",
"kind": "count",
"value": 506,
"reference_year": "2020-21",
"reference": 487,
"spread_of_moves": 6,
"spread_source": "own",
"floor": 5.0,
"threshold": 18,
"lift": 3.2,
"explained": null
},
{
"metric_key": "enrollment_oct_gPK",
"year": "2022-23",
"kind": "count",
"value": 480,
"reference_year": "2021-22",
"reference": 506,
"spread_of_moves": 6,
"spread_source": "own",
"floor": 5.0,
"threshold": 18,
"lift": 4.3,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "enrollment_oct_gPK",
"year": "2023-24",
"kind": "count",
"value": 516,
"reference_year": "2022-23",
"reference": 480,
"spread_of_moves": 7,
"spread_source": "own",
"floor": 5.0,
"threshold": 21,
"lift": 5.1,
"explained": "The 2022-23 membership file leaves about 25 zero grade cells blank that the adjacent years print as 0 (of the 31 schools without a grade-3 cell in 2022-23, 24 show 0 in 2021-22 and 26 in 2023-24; 2022-23 has 190 zero grade-3 cells against 213\u2013220 in the other years); the served cells match the file (base case enrollment_oct_g3 2022-23), so the count drops in 2022-23 and recovers in 2023-24"
},
{
"metric_key": "per_pupil_expenditure_school_federal",
"year": "2024-25",
"kind": "median",
"value": 1218.0,
"reference_year": "2023-24",
"reference": 1910.0,
"spread_of_moves": 47.038,
"spread_source": "pooled USD",
"floor": 47.038,
"threshold": 141.113,
"lift": 14.7,
"explained": "Federal ESSER relief funds had to be obligated by 30 September 2024, so federal per-pupil spending fell in 2024-25 (the state and local series do not move)"
},
{
"metric_key": "survey_students_response_rate",
"year": "2020-21",
"kind": "median",
"value": 49.934,
"reference_year": "2019-20",
"reference": 35.843,
"spread_of_moves": 1.021,
"spread_source": "own",
"floor": 2.565,
"threshold": 7.696,
"lift": 5.5,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_students_response_rate",
"year": "2020-21",
"kind": "count",
"value": 366,
"reference_year": "2019-20",
"reference": 388,
"spread_of_moves": 7.0,
"spread_source": "own",
"floor": 3.7,
"threshold": 21.0,
"lift": 3.1,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_response_rate",
"year": "2021-22",
"kind": "median",
"value": 64.379,
"reference_year": "2020-21",
"reference": 49.934,
"spread_of_moves": 3.375,
"spread_source": "own",
"floor": 2.565,
"threshold": 10.124,
"lift": 4.3,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_students_response_rate",
"year": "2024-25",
"kind": "count",
"value": 395,
"reference_year": "2023-24",
"reference": 342,
"spread_of_moves": 7,
"spread_source": "own",
"floor": 3.7,
"threshold": 21,
"lift": 7.6,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_leadership",
"year": "2020-21",
"kind": "count",
"value": 382,
"reference_year": "2019-20",
"reference": 397,
"spread_of_moves": 3.5,
"spread_source": "own",
"floor": 4.0,
"threshold": 12.1,
"lift": 3.7,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_leadership",
"year": "2021-22",
"kind": "count",
"value": 430,
"reference_year": "2020-21",
"reference": 382,
"spread_of_moves": 5.0,
"spread_source": "own",
"floor": 4.0,
"threshold": 15.0,
"lift": 9.6,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_leadership",
"year": "2023-24",
"kind": "count",
"value": 383,
"reference_year": "2022-23",
"reference": 403,
"spread_of_moves": 6.0,
"spread_source": "own",
"floor": 4.0,
"threshold": 18.0,
"lift": 3.3,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_leadership",
"year": "2024-25",
"kind": "count",
"value": 411,
"reference_year": "2023-24",
"reference": 383,
"spread_of_moves": 5,
"spread_source": "own",
"floor": 4.0,
"threshold": 15,
"lift": 5.6,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_staff_grade_ab",
"year": "2020-21",
"kind": "median",
"value": 91.667,
"reference_year": "2021-22",
"reference": 86.0,
"spread_of_moves": 0.548,
"spread_source": "own",
"floor": 1.196,
"threshold": 3.588,
"lift": 4.7,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_staff_grade_ab",
"year": "2021-22",
"kind": "median",
"value": 86.0,
"reference_year": "2020-21",
"reference": 91.667,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.196,
"threshold": 3.729,
"lift": 4.6,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_staff_grade_ab",
"year": "2022-23",
"kind": "median",
"value": 90.141,
"reference_year": "2021-22",
"reference": 86.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.196,
"threshold": 3.729,
"lift": 3.3,
"explained": null
},
{
"metric_key": "survey_students_teaching",
"year": "2020-21",
"kind": "count",
"value": 382,
"reference_year": "2019-20",
"reference": 397,
"spread_of_moves": 3.5,
"spread_source": "own",
"floor": 4.0,
"threshold": 12.1,
"lift": 3.7,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_teaching",
"year": "2021-22",
"kind": "count",
"value": 430,
"reference_year": "2020-21",
"reference": 382,
"spread_of_moves": 5.0,
"spread_source": "own",
"floor": 4.0,
"threshold": 15.0,
"lift": 9.6,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_teaching",
"year": "2023-24",
"kind": "count",
"value": 383,
"reference_year": "2022-23",
"reference": 403,
"spread_of_moves": 6.0,
"spread_source": "own",
"floor": 4.0,
"threshold": 18.0,
"lift": 3.3,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_teaching",
"year": "2024-25",
"kind": "count",
"value": 411,
"reference_year": "2023-24",
"reference": 383,
"spread_of_moves": 5,
"spread_source": "own",
"floor": 4.0,
"threshold": 15,
"lift": 5.6,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "fast_ela_g8_proficiency",
"year": "2022-23",
"kind": "median",
"value": 49.0,
"reference_year": "2023-24",
"reference": 54.5,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.75,
"threshold": 5.251,
"lift": 3.1,
"explained": "FAST informational baseline in 2022-23 (first administration; comparability.yaml fl_assessment boundary 2022-23) and the recovery in the two operational years after it: every FAST grade and subject rose 3\u20138 pp a year; the served cells are re-read from the state's 63 SRS files by the base case"
},
{
"metric_key": "fast_ela_g8_proficiency",
"year": "2023-24",
"kind": "median",
"value": 54.5,
"reference_year": "2022-23",
"reference": 49.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.75,
"threshold": 5.251,
"lift": 3.1,
"explained": "FAST informational baseline in 2022-23 (first administration; comparability.yaml fl_assessment boundary 2022-23) and the recovery in the two operational years after it: every FAST grade and subject rose 3\u20138 pp a year; the served cells are re-read from the state's 63 SRS files by the base case"
},
{
"metric_key": "survey_staff_teaching",
"year": "2019-20",
"kind": "count",
"value": 399,
"reference_year": "2020-21",
"reference": 418,
"spread_of_moves": 3.5,
"spread_source": "own",
"floor": 4.1,
"threshold": 12.4,
"lift": 4.6,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_staff_teaching",
"year": "2020-21",
"kind": "count",
"value": 418,
"reference_year": "2019-20",
"reference": 399,
"spread_of_moves": 5,
"spread_source": "own",
"floor": 4.1,
"threshold": 15,
"lift": 3.8,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_staff_teaching",
"year": "2021-22",
"kind": "median",
"value": 61.043,
"reference_year": "2020-21",
"reference": 66.41,
"spread_of_moves": 1.628,
"spread_source": "own",
"floor": 0.838,
"threshold": 4.885,
"lift": 3.3,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "math_achievement",
"year": "2018-19",
"kind": "median",
"value": 65.0,
"reference_year": "2021-22",
"reference": 58.0,
"spread_of_moves": 1.0,
"spread_source": "own",
"floor": 1.572,
"threshold": 4.717,
"lift": 4.5,
"explained": "2018-19 (FSA) is compared with 2021-22, the first post-pandemic School Grades year, because 2019-20 issued no grades and 2020-21 was opt-in (comparability.yaml school_grades excluded years); the 7-pp drop is the pandemic loss under one test regime"
},
{
"metric_key": "math_achievement",
"year": "2021-22",
"kind": "median",
"value": 58.0,
"reference_year": "2018-19",
"reference": 65.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.572,
"threshold": 4.717,
"lift": 4.5,
"explained": "2018-19 (FSA) is compared with 2021-22, the first post-pandemic School Grades year, because 2019-20 issued no grades and 2020-21 was opt-in (comparability.yaml school_grades excluded years); the 7-pp drop is the pandemic loss under one test regime"
},
{
"metric_key": "math_achievement",
"year": "2023-24",
"kind": "median",
"value": 65.0,
"reference_year": "2022-23",
"reference": 60.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.572,
"threshold": 4.717,
"lift": 3.2,
"explained": "School Grades components in the first operational FAST/B.E.S.T. year after the 2022-23 informational baseline (comparability.yaml fl_assessment boundary 2022-23): ELA, math and science each rose 5 pp"
},
{
"metric_key": "pct_econ_disadv",
"year": "2024-25",
"kind": "median",
"value": 83.6,
"reference_year": "2023-24",
"reference": 89.8,
"spread_of_moves": 0.8,
"spread_source": "own",
"floor": 2.0,
"threshold": 5.999,
"lift": 3.1,
"explained": "The School Grades file's share is not comparable across Community Eligibility Provision status (decision M.8, docs/cities/miami/03_integration_plan.md); the district-wide median fell 6 pp in 2024-25 with the file's own values (base case re-read). Sits at the alarm threshold (lift 3.1), so it appears and disappears with small changes in the school universe."
},
{
"metric_key": "middle_school_acceleration",
"year": "2018-19",
"kind": "count",
"value": 160,
"reference_year": "2021-22",
"reference": 168,
"spread_of_moves": 2,
"spread_source": "own",
"floor": 2.0,
"threshold": 6,
"lift": 4.0,
"explained": null
},
{
"metric_key": "learning_gains_math",
"year": "2018-19",
"kind": "median",
"value": 62.0,
"reference_year": "2021-22",
"reference": 68.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.009,
"threshold": 3.729,
"lift": 4.8,
"explained": "As math_achievement 2018-19 / 2021-22: gains in 2021-22 are measured against 2018-19 baselines for many students after the two excluded years (comparability.yaml school_grades)"
},
{
"metric_key": "learning_gains_math",
"year": "2021-22",
"kind": "median",
"value": 68.0,
"reference_year": "2018-19",
"reference": 62.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.009,
"threshold": 3.729,
"lift": 4.8,
"explained": "As math_achievement 2018-19 / 2021-22: gains in 2021-22 are measured against 2018-19 baselines for many students after the two excluded years (comparability.yaml school_grades)"
},
{
"metric_key": "learning_gains_math",
"year": "2023-24",
"kind": "median",
"value": 63.0,
"reference_year": "2021-22",
"reference": 68.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.009,
"threshold": 3.729,
"lift": 4.0,
"explained": "Learning gains are computed within a test regime; 2023-24 is the first year with two FAST administrations to compare (comparability.yaml school_grades boundary 2022-23)"
},
{
"metric_key": "survey_parents_teaching",
"year": "2018-19",
"kind": "median",
"value": 89.438,
"reference_year": "2020-21",
"reference": 86.645,
"spread_of_moves": 0.339,
"spread_source": "own",
"floor": 0.691,
"threshold": 2.073,
"lift": 4.0,
"explained": "The 2018-19 parent workbook withholds 8 schools under 10 responses against 112 in 2020-21 (parsed n<10 counts): the composite's median moves with the school set (the 2020-21 alarm is the same step seen from the other side)"
},
{
"metric_key": "survey_parents_teaching",
"year": "2018-19",
"kind": "count",
"value": 438,
"reference_year": "2020-21",
"reference": 334,
"spread_of_moves": 15.0,
"spread_source": "own",
"floor": 3.5,
"threshold": 45.0,
"lift": 6.9,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_teaching",
"year": "2020-21",
"kind": "median",
"value": 86.645,
"reference_year": "2018-19",
"reference": 89.438,
"spread_of_moves": 0.677,
"spread_source": "own",
"floor": 0.691,
"threshold": 2.073,
"lift": 4.0,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_parents_teaching",
"year": "2020-21",
"kind": "count",
"value": 334,
"reference_year": "2018-19",
"reference": 438,
"spread_of_moves": 15,
"spread_source": "own",
"floor": 3.5,
"threshold": 45,
"lift": 6.9,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_resources",
"year": "2018-19",
"kind": "median",
"value": 66.6,
"reference_year": "2020-21",
"reference": 60.0,
"spread_of_moves": 0.526,
"spread_source": "own",
"floor": 0.767,
"threshold": 2.301,
"lift": 8.6,
"explained": "The 2018-19 parent workbook withholds 8 schools under 10 responses against 112 in 2020-21 (parsed n<10 counts): the composite's median moves with the school set (the 2020-21 alarm is the same step seen from the other side)"
},
{
"metric_key": "survey_parents_resources",
"year": "2018-19",
"kind": "count",
"value": 438,
"reference_year": "2020-21",
"reference": 334,
"spread_of_moves": 15.0,
"spread_source": "own",
"floor": 3.5,
"threshold": 45.0,
"lift": 6.9,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_resources",
"year": "2020-21",
"kind": "median",
"value": 60.0,
"reference_year": "2018-19",
"reference": 66.6,
"spread_of_moves": 0.047,
"spread_source": "own",
"floor": 0.767,
"threshold": 2.301,
"lift": 8.6,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_parents_resources",
"year": "2020-21",
"kind": "count",
"value": 334,
"reference_year": "2018-19",
"reference": 438,
"spread_of_moves": 15,
"spread_source": "own",
"floor": 3.5,
"threshold": 45,
"lift": 6.9,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "fast_ela_g6_proficiency",
"year": "2022-23",
"kind": "median",
"value": 49.0,
"reference_year": "2023-24",
"reference": 56.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.75,
"threshold": 5.251,
"lift": 4.0,
"explained": "FAST informational baseline in 2022-23 (first administration; comparability.yaml fl_assessment boundary 2022-23) and the recovery in the two operational years after it: every FAST grade and subject rose 3\u20138 pp a year; the served cells are re-read from the state's 63 SRS files by the base case"
},
{
"metric_key": "fast_ela_g6_proficiency",
"year": "2023-24",
"kind": "median",
"value": 56.0,
"reference_year": "2022-23",
"reference": 49.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.75,
"threshold": 5.251,
"lift": 4.0,
"explained": "FAST informational baseline in 2022-23 (first administration; comparability.yaml fl_assessment boundary 2022-23) and the recovery in the two operational years after it: every FAST grade and subject rose 3\u20138 pp a year; the served cells are re-read from the state's 63 SRS files by the base case"
},
{
"metric_key": "eoc_geometry_proficiency",
"year": "2022-23",
"kind": "count",
"value": 179,
"reference_year": "2023-24",
"reference": 196,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 2.0,
"threshold": 12,
"lift": 4.2,
"explained": null
},
{
"metric_key": "eoc_geometry_proficiency",
"year": "2023-24",
"kind": "count",
"value": 196,
"reference_year": "2022-23",
"reference": 179,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 2.0,
"threshold": 12,
"lift": 4.2,
"explained": null
},
{
"metric_key": "school_grade_points_pct",
"year": "2024-25",
"kind": "median",
"value": 66.0,
"reference_year": "2023-24",
"reference": 63.0,
"spread_of_moves": 0.0,
"spread_source": "own",
"floor": 0.949,
"threshold": 2.848,
"lift": 3.2,
"explained": "Points rose with every component in the third FAST year (comparability.yaml school_grades); the components' own alarms are explained above"
},
{
"metric_key": "survey_staff_resources",
"year": "2019-20",
"kind": "median",
"value": 71.377,
"reference_year": "2020-21",
"reference": 74.834,
"spread_of_moves": 0.489,
"spread_source": "own",
"floor": 0.831,
"threshold": 2.492,
"lift": 4.2,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_staff_resources",
"year": "2019-20",
"kind": "count",
"value": 399,
"reference_year": "2020-21",
"reference": 418,
"spread_of_moves": 3.5,
"spread_source": "own",
"floor": 4.1,
"threshold": 12.4,
"lift": 4.6,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_staff_resources",
"year": "2020-21",
"kind": "median",
"value": 74.834,
"reference_year": "2019-20",
"reference": 71.377,
"spread_of_moves": 0.177,
"spread_source": "own",
"floor": 0.831,
"threshold": 2.492,
"lift": 4.2,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_staff_resources",
"year": "2020-21",
"kind": "count",
"value": 418,
"reference_year": "2019-20",
"reference": 399,
"spread_of_moves": 5,
"spread_source": "own",
"floor": 4.1,
"threshold": 15,
"lift": 3.8,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_staff_resources",
"year": "2021-22",
"kind": "median",
"value": 70.866,
"reference_year": "2020-21",
"reference": 74.834,
"spread_of_moves": 0.801,
"spread_source": "own",
"floor": 0.831,
"threshold": 2.492,
"lift": 4.8,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_staff_safety",
"year": "2019-20",
"kind": "median",
"value": 86.792,
"reference_year": "2020-21",
"reference": 89.684,
"spread_of_moves": 0.373,
"spread_source": "own",
"floor": 0.831,
"threshold": 2.492,
"lift": 3.5,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_staff_safety",
"year": "2019-20",
"kind": "count",
"value": 399,
"reference_year": "2020-21",
"reference": 418,
"spread_of_moves": 3.5,
"spread_source": "own",
"floor": 4.1,
"threshold": 12.4,
"lift": 4.6,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_staff_safety",
"year": "2020-21",
"kind": "median",
"value": 89.684,
"reference_year": "2019-20",
"reference": 86.792,
"spread_of_moves": 0.056,
"spread_source": "own",
"floor": 0.831,
"threshold": 2.492,
"lift": 3.5,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_staff_safety",
"year": "2020-21",
"kind": "count",
"value": 418,
"reference_year": "2019-20",
"reference": 399,
"spread_of_moves": 5,
"spread_source": "own",
"floor": 4.1,
"threshold": 15,
"lift": 3.8,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_staff_safety",
"year": "2021-22",
"kind": "median",
"value": 85.212,
"reference_year": "2020-21",
"reference": 89.684,
"spread_of_moves": 0.745,
"spread_source": "own",
"floor": 0.831,
"threshold": 2.492,
"lift": 5.4,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_staff_leadership",
"year": "2019-20",
"kind": "count",
"value": 399,
"reference_year": "2020-21",
"reference": 418,
"spread_of_moves": 3.5,
"spread_source": "own",
"floor": 4.1,
"threshold": 12.4,
"lift": 4.6,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_staff_leadership",
"year": "2020-21",
"kind": "count",
"value": 418,
"reference_year": "2019-20",
"reference": 399,
"spread_of_moves": 5,
"spread_source": "own",
"floor": 4.1,
"threshold": 15,
"lift": 3.8,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_staff_leadership",
"year": "2021-22",
"kind": "median",
"value": 85.2,
"reference_year": "2020-21",
"reference": 87.847,
"spread_of_moves": 0.741,
"spread_source": "own",
"floor": 0.859,
"threshold": 2.578,
"lift": 3.1,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_parents_leadership",
"year": "2018-19",
"kind": "count",
"value": 438,
"reference_year": "2020-21",
"reference": 334,
"spread_of_moves": 15.0,
"spread_source": "own",
"floor": 3.5,
"threshold": 45.0,
"lift": 6.9,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_leadership",
"year": "2020-21",
"kind": "count",
"value": 334,
"reference_year": "2018-19",
"reference": 438,
"spread_of_moves": 15,
"spread_source": "own",
"floor": 3.5,
"threshold": 45,
"lift": 6.9,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_safety",
"year": "2018-19",
"kind": "median",
"value": 85.857,
"reference_year": "2020-21",
"reference": 83.117,
"spread_of_moves": 0.461,
"spread_source": "own",
"floor": 0.79,
"threshold": 2.371,
"lift": 3.5,
"explained": "The 2018-19 parent workbook withholds 8 schools under 10 responses against 112 in 2020-21 (parsed n<10 counts): the composite's median moves with the school set (the 2020-21 alarm is the same step seen from the other side)"
},
{
"metric_key": "survey_parents_safety",
"year": "2018-19",
"kind": "count",
"value": 438,
"reference_year": "2020-21",
"reference": 334,
"spread_of_moves": 15.0,
"spread_source": "own",
"floor": 3.5,
"threshold": 45.0,
"lift": 6.9,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_safety",
"year": "2020-21",
"kind": "count",
"value": 334,
"reference_year": "2018-19",
"reference": 438,
"spread_of_moves": 15,
"spread_source": "own",
"floor": 3.5,
"threshold": 45,
"lift": 6.9,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_safety",
"year": "2023-24",
"kind": "median",
"value": 87.0,
"reference_year": "2022-23",
"reference": 84.235,
"spread_of_moves": 0.78,
"spread_source": "own",
"floor": 0.79,
"threshold": 2.371,
"lift": 3.5,
"explained": null
},
{
"metric_key": "survey_students_resources",
"year": "2020-21",
"kind": "count",
"value": 382,
"reference_year": "2019-20",
"reference": 397,
"spread_of_moves": 3.5,
"spread_source": "own",
"floor": 4.0,
"threshold": 12.1,
"lift": 3.7,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_resources",
"year": "2021-22",
"kind": "count",
"value": 430,
"reference_year": "2020-21",
"reference": 382,
"spread_of_moves": 5.0,
"spread_source": "own",
"floor": 4.0,
"threshold": 15.0,
"lift": 9.6,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_resources",
"year": "2023-24",
"kind": "count",
"value": 383,
"reference_year": "2022-23",
"reference": 403,
"spread_of_moves": 6.0,
"spread_source": "own",
"floor": 4.0,
"threshold": 18.0,
"lift": 3.3,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_resources",
"year": "2024-25",
"kind": "count",
"value": 411,
"reference_year": "2023-24",
"reference": 383,
"spread_of_moves": 5,
"spread_source": "own",
"floor": 4.0,
"threshold": 15,
"lift": 5.6,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "eoc_ushistory_proficiency",
"year": "2022-23",
"kind": "median",
"value": 67.0,
"reference_year": "2023-24",
"reference": 72.5,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.647,
"threshold": 4.94,
"lift": 3.3,
"explained": "B.E.S.T. EOC baseline in 2022-23 (comparability.yaml fl_assessment boundary 2022-23) and the recovery after it; served cells re-read from the SRS files by the base case"
},
{
"metric_key": "eoc_ushistory_proficiency",
"year": "2023-24",
"kind": "median",
"value": 72.5,
"reference_year": "2022-23",
"reference": 67.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.647,
"threshold": 4.94,
"lift": 3.3,
"explained": "B.E.S.T. EOC baseline in 2022-23 (comparability.yaml fl_assessment boundary 2022-23) and the recovery after it; served cells re-read from the SRS files by the base case"
},
{
"metric_key": "eoc_ushistory_proficiency",
"year": "2024-25",
"kind": "median",
"value": 77.5,
"reference_year": "2023-24",
"reference": 72.5,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.647,
"threshold": 4.94,
"lift": 3.0,
"explained": "B.E.S.T. EOC baseline in 2022-23 (comparability.yaml fl_assessment boundary 2022-23) and the recovery after it; served cells re-read from the SRS files by the base case"
},
{
"metric_key": "eoc_biology_proficiency",
"year": "2024-25",
"kind": "count",
"value": 241,
"reference_year": "2023-24",
"reference": 226,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 2.3,
"threshold": 12,
"lift": 3.8,
"explained": null
},
{
"metric_key": "fast_ela_g7_proficiency",
"year": "2024-25",
"kind": "median",
"value": 61.0,
"reference_year": "2023-24",
"reference": 53.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.78,
"threshold": 5.34,
"lift": 4.5,
"explained": "FAST informational baseline in 2022-23 (first administration; comparability.yaml fl_assessment boundary 2022-23) and the recovery in the two operational years after it: every FAST grade and subject rose 3\u20138 pp a year; the served cells are re-read from the state's 63 SRS files by the base case"
},
{
"metric_key": "survey_students_recommend",
"year": "2020-21",
"kind": "median",
"value": 78.947,
"reference_year": "2021-22",
"reference": 74.938,
"spread_of_moves": 0.265,
"spread_source": "own",
"floor": 1.214,
"threshold": 3.641,
"lift": 3.3,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_students_recommend",
"year": "2020-21",
"kind": "count",
"value": 382,
"reference_year": "2021-22",
"reference": 430,
"spread_of_moves": 7,
"spread_source": "own",
"floor": 4.0,
"threshold": 21,
"lift": 6.9,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_recommend",
"year": "2021-22",
"kind": "median",
"value": 74.938,
"reference_year": "2020-21",
"reference": 78.947,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.214,
"threshold": 3.729,
"lift": 3.2,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_students_recommend",
"year": "2021-22",
"kind": "count",
"value": 430,
"reference_year": "2020-21",
"reference": 382,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 4.0,
"threshold": 12.1,
"lift": 11.9,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_recommend",
"year": "2022-23",
"kind": "count",
"value": 403,
"reference_year": "2021-22",
"reference": 430,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 4.0,
"threshold": 12.1,
"lift": 6.7,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_recommend",
"year": "2023-24",
"kind": "count",
"value": 383,
"reference_year": "2022-23",
"reference": 403,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 4.0,
"threshold": 12.1,
"lift": 5.0,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_recommend",
"year": "2024-25",
"kind": "count",
"value": 411,
"reference_year": "2023-24",
"reference": 383,
"spread_of_moves": 7,
"spread_source": "own",
"floor": 4.0,
"threshold": 21,
"lift": 4.0,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_grade_ab",
"year": "2020-21",
"kind": "median",
"value": 82.133,
"reference_year": "2021-22",
"reference": 76.923,
"spread_of_moves": 0.31,
"spread_source": "own",
"floor": 1.33,
"threshold": 3.991,
"lift": 3.9,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_students_grade_ab",
"year": "2020-21",
"kind": "count",
"value": 382,
"reference_year": "2021-22",
"reference": 430,
"spread_of_moves": 7,
"spread_source": "own",
"floor": 4.0,
"threshold": 21,
"lift": 6.9,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_grade_ab",
"year": "2021-22",
"kind": "median",
"value": 76.923,
"reference_year": "2020-21",
"reference": 82.133,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.33,
"threshold": 3.991,
"lift": 3.9,
"explained": "2020-21 was the remote/hybrid year (comparability.yaml flagged year): students' safety and leadership composites rose 4\u20135 pp, staff safety and resources 3\u20134 pp, the students' response rate from 36% to 50% and then 64%, and the 2021-22 values are the return; the workbooks' own values, re-read by the base case for 2019-20, 2020-21, 2021-22 and 2022-23 composites. 2019-20 is included because it is the first served staff year (the 2018-19 staff workbook was retired 2026-09-16) and a first year is compared with the next, i.e. with the remote year"
},
{
"metric_key": "survey_students_grade_ab",
"year": "2021-22",
"kind": "count",
"value": 430,
"reference_year": "2020-21",
"reference": 382,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 4.0,
"threshold": 12.1,
"lift": 11.9,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_grade_ab",
"year": "2022-23",
"kind": "count",
"value": 403,
"reference_year": "2021-22",
"reference": 430,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 4.0,
"threshold": 12.1,
"lift": 6.7,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_grade_ab",
"year": "2023-24",
"kind": "count",
"value": 383,
"reference_year": "2022-23",
"reference": 403,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 4.0,
"threshold": 12.1,
"lift": 5.0,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_grade_ab",
"year": "2024-25",
"kind": "count",
"value": 411,
"reference_year": "2023-24",
"reference": 383,
"spread_of_moves": 7,
"spread_source": "own",
"floor": 4.0,
"threshold": 21,
"lift": 4.0,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_safety",
"year": "2020-21",
"kind": "count",
"value": 382,
"reference_year": "2019-20",
"reference": 397,
"spread_of_moves": 3.5,
"spread_source": "own",
"floor": 4.0,
"threshold": 12.1,
"lift": 3.7,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_safety",
"year": "2021-22",
"kind": "count",
"value": 430,
"reference_year": "2020-21",
"reference": 382,
"spread_of_moves": 5.0,
"spread_source": "own",
"floor": 4.0,
"threshold": 15.0,
"lift": 9.6,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_safety",
"year": "2023-24",
"kind": "count",
"value": 383,
"reference_year": "2022-23",
"reference": 403,
"spread_of_moves": 6.0,
"spread_source": "own",
"floor": 4.0,
"threshold": 18.0,
"lift": 3.3,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_students_safety",
"year": "2024-25",
"kind": "count",
"value": 411,
"reference_year": "2023-24",
"reference": 383,
"spread_of_moves": 5,
"spread_source": "own",
"floor": 4.0,
"threshold": 15,
"lift": 5.6,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_recommend",
"year": "2021-22",
"kind": "count",
"value": 336,
"reference_year": "2022-23",
"reference": 368,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 3.5,
"threshold": 12,
"lift": 8.0,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_recommend",
"year": "2022-23",
"kind": "count",
"value": 368,
"reference_year": "2021-22",
"reference": 336,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 3.5,
"threshold": 12,
"lift": 8.0,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_recommend",
"year": "2023-24",
"kind": "count",
"value": 339,
"reference_year": "2022-23",
"reference": 368,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 3.5,
"threshold": 12,
"lift": 7.2,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_recommend",
"year": "2024-25",
"kind": "count",
"value": 356,
"reference_year": "2023-24",
"reference": 339,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 3.5,
"threshold": 12,
"lift": 4.2,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "social_studies_achievement",
"year": "2022-23",
"kind": "count",
"value": 255,
"reference_year": "2021-22",
"reference": 241,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 2.6,
"threshold": 12,
"lift": 3.5,
"explained": null
},
{
"metric_key": "survey_parents_grade_ab",
"year": "2021-22",
"kind": "count",
"value": 336,
"reference_year": "2022-23",
"reference": 368,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 3.5,
"threshold": 12,
"lift": 8.0,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_grade_ab",
"year": "2022-23",
"kind": "count",
"value": 368,
"reference_year": "2021-22",
"reference": 336,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 3.5,
"threshold": 12,
"lift": 8.0,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_grade_ab",
"year": "2023-24",
"kind": "count",
"value": 339,
"reference_year": "2022-23",
"reference": 368,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 3.5,
"threshold": 12,
"lift": 7.2,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "survey_parents_grade_ab",
"year": "2024-25",
"kind": "count",
"value": 356,
"reference_year": "2023-24",
"reference": 339,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 3.5,
"threshold": 12,
"lift": 4.2,
"explained": "The count of schools with a served composite is the workbook's own school list minus the schools it withholds under 10 responses, which varies by year (parsed n<10 school counts 2018-19 \u2192 2024-25: students 7 / 69 / 98 / 52 / 44 / 105 / 81; parents 8 / 112 / 104 / 59 / 121 / 126; staff 60 / 46 / 43 / 45 / 56 / 55 / 48); every served composite is re-read from its workbook by the base case, so the count is a property of the file, not of the load"
},
{
"metric_key": "ela_achievement",
"year": "2023-24",
"kind": "median",
"value": 62.0,
"reference_year": "2022-23",
"reference": 57.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.483,
"threshold": 4.45,
"lift": 3.4,
"explained": "School Grades components in the first operational FAST/B.E.S.T. year after the 2022-23 informational baseline (comparability.yaml fl_assessment boundary 2022-23): ELA, math and science each rose 5 pp"
},
{
"metric_key": "science_achievement",
"year": "2023-24",
"kind": "median",
"value": 60.0,
"reference_year": "2022-23",
"reference": 55.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.483,
"threshold": 4.45,
"lift": 3.4,
"explained": "School Grades components in the first operational FAST/B.E.S.T. year after the 2022-23 informational baseline (comparability.yaml fl_assessment boundary 2022-23): ELA, math and science each rose 5 pp"
},
{
"metric_key": "learning_gains_ela",
"year": "2023-24",
"kind": "count",
"value": 460,
"reference_year": "2021-22",
"reference": 446,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 4.5,
"threshold": 13.6,
"lift": 3.1,
"explained": null
},
{
"metric_key": "learning_gains_ela_l25",
"year": "2023-24",
"kind": "median",
"value": 61.0,
"reference_year": "2021-22",
"reference": 55.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 0.89,
"threshold": 3.729,
"lift": 4.8,
"explained": "Learning gains are computed within a test regime; 2023-24 is the first year with two FAST administrations to compare (comparability.yaml school_grades boundary 2022-23)"
},
{
"metric_key": "learning_gains_math_l25",
"year": "2018-19",
"kind": "median",
"value": 53.0,
"reference_year": "2021-22",
"reference": 64.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 0.979,
"threshold": 3.729,
"lift": 8.8,
"explained": "As math_achievement 2018-19 / 2021-22: gains in 2021-22 are measured against 2018-19 baselines for many students after the two excluded years (comparability.yaml school_grades)"
},
{
"metric_key": "learning_gains_math_l25",
"year": "2021-22",
"kind": "median",
"value": 64.0,
"reference_year": "2018-19",
"reference": 53.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 0.979,
"threshold": 3.729,
"lift": 8.8,
"explained": "As math_achievement 2018-19 / 2021-22: gains in 2021-22 are measured against 2018-19 baselines for many students after the two excluded years (comparability.yaml school_grades)"
},
{
"metric_key": "chronic_absenteeism_rate",
"year": "2020-21",
"kind": "median",
"value": 20.594,
"reference_year": "2019-20",
"reference": 15.466,
"spread_of_moves": 0.417,
"spread_source": "own",
"floor": 1.19,
"threshold": 3.569,
"lift": 4.3,
"explained": "2019-20 and 2020-21 are excluded from the chronic_absenteeism regime (comparability.yaml); the median rose from 15% to 21% in the remote year and to 26% in 2021-22, the national post-pandemic level; served cells re-read from the state files by the base case and checked against EDFacts (cross-publisher check)"
},
{
"metric_key": "chronic_absenteeism_rate",
"year": "2021-22",
"kind": "median",
"value": 25.744,
"reference_year": "2020-21",
"reference": 20.594,
"spread_of_moves": 1.161,
"spread_source": "own",
"floor": 1.19,
"threshold": 3.569,
"lift": 4.3,
"explained": "2019-20 and 2020-21 are excluded from the chronic_absenteeism regime (comparability.yaml); the median rose from 15% to 21% in the remote year and to 26% in 2021-22, the national post-pandemic level; served cells re-read from the state files by the base case and checked against EDFacts (cross-publisher check)"
},
{
"metric_key": "absent_21plus_rate",
"year": "2020-21",
"kind": "median",
"value": 13.111,
"reference_year": "2019-20",
"reference": 8.826,
"spread_of_moves": 0.536,
"spread_source": "own",
"floor": 0.791,
"threshold": 2.373,
"lift": 5.4,
"explained": "As chronic_absenteeism_rate 2020-21 / 2021-22 (same file, same excluded years)"
},
{
"metric_key": "k_to_g5_ratio",
"year": "2020-21",
"kind": "count",
"value": 280,
"reference_year": "2019-20",
"reference": 271,
"spread_of_moves": 1,
"spread_source": "own",
"floor": 2.8,
"threshold": 8.4,
"lift": 3.2,
"explained": null
},
{
"metric_key": "enrollment_oct_ccd",
"year": "2018-19",
"kind": "count",
"value": 510,
"reference_year": "2022-23",
"reference": 534,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 5.3,
"threshold": 16.0,
"lift": 4.5,
"explained": "The federal CCD directory lists 510 Dade schools in 2018-19 and 534 in 2022-23 (its own school list; charter openings in between); a reference-only series compared with the state count school by school in the cross-publisher check"
},
{
"metric_key": "enrollment_oct_ccd",
"year": "2022-23",
"kind": "count",
"value": 534,
"reference_year": "2018-19",
"reference": 510,
"spread_of_moves": 4,
"spread_source": "pooled",
"floor": 5.3,
"threshold": 16.0,
"lift": 4.5,
"explained": "The federal CCD directory lists 510 Dade schools in 2018-19 and 534 in 2022-23 (its own school list; charter openings in between); a reference-only series compared with the state count school by school in the cross-publisher check"
},
{
"metric_key": "fast_math_g4_proficiency",
"year": "2024-25",
"kind": "median",
"value": 68.0,
"reference_year": "2023-24",
"reference": 62.0,
"spread_of_moves": 1.243,
"spread_source": "pooled PERCENT",
"floor": 1.661,
"threshold": 4.984,
"lift": 3.6,
"explained": "FAST informational baseline in 2022-23 (first administration; comparability.yaml fl_assessment boundary 2022-23) and the recovery in the two operational years after it: every FAST grade and subject rose 3\u20138 pp a year; the served cells are re-read from the state's 63 SRS files by the base case"
},
{
"metric_key": "pct_ell",
"year": "2021-22",
"kind": "count",
"value": 100,
"reference_year": "2018-19",
"reference": 76,
"spread_of_moves": 2,
"spread_source": "own",
"floor": 2.0,
"threshold": 6,
"lift": 12.0,
"explained": "pct_ell is exact only for schools whose ELL file hides no race cell (2026-09-16 accuracy fixes: hidden cells are intervals of 0\u20139 students, served as pct_ell_lower_bound / pct_ell_upper_bound); the exact share covers 76\u2013108 schools a year and its count moves with how many cells the file hides, not with the load. The model and the peer groups use the lower bound, whose coverage is complete."
},
{
"metric_key": "pct_ell",
"year": "2022-23",
"kind": "count",
"value": 88,
"reference_year": "2021-22",
"reference": 100,
"spread_of_moves": 2,
"spread_source": "own",
"floor": 2.0,
"threshold": 6,
"lift": 6.0,
"explained": "pct_ell is exact only for schools whose ELL file hides no race cell (2026-09-16 accuracy fixes: hidden cells are intervals of 0\u20139 students, served as pct_ell_lower_bound / pct_ell_upper_bound); the exact share covers 76\u2013108 schools a year and its count moves with how many cells the file hides, not with the load. The model and the peer groups use the lower bound, whose coverage is complete."
},
{
"metric_key": "pct_ell",
"year": "2023-24",
"kind": "count",
"value": 108,
"reference_year": "2022-23",
"reference": 88,
"spread_of_moves": 2,
"spread_source": "own",
"floor": 2.0,
"threshold": 6,
"lift": 10.0,
"explained": "pct_ell is exact only for schools whose ELL file hides no race cell (2026-09-16 accuracy fixes: hidden cells are intervals of 0\u20139 students, served as pct_ell_lower_bound / pct_ell_upper_bound); the exact share covers 76\u2013108 schools a year and its count moves with how many cells the file hides, not with the load. The model and the peer groups use the lower bound, whose coverage is complete."
},
{
"metric_key": "pct_ell",
"year": "2024-25",
"kind": "count",
"value": 91,
"reference_year": "2023-24",
"reference": 108,
"spread_of_moves": 4,
"spread_source": "own",
"floor": 2.0,
"threshold": 12,
"lift": 4.2,
"explained": "pct_ell is exact only for schools whose ELL file hides no race cell (2026-09-16 accuracy fixes: hidden cells are intervals of 0\u20139 students, served as pct_ell_lower_bound / pct_ell_upper_bound); the exact share covers 76\u2013108 schools a year and its count moves with how many cells the file hides, not with the load. The model and the peer groups use the lower bound, whose coverage is complete."
}
],
"allowlist_entries_matching_no_alarm": [],
"allowlist_entries_without_kind": []
},
"examples": {
"range": [],
"identity": []
},
"pooled_priors": {
"median_moves_by_unit": {
"PERCENT": 1.2429768928571576,
"COUNT": 0.0,
"INDEX": 0.2776355915615899
},
"median_moves_relative_to_iqr_by_unit": {
"PERCENT": 0.059336364421531534,
"COUNT": 0.011560693641618497,
"INDEX": 0.33729928955709143
},
"count_moves": 4
},
"note": "Hard rules fail on any violation. Shift alarms compare each year's served median and school count with the previous served year's against 3 \u00d7 the MAD of the series' own other year-to-year moves (the unit's pooled prior where fewer than three remain), floored at 0.25 pp / 2.5% of level, counts at max(1%, 2); an alarm is explained when served_invariants_allowlist.yaml records, for that metric (or metric pattern), year and kind, why the break is real."
}