{
 "dataset": "cre-price-index",
 "title": "What a commercial foot has traded at, half-year by half-year",
 "subject": "14 half-years · Hennepin + Ramsey + Dakota + Anoka + Washington + Scott + Carver · 2,820 usable comps with a building area · 2019 H1–2025 H2",
 "source": "Hennepin County, Ramsey County, Dakota County, Anoka County, Washington County, Scott County and Carver County assessor sale of record",
 "scope": "every half-year",
 "built_from": "website/api/_data/exports/sales.json",
 "read_before_quoting": "THIS IS A SERIES OVER SALES OF RECORD, NOT A TRANSACTION FLOW, AND THE DIFFERENCE CANNOT BE MEASURED AWAY. The counties publish the LAST recorded transfer on a parcel and no history behind it, so a half-year here is every parcel whose most recent sale falls in it — a 2019 sale that traded again in 2024 is counted once, in 2024. How many earlier sales were superseded that way is unknowable from this record, because the file that would say is the file that overwrote them. Read the older half-years as a survivor sample. What argues the effect is second-order is the shape of the count column: it dips in 2020 and peaks in 2021 H2, which is the market, where attrition would decay steadily into the past. THE LAST 3 MONTHS OF THE SALE FILE ARE CUT, not shown as a fall. Recording lags closing, so the newest months are structurally short — the file runs to 2026-07 and this series stops at 2025 H2. Never annualise a partial year off it, and do not read a low count in the newest bucket of the sale file as a collapse in volume. A HALF-YEAR UNDER 30 SALES CARRIES NO MEDIAN, only its count, because one warehouse moves a median of twenty. THE TWO SEGMENT COLUMNS ARE NOT A PARTITION. Washington County publishes a bare numeric property class with no vocabulary in the extract, and two counties publish apartment and low-income-rental classes that are neither commercial nor industrial; all of those are counted as unclassified rather than guessed into a segment, so the two medians plus the unclassified count is the whole bucket. EVERY FIGURE IS PER BUILDING FOOT AND THE BUILDING AREA IS DERIVED. No county in this market publishes commercial building area, so it comes from a measured footprint and an inferred storey count and exists only where that inference was calibrated. This series is therefore over the third of recorded sales that could be sized, which is a real and stated sample rather than every sale. ONE SALE PER PARCEL, AND IT IS THE LAST ONE, NOT A RECENT ONE. This is the assessor's sale of record — the most recent recorded transfer, which can be decades old. Read the date before using the price. Minnesota is a disclosure state, so these are actual recorded prices rather than estimates. The counties publish a price on 868,994 parcels between them; 34,302 of those parcels are in the commercial index and are what this file contains. TWO PRICES PER FOOT, AND THEY ARE NOT INTERCHANGEABLE. `price_per_lot_sqft` is price over LOT square feet — the county's parcel geometry is the lot, not the building. `price_per_building_sqft` is price over a BUILDING area that no county here publishes for commercial property, so it is DERIVED, and it is blank on every row where the derivation was not good enough to publish. Read `building_sqft_method` before quoting it, and never fill a blank one from the lot figure beside it. bit 0 = arms length by the county's own sale code; bit 1 = same price, month AND owner as another parcel — almost certainly one multi-parcel deed, so the price is the DEAL's, not this parcel's; bit 2 = shares only price and month with some other parcel, which at this date resolution cannot be told apart from coincidence. Treat bit 1 as fact and bit 2 as a caution. SALE_DATE is published as YYYYMM. At month resolution a portfolio sale and two unrelated houses that fetched the same round number in the same month look identical, which is why the flags separate 'same owner too' from 'price and month only' instead of pretending one test settles it. THE INDEX IS COMMERCIAL, NOT THE COUNTY. 103,487 parcels of the 1,131,534 Hennepin, Ramsey, Dakota, Anoka, Washington, Scott and Carver publish are in it — the parcels the assessor classes commercial, industrial or apartment (53,690 of them), plus the immediate neighbours that let one of those be named. A parcel outside that ring is absent from this file because it was never indexed, which is a fact about our scope and says nothing about the parcel. TWO COLUMNS NAME A PARCEL AND THEY ANSWER TWO QUESTIONS. `owner` is the assessor's owner of record. `taxpayer` is who the county sends the bill to, and it appears only where it tells you something the owner does not — where the two DISAGREE (20,467 of the 103,487 parcels in this index), or where there is no owner to compare it against. Scott and Carver publish NO owner of record on any parcel, so on their 8,002 parcels here the taxpayer is the ONLY name the county gives and `owner` is blank. THAT IS NOT A TITLE CLAIM: the taxpayer is often the owner, and is sometimes a bank, a servicer or a management company. Never read a taxpayer as the owner, and never merge the two — where a county publishes both, they disagree often enough that the merge would be wrong thousands of times. A FOOTPRINT IS NOT A FINISHED AREA. The measured number in this file is the plan area of a building's outline, from FEMA's national structure inventory. Gross building area is that footprint times a storey count, and NO source published here publishes storeys — they are inferred from a height that exists on about seven structures in ten and comes from a single 2012 collection the publisher itself flags as unverified. Every row carries a `method` saying which rule produced it, and `calibration` carries the measured error of each rule against the counties' own published areas. THIS IS NOT THE ASSESSOR'S FIGURE. Six of the seven counties in this market publish no commercial building area at all, which is why this file exists; a board, an underwriter or a lender asking for the county's number will not accept a derived one, and the one county that does publish it (Dakota) is the number to quote there. A parcel absent from this file has no structure over 450 sq ft that we could place inside its boundary — which is not the same as vacant.",
 "licence": {
  "attribution": "Brick & Mortar — https://brickandmortar.dev/",
  "authorities": [
   "county assessors"
  ],
  "basis": "Government data held by a Minnesota state agency or political subdivision, presumed public under the Minnesota Government Data Practices Act (Minn. Stat. ch. 13) and published by the agency itself.",
  "id": "CC BY 4.0",
  "name": "Creative Commons Attribution 4.0 International",
  "url": "https://creativecommons.org/licenses/by/4.0/"
 },
 "columns": [
  {
   "key": "half_year",
   "label": "half-year"
  },
  {
   "key": "sales",
   "label": "sales"
  },
  {
   "key": "median_price_per_building_sqft",
   "label": "median $/building sqft"
  },
  {
   "key": "index_base_100",
   "label": "index (2019 H1 = 100)"
  },
  {
   "key": "p25_price_per_building_sqft",
   "label": "lower quartile $/sqft"
  },
  {
   "key": "p75_price_per_building_sqft",
   "label": "upper quartile $/sqft"
  },
  {
   "key": "median_price",
   "label": "median price"
  }
 ],
 "rows": [
  {
   "half_year": "2019 H1",
   "sales": 189,
   "median_price_per_building_sqft": 121.95,
   "index_base_100": 100,
   "p25_price_per_building_sqft": 77.9,
   "p75_price_per_building_sqft": 199.86,
   "median_price": 900000
  },
  {
   "half_year": "2019 H2",
   "sales": 182,
   "median_price_per_building_sqft": 112.63,
   "index_base_100": 92.4,
   "p25_price_per_building_sqft": 73.09,
   "p75_price_per_building_sqft": 204.31,
   "median_price": 1025250
  },
  {
   "half_year": "2020 H1",
   "sales": 120,
   "median_price_per_building_sqft": 127.03,
   "index_base_100": 104.2,
   "p25_price_per_building_sqft": 86.65,
   "p75_price_per_building_sqft": 215.47,
   "median_price": 810000
  },
  {
   "half_year": "2020 H2",
   "sales": 179,
   "median_price_per_building_sqft": 119.44,
   "index_base_100": 97.9,
   "p25_price_per_building_sqft": 79.51,
   "p75_price_per_building_sqft": 186.83,
   "median_price": 940000
  },
  {
   "half_year": "2021 H1",
   "sales": 209,
   "median_price_per_building_sqft": 126.64,
   "index_base_100": 103.8,
   "p25_price_per_building_sqft": 83.78,
   "p75_price_per_building_sqft": 199.73,
   "median_price": 760000
  },
  {
   "half_year": "2021 H2",
   "sales": 314,
   "median_price_per_building_sqft": 143.43,
   "index_base_100": 117.6,
   "p25_price_per_building_sqft": 93.29,
   "p75_price_per_building_sqft": 254.47,
   "median_price": 1155000
  },
  {
   "half_year": "2022 H1",
   "sales": 217,
   "median_price_per_building_sqft": 144.85,
   "index_base_100": 118.8,
   "p25_price_per_building_sqft": 100.19,
   "p75_price_per_building_sqft": 236.51,
   "median_price": 1270000
  },
  {
   "half_year": "2022 H2",
   "sales": 246,
   "median_price_per_building_sqft": 151.89,
   "index_base_100": 124.6,
   "p25_price_per_building_sqft": 107.6,
   "p75_price_per_building_sqft": 233.01,
   "median_price": 1363166
  },
  {
   "half_year": "2023 H1",
   "sales": 187,
   "median_price_per_building_sqft": 155.34,
   "index_base_100": 127.4,
   "p25_price_per_building_sqft": 106.44,
   "p75_price_per_building_sqft": 265.17,
   "median_price": 1250000
  },
  {
   "half_year": "2023 H2",
   "sales": 208,
   "median_price_per_building_sqft": 139.5,
   "index_base_100": 114.4,
   "p25_price_per_building_sqft": 95.52,
   "p75_price_per_building_sqft": 252.83,
   "median_price": 1016000
  },
  {
   "half_year": "2024 H1",
   "sales": 169,
   "median_price_per_building_sqft": 150,
   "index_base_100": 123,
   "p25_price_per_building_sqft": 100.35,
   "p75_price_per_building_sqft": 260.86,
   "median_price": 1150000
  },
  {
   "half_year": "2024 H2",
   "sales": 177,
   "median_price_per_building_sqft": 175.84,
   "index_base_100": 144.2,
   "p25_price_per_building_sqft": 114.39,
   "p75_price_per_building_sqft": 270.8,
   "median_price": 1325000
  },
  {
   "half_year": "2025 H1",
   "sales": 171,
   "median_price_per_building_sqft": 151.9,
   "index_base_100": 124.6,
   "p25_price_per_building_sqft": 106.75,
   "p75_price_per_building_sqft": 261.78,
   "median_price": 1150000
  },
  {
   "half_year": "2025 H2",
   "sales": 252,
   "median_price_per_building_sqft": 157.81,
   "index_base_100": 129.4,
   "p25_price_per_building_sqft": 113.41,
   "p75_price_per_building_sqft": 266.68,
   "median_price": 1262500
  }
 ]
}
