{
  "title": "MoCo Parents \u2014 MCPS data",
  "description": "Machine-readable data about Montgomery County (MD) Public Schools: per-school profiles, test scores, staffing, special education, capacity forecasts, enrollment, bus routes, boundaries.",
  "site": "https://mocoparents.org",
  "docs": "https://mocoparents.org/data/",
  "llms_txt": "https://mocoparents.org/llms.txt",
  "querying_guide": "https://mocoparents.org/data/QUERYING.md",
  "measures_guide": "https://mocoparents.org/data/MEASURES.md",
  "routing": [
    {
      "topic": "math acceleration",
      "vocab": [
        "algebra in middle school",
        "accelerated math",
        "compacted math",
        "math pathways"
      ],
      "url": "https://mocoparents.org/data/school_year.parquet",
      "how": "accel_pct = share of grade 8 testing beyond Math 8 (placement, not performance - MEASURES.md 1); MS-vs-HS Algebra 1 split: QUERYING.md recipe 5"
    },
    {
      "topic": "compare schools / rankings",
      "vocab": [
        "best schools",
        "top schools",
        "school performance"
      ],
      "url": "https://mocoparents.org/data/school_year.parquet",
      "how": "show farms_pct beside any ranking - raw ranks mostly recover demographics (MEASURES.md 12); a context model explains ~90% of between-school variance"
    },
    {
      "topic": "test scores by school, grade or subgroup",
      "vocab": [
        "MCAP",
        "proficiency",
        "ELA scores",
        "math scores",
        "reading"
      ],
      "url": "https://mocoparents.org/data/assessments.parquet",
      "how": "SQL: assessments.parquet; fetch-only: /data/mcap/{code}.json per school; match grade exactly - grade != 'All' is NOT per-grade (QUERYING.md recipe 3)"
    },
    {
      "topic": "suspensions / discipline",
      "vocab": [
        "suspension rate",
        "discipline",
        "expulsions"
      ],
      "url": "https://mocoparents.org/data/school_year.parquet",
      "how": "suspended_pct = unique students suspended as pct of enrollment (near-fully suppressed from 2024); incident COUNTS are a different measure - warehouse domain='discipline_incidents'"
    },
    {
      "topic": "class size",
      "vocab": [
        "student-teacher ratio",
        "class sizes",
        "crowded classes"
      ],
      "url": "https://mocoparents.org/data/mcps_consolidated.parquet",
      "how": "flat domain: WHERE domain='class_size' AND metric='avg_class_size' (see warehouse_domains.json); 2024 redefinition breaks secondary trends"
    },
    {
      "topic": "absenteeism / attendance",
      "vocab": [
        "chronic absence",
        "attendance rate"
      ],
      "url": "https://mocoparents.org/data/school_year.parquet",
      "how": "chronic_absent_pct + attendance_pct columns; full detail /data/climate.parquet"
    },
    {
      "topic": "star ratings / accountability",
      "vocab": [
        "report card stars",
        "percentile rank",
        "school rating"
      ],
      "url": "https://mocoparents.org/data/school_year.parquet",
      "how": "star_rating + acct_points_pct (2022-2025 only, no 2020-21); detail /data/accountability.parquet"
    },
    {
      "topic": "per-pupil spending",
      "vocab": [
        "school budget",
        "expenditure",
        "funding per student"
      ],
      "url": "https://mocoparents.org/data/school_year.parquet",
      "how": "ppe_total vs ppe_state_local vs ppe_federal - never mix variants (MEASURES.md 10); detail /data/finance.parquet"
    },
    {
      "topic": "graduation / dropout",
      "vocab": [
        "graduation rate",
        "dropouts",
        "completers"
      ],
      "url": "https://mocoparents.org/data/school_year.parquet",
      "how": "grad_rate_4yr (HS only); 5-yr cohorts + dropout detail /data/graduation.parquet"
    },
    {
      "topic": "enrollment, demographics, poverty",
      "vocab": [
        "FARMS",
        "free and reduced meals",
        "EML",
        "ESOL",
        "special education share",
        "school size"
      ],
      "url": "https://mocoparents.org/data/school_year.parquet",
      "how": "enrollment, farms_pct, eml_pct, swd_pct; MSDE top-codes FARMS ~80 pct from 2024 (MEASURES.md 6); by-grade history /data/enrollment.parquet"
    },
    {
      "topic": "teacher experience / qualifications",
      "vocab": [
        "inexperienced teachers",
        "emergency certification",
        "staffing quality"
      ],
      "url": "https://mocoparents.org/data/school_year.parquet",
      "how": "inexperienced_pct + emergency_cred_pct; poverty/students-of-color breakdowns /data/educators.parquet"
    },
    {
      "topic": "school lookup / roster",
      "vocab": [
        "school codes",
        "clusters",
        "addresses",
        "coordinates",
        "which schools exist"
      ],
      "url": "https://mocoparents.org/data/roster.json",
      "how": "code, name, type, cluster, lat, lon - the join spine; the 3-digit code keys every other file"
    },
    {
      "topic": "boundaries / bus routes",
      "vocab": [
        "attendance area",
        "which school serves this address",
        "school bus"
      ],
      "url": "https://mocoparents.org/boundaries/HS.geojson",
      "how": "ES/MS/HS(.geojson) + MS_adopted/HS_adopted (post-2027); bus routes /bus/{code}.geojson per school"
    }
  ],
  "manifest": "https://mocoparents.org/data/manifest.json",
  "bundle_version": "4.0.0",
  "generated_at": "2026-07-31T00:00:00Z",
  "join_key": "3-digit MCPS school code, zero-padded string (e.g. 427 = Walt Whitman HS)",
  "suppression": "null values alongside suppressed flags are privacy-suppressed small counts \u2014 do not impute or infer them",
  "geo": {
    "boundaries": [
      "https://mocoparents.org/boundaries/ES.geojson",
      "https://mocoparents.org/boundaries/MS.geojson",
      "https://mocoparents.org/boundaries/HS.geojson",
      "https://mocoparents.org/boundaries/MS_adopted.geojson",
      "https://mocoparents.org/boundaries/HS_adopted.geojson"
    ],
    "bus_routes": "https://mocoparents.org/bus/{code}.geojson"
  },
  "datasets": [
    {
      "id": "school_year",
      "title": "School-by-year wide table \u2014 one row per school \u00d7 year with the headline measure from every source (start here)",
      "doc": "https://mocoparents.org/data/schemas/school_year_columns.json",
      "outputs": [
        {
          "url": "https://mocoparents.org/data/school_year.parquet",
          "schema": null,
          "bytes": 102658
        },
        {
          "url": "https://mocoparents.org/data/school_year.csv",
          "schema": null,
          "bytes": 229097
        },
        {
          "url": "https://mocoparents.org/data/schemas/school_year_columns.json",
          "schema": null,
          "bytes": 18261
        }
      ]
    },
    {
      "id": "assessments",
      "title": "MCAP results \u2014 school + district, every student group, every grade, 2019-2026",
      "doc": null,
      "outputs": [
        {
          "url": "https://mocoparents.org/data/assessments.parquet",
          "schema": null,
          "bytes": 1246322
        },
        {
          "url": "https://mocoparents.org/data/schemas/assessments_columns.json",
          "schema": null,
          "bytes": 5084
        },
        {
          "url": "https://mocoparents.org/data/schemas/assessments_coverage.json",
          "schema": null,
          "bytes": 15212
        }
      ]
    },
    {
      "id": "mcap_json",
      "title": "MCAP results as JSON, one file per school (all years) \u2014 parquet-free mirror",
      "doc": "https://mocoparents.org/data/schemas/mcap.schema.json",
      "outputs": [
        {
          "url_pattern": "https://mocoparents.org/data/mcap/{code}.json",
          "example": "https://mocoparents.org/data/mcap/051.json",
          "files": 206,
          "schema": "https://mocoparents.org/data/schemas/mcap.schema.json"
        }
      ]
    },
    {
      "id": "site_core",
      "title": "Per-school profiles, district rollup, sped detail, income/gaps analyses",
      "doc": "https://mocoparents.org/data/schemas/school.schema.json",
      "outputs": [
        {
          "url_pattern": "https://mocoparents.org/data/schools/{code}.json",
          "example": "https://mocoparents.org/data/schools/051.json",
          "files": 222,
          "schema": "https://mocoparents.org/data/schemas/school.schema.json"
        },
        {
          "url": "https://mocoparents.org/data/district.json",
          "schema": "https://mocoparents.org/data/schemas/district.schema.json",
          "title": "District-wide rollup \u2014 MCPS totals and trends (MCAP, climate, per-pupil, by-group latest)",
          "bytes": 6398
        },
        {
          "url": "https://mocoparents.org/data/sped.json",
          "schema": "https://mocoparents.org/data/schemas/sped.schema.json",
          "title": "Special education by school \u2014 inclusion (LRE) trend, students served, staffing, caseload",
          "bytes": 92718
        },
        {
          "url": "https://mocoparents.org/data/analysis/income_achievement.json",
          "schema": "https://mocoparents.org/data/schemas/analysis.income_achievement.schema.json",
          "bytes": 234681
        },
        {
          "url": "https://mocoparents.org/data/analysis/gaps.json",
          "schema": "https://mocoparents.org/data/schemas/analysis.gaps.schema.json",
          "bytes": 1241
        }
      ]
    },
    {
      "id": "roster",
      "title": "School roster (slim JSON) \u2014 code, name, type, cluster, coordinates for every school",
      "doc": "https://mocoparents.org/data/schemas/roster.schema.json",
      "outputs": [
        {
          "url": "https://mocoparents.org/data/roster.json",
          "schema": "https://mocoparents.org/data/schemas/roster.schema.json",
          "bytes": 29208
        }
      ]
    },
    {
      "id": "measures_guide",
      "title": "What each measure means \u2014 definitions, formulas, and what NOT to conclude",
      "doc": null,
      "outputs": [
        {
          "url": "https://mocoparents.org/data/MEASURES.md",
          "schema": null,
          "bytes": 6505
        }
      ]
    },
    {
      "id": "querying_guide",
      "title": "How to query this data without fooling yourself \u2014 verified DuckDB recipes",
      "doc": null,
      "outputs": [
        {
          "url": "https://mocoparents.org/data/QUERYING.md",
          "schema": null,
          "bytes": 11055
        }
      ]
    },
    {
      "id": "assessments_race_service_district",
      "title": "District-wide MCAP proficiency, race \u00d7 special-services-group intersections, 2022-2026 (authoritative)",
      "doc": null,
      "outputs": [
        {
          "url": "https://mocoparents.org/data/assessments_race_service_district.parquet",
          "schema": null,
          "bytes": 6980
        },
        {
          "url": "https://mocoparents.org/data/schemas/assessments_race_service_district_columns.json",
          "schema": null,
          "bytes": 842
        }
      ]
    },
    {
      "id": "bus",
      "title": "Bus routes (per-school GeoJSON + index)",
      "doc": "https://mocoparents.org/data/schemas/busindex.schema.json",
      "outputs": [
        {
          "url": "https://mocoparents.org/data/busindex.json",
          "schema": "https://mocoparents.org/data/schemas/busindex.schema.json",
          "bytes": 33721
        }
      ]
    },
    {
      "id": "schools",
      "title": "School directory (crosswalk) \u2014 codes, names, type, cluster, coordinates, coverage",
      "doc": null,
      "outputs": [
        {
          "url": "https://mocoparents.org/data/schools.parquet",
          "schema": null,
          "bytes": 23539
        }
      ]
    },
    {
      "id": "neighborhoods",
      "title": "Attendance-area income / demographics / property profiles (ACS + SDAT)",
      "doc": null,
      "outputs": [
        {
          "url": "https://mocoparents.org/data/neighborhoods.parquet",
          "schema": null,
          "bytes": 73797
        },
        {
          "url": "https://mocoparents.org/data/schemas/neighborhoods_columns.json",
          "schema": null,
          "bytes": 961
        }
      ]
    },
    {
      "id": "enrollment",
      "title": "Historical enrollment by school \u00d7 school-year \u00d7 grade",
      "doc": null,
      "outputs": [
        {
          "url": "https://mocoparents.org/data/enrollment.parquet",
          "schema": null,
          "bytes": 27099
        },
        {
          "url": "https://mocoparents.org/data/schemas/mcdev_columns.json",
          "schema": null,
          "bytes": 1914
        }
      ]
    },
    {
      "id": "capacity",
      "title": "School program capacity + facility attributes (by vintage)",
      "doc": "https://mocoparents.org/data/schemas/mcdev_columns.json",
      "outputs": [
        {
          "url": "https://mocoparents.org/data/capacity.parquet",
          "schema": null,
          "bytes": 15283
        }
      ]
    },
    {
      "id": "official_projections",
      "title": "MCPS official enrollment projections (by vintage \u00d7 projected year)",
      "doc": "https://mocoparents.org/data/schemas/mcdev_columns.json",
      "outputs": [
        {
          "url": "https://mocoparents.org/data/official_projections.parquet",
          "schema": null,
          "bytes": 12145
        }
      ]
    },
    {
      "id": "development",
      "title": "Housing-development pipeline student yield (by school \u00d7 year)",
      "doc": "https://mocoparents.org/data/schemas/mcdev_columns.json",
      "outputs": [
        {
          "url": "https://mocoparents.org/data/development.parquet",
          "schema": null,
          "bytes": 7381
        }
      ]
    },
    {
      "id": "hs_outcomes",
      "title": "HS college-test outcomes \u2014 SAT / ACT / AP graduate results, 2019 + 2021-2025",
      "doc": null,
      "outputs": [
        {
          "url": "https://mocoparents.org/data/hs_outcomes.parquet",
          "schema": null,
          "bytes": 27635
        },
        {
          "url": "https://mocoparents.org/data/schemas/hs_outcomes_columns.json",
          "schema": null,
          "bytes": 531
        }
      ]
    },
    {
      "id": "accountability",
      "title": "MSDE accountability \u2014 star rating, index points, percentile rank (by school \u00d7 year)",
      "doc": null,
      "outputs": [
        {
          "url": "https://mocoparents.org/data/accountability.parquet",
          "schema": null,
          "bytes": 11958
        },
        {
          "url": "https://mocoparents.org/data/schemas/msde_tables_columns.json",
          "schema": null,
          "bytes": 2721
        }
      ]
    },
    {
      "id": "graduation",
      "title": "Graduation \u2014 4/5-yr cohort grad + dropout, HS completion, annual dropout",
      "doc": "https://mocoparents.org/data/schemas/msde_tables_columns.json",
      "outputs": [
        {
          "url": "https://mocoparents.org/data/graduation.parquet",
          "schema": null,
          "bytes": 14219
        }
      ]
    },
    {
      "id": "climate",
      "title": "School climate \u2014 attendance, chronic absenteeism, mobility, promotion",
      "doc": "https://mocoparents.org/data/schemas/msde_tables_columns.json",
      "outputs": [
        {
          "url": "https://mocoparents.org/data/climate.parquet",
          "schema": null,
          "bytes": 26139
        }
      ]
    },
    {
      "id": "finance",
      "title": "Per-pupil expenditures (state/local, federal, total) by school \u00d7 year",
      "doc": "https://mocoparents.org/data/schemas/msde_tables_columns.json",
      "outputs": [
        {
          "url": "https://mocoparents.org/data/finance.parquet",
          "schema": null,
          "bytes": 22989
        }
      ]
    },
    {
      "id": "educators",
      "title": "Educator qualifications \u2014 inexperienced/out-of-field/emergency-cred, by poverty & students-of-color level",
      "doc": "https://mocoparents.org/data/schemas/msde_tables_columns.json",
      "outputs": [
        {
          "url": "https://mocoparents.org/data/educators.parquet",
          "schema": null,
          "bytes": 24968
        }
      ]
    },
    {
      "id": "mcps_consolidated",
      "title": "Full-fidelity archive \u2014 every MCPS + MSDE figure, one row per source cell (audit layer; hardest to query \u2014 start with school_year or the typed tables)",
      "doc": "https://mocoparents.org/data/schemas/warehouse_domains.json",
      "outputs": [
        {
          "url": "https://mocoparents.org/data/mcps_consolidated.parquet",
          "schema": null,
          "bytes": 6580677
        },
        {
          "url": "https://mocoparents.org/data/schemas/mcps_consolidated_columns.json",
          "schema": null,
          "bytes": 4337
        },
        {
          "url": "https://mocoparents.org/data/source_discrepancies.json",
          "schema": null,
          "bytes": 1075
        }
      ]
    },
    {
      "id": "warehouse_domains",
      "title": "Warehouse pivot map \u2014 per-domain shape + ready-made pivot SQL for mcps_consolidated.parquet",
      "doc": "https://mocoparents.org/data/schemas/warehouse_domains.schema.json",
      "outputs": [
        {
          "url": "https://mocoparents.org/data/schemas/warehouse_domains.json",
          "schema": "https://mocoparents.org/data/schemas/warehouse_domains.schema.json",
          "bytes": 53996
        }
      ]
    },
    {
      "id": "msde",
      "title": "MSDE Maryland Report Card \u2014 every published figure, exactly as MSDE reports it",
      "doc": null,
      "outputs": [
        {
          "url": "https://mocoparents.org/data/msde.parquet",
          "schema": null,
          "bytes": 4533256
        },
        {
          "url": "https://mocoparents.org/data/msde_dictionary.json",
          "schema": null,
          "bytes": 21276
        }
      ]
    },
    {
      "id": "mcps",
      "title": "MCPS School Profiles \u2014 every published figure, exactly as MCPS reports it",
      "doc": null,
      "outputs": [
        {
          "url": "https://mocoparents.org/data/mcps.parquet",
          "schema": null,
          "bytes": 588261
        },
        {
          "url": "https://mocoparents.org/data/schemas/mcps_rows.schema.json",
          "schema": null,
          "bytes": 3578
        }
      ]
    }
  ]
}