{
  "schemaVersion": 4,
  "study": {
    "slug": "dueren-2016-2026",
    "route": "/recherche/bodenrichtwert-entwicklung/nordrhein-westfalen/dueren-2016-2026",
    "districtCode": "05358",
    "districtName": "Kreis Düren",
    "stateCode": "NW",
    "stateName": "Nordrhein-Westfalen",
    "dataStand": "2026-10-24",
    "evidenceTier": "B"
  },
  "primary": {
    "startYear": 2016,
    "endYear": 2026,
    "startEffectiveDate": "2016-01-01",
    "endEffectiveDate": "2026-01-01",
    "startEligible": 395,
    "endEligible": 284,
    "identifierPairs": 0,
    "startMedianEurM2": 110,
    "endMedianEurM2": 250,
    "medianDifferenceEurM2": 140,
    "medianDifferencePct": 127.2727,
    "municipalities": [
      {
        "municipalityCode": "05358004",
        "municipalityName": "Aldenhoven",
        "startZoneCount": 23,
        "endZoneCount": 14,
        "startMedianEurM2": 110,
        "endMedianEurM2": 250,
        "nominalPct": 127.2727,
        "realPct": 73.2307
      },
      {
        "municipalityCode": "05358008",
        "municipalityName": "Düren, Stadt",
        "startZoneCount": 71,
        "endZoneCount": 82,
        "startMedianEurM2": 170,
        "endMedianEurM2": 297.5,
        "nominalPct": 75,
        "realPct": 33.3876
      },
      {
        "municipalityCode": "05358012",
        "municipalityName": "Heimbach, Stadt",
        "startZoneCount": 19,
        "endZoneCount": 13,
        "startMedianEurM2": 80,
        "endMedianEurM2": 150,
        "nominalPct": 87.5,
        "realPct": 42.9153
      },
      {
        "municipalityCode": "05358016",
        "municipalityName": "Hürtgenwald",
        "startZoneCount": 34,
        "endZoneCount": 13,
        "startMedianEurM2": 90,
        "endMedianEurM2": 160,
        "nominalPct": 77.7778,
        "realPct": 35.5049
      },
      {
        "municipalityCode": "05358020",
        "municipalityName": "Inden",
        "startZoneCount": 6,
        "endZoneCount": 5,
        "startMedianEurM2": 100,
        "endMedianEurM2": 220,
        "nominalPct": 120,
        "realPct": 67.6873
      },
      {
        "municipalityCode": "05358024",
        "municipalityName": "Jülich, Stadt",
        "startZoneCount": 26,
        "endZoneCount": 20,
        "startMedianEurM2": 115,
        "endMedianEurM2": 235,
        "nominalPct": 104.3478,
        "realPct": 55.757
      },
      {
        "municipalityCode": "05358028",
        "municipalityName": "Kreuzau",
        "startZoneCount": 39,
        "endZoneCount": 21,
        "startMedianEurM2": 130,
        "endMedianEurM2": 250,
        "nominalPct": 92.3077,
        "realPct": 46.5798
      },
      {
        "municipalityCode": "05358032",
        "municipalityName": "Langerwehe",
        "startZoneCount": 20,
        "endZoneCount": 17,
        "startMedianEurM2": 135,
        "endMedianEurM2": 230,
        "nominalPct": 70.3704,
        "realPct": 29.8588
      },
      {
        "municipalityCode": "05358036",
        "municipalityName": "Linnich, Stadt",
        "startZoneCount": 34,
        "endZoneCount": 22,
        "startMedianEurM2": 100,
        "endMedianEurM2": 200,
        "nominalPct": 100,
        "realPct": 52.443
      },
      {
        "municipalityCode": "05358044",
        "municipalityName": "Nideggen, Stadt",
        "startZoneCount": 17,
        "endZoneCount": 10,
        "startMedianEurM2": 100,
        "endMedianEurM2": 180,
        "nominalPct": 80,
        "realPct": 37.1987
      },
      {
        "municipalityCode": "05358048",
        "municipalityName": "Niederzier",
        "startZoneCount": 20,
        "endZoneCount": 8,
        "startMedianEurM2": 100,
        "endMedianEurM2": 240,
        "nominalPct": 140,
        "realPct": 82.9316
      },
      {
        "municipalityCode": "05358052",
        "municipalityName": "Nörvenich",
        "startZoneCount": 25,
        "endZoneCount": 20,
        "startMedianEurM2": 110,
        "endMedianEurM2": 260,
        "nominalPct": 136.3636,
        "realPct": 80.1599
      },
      {
        "municipalityCode": "05358056",
        "municipalityName": "Titz",
        "startZoneCount": 26,
        "endZoneCount": 15,
        "startMedianEurM2": 90,
        "endMedianEurM2": 190,
        "nominalPct": 111.1111,
        "realPct": 60.9121
      },
      {
        "municipalityCode": "05358060",
        "municipalityName": "Vettweiß",
        "startZoneCount": 24,
        "endZoneCount": 20,
        "startMedianEurM2": 100,
        "endMedianEurM2": 260,
        "nominalPct": 160,
        "realPct": 98.1759
      }
    ],
    "municipalityTotalStart": 15,
    "municipalityTotalEnd": 15,
    "qualifyingMunicipalities": 14,
    "municipalityCoverageStartPct": 93.3333,
    "municipalityCoverageEndPct": 93.3333,
    "nominalPct": 102.1739,
    "realPct": 54.1,
    "inflationPct": 31.1966
  },
  "inventories": [
    {
      "year": 2016,
      "effectiveDate": "2016-01-01",
      "zoneCount": 395,
      "medianEurM2": 110,
      "realMedianEurM2": 110,
      "coveragePct": 87.5831,
      "distribution": {
        "min": 65,
        "p10": 80,
        "p25": 95,
        "median": 110,
        "p75": 140,
        "p90": 175,
        "max": 275
      }
    },
    {
      "year": 2017,
      "effectiveDate": "2017-01-01",
      "zoneCount": 401,
      "medianEurM2": 110,
      "realMedianEurM2": 108.26,
      "coveragePct": 88.9135,
      "distribution": {
        "min": 65,
        "p10": 80,
        "p25": 95,
        "median": 110,
        "p75": 145,
        "p90": 175,
        "max": 285
      }
    },
    {
      "year": 2018,
      "effectiveDate": "2018-01-01",
      "zoneCount": 409,
      "medianEurM2": 115,
      "realMedianEurM2": 111.66,
      "coveragePct": 90.6874,
      "distribution": {
        "min": 65,
        "p10": 80,
        "p25": 95,
        "median": 115,
        "p75": 150,
        "p90": 185,
        "max": 295
      }
    },
    {
      "year": 2019,
      "effectiveDate": "2019-01-01",
      "zoneCount": 414,
      "medianEurM2": 120,
      "realMedianEurM2": 114.96,
      "coveragePct": 91.796,
      "distribution": {
        "min": 65,
        "p10": 90,
        "p25": 100,
        "median": 120,
        "p75": 155,
        "p90": 195,
        "max": 305
      }
    },
    {
      "year": 2020,
      "effectiveDate": "2020-01-01",
      "zoneCount": 413,
      "medianEurM2": 125,
      "realMedianEurM2": 117.23,
      "coveragePct": 91.5743,
      "distribution": {
        "min": 70,
        "p10": 90,
        "p25": 105,
        "median": 125,
        "p75": 165,
        "p90": 210,
        "max": 330
      }
    },
    {
      "year": 2021,
      "effectiveDate": "2021-01-01",
      "zoneCount": 419,
      "medianEurM2": 160,
      "realMedianEurM2": 148.28,
      "coveragePct": 92.9047,
      "distribution": {
        "min": 90,
        "p10": 120,
        "p25": 137.5,
        "median": 160,
        "p75": 200,
        "p90": 230,
        "max": 340
      }
    },
    {
      "year": 2022,
      "effectiveDate": "2022-01-01",
      "zoneCount": 445,
      "medianEurM2": 200,
      "realMedianEurM2": 177.95,
      "coveragePct": 98.6696,
      "distribution": {
        "min": 80,
        "p10": 127,
        "p25": 160,
        "median": 200,
        "p75": 240,
        "p90": 270,
        "max": 400
      }
    },
    {
      "year": 2023,
      "effectiveDate": "2023-01-01",
      "zoneCount": 449,
      "medianEurM2": 240,
      "realMedianEurM2": 196.54,
      "coveragePct": 99.5565,
      "distribution": {
        "min": 100,
        "p10": 150,
        "p25": 195,
        "median": 240,
        "p75": 275,
        "p90": 302,
        "max": 415
      }
    },
    {
      "year": 2024,
      "effectiveDate": "2024-01-01",
      "zoneCount": 451,
      "medianEurM2": 240,
      "realMedianEurM2": 191.02,
      "coveragePct": 100,
      "distribution": {
        "min": 90,
        "p10": 160,
        "p25": 197.5,
        "median": 240,
        "p75": 280,
        "p90": 310,
        "max": 415
      }
    },
    {
      "year": 2025,
      "effectiveDate": "2025-01-01",
      "zoneCount": 321,
      "medianEurM2": 250,
      "realMedianEurM2": 194.51,
      "coveragePct": 71.1752,
      "distribution": {
        "min": 90,
        "p10": 150,
        "p25": 200,
        "median": 250,
        "p75": 295,
        "p90": 325,
        "max": 435
      }
    },
    {
      "year": 2026,
      "effectiveDate": "2026-01-01",
      "zoneCount": 284,
      "medianEurM2": 250,
      "realMedianEurM2": 190.55,
      "coveragePct": 62.9712,
      "distribution": {
        "min": 90,
        "p10": 150,
        "p25": 190,
        "median": 250,
        "p75": 295,
        "p90": 330,
        "max": 435
      }
    }
  ],
  "gates": {
    "minimumMunicipalities": 5,
    "minimumZonesPerMunicipality": 5,
    "minimumMunicipalityCoveragePct": 80
  },
  "provenance": {
    "sourceAttribution": {
      "publisher": "Der Obere Gutachterausschuss für Grundstückswerte im Land Nordrhein-Westfalen",
      "sourceUrl": "https://open.nrw/dataset/0d478e49-0365-4a31-a4d7-09a5c3e73e35",
      "shortName": "BORIS NRW",
      "portalName": "Open.NRW",
      "licenseName": "Datenlizenz Deutschland – Zero – Version 2.0",
      "licenseUrl": "https://www.govdata.de/dl-de/zero-2-0",
      "attribution": "Bodenrichtwertinformationssystem Nordrhein-Westfalen (BORIS NRW)"
    },
    "inflation": {
      "series": "Verbraucherpreisindex für Deutschland, Gesamtindex, Januarwerte, Basis 2020 = 100",
      "sourceUrl": "https://www.destatis.de/DE/Themen/Wirtschaft/Preise/Verbraucherpreisindex/Publikationen/Downloads-Verbraucherpreise/statistischer-bericht-verbraucherpreisindex-lange-reihen-5611103.xlsx?__blob=publicationFile&v=29",
      "sourceSha256": "8c728e44fa400d762009fa34507a34e1fee3947641d2579484d7d040763b11f4"
    },
    "sourceSnapshot": {
      "path": "/recherche/bodenrichtwert-entwicklung/nordrhein-westfalen/dueren-2016-2026/eingangsdaten-kreis-dueren-2016-2026.json",
      "sha256": "24f77bd916c0f0407dc0693711df03378eb8fa984558b44212a643facba30d60",
      "contents": "Eingefrorene Recheneingaben: geeignete Wohnzonen beider Stichtage mit amtlicher Zonenkennung, Gemeinde, Wert und Stichtag."
    },
    "databaseTable": "public.bodenrichtwerte_de",
    "sourceRetrievedDate": "2026-10-24"
  },
  "checks": {
    "expectedTier": true,
    "expectedStartZones": true,
    "expectedEndZones": true,
    "expectedIdentifierPairs": true,
    "expectedMunicipalities": true,
    "expectedQualifyingMunicipalities": true,
    "sourceDistrictMatches": true,
    "endpointsHavePositiveValues": true,
    "allVintagesHaveInflation": true,
    "inventoriesOrdered": true,
    "tierBGatesHold": true,
    "tierCGateFailureRecorded": true
  }
}
