Source document

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."
}