{"zip":"28212","city":"Charlotte","state":"NC","county":"Mecklenburg County","countySlug":"mecklenburg-county-nc","metro":"Charlotte-Concord-Gastonia, NC-SC","metroSlug":"charlotte-nc","citySlug":"charlotte-nc","rentPeriod":"2026-06","acsPeriod":"ACS 2024 5-year","directRent":1337,"rentYoy":-0.0225,"bedroomEstimates":[1164,1219,1337,1644,2092],"hudFmr":[1480,1550,1700,2090,2660],"ladderSource":"safmr","population":42440,"populationMoe":2271,"medianIncome":52723,"medianIncomeMoe":2640,"medianGrossRent":1362,"medianGrossRentMoe":34,"housingUnits":17146,"occupiedUnits":15649,"vacantUnits":1497,"renterOccupied":9697,"rentBurdenTotal":9697,"rentBurden30Plus":5916,"vacantForRent":642,"vacantForSale":81,"vacantSeasonal":61,"structureTotal":17146,"singleFamilyUnits":7961,"largeMultifamilyUnits":2862,"vacancyRate":0.08730899335121894,"renterShare":0.619656208064413,"rentBurdenShare":0.6100855934825203,"requiredIncome":53480,"askingRentToIncome":0.3043074180149081,"askingVsAcsRent":0.9816446402349486,"askingVsHud2br":0.7864705882352941,"cityRent":1745.7658527125816,"countyRent":1751,"metroRent":1750,"cityGrossRent":1612,"countyGrossRent":1627,"countyListings":4251,"countyListingDom":51,"countyPriceReducedShare":0.2235,"countyListingPeriod":"2026-06","metroMonthsSupply":3.7,"metroMedianDom":53,"metroPriceDrops":0.3162,"metroResalePeriod":"2026-05-01","apartmentVacancy":0.092981787831397,"apartmentTimeOnMarket":35.3,"zipResalePeriodBegin":"2026-04-01","zipResalePeriodEnd":"2026-06-30","zipResaleUpdated":"2026-07-03","zipHomesSold":83,"zipSalePrice":344922,"zipSalePriceYoy":0.1091,"zipMedianDom":51,"zipActiveListings":213,"zipActiveListingsYoy":0.1145,"zipInventory":125,"zipInventoryYoy":0.1656,"zipPendingSales":89,"zipMonthsSupply":4.5,"zipSaleToList":0.9809,"zipSoldAboveList":0.1854,"zipOffMarketTwoWeeks":0.3815,"generatedAt":"2026-08-12 17:36:46.367822+00","summaryHtml":"<p>Rent cooling and a firmer for-sale price reading pull in different directions in 28212. At June 2026, Zillow’s ZIP ZORI—a typical observed asking-rent index blended across rental types—stood at $1,337, 2.3% below the same month a year earlier. This is the current ZIP asking-rent signal, not a lease ledger, achieved rent, or forecast. The separate Redfin resale record shows price appreciation but also a more measured transaction environment, so neither source resolves the other. The central tension is a softer asking-rent index beside stronger resale pricing; the following evidence keeps those universes separate rather than converting resale activity into rental evidence.</p><p>History confirms that the recent decline breaks from the five-year path rather than merely extending it. Exact same-month Zillow ZORI changes through the endpoint were -2.25% over one year, -0.24% annualized over three years, and +4.88% annualized over five years. Thus, the short and medium windows are cooling while the longer lookback remains positive; these are backward-looking measurements, not forecasts or investment recommendations. Annualized monthly-return variability was 2.9%, indicating that a current index snapshot is better read as a trend reference than as a precise unit-level figure. The historical peak-to-trough maximum drawdown was 3.3%, a separate measure of the deepest decline. Coverage is 100%. The transparent national discovery ranks among history-eligible ZIPs are 2,730 for momentum, 1,429 for stability, and 2,571 for balanced history, with lower ranks higher; they aid discovery rather than grade an outcome.</p><p>The five-digit label is both the Zillow ZIP market identifier and a match to a Census ZCTA. A ZCTA is a Census statistical area, not identical to a USPS delivery ZIP, which matters whenever coverage is read as a boundary. In ACS 2024 five-year data, the matched ZCTA’s median gross rent was $1,362; it is a survey measure of occupied renter homes and includes selected utilities, rather than a current asking-rent measure. It sits close to ZORI but need not describe the same units or terms. By contrast, the FY2026 HUD two-bedroom FMR is $1,700, an administrative, bedroom-specific standard rather than asking rent; the ZIP index is 21.4% below it. These are three different evidence universes, not competing estimates of a single lease price.</p><p>Bedroom figures turn that all-type index into a comparison ladder, not into observed unit rents. The modelled monthly ZIP estimates are $1,164 for a studio, $1,219 for one bedroom, $1,337 for two bedrooms, $1,644 for three bedrooms, and $2,092 for four bedrooms. They scale ZIP ZORI using the local HUD bedroom ladder, with the two-bedroom estimate aligned to the index. Because a relative administrative ladder is being applied to an index blended across rental types, these are modelled estimates, never measured bedroom rents, leased rents, HUD rates, or unit quotes. Actual utility responsibility, term, furnishing, condition, and concessions can produce different asking terms.</p><p>On the income screen, the current index requires $53,480 in annual household income at a 30% rent-to-income threshold. This is arithmetic—monthly asking rent multiplied through a year and divided by the threshold—not advice and not an applicant qualification rule. The matched ZCTA’s median household income is $52,723, making the index-based ratio 30.4%. ACS burden data separately report 5,916 of 9,697 renter households, or 61.0%, spending at least the threshold of income on gross rent. That burden is a five-year survey statistic for households, not proof of affordability, costs, or qualification for a particular unit; the income and gross-rent definitions also differ from a fresh asking-rent quote.</p><p>Stock and occupancy give the burden figure a broad housing context, without identifying any available home. The matched ZCTA has 17,146 housing units, including 7,961 single-family units and 2,862 large multifamily units. Renters occupy 62.0% of occupied homes; overall vacancy is 8.7%, including 642 units recorded vacant for rent. Those aggregates do not establish vacancy, rents, or competition at a particular property. For wider context only, Charlotte city context—a city scope—has an asking-rent context of $1,746; Mecklenburg County context—a county scope—has $1,751; and Charlotte-Concord-Gastonia, NC-SC metro context—a metro scope—has $1,750. Each wider figure is context rather than a ZIP rental comparable.</p><p>Redfin’s direct rolling-three-month ZIP resale observation belongs solely to the for-sale universe. Its median sold price was $344,922, up 10.9% year over year, even as the ZIP asking-rent history was cooling. There were 83 homes sold and a median 51 days on market. Inventory stood at 125 homes, 16.6% higher than a year earlier, with 4.5 months of supply. Sale-to-list averaged 98.1%; 18.5% of sales were above list, and 38.2% went off market within two weeks. The rising price reading confirms the rent-versus-resale tension, while the days on market, added inventory, below-list average sales, and limited above-list share challenge a simple scarcity reading. These are resale transactions, not rental transactions or property economics. Annualized ZIP ZORI divided by median sold price is 4.65%, a cross-source screening ratio only; it does not measure property-level income, expenses, or return.</p><p>The practical limits are material. ZORI summarizes observed asking rents across rental types, ACS is an estimate survey for ZCTA households, HUD is a bedroom-standard program benchmark, and Redfin is a rolling resale record; none supplies an inspected subject unit’s current rent, operating costs, or lease terms. Check active asking offerings matched on bedroom count and lease length; then confirm the listed rent, utilities included, concessions, furnishings, condition, and availability date. For a possible purchase comparison, inspect property-specific sold and active records, rather than applying ZIP median sale statistics to a given home. Reconcile the actual location against the Zillow ZIP identifier and the statistical ZCTA boundary. Can unit-specific asking terms and property records support the conclusion suggested by these broad, differently timed indicators?</p>","findings":[{"body":"The current ZIP asking-rent index declined from its same-month level a year earlier, and the backward-looking pattern is negative over both the one- and three-year windows. Direct ZIP resale, however, recorded a higher median sold price year over year. This is a data tension, not evidence that one market causes the other or that either direction will persist. It requires rent and for-sale evidence to remain in their respective universes.","title":"The core signal is cross-market divergence"},{"body":"ZORI, ACS, and HUD answer different questions. ZORI is a ZIP asking-rent index, ACS is a multi-year survey of occupied renter households with selected utilities, and HUD’s bedroom standards are administrative. The ZCTA match is statistical rather than a USPS delivery boundary. Their numerical proximity should not be read as agreement on a particular dwelling, lease, or utility arrangement.","title":"The rent sources are not interchangeable"},{"body":"The required-income screen compares a monthly index to a stated income fraction through arithmetic. The burden statistic is different: it summarizes surveyed renter households paying the threshold or more of gross income, not an applicant file. Both readings indicate a broad affordability constraint in the matched ZCTA, but neither proves a specific unit’s lease cost, utility responsibility, or household eligibility.","title":"Aggregate affordability pressure is elevated"},{"body":"Resale data add a direct ZIP transaction lens, but no rental comp set. The price increase conflicts with the recent ZORI decline, while inventory growth, marketing time, and below-list average sales add nuance to the resale signal. Sale-to-list measures describe completed for-sale deals, and the annualized ZORI-to-price percentage is only a screening calculation with no property-level expense or income detail.","title":"Resale liquidity adds nuance, not rental evidence"}],"risks":["ZORI blends rental types and reports asking-rent conditions, so lease length, concessions, utilities, bedroom mix, furnishings, and actual availability can cause an individual unit to depart materially from the index.","ACS represents a statistical ZCTA through a five-year survey of occupied renter households; its gross-rent and burden measures cannot identify current rent, expenses, or qualification at a specific address.","The bedroom ladder derives estimates by scaling ZIP ZORI with HUD standards; it does not document that similarly sized units were listed, leased, or available at those amounts.","Redfin measures for-sale activity rather than rental transactions; its ZIP median price and cross-source screening ratio omit a subject property’s condition, operating expenses, financing, and transaction-specific details."],"qa":[{"a":"The label is useful for linking the supplied Zillow market identifier to Census data, but the boundaries are not interchangeable. A ZCTA is a Census statistical area, whereas a USPS delivery ZIP is organized for mail delivery. ACS values therefore describe the matched ZCTA survey universe, not necessarily every address that uses the delivery ZIP.","q":"Why is the geographic label qualified?"},{"a":"Each bedroom figure begins with overall ZIP ZORI and applies the relative local HUD bedroom ladder. The outcome is a modelled monthly estimate, not a measured asking or leased rent. It becomes comparable with a subject unit only after matching bedroom count, utilities, term, furnishing, concessions, condition, and availability.","q":"How are the bedroom figures constructed?"},{"a":"The calculation annualizes the current monthly ZORI and divides it by the stated share of household income. It provides a uniform screen, not advice or a qualification rule. The comparison with the ZCTA median household income helps frame aggregate pressure, while the ACS burden result separately reflects households reporting gross-rent costs at or above the threshold.","q":"What does the required-income screen establish?"},{"a":"Redfin’s data are a direct rolling-three-month ZIP resale observation: price, sales volume, marketing time, inventory, supply, and sale-to-list measures describe for-sale activity. They can highlight a contrast with ZIP ZORI, but they are not rental transactions. The annualized ZORI-to-sale-price figure remains only a cross-source screen and leaves property-level income and expenses unresolved.","q":"How does resale evidence relate to rent evidence?"}],"sources":[{"key":"apartment_list_time_on_market","name":"Apartment List Time on Market — listing liquidity","release":"Apartment List 2026-07","pulledAt":"2026-08-08","url":"https://www.apartmentlist.com/research/category/data-rent-estimates"},{"key":"apartment_list_vacancy","name":"Apartment List Vacancy Index — rental vacancy","release":"Apartment List 2026-07","pulledAt":"2026-08-08","url":"https://www.apartmentlist.com/research/apartment-list-vacancy-index-methodology"},{"key":"census_zcta_facts","name":"Census ACS five-year — ZCTA housing and income","release":"ACS 2024 5-year ZCTA","pulledAt":"2026-08-08","url":"https://api.census.gov/data/2024/acs/acs5.html"},{"key":"hud_zip","name":"HUD USPS crosswalk and Small Area FMRs — ZIP rent fallback","release":"ZIP-CBSA 2025Q4 + SAFMR FY2026","pulledAt":"2026-07-26","url":"https://www.huduser.gov/portal/datasets/usps_crosswalk.html"},{"key":"realtor_county","name":"Realtor.com Economic Research — county listing inventory","release":"county inventory 2026-06","pulledAt":"2026-07-28","url":"https://www.realtor.com/research/data/"},{"key":"redfin","name":"Redfin Data Center — inventory, days on market, and price cuts","release":"metro tracker through 2026-05-01","pulledAt":"2026-07-26","url":"https://www.redfin.com/news/data-center/"},{"key":"redfin_zip","name":"Redfin Data Center — ZIP resale activity and supply","release":"ZIP rolling 3 months through 2026-06-30; updated 2026-07-03","pulledAt":"2026-08-12","url":"https://www.redfin.com/news/data-center/"},{"key":"zillow_county","name":"Zillow ZHVI and ZORI — county values and rents","release":"county ZHVI/ZORI 2026-06","pulledAt":"2026-07-26","url":"https://www.zillow.com/research/data/"},{"key":"zillow_zori","name":"Zillow ZORI — metro market rents","release":"Metro_zori_uc_sfrcondomfr_sm_sa_month.csv","pulledAt":"2026-07-26","url":"https://www.zillow.com/research/data/"},{"key":"zillow_zori_city","name":"Zillow ZORI — city market rents","release":"zillow_zori_city.csv","pulledAt":"2026-07-29","url":"https://www.zillow.com/research/data/"},{"key":"zillow_zori_zip","name":"Zillow ZORI — ZIP market rents","release":"ZORI ZIP 2026-06","pulledAt":"2026-08-08","url":"https://www.zillow.com/research/data/"}],"history":[{"period":"2021-01-01","rent":988.939001},{"period":"2021-02-01","rent":1000.265941},{"period":"2021-03-01","rent":1005.644903},{"period":"2021-04-01","rent":1016.035214},{"period":"2021-05-01","rent":1031.953035},{"period":"2021-06-01","rent":1053.479777},{"period":"2021-07-01","rent":1086.455147},{"period":"2021-08-01","rent":1098.884236},{"period":"2021-09-01","rent":1119.477259},{"period":"2021-10-01","rent":1132.562904},{"period":"2021-11-01","rent":1156.73127},{"period":"2021-12-01","rent":1173.264517},{"period":"2022-01-01","rent":1188.651658},{"period":"2022-02-01","rent":1195.244739},{"period":"2022-03-01","rent":1191.527823},{"period":"2022-04-01","rent":1199.482555},{"period":"2022-05-01","rent":1207.265472},{"period":"2022-06-01","rent":1225.639964},{"period":"2022-07-01","rent":1228.491401},{"period":"2022-08-01","rent":1236.523026},{"period":"2022-09-01","rent":1235.793666},{"period":"2022-10-01","rent":1251.7298},{"period":"2022-11-01","rent":1263.685281},{"period":"2022-12-01","rent":1275.988749},{"period":"2023-01-01","rent":1280.487241},{"period":"2023-02-01","rent":1286.084922},{"period":"2023-03-01","rent":1305.550341},{"period":"2023-04-01","rent":1322.999372},{"period":"2023-05-01","rent":1341.124002},{"period":"2023-06-01","rent":1346.777002},{"period":"2023-07-01","rent":1337.498513},{"period":"2023-08-01","rent":1333.106676},{"period":"2023-09-01","rent":1332.229604},{"period":"2023-10-01","rent":1327.669176},{"period":"2023-11-01","rent":1321.376658},{"period":"2023-12-01","rent":1322.612247},{"period":"2024-01-01","rent":1328.326597},{"period":"2024-02-01","rent":1336.551712},{"period":"2024-03-01","rent":1336.71614},{"period":"2024-04-01","rent":1332.648757},{"period":"2024-05-01","rent":1320.012229},{"period":"2024-06-01","rent":1303.770867},{"period":"2024-07-01","rent":1318.555968},{"period":"2024-08-01","rent":1332.698295},{"period":"2024-09-01","rent":1349.160883},{"period":"2024-10-01","rent":1351.53461},{"period":"2024-11-01","rent":1359.064019},{"period":"2024-12-01","rent":1359.149076},{"period":"2025-01-01","rent":1365.329127},{"period":"2025-02-01","rent":1361.778194},{"period":"2025-03-01","rent":1371.408164},{"period":"2025-04-01","rent":1370.095955},{"period":"2025-05-01","rent":1368.577003},{"period":"2025-06-01","rent":1367.907366},{"period":"2025-07-01","rent":1363.51841},{"period":"2025-08-01","rent":1356.556973},{"period":"2025-09-01","rent":1347.407184},{"period":"2025-10-01","rent":1347.220379},{"period":"2025-11-01","rent":1344.086729},{"period":"2025-12-01","rent":1342.946709},{"period":"2026-01-01","rent":1336.302743},{"period":"2026-02-01","rent":1335.495173},{"period":"2026-03-01","rent":1325.969713},{"period":"2026-04-01","rent":1326.252813},{"period":"2026-05-01","rent":1330.21484},{"period":"2026-06-01","rent":1337.138655}],"historySummary":{"pointCount":66,"firstPeriod":"2021-01-01","latestPeriod":"2026-06-01","coverageMonths":66,"coverageRatio":1,"changes":{"1":{"years":1,"startPeriod":"2025-06-01","endPeriod":"2026-06-01","startRent":1367.907366,"endRent":1337.138655,"change":-0.022493270936885912,"cagr":-0.022493270936885912},"3":{"years":3,"startPeriod":"2023-06-01","endPeriod":"2026-06-01","startRent":1346.777002,"endRent":1337.138655,"change":-0.007156602010345292,"cagr":-0.002391247510334815},"5":{"years":5,"startPeriod":"2021-06-01","endPeriod":"2026-06-01","startRent":1053.479777,"endRent":1337.138655,"change":0.2692589684139708,"cagr":0.04884194725915059}},"maxDrawdown":-0.03313269688250153,"annualizedVolatility":0.028937443355055586,"consecutiveReturnCount":65}}