{
  "dataset_name": "Chicago building violations listed open, by year written and by bureau",
  "description": "City of Chicago building violations by the year they were recorded and by bureau: how many, how many are still listed OPEN, and how long the complied ones took.",
  "file": "/data/downloads/chicago-building-violations-open-by-year.csv",
  "rows": 37,
  "columns": [
    {
      "name": "group_level",
      "description": "all for the first row (every violation in the file), then year and bureau rows."
    },
    {
      "name": "group",
      "description": "The year the violation was recorded, or the bureau in the file's department_bureau field."
    },
    {
      "name": "violations",
      "description": "Violations in the group."
    },
    {
      "name": "listed_open",
      "description": "Of those, violations whose status in the city's file is OPEN."
    },
    {
      "name": "listed_open_pct",
      "description": "listed_open ÷ violations. EMPTY below 100 violations."
    },
    {
      "name": "complied",
      "description": "Year rows only: violations whose status is COMPLIED. EMPTY on bureau rows."
    },
    {
      "name": "no_entry",
      "description": "Year rows only: violations whose status is NO ENTRY. EMPTY on bureau rows."
    },
    {
      "name": "median_days_to_comply",
      "description": "Year rows only: median days from violation date to status date for COMPLIED violations with a status date on or after the violation date. EMPTY below 100 such violations and on bureau rows."
    },
    {
      "name": "open_over_ten_years",
      "description": "Open violations recorded before 2016-09-25, on the all row and bureau rows. EMPTY on year rows."
    },
    {
      "name": "open_over_ten_years_pct",
      "description": "open_over_ten_years ÷ listed_open, as a percentage to one decimal. EMPTY on year rows."
    }
  ],
  "missing_values": "An empty cell means the value is not published by the source, or that our sample floor suppresses it. It is never written as 0 — a zero in this file is a measured zero.",
  "coverage": {
    "records": "2,030,308 violations dated 2006-01-01 to 2026-09-25",
    "temporal": "2006-01-01/2026-09-25",
    "spatial": "Chicago, Illinois"
  },
  "generated_on": "2026-09-28",
  "generated_by": "civicdelta.dataset_exports.write_exports",
  "mirrors_page": "/research/chicago-building-violations-still-open/",
  "sql": {
    "years": "\nSELECT extract(year FROM violation_date)::int, count(*),\n       count(*) FILTER (WHERE upper(violation_status) = 'OPEN'),\n       count(*) FILTER (WHERE upper(violation_status) = 'COMPLIED'),\n       count(*) FILTER (WHERE upper(violation_status) = 'NO ENTRY'),\n       percentile_cont(0.5) WITHIN GROUP (ORDER BY violation_status_date - violation_date)\n         FILTER (WHERE upper(violation_status) = 'COMPLIED' AND violation_status_date >= violation_date),\n       count(*) FILTER (WHERE upper(violation_status) = 'COMPLIED' AND violation_status_date >= violation_date)\nFROM property.building_violations\nWHERE jurisdiction = 'IL-Chicago' AND violation_date IS NOT NULL\nGROUP BY 1 ORDER BY 1\n",
    "bureaus": "\nSELECT coalesce(department_bureau, 'not recorded'), count(*),\n       count(*) FILTER (WHERE upper(violation_status) = 'OPEN'),\n       count(*) FILTER (WHERE upper(violation_status) = 'OPEN' AND violation_date < %(cutoff)s)\nFROM property.building_violations\nWHERE jurisdiction = 'IL-Chicago' AND violation_date IS NOT NULL\nGROUP BY 1 ORDER BY 2 DESC\n"
  },
  "sources": [
    {
      "source_key": "chicago_building_violations",
      "dataset_title": "Building Violations",
      "publisher": "City of Chicago Department of Buildings",
      "dataset_id": "22u3-xenr",
      "dataset_page": "https://data.cityofchicago.org/d/22u3-xenr",
      "loaded_on": "2026-09-28",
      "terms_url": "https://www.chicago.gov/city/en/narr/foia/data_disclaimer.html",
      "terms_summary": "City of Chicago data portal terms and disclaimer. Confirm current wording and record the date.",
      "terms_verified_by_a_human_on": null,
      "attribution": "City of Chicago Department of Buildings, “Building Violations” (dataset 22u3-xenr), loaded 2026-09-28"
    }
  ],
  "attribution": "Source: City of Chicago Department of Buildings, “Building Violations” (dataset 22u3-xenr), loaded 2026-09-28. Computed by CivicDelta.",
  "license_note": "Terms are the publisher's, at the terms_url above. Where terms_verified_by_a_human_on is null we have not yet had a person confirm them, and we do not assert a license on the publisher's behalf. CivicDelta's own computation over these files is free to reuse with the attribution line above.",
  "contains": [
    "Every violation in the city's Building Violations file with a violation date."
  ],
  "does_not_contain": [
    "Any address, property or owner.",
    "Why a violation is still listed open; the file does not say."
  ]
}
