{
  "meta": {
    "region_count": 9,
    "indicator_count": 17,
    "observation_count": 153,
    "hashes_verified": true
  },
  "files": [
    {
      "file_id": "population_mid_2025_xlsx",
      "source_id": "ons_population_mid_2025",
      "path": "raw/ons-population-mid-2025.xlsx",
      "sha256": "85b4e105e9618043884e5ac41d46e6eae8a46bb01b31790f1c76110cbe92d0d8",
      "format": "XLSX",
      "notes": "ONS mid-2025 regional population workbook.",
      "verified_sha256": "85b4e105e9618043884e5ac41d46e6eae8a46bb01b31790f1c76110cbe92d0d8"
    },
    {
      "file_id": "household_size_2025_xlsx",
      "source_id": "ons_households_2025",
      "path": "raw/ons-household-size-2025.xlsx",
      "sha256": "a9db3df47cd05072a1d51c5f222da4e9c5cfa19af88f22b903a6032e72b80720",
      "format": "XLSX",
      "notes": "ONS Families and Households 2025 Table 6 workbook.",
      "verified_sha256": "a9db3df47cd05072a1d51c5f222da4e9c5cfa19af88f22b903a6032e72b80720"
    },
    {
      "file_id": "household_types_2025_xlsx",
      "source_id": "ons_households_2025",
      "path": "raw/ons-household-types-2025.xlsx",
      "sha256": "42073679190e7e93f56b1cd9b03d53125060c017e795a07d2c8fbb4887b96a10",
      "format": "XLSX",
      "notes": "ONS Families and Households 2025 Table 5 workbook.",
      "verified_sha256": "42073679190e7e93f56b1cd9b03d53125060c017e795a07d2c8fbb4887b96a10"
    },
    {
      "file_id": "private_rents_july_2026_xlsx",
      "source_id": "ons_private_rents_2026_07",
      "path": "raw/ons-private-rents-july-2026.xlsx",
      "sha256": "9e172e7d32a43c8c979a6d394d717d862f66775295f604d2f223b2035374223e",
      "format": "XLSX",
      "notes": "ONS Price Index of Private Rents July 2026 workbook.",
      "verified_sha256": "9e172e7d32a43c8c979a6d394d717d862f66775295f604d2f223b2035374223e"
    },
    {
      "file_id": "house_prices_june_2026_xlsx",
      "source_id": "ons_house_prices_2026_06",
      "path": "raw/ons-house-price-index-june-2026.xlsx",
      "sha256": "da55acb0b145702c009fcee78363e800e37c5ddc8faf4d8649124777d433a9a6",
      "format": "XLSX",
      "notes": "ONS UK House Price Index June 2026 workbook.",
      "verified_sha256": "da55acb0b145702c009fcee78363e800e37c5ddc8faf4d8649124777d433a9a6"
    }
  ],
  "regions": [
    {
      "code": "E12000001",
      "population": 2762746,
      "age_18_24": 246014,
      "age_25_34": 341128,
      "young_share": 21.25,
      "density": 322.0,
      "median_age": 42.2,
      "households": 1185,
      "one_person_share": 30.46,
      "unrelated_adults": 21,
      "unrelated_share": 1.77,
      "rent_growth": 6.323253,
      "rent": 783.0,
      "one_bed_rent": 552.0,
      "two_bed_rent": 692.0,
      "flat_rent": 659.0,
      "house_price": 165550,
      "house_price_growth": 4.3
    },
    {
      "code": "E12000002",
      "population": 7772854,
      "age_18_24": 676195,
      "age_25_34": 1032826,
      "young_share": 21.99,
      "density": 551.0,
      "median_age": 40.3,
      "households": 3261,
      "one_person_share": 30.11,
      "unrelated_adults": 75,
      "unrelated_share": 2.3,
      "rent_growth": 5.731408,
      "rent": 965.0,
      "one_bed_rent": 700.0,
      "two_bed_rent": 878.0,
      "flat_rent": 813.0,
      "house_price": 219922,
      "house_price_growth": 4.7
    },
    {
      "code": "E12000003",
      "population": 5672166,
      "age_18_24": 496854,
      "age_25_34": 733340,
      "young_share": 21.69,
      "density": 368.0,
      "median_age": 40.8,
      "households": 2356,
      "one_person_share": 29.75,
      "unrelated_adults": 57,
      "unrelated_share": 2.42,
      "rent_growth": 5.036653,
      "rent": 864.0,
      "one_bed_rent": 614.0,
      "two_bed_rent": 768.0,
      "flat_rent": 703.0,
      "house_price": 207948,
      "house_price_growth": 3.6
    },
    {
      "code": "E12000004",
      "population": 5085641,
      "age_18_24": 434998,
      "age_25_34": 632529,
      "young_share": 20.99,
      "density": 326.0,
      "median_age": 41.7,
      "households": 2128,
      "one_person_share": 28.67,
      "unrelated_adults": 42,
      "unrelated_share": 1.97,
      "rent_growth": 3.628834,
      "rent": 918.0,
      "one_bed_rent": 647.0,
      "two_bed_rent": 822.0,
      "flat_rent": 738.0,
      "house_price": 240457,
      "house_price_growth": 2.4
    },
    {
      "code": "E12000005",
      "population": 6205854,
      "age_18_24": 528555,
      "age_25_34": 804263,
      "young_share": 21.48,
      "density": 477.0,
      "median_age": 40.2,
      "households": 2517,
      "one_person_share": 28.8,
      "unrelated_adults": 44,
      "unrelated_share": 1.75,
      "rent_growth": 4.546512,
      "rent": 974.0,
      "one_bed_rent": 707.0,
      "two_bed_rent": 879.0,
      "flat_rent": 794.0,
      "house_price": 250941,
      "house_price_growth": 2.6
    },
    {
      "code": "E12000006",
      "population": 6613801,
      "age_18_24": 460870,
      "age_25_34": 829415,
      "young_share": 19.51,
      "density": 346.0,
      "median_age": 41.9,
      "households": 2691,
      "one_person_share": 27.16,
      "unrelated_adults": 51,
      "unrelated_share": 1.9,
      "rent_growth": 3.665323,
      "rent": 1285.0,
      "one_bed_rent": 893.0,
      "two_bed_rent": 1142.0,
      "flat_rent": 1023.0,
      "house_price": 338707,
      "house_price_growth": 1.1
    },
    {
      "code": "E12000007",
      "population": 9122909,
      "age_18_24": 843620,
      "age_25_34": 1700992,
      "young_share": 27.89,
      "density": 5804.0,
      "median_age": 36.2,
      "households": 3684,
      "one_person_share": 29.21,
      "unrelated_adults": 245,
      "unrelated_share": 6.65,
      "rent_growth": 2.98912,
      "rent": 2317.0,
      "one_bed_rent": 1752.0,
      "two_bed_rent": 2218.0,
      "flat_rent": 2045.0,
      "house_price": 553870,
      "house_price_growth": -2.5
    },
    {
      "code": "E12000008",
      "population": 9691844,
      "age_18_24": 728424,
      "age_25_34": 1166238,
      "young_share": 19.55,
      "density": 508.0,
      "median_age": 42.2,
      "households": 3941,
      "one_person_share": 26.87,
      "unrelated_adults": 75,
      "unrelated_share": 1.9,
      "rent_growth": 2.891194,
      "rent": 1419.0,
      "one_bed_rent": 989.0,
      "two_bed_rent": 1267.0,
      "flat_rent": 1142.0,
      "house_price": 380380,
      "house_price_growth": 0.3
    },
    {
      "code": "E12000009",
      "population": 5906997,
      "age_18_24": 485090,
      "age_25_34": 693612,
      "young_share": 19.95,
      "density": 248.0,
      "median_age": 44.1,
      "households": 2566,
      "one_person_share": 30.36,
      "unrelated_adults": 86,
      "unrelated_share": 3.35,
      "rent_growth": 4.456589,
      "rent": 1236.0,
      "one_bed_rent": 825.0,
      "two_bed_rent": 1058.0,
      "flat_rent": 973.0,
      "house_price": 304562,
      "house_price_growth": 1.9
    }
  ],
  "lineage": {
    "E12000001": {
      "population": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D11",
          "transformation": "direct value"
        }
      ],
      "age_18_24": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "W11:AC11",
          "transformation": "sum single-year ages 18\u201324"
        }
      ],
      "age_25_34": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "AD11:AM11",
          "transformation": "sum single-year ages 25\u201334"
        }
      ],
      "young_share": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D11,W11:AM11",
          "transformation": "100 \u00d7 ages 18\u201334 / all ages; round to 2 decimals"
        }
      ],
      "density": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE5",
          "cell_range": "F11",
          "transformation": "direct value"
        }
      ],
      "median_age": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE6",
          "cell_range": "D11",
          "transformation": "direct value"
        }
      ],
      "households": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "North_East",
          "cell_range": "B14:B19",
          "transformation": "sum household-size categories; thousands"
        }
      ],
      "one_person_share": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "North_East",
          "cell_range": "B14,B14:B19",
          "transformation": "100 \u00d7 one-person households / constructed total; round to 2 decimals"
        }
      ],
      "unrelated_adults": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "North_East",
          "cell_range": "B16",
          "transformation": "direct value; thousands"
        }
      ],
      "unrelated_share": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "North_East",
          "cell_range": "B16",
          "transformation": "numerator: two or more unrelated adults; thousands"
        },
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "North_East",
          "cell_range": "B14:B19",
          "transformation": "denominator: sum household-size categories; round result to 2 decimals"
        }
      ],
      "rent_growth": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "G976",
          "transformation": "direct value for July 2026"
        }
      ],
      "rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "H976",
          "transformation": "direct value for July 2026"
        }
      ],
      "one_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "L976",
          "transformation": "direct value for July 2026"
        }
      ],
      "two_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "P976",
          "transformation": "direct value for July 2026"
        }
      ],
      "flat_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "AN976",
          "transformation": "direct value for July 2026"
        }
      ],
      "house_price": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "2",
          "cell_range": "H189",
          "transformation": "direct value for June 2026"
        }
      ],
      "house_price_growth": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "3",
          "cell_range": "H189",
          "transformation": "direct annual change for June 2026"
        }
      ]
    },
    "E12000002": {
      "population": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D25",
          "transformation": "direct value"
        }
      ],
      "age_18_24": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "W25:AC25",
          "transformation": "sum single-year ages 18\u201324"
        }
      ],
      "age_25_34": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "AD25:AM25",
          "transformation": "sum single-year ages 25\u201334"
        }
      ],
      "young_share": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D25,W25:AM25",
          "transformation": "100 \u00d7 ages 18\u201334 / all ages; round to 2 decimals"
        }
      ],
      "density": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE5",
          "cell_range": "F25",
          "transformation": "direct value"
        }
      ],
      "median_age": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE6",
          "cell_range": "D25",
          "transformation": "direct value"
        }
      ],
      "households": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "North_West",
          "cell_range": "B14:B19",
          "transformation": "sum household-size categories; thousands"
        }
      ],
      "one_person_share": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "North_West",
          "cell_range": "B14,B14:B19",
          "transformation": "100 \u00d7 one-person households / constructed total; round to 2 decimals"
        }
      ],
      "unrelated_adults": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "North_West",
          "cell_range": "B16",
          "transformation": "direct value; thousands"
        }
      ],
      "unrelated_share": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "North_West",
          "cell_range": "B16",
          "transformation": "numerator: two or more unrelated adults; thousands"
        },
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "North_West",
          "cell_range": "B14:B19",
          "transformation": "denominator: sum household-size categories; round result to 2 decimals"
        }
      ],
      "rent_growth": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "G1115",
          "transformation": "direct value for July 2026"
        }
      ],
      "rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "H1115",
          "transformation": "direct value for July 2026"
        }
      ],
      "one_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "L1115",
          "transformation": "direct value for July 2026"
        }
      ],
      "two_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "P1115",
          "transformation": "direct value for July 2026"
        }
      ],
      "flat_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "AN1115",
          "transformation": "direct value for July 2026"
        }
      ],
      "house_price": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "2",
          "cell_range": "I189",
          "transformation": "direct value for June 2026"
        }
      ],
      "house_price_growth": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "3",
          "cell_range": "I189",
          "transformation": "direct annual change for June 2026"
        }
      ]
    },
    "E12000003": {
      "population": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D64",
          "transformation": "direct value"
        }
      ],
      "age_18_24": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "W64:AC64",
          "transformation": "sum single-year ages 18\u201324"
        }
      ],
      "age_25_34": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "AD64:AM64",
          "transformation": "sum single-year ages 25\u201334"
        }
      ],
      "young_share": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D64,W64:AM64",
          "transformation": "100 \u00d7 ages 18\u201334 / all ages; round to 2 decimals"
        }
      ],
      "density": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE5",
          "cell_range": "F64",
          "transformation": "direct value"
        }
      ],
      "median_age": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE6",
          "cell_range": "D64",
          "transformation": "direct value"
        }
      ],
      "households": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "Yorkshire_and_The_Humber",
          "cell_range": "B14:B19",
          "transformation": "sum household-size categories; thousands"
        }
      ],
      "one_person_share": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "Yorkshire_and_The_Humber",
          "cell_range": "B14,B14:B19",
          "transformation": "100 \u00d7 one-person households / constructed total; round to 2 decimals"
        }
      ],
      "unrelated_adults": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "Yorkshire_and_The_Humber",
          "cell_range": "B16",
          "transformation": "direct value; thousands"
        }
      ],
      "unrelated_share": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "Yorkshire_and_The_Humber",
          "cell_range": "B16",
          "transformation": "numerator: two or more unrelated adults; thousands"
        },
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "Yorkshire_and_The_Humber",
          "cell_range": "B14:B19",
          "transformation": "denominator: sum household-size categories; round result to 2 decimals"
        }
      ],
      "rent_growth": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "G1254",
          "transformation": "direct value for July 2026"
        }
      ],
      "rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "H1254",
          "transformation": "direct value for July 2026"
        }
      ],
      "one_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "L1254",
          "transformation": "direct value for July 2026"
        }
      ],
      "two_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "P1254",
          "transformation": "direct value for July 2026"
        }
      ],
      "flat_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "AN1254",
          "transformation": "direct value for July 2026"
        }
      ],
      "house_price": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "2",
          "cell_range": "J189",
          "transformation": "direct value for June 2026"
        }
      ],
      "house_price_growth": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "3",
          "cell_range": "J189",
          "transformation": "direct annual change for June 2026"
        }
      ]
    },
    "E12000004": {
      "population": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D82",
          "transformation": "direct value"
        }
      ],
      "age_18_24": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "W82:AC82",
          "transformation": "sum single-year ages 18\u201324"
        }
      ],
      "age_25_34": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "AD82:AM82",
          "transformation": "sum single-year ages 25\u201334"
        }
      ],
      "young_share": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D82,W82:AM82",
          "transformation": "100 \u00d7 ages 18\u201334 / all ages; round to 2 decimals"
        }
      ],
      "density": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE5",
          "cell_range": "F82",
          "transformation": "direct value"
        }
      ],
      "median_age": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE6",
          "cell_range": "D82",
          "transformation": "direct value"
        }
      ],
      "households": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "East_Midlands",
          "cell_range": "B14:B19",
          "transformation": "sum household-size categories; thousands"
        }
      ],
      "one_person_share": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "East_Midlands",
          "cell_range": "B14,B14:B19",
          "transformation": "100 \u00d7 one-person households / constructed total; round to 2 decimals"
        }
      ],
      "unrelated_adults": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "East_Midlands",
          "cell_range": "B16",
          "transformation": "direct value; thousands"
        }
      ],
      "unrelated_share": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "East_Midlands",
          "cell_range": "B16",
          "transformation": "numerator: two or more unrelated adults; thousands"
        },
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "East_Midlands",
          "cell_range": "B14:B19",
          "transformation": "denominator: sum household-size categories; round result to 2 decimals"
        }
      ],
      "rent_growth": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "G1393",
          "transformation": "direct value for July 2026"
        }
      ],
      "rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "H1393",
          "transformation": "direct value for July 2026"
        }
      ],
      "one_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "L1393",
          "transformation": "direct value for July 2026"
        }
      ],
      "two_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "P1393",
          "transformation": "direct value for July 2026"
        }
      ],
      "flat_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "AN1393",
          "transformation": "direct value for July 2026"
        }
      ],
      "house_price": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "2",
          "cell_range": "K189",
          "transformation": "direct value for June 2026"
        }
      ],
      "house_price_growth": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "3",
          "cell_range": "K189",
          "transformation": "direct annual change for June 2026"
        }
      ]
    },
    "E12000005": {
      "population": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D122",
          "transformation": "direct value"
        }
      ],
      "age_18_24": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "W122:AC122",
          "transformation": "sum single-year ages 18\u201324"
        }
      ],
      "age_25_34": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "AD122:AM122",
          "transformation": "sum single-year ages 25\u201334"
        }
      ],
      "young_share": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D122,W122:AM122",
          "transformation": "100 \u00d7 ages 18\u201334 / all ages; round to 2 decimals"
        }
      ],
      "density": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE5",
          "cell_range": "F122",
          "transformation": "direct value"
        }
      ],
      "median_age": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE6",
          "cell_range": "D122",
          "transformation": "direct value"
        }
      ],
      "households": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "West_Midlands",
          "cell_range": "B14:B19",
          "transformation": "sum household-size categories; thousands"
        }
      ],
      "one_person_share": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "West_Midlands",
          "cell_range": "B14,B14:B19",
          "transformation": "100 \u00d7 one-person households / constructed total; round to 2 decimals"
        }
      ],
      "unrelated_adults": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "West_Midlands",
          "cell_range": "B16",
          "transformation": "direct value; thousands"
        }
      ],
      "unrelated_share": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "West_Midlands",
          "cell_range": "B16",
          "transformation": "numerator: two or more unrelated adults; thousands"
        },
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "West_Midlands",
          "cell_range": "B14:B19",
          "transformation": "denominator: sum household-size categories; round result to 2 decimals"
        }
      ],
      "rent_growth": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "G1532",
          "transformation": "direct value for July 2026"
        }
      ],
      "rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "H1532",
          "transformation": "direct value for July 2026"
        }
      ],
      "one_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "L1532",
          "transformation": "direct value for July 2026"
        }
      ],
      "two_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "P1532",
          "transformation": "direct value for July 2026"
        }
      ],
      "flat_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "AN1532",
          "transformation": "direct value for July 2026"
        }
      ],
      "house_price": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "2",
          "cell_range": "L189",
          "transformation": "direct value for June 2026"
        }
      ],
      "house_price_growth": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "3",
          "cell_range": "L189",
          "transformation": "direct annual change for June 2026"
        }
      ]
    },
    "E12000006": {
      "population": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D157",
          "transformation": "direct value"
        }
      ],
      "age_18_24": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "W157:AC157",
          "transformation": "sum single-year ages 18\u201324"
        }
      ],
      "age_25_34": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "AD157:AM157",
          "transformation": "sum single-year ages 25\u201334"
        }
      ],
      "young_share": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D157,W157:AM157",
          "transformation": "100 \u00d7 ages 18\u201334 / all ages; round to 2 decimals"
        }
      ],
      "density": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE5",
          "cell_range": "F157",
          "transformation": "direct value"
        }
      ],
      "median_age": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE6",
          "cell_range": "D157",
          "transformation": "direct value"
        }
      ],
      "households": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "East",
          "cell_range": "B14:B19",
          "transformation": "sum household-size categories; thousands"
        }
      ],
      "one_person_share": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "East",
          "cell_range": "B14,B14:B19",
          "transformation": "100 \u00d7 one-person households / constructed total; round to 2 decimals"
        }
      ],
      "unrelated_adults": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "East",
          "cell_range": "B16",
          "transformation": "direct value; thousands"
        }
      ],
      "unrelated_share": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "East",
          "cell_range": "B16",
          "transformation": "numerator: two or more unrelated adults; thousands"
        },
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "East",
          "cell_range": "B14:B19",
          "transformation": "denominator: sum household-size categories; round result to 2 decimals"
        }
      ],
      "rent_growth": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "G1671",
          "transformation": "direct value for July 2026"
        }
      ],
      "rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "H1671",
          "transformation": "direct value for July 2026"
        }
      ],
      "one_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "L1671",
          "transformation": "direct value for July 2026"
        }
      ],
      "two_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "P1671",
          "transformation": "direct value for July 2026"
        }
      ],
      "flat_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "AN1671",
          "transformation": "direct value for July 2026"
        }
      ],
      "house_price": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "2",
          "cell_range": "M189",
          "transformation": "direct value for June 2026"
        }
      ],
      "house_price_growth": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "3",
          "cell_range": "M189",
          "transformation": "direct annual change for June 2026"
        }
      ]
    },
    "E12000007": {
      "population": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D208",
          "transformation": "direct value"
        }
      ],
      "age_18_24": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "W208:AC208",
          "transformation": "sum single-year ages 18\u201324"
        }
      ],
      "age_25_34": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "AD208:AM208",
          "transformation": "sum single-year ages 25\u201334"
        }
      ],
      "young_share": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D208,W208:AM208",
          "transformation": "100 \u00d7 ages 18\u201334 / all ages; round to 2 decimals"
        }
      ],
      "density": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE5",
          "cell_range": "F208",
          "transformation": "direct value"
        }
      ],
      "median_age": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE6",
          "cell_range": "D208",
          "transformation": "direct value"
        }
      ],
      "households": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "London",
          "cell_range": "B14:B19",
          "transformation": "sum household-size categories; thousands"
        }
      ],
      "one_person_share": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "London",
          "cell_range": "B14,B14:B19",
          "transformation": "100 \u00d7 one-person households / constructed total; round to 2 decimals"
        }
      ],
      "unrelated_adults": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "London",
          "cell_range": "B16",
          "transformation": "direct value; thousands"
        }
      ],
      "unrelated_share": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "London",
          "cell_range": "B16",
          "transformation": "numerator: two or more unrelated adults; thousands"
        },
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "London",
          "cell_range": "B14:B19",
          "transformation": "denominator: sum household-size categories; round result to 2 decimals"
        }
      ],
      "rent_growth": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "G1810",
          "transformation": "direct value for July 2026"
        }
      ],
      "rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "H1810",
          "transformation": "direct value for July 2026"
        }
      ],
      "one_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "L1810",
          "transformation": "direct value for July 2026"
        }
      ],
      "two_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "P1810",
          "transformation": "direct value for July 2026"
        }
      ],
      "flat_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "AN1810",
          "transformation": "direct value for July 2026"
        }
      ],
      "house_price": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "2",
          "cell_range": "N189",
          "transformation": "direct value for June 2026"
        }
      ],
      "house_price_growth": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "3",
          "cell_range": "N189",
          "transformation": "direct annual change for June 2026"
        }
      ]
    },
    "E12000008": {
      "population": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D242",
          "transformation": "direct value"
        }
      ],
      "age_18_24": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "W242:AC242",
          "transformation": "sum single-year ages 18\u201324"
        }
      ],
      "age_25_34": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "AD242:AM242",
          "transformation": "sum single-year ages 25\u201334"
        }
      ],
      "young_share": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D242,W242:AM242",
          "transformation": "100 \u00d7 ages 18\u201334 / all ages; round to 2 decimals"
        }
      ],
      "density": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE5",
          "cell_range": "F242",
          "transformation": "direct value"
        }
      ],
      "median_age": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE6",
          "cell_range": "D242",
          "transformation": "direct value"
        }
      ],
      "households": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "South_East",
          "cell_range": "B14:B19",
          "transformation": "sum household-size categories; thousands"
        }
      ],
      "one_person_share": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "South_East",
          "cell_range": "B14,B14:B19",
          "transformation": "100 \u00d7 one-person households / constructed total; round to 2 decimals"
        }
      ],
      "unrelated_adults": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "South_East",
          "cell_range": "B16",
          "transformation": "direct value; thousands"
        }
      ],
      "unrelated_share": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "South_East",
          "cell_range": "B16",
          "transformation": "numerator: two or more unrelated adults; thousands"
        },
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "South_East",
          "cell_range": "B14:B19",
          "transformation": "denominator: sum household-size categories; round result to 2 decimals"
        }
      ],
      "rent_growth": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "G1949",
          "transformation": "direct value for July 2026"
        }
      ],
      "rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "H1949",
          "transformation": "direct value for July 2026"
        }
      ],
      "one_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "L1949",
          "transformation": "direct value for July 2026"
        }
      ],
      "two_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "P1949",
          "transformation": "direct value for July 2026"
        }
      ],
      "flat_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "AN1949",
          "transformation": "direct value for July 2026"
        }
      ],
      "house_price": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "2",
          "cell_range": "O189",
          "transformation": "direct value for June 2026"
        }
      ],
      "house_price_growth": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "3",
          "cell_range": "O189",
          "transformation": "direct annual change for June 2026"
        }
      ]
    },
    "E12000009": {
      "population": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D313",
          "transformation": "direct value"
        }
      ],
      "age_18_24": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "W313:AC313",
          "transformation": "sum single-year ages 18\u201324"
        }
      ],
      "age_25_34": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "AD313:AM313",
          "transformation": "sum single-year ages 25\u201334"
        }
      ],
      "young_share": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE2 - Persons",
          "cell_range": "D313,W313:AM313",
          "transformation": "100 \u00d7 ages 18\u201334 / all ages; round to 2 decimals"
        }
      ],
      "density": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE5",
          "cell_range": "F313",
          "transformation": "direct value"
        }
      ],
      "median_age": [
        {
          "file_id": "population_mid_2025_xlsx",
          "sheet_name": "MYE6",
          "cell_range": "D313",
          "transformation": "direct value"
        }
      ],
      "households": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "South_West",
          "cell_range": "B14:B19",
          "transformation": "sum household-size categories; thousands"
        }
      ],
      "one_person_share": [
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "South_West",
          "cell_range": "B14,B14:B19",
          "transformation": "100 \u00d7 one-person households / constructed total; round to 2 decimals"
        }
      ],
      "unrelated_adults": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "South_West",
          "cell_range": "B16",
          "transformation": "direct value; thousands"
        }
      ],
      "unrelated_share": [
        {
          "file_id": "household_types_2025_xlsx",
          "sheet_name": "South_West",
          "cell_range": "B16",
          "transformation": "numerator: two or more unrelated adults; thousands"
        },
        {
          "file_id": "household_size_2025_xlsx",
          "sheet_name": "South_West",
          "cell_range": "B14:B19",
          "transformation": "denominator: sum household-size categories; round result to 2 decimals"
        }
      ],
      "rent_growth": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "G2088",
          "transformation": "direct value for July 2026"
        }
      ],
      "rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "H2088",
          "transformation": "direct value for July 2026"
        }
      ],
      "one_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "L2088",
          "transformation": "direct value for July 2026"
        }
      ],
      "two_bed_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "P2088",
          "transformation": "direct value for July 2026"
        }
      ],
      "flat_rent": [
        {
          "file_id": "private_rents_july_2026_xlsx",
          "sheet_name": "Table 1",
          "cell_range": "AN2088",
          "transformation": "direct value for July 2026"
        }
      ],
      "house_price": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "2",
          "cell_range": "P189",
          "transformation": "direct value for June 2026"
        }
      ],
      "house_price_growth": [
        {
          "file_id": "house_prices_june_2026_xlsx",
          "sheet_name": "3",
          "cell_range": "P189",
          "transformation": "direct annual change for June 2026"
        }
      ]
    }
  }
}
