Glove / Field study No. 03
Three in four Charlotte commercial sales are not sales.
We counted Mecklenburg County’s property record — 428,758 parcels, 20,794 of them commercial, industrial or office — looking for the places where the record says one thing and means another. This is the first market in the series outside Florida, and it is the test of whether the method travels. Three of the four traps travel. One does not, and the reason it does not is worth as much as the ones that do.
Share or cite:LinkedInXCite, link or embed ↓
Key takeaways
Every figure below is a row in mecklenburg-commercial-record-2026-09.csv, the counts file published with this study. Free to quote with attribution and a link.
- 73.9% of commercial sales recorded in Mecklenburg County, North Carolina from January 2024 onward — 3,333 of 4,511 — carry a validity code that tells the assessor not to treat the transfer as an open-market sale.Mecklenburg County, NC open bulk data, files dated 14 and 15 September 2026, counted 20 September 2026
- 1,742 of the 4,511 commercial sales recorded in Mecklenburg County, North Carolina from January 2024 onward — 38.6% — carry no usable price: 892 are recorded at exactly $0 and 850 have the price field empty.Mecklenburg County, NC open bulk data, files dated 14 and 15 September 2026, counted 20 September 2026
- 1,307 of the 4,511 commercial sales recorded in Mecklenburg County, North Carolina from January 2024 onward — 29.0% — carry validity code C, “transaction is for $3,000 or less”.Mecklenburg County, NC open bulk data, files dated 14 and 15 September 2026, counted 20 September 2026
- 73.8% of commercial sales recorded in Mecklenburg County, North Carolina from 2025 onward — 2,091 of 2,834 — are not qualified, so the rate is not an artifact of where the date window is cut.Mecklenburg County, NC open bulk data, files dated 14 and 15 September 2026, counted 20 September 2026
- 1.53× is the median ratio of price paid to the county’s market value across 743 qualified Mecklenburg County, North Carolina commercial sales in 2025 and 2026.Mecklenburg County, NC open bulk data, files dated 14 and 15 September 2026, counted 20 September 2026
- 658 of those 743 qualified Mecklenburg County, North Carolina commercial sales — 88.6% — sold for more than the county’s stated market value.Mecklenburg County, NC open bulk data, files dated 14 and 15 September 2026, counted 20 September 2026
- 99.9% of Mecklenburg County, North Carolina parcels carrying a market value — 412,829 of 413,351 — carry a total value exactly equal to it; North Carolina assesses at 100% of market and has no cap.Mecklenburg County, NC open bulk data, files dated 14 and 15 September 2026, counted 20 September 2026
- 23.9% of Mecklenburg County, North Carolina commercial, industrial and office parcels — 4,965 of 20,794 — are outside the City of Charlotte.Mecklenburg County, NC open bulk data, files dated 14 and 15 September 2026, counted 20 September 2026
- 884 of Mecklenburg County’s 20,794 commercial, industrial and office parcels — 4.3% — are in unincorporated county, with no municipal government at all.Mecklenburg County, NC open bulk data, files dated 14 and 15 September 2026, counted 20 September 2026
- 218 of the 3,704 Mecklenburg County, North Carolina house-number-and-street keys held by more than one parcel — 5.9% — have parcels a mile or more apart on the ground, covering 827 parcels.Mecklenburg County, NC open bulk data, files dated 14 and 15 September 2026, counted 20 September 2026
- 172 of those 218 one-mile Mecklenburg County address collisions — 78.9% — include a commercial parcel, covering 305 commercial parcels in all.Mecklenburg County, NC open bulk data, files dated 14 and 15 September 2026, counted 20 September 2026
- 0.7% of Mecklenburg County, North Carolina address keys — 2,822 of 388,991 — carry a directional prefix at all, and on 89 of those the county spells the direction two different ways.Mecklenburg County, NC open bulk data, files dated 14 and 15 September 2026, counted 20 September 2026
Finding 01 / Comparable sales
Three in four recorded commercial sales are not arm’s-length.
What share of recorded commercial sales in Mecklenburg County are not arm’s-length?
73.9% — 3,333 of the 4,511 sales recorded against commercial, industrial and office parcels from January 2024 onward carry a validity code that tells the assessor not to treat the transfer as an open-market sale. Separately, 1,742 of the 4,511 carry no usable price at all.
Of 4,511 sales recorded against commercial, industrial and office parcels from January 2024 onward, 3,333 carry a validity code that tells the assessor not to treat the transfer as an open-market sale. Only 1,178 do not. The two largest groups are code C, “transaction is for $3,000 or less” (1,307 sales), and code A, “conveyance of 2 or more parcels” (1,183).
Separately from the codes, 1,742 of those sales — 38.6% — carry no usable price: 892 are recorded as exactly $0 and 850 have the price field empty. A blank is not a cheap building. It is an absence.
Is three in four unusual? Yes. This is the highest rate the series has measured. Sarasota runs 44.5% on the identical window and Miami-Dade 46.1% on a shorter one. Mecklenburg is not a worse-run county; it simply codes conveyances of multiple parcels and sub-$3,000 transfers more aggressively than Florida’s counties do, and those two codes alone account for 55% of its record.
Because the windows differ between studies, we checked: on study No. 02’s window of 2025 onward, Mecklenburg still runs 73.8%. The gap is not an artifact of where we cut the dates.
Read the prices without reading the codes beside them and three of every four numbers in front of you are not comparable sales.
Check it yourself
Every sale row in Parcel_Sales_Table carries a salesvalidity code and a plain-English naldesc beside it. A blank code is the county’s “Qualified”. Treat every non-blank code as a transfer rather than a sale until you have read the deed.
Watch code AG in particular. The county calls it a fair-market conveyance of two or more parcels and treats it as qualified — and we count it as qualified here — but the price still covers more than one parcel. There are 226 of them. Divide that price by one parcel and you will be wrong in the direction that flatters the deal.
Finding 02 / Underwriting
The county’s market value is an opinion from January 2023.
How current is the county’s market value on a Mecklenburg County commercial property?
It is not current: every value in the file is an opinion of market value as of 1 January 2023, the date of Mecklenburg’s last revaluation, and the median qualified commercial sale in 2025 and 2026 went for 1.53 times it.
North Carolina requires counties to assess at 100% of market value, and Mecklenburg does: 412,829 of 413,351 parcels carry a total value exactly equal to their market value, 99.9%. There is no cap, no homestead differential and no second assessed figure. On its face the number looks clean.
The catch is the date. Every value in this file is an opinion of market value as of 1 January 2023, the date of Mecklenburg’s last revaluation. The county revalues every four years; the next one is effective 1 January 2027. So the number you are reading in September 2026 is three years and nine months old.
You can measure what that costs. Of commercial sales in 2025 and 2026 that the county itself marked qualified, and where the parcel carries a market value, 658 of 743 — 88.6% — sold for more than the county says the property is worth. The median buyer paid 1.53 times the county’s figure. A quarter paid more than 1.94 times it. At the tenth percentile the ratio is 0.99, so the low end of the market is roughly where the county put it; it is the middle and the top that have moved.
The county is not disputing this. Its own initial review for the 2027 revaluation puts the median commercial increase at about 30%. That is a different measurement from ours — a countywide median change against our ratio on traded parcels — and the two are not directly comparable, but they point the same way.
Quote the county’s market value as today’s value on a Mecklenburg commercial property and you are, more often than not, quoting a number from before the last two rate cycles.
The trap that did not travel. Studies No. 01 and No. 02 both found a large gap between a Florida parcel’s just value and its assessed value — $1.58bn in Sarasota, $19.1bn in Miami-Dade — created by Florida’s 10% cap on non-homestead assessment increases. That finding does not reproduce in North Carolina, and it cannot. There is no such cap in the statute, so 99.9% of Mecklenburg parcels carry one number where Florida carries two.
This is worth saying plainly rather than forcing: the Florida version of the trap is a cap, and the North Carolina version is a calendar. Both leave you quoting a number that is not today’s value, and neither announces itself on the page you are reading it from.
Check it yourself
Before you use a Mecklenburg value for anything, ask what date it speaks to. Right now the answer is 1 January 2023 for every parcel in the county. From January 2027 it will be 1 January 2027, and every comparison you have built against the old basis will shift at once.
Our ratio is a measurement of traded parcels, not of the whole county. It says what buyers paid for the properties that changed hands; it is not an estimate of what every commercial property in Mecklenburg is worth, and it should not be read as one.
Finding 03 / Jurisdiction
“Charlotte” is seven different governments.
Is a Charlotte commercial property inside the City of Charlotte?
Not always: of the 20,794 commercial, industrial and office parcels in Mecklenburg County, 4,965 (23.9%) are outside the City of Charlotte, in one of six towns or in unincorporated Mecklenburg.
Mecklenburg County is one county, one assessor and one record system — and seven separate land-use jurisdictions. Of 20,794 commercial, industrial and office parcels, 15,829 are in the City of Charlotte and 4,965 are not. The rest sit in Cornelius (1,162), Huntersville (1,043), Matthews (776), Pineville (510), Mint Hill (349) or Davidson (241) — or, for 884 parcels, in unincorporated Mecklenburg, which has no town government at all.
Each of those six towns runs its own zoning ordinance, its own permit desk and its own development review. A parcel in Cornelius is not subject to Charlotte’s Unified Development Ordinance. A parcel in unincorporated Mecklenburg is not subject to any town’s.
Treat “Charlotte” as one market and roughly one commercial parcel in four is governed by a code you have not read, reviewed by a desk you have not called.
Check it yourself
The county publishes the answer in a column. taxmundist in Cama_Table, and municipality_desc in OwnerInfo_Table, both name the municipality that actually taxes and zones the parcel. Read it before you read the address.
A difference from Miami. Study No. 02 found that 77.4% of addresses mailing as “Miami” are not in the City of Miami, because Miami-Dade publishes postal city and municipality as two fields that disagree. Mecklenburg does not have that gap in the same form: its location-city column carries the jurisdiction, not the postal city, and the six towns have their own postal names and ZIP codes. We could not reproduce the postal-city trap here and are not claiming it. What we can show is the split above, which costs the same mistake by a different route.
Finding 04 / Property match
218 addresses return a building more than a mile from the one you meant.
How often does one Mecklenburg County address return more than one property?
218 of the 3,704 house-number-and-street keys that hold more than one parcel have parcels at least a mile apart on the ground, and 827 parcels sit behind them.
Mecklenburg’s streetname column has usually had the directional prefix taken out of it. North Main Street and South Main Street are both stored as MAIN ST. Across 388,991 distinct house-number-and-street keys, only 2,822 — 0.7% — carry a direction at all, and on 89 of those the county spells it two different ways, W on one row and WEST on another.
3,704 keys hold more than one parcel. Most of those are honest: condominium units, duplexes and outbuildings stacked on one site. So we measured the distance. The county publishes a coordinate for every parcel, and on 218 keys the parcels are at least a mile apart on the ground — 827 parcels in total. 83 of those keys straddle two or more municipalities. 172 include a commercial parcel, covering 305 commercial parcels.
The clearest case is two commercial buildings that share a house number and a street name and nothing else. 315 N Main St in Davidson is a 43,640 sq ft office built in 1993, which the county values at $8,823,200. 315 Main St in Pineville is a 15,648 sq ft commercial building built in 1987, valued at $2,906,600. They are 28.9 miles apart, at opposite ends of the county, in two different towns. In the county’s parsed address columns both are house number 315, street MAIN ST. Parcel IDs 00325608 and 22106101.
This is the failure that does not announce itself. A record comes back, it looks right, and it belongs to a building in another town.
Check it yourself
Confirm the parcel ID and the municipality against your subject before you copy a field. If the address you were handed has no direction on it, go back and ask which end of the street it is. A returned result is not a match.
A note on method, and a correction to how we did this before. Studies No. 01 and No. 02 counted address collisions by looking for two different directional prefixes on the same house-number-and-street key. That test cannot work here, because Mecklenburg has already removed the prefix from the column. So we used the county’s published coordinates instead and measured how far apart the parcels actually are. It is the better test: it cannot be fooled by a condominium stack, and it would have caught the condominium wing labels that we mistook for directions in study No. 02. The one-mile threshold is a judgement, and the script carries it as a constant you can change.
When you do this weekly
Four checks, every property, before you say a number out loud.
All four are catchable by hand, and Mecklenburg makes it easier than most: the whole record is a free download, with no login, no fee and no request form. It still takes time you may not have on every address.
Glove does the same digging in one call, inside Claude Code, Cursor or Codex — parcel, the value type the county reports with its year, last sale, zoning, flood and city limits, each number carrying the page it came from. Recorded documents and permits are still yours to click.
Five free packets. Each successful packet uses one credit.
Works in Claude Code, Cursor and Codex.
Method, and what these counts do not establish
Source
Two files, both published by Mecklenburg County, both free, and both a direct download — no login, no fee, no request form and no API key. From the county’s Open Mapping bulk data: Cama_Table.zip (83.9 MB, last modified 15 September 2026) for parcels, values and addresses, and Parcel_Sales_Table.zip (123.2 MB, last modified 14 September 2026) for the full sales history. The county publishes a machine-readable catalog of everything it releases. The worked example in finding 04 was confirmed against a third county file, OwnerInfo_Table.zip, which agrees on both parcels. All three were downloaded and counted on 20 September 2026.
Every figure above is recomputed by count_mecklenburg.py, standard library only, no install step. python3 count_mecklenburg.py downloads both files and counts them in about fifteen seconds; pass two paths to count files you already have. One warning it carries in a comment: the county’s server refuses the default Python user-agent with a 403, so the script sets one.
Definitions
- Commercial — land use code beginning
C(commercial),I(industrial) orO(office), as printed inlusecode. 20,794 of 428,758 parcels. Multi-family (codeA) is excluded, as in studies No. 01 and No. 02. - Parcel — a distinct
parcelid. The file holds 448,427 rows for 428,758 parcels, because a parcel can carry more than one land unit; every parcel-level count here is deduplicated. - Qualified sale — a blank
salesvalidity. Every non-blank code is counted as not qualified. CodeAGis blank-equivalent in the county’s treatment and is counted as qualified, and it is flagged in finding 01 because the price still covers more than one parcel. - Market value —
totmarkval. Total value —totalvalue. In North Carolina these are the same number for 99.9% of parcels. - Address key — house number plus street name, with any leading direction word removed so that
WandWESTdo not count as two streets. - A collision — an address key whose parcels are at least one mile apart, measured between the coordinates the county publishes for each parcel.
What this is not
- These are counts of a file dated 14 and 15 September 2026. The county republishes on its own schedule, and a later file will not reproduce these numbers exactly. That is expected; what should reproduce is the method.
- Every value in the file is an opinion of market value as of 1 January 2023. From 1 January 2027 it will be a different basis, and finding 02 will need re-running rather than re-quoting.
- The sale-to-market ratio in finding 02 measures parcels that traded. It is not an estimate of what unsold commercial property in Mecklenburg is worth, and a sale price can include things the parcel record does not, such as improvements made after the revaluation date.
- A validity code means the assessor did not treat the transfer as an open-market sale for roll purposes. It is not a finding about the parties.
- The one-mile threshold in finding 04 is a judgement call, not a standard. It is stated so it can be argued with, and changed in one line of the script.
- This is one observation of one county on one date, not a promise about every search you will run.
- Nothing here is a survey, a valuation, a title search, a zoning determination or a permission for a proposed use.
- No owner name, mailing address, grantor, grantee or legal description is read or reproduced. The script drops those columns before it reads a row.
Reproduce it
The counts are published as a CSV with source, file date and denominator on every figure. Both source files are a plain HTTP download, so every number on this page can be recomputed from scratch on a laptop with nothing installed.
Cite this study
Klebl, C. (2026). Three in four Charlotte commercial sales are not sales. Sterling Digital Partners. Retrieved from https://glvtl.com/field-study/mecklenburg-commercial-record/
Link to it
<a href="https://glvtl.com/field-study/mecklenburg-commercial-record/">Three in four Charlotte commercial sales are not sales</a>, Chris Klebl, Sterling Digital Partners, 2026.
Corrections
If a count looks wrong, tell us with the metric name and the public source. We will re-run it and re-date the page.
The series
This is the third of ten, and the first outside Florida. Study No. 01 counts Sarasota and Manatee; study No. 02 counts Miami-Dade. The rest are listed on the field studies index, where you can ask to be told when your market lands.