{"zip":"28209","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":1634,"rentYoy":-0.0125,"bedroomEstimates":[1424,1494,1634,2010,2551],"hudFmr":[1630,1710,1870,2300,2920],"ladderSource":"safmr","population":24331,"populationMoe":1556,"medianIncome":101873,"medianIncomeMoe":10445,"medianGrossRent":1710,"medianGrossRentMoe":48,"housingUnits":13943,"occupiedUnits":12793,"vacantUnits":1150,"renterOccupied":6657,"rentBurdenTotal":6657,"rentBurden30Plus":2680,"vacantForRent":579,"vacantForSale":91,"vacantSeasonal":135,"structureTotal":13943,"singleFamilyUnits":6295,"largeMultifamilyUnits":5059,"vacancyRate":0.08247866312845155,"renterShare":0.5203626983506605,"rentBurdenShare":0.40258374643232686,"requiredIncome":65360,"askingRentToIncome":0.1924749442933849,"askingVsAcsRent":0.9555555555555556,"askingVsHud2br":0.8737967914438503,"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":126,"zipSalePrice":819815,"zipSalePriceYoy":-0.0002,"zipMedianDom":34,"zipActiveListings":307,"zipActiveListingsYoy":0.0628,"zipInventory":161,"zipInventoryYoy":0.2125,"zipPendingSales":140,"zipMonthsSupply":3.9,"zipSaleToList":1.0094,"zipSoldAboveList":0.3825,"zipOffMarketTwoWeeks":0.6038,"generatedAt":"2026-09-01 14:01:07.537167+00","summaryHtml":"<p>A cooling rent series sits against a costly resale backdrop in 28209: current typical asking rent is $1,634, down 1.3% from the same month last year, while the direct ZIP for-sale record is on a much higher price scale. This does not establish a renter’s transaction cost or a property return. It instead requires rental and resale evidence to remain separate. Recent asking-rent direction is soft, but observed resale pricing and liquidity must be tested in their own transaction universe. The central tension is whether one current asking-rent snapshot, after a modest retreat, deserves substantial weight when the for-sale market supplies a different set of direct signals.</p><p>Backward-looking Zillow history classifies the ZIP as cooling. The exact same-month one-year change is -1.25%, the three-year annualized change is -0.38%, and the five-year annualized change is 3.35%. Thus, the recent decline breaks from the longer five-year growth path while extending the mild weakness visible over three years. Monthly returns show 2.60% annualized variability, which supports moderate confidence in the current snapshot but cautions against treating it as a fixed level. The largest peak-to-trough drawdown reached 3.97%, a contained but meaningful historical retreat. Coverage is 99.3%. Transparent national discovery ranks among history-eligible ZIPs are 2,652 for momentum, 886 for stability, and 2,263 for the balanced measure; lower ranks place higher. These are measurements, not forecasts or investment recommendations.</p><p>Source definitions explain why rent figures need not agree. Zillow ZORI is a ZIP-level, typical observed asking-rent index blended across rental types. The matched Census ZCTA’s ACS 2024 five-year median gross rent is $1,710, with a $48 margin of error; it surveys occupied renter homes and includes selected utilities. HUD’s FY2026 two-bedroom FMR/SAFMR standard is $1,870, making current ZIP ZORI 87.4% of that administrative benchmark. HUD FMR/SAFMR is bedroom-specific and administrative, not asking rent. The five-digit label is both a Zillow ZIP market identifier and a Census ZCTA match; a ZCTA is a statistical area and is not identical to a USPS delivery ZIP.</p><p>The bedroom view is deliberately modelled rather than measured. Scaling ZIP ZORI through the local HUD bedroom ladder produces modelled monthly estimates of $1,424 for a studio, $1,494 for one bedroom, $1,634 for two bedrooms, $2,010 for three bedrooms, and $2,551 for four bedrooms. This ladder preserves the local HUD relationship between bedroom sizes while anchoring its level to Zillow’s ZIP asking-rent index. It does not observe leases, listings, utilities, concessions, unit condition, or available supply for any bedroom type. The estimates therefore organize a size-based screen, not a record of measured bedroom rents in 28209.</p><p>Affordability has two distinct readings. Annualizing the current asking-rent index and applying a 30% income share produces a required-income screen of $65,360. That is arithmetic, not advice and not an applicant qualification rule. Against the ZCTA median household income of $101,873, annualized asking rent equals 19.2% of that median. Yet ACS reports that 40.3% of occupied renter homes have gross-rent burdens at or above 30% of household income. The contrast shows why a ZIP-level index-to-median-income calculation should not replace the survey burden distribution. Neither burden measure can prove affordability, cost, or availability for a particular household or unit.</p><p>The ACS housing frame contains 13,943 housing units, of which 12,793 are occupied and 1,150 are vacant, implying an 8.2% vacancy rate. Renters occupy 52.0% of occupied units, and 579 vacant units are classified as for rent. The stock includes both single-family and large multifamily structures, so the Zillow blended index may reflect a different mix than an individual apartment or house search. Vacancy classification is also not an availability ledger: it does not establish that a vacant unit is comparable, currently marketable, affordable to a given renter, or offered at the ZORI level. These survey counts provide structure and uncertainty context rather than proof about a specific property.</p><p>Charlotte city context reports typical asking rent of $1,745.77 and a 49.8% renter-burden share; Mecklenburg County context reports typical asking rent of $1,751; and Charlotte-Concord-Gastonia, NC-SC metro context reports typical asking rent of $1,750. Each is a wider-geography context value rather than a ZIP substitute. Relative to those city, county, and metro asking-rent benchmarks, 28209’s current ZIP index reads lower, while its survey burden share also reads lower than the city context figure. That comparison does not identify why differences exist, nor does it establish a comparable unit type, lease term, utility package, or renter income distribution across geographies.</p><p>Redfin’s direct rolling-three-month ZIP resale observation belongs solely to the for-sale market, not rental transactions. Median sold price was $819,815, down 0.02% year over year; 126 homes sold with a median 34 days on market. Inventory stood at 161 homes and months of supply at 3.9. The average sale-to-list ratio was 100.94%, while 38.25% of sales closed above list price. Those resale signals challenge a simple reading of rent cooling: asking rent fell, but the reported sold-price level was essentially flat and sale-to-list results remained above par. Annualized ZIP ZORI divided by median sold price is a 2.4% cross-source screening ratio only, not a cap rate, net return, expected return, or property yield. Concrete property-level checks should verify bedroom count, condition, lease length, utilities, concessions, listing status, sale records, and whether any candidate unit matches the index and resale measures being compared.</p>","findings":[{"body":"The exact same-month Zillow history shows a one-year decline and a slightly negative three-year annualized change, but a positive five-year annualized gain. That sequence indicates that current softening breaks from the longer expansion rather than erasing it. Moderate variability and a limited historical drawdown support using the current index as a useful reference, while discouraging overconfidence in one month.","title":"Cooling is recent, while the longer rent path remains positive"},{"body":"Studio through four-bedroom figures are modelled by applying the local HUD bedroom ladder to ZIP Zillow ZORI. They help create a consistent relative size screen, but they are not measured asking rents, executed leases, or evidence of current unit availability. HUD FMR/SAFMR itself is an administrative bedroom-specific standard, while Zillow ZORI is a blended asking-rent index.","title":"The bedroom ladder is a sizing model, not a rent-comp database"},{"body":"The 30% required-income calculation places the ZIP asking-rent index below the ZCTA median household income on an annualized screen. ACS burden data nevertheless show that a substantial share of occupied renter homes exceed the same gross-rent burden threshold. The arithmetic screen cannot identify an individual household’s income, and the survey burden share cannot establish costs or affordability for a particular available unit.","title":"Median-income arithmetic and renter burden tell different affordability stories"},{"body":"Redfin’s direct ZIP resale data show essentially unchanged median sold pricing year over year, measurable transaction volume, and an average sale-to-list ratio above 100%. Those for-sale observations do not convert into rental economics, but they do challenge the idea that the rent decline alone describes all housing-market signals. The rent-price figure remains only a cross-source screening ratio.","title":"Resale evidence resists a one-direction interpretation of rent cooling"}],"risks":["The Zillow rent index is a blended typical asking-rent measure, so an individual property’s bedroom count, condition, utilities, concessions, lease term, and availability can differ materially from the ZIP snapshot.","ACS ZCTA statistics are five-year survey estimates for a statistical area rather than USPS delivery ZIP records, and their renter, income, vacancy, and burden measures may not align with current listings.","Vacant-for-rent counts and renter-burden shares describe survey classifications and occupied household outcomes, respectively; neither measure proves that a specific vacant unit is affordable, comparable, or immediately rentable.","The Redfin rent-price screening ratio combines an asking-rent index with a resale sold-price measure. It excludes operating costs, financing, taxes, maintenance, unit differences, and any evidence of property-level income."],"qa":[{"a":"They measure different evidence universes. Zillow ZORI is a typical observed asking-rent index blended across rental types. ACS median gross rent is a five-year survey estimate for occupied renter homes and includes selected utilities. HUD FMR/SAFMR is an administrative, bedroom-specific standard. None should be substituted directly for another without retaining its definition and scope.","q":"Why do Zillow, ACS, and HUD rents differ?"},{"a":"No. The studio through four-bedroom figures are modelled estimates created by scaling the ZIP Zillow ZORI level using the local HUD bedroom ladder. They provide a consistent size relationship, but do not measure listings, signed leases, concessions, utility treatment, property condition, or current availability for any specific bedroom category.","q":"Are the bedroom rent figures observed rents for available units?"},{"a":"The one-year and three-year measures indicate recent cooling, while the five-year measure remains positive. Moderate annualized variability means the index has moved enough over time that a single current value should be treated as a reference rather than a permanent condition. The drawdown and coverage measures are backward-looking context, not a prediction.","q":"What does the rent history say about confidence in the current snapshot?"},{"a":"Redfin provides direct rolling-three-month ZIP for-sale observations, including sold price, transaction activity, marketing time, inventory, supply, and sale-to-list signals. It is not rental-comp evidence. Dividing annualized Zillow ZORI by median sold price creates only a cross-source screening ratio; it does not measure operating income, expenses, financing, or any property-level return.","q":"How should the Redfin resale information be used with the rent data?"}],"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":"2015-01-01","rent":981.658508},{"period":"2015-02-01","rent":983.982698},{"period":"2015-03-01","rent":992.332455},{"period":"2015-04-01","rent":1006.567159},{"period":"2015-05-01","rent":1005.93516},{"period":"2015-06-01","rent":1011.661428},{"period":"2015-07-01","rent":1012.211602},{"period":"2015-08-01","rent":1031.450072},{"period":"2015-09-01","rent":1040.234099},{"period":"2015-10-01","rent":1046.236093},{"period":"2015-11-01","rent":1047.014976},{"period":"2015-12-01","rent":1055.170192},{"period":"2016-01-01","rent":1056.274342},{"period":"2016-02-01","rent":1055.06421},{"period":"2016-03-01","rent":1048.337343},{"period":"2016-04-01","rent":1057.291679},{"period":"2016-05-01","rent":1064.338015},{"period":"2016-06-01","rent":1081.58201},{"period":"2016-07-01","rent":1077.328973},{"period":"2016-08-01","rent":1080.384908},{"period":"2016-10-01","rent":1090.986258},{"period":"2016-11-01","rent":1099.088207},{"period":"2016-12-01","rent":1103.850316},{"period":"2017-01-01","rent":1111.988319},{"period":"2017-02-01","rent":1127.027441},{"period":"2017-03-01","rent":1143.220636},{"period":"2017-04-01","rent":1146.337281},{"period":"2017-05-01","rent":1159.731974},{"period":"2017-06-01","rent":1161.971914},{"period":"2017-07-01","rent":1172.195224},{"period":"2017-08-01","rent":1164.277541},{"period":"2017-09-01","rent":1171.793026},{"period":"2017-10-01","rent":1179.799838},{"period":"2017-11-01","rent":1192.160538},{"period":"2017-12-01","rent":1188.584032},{"period":"2018-01-01","rent":1176.106504},{"period":"2018-02-01","rent":1172.186223},{"period":"2018-03-01","rent":1167.000569},{"period":"2018-04-01","rent":1186.549751},{"period":"2018-05-01","rent":1198.624297},{"period":"2018-06-01","rent":1208.155013},{"period":"2018-07-01","rent":1211.858284},{"period":"2018-08-01","rent":1204.819672},{"period":"2018-09-01","rent":1206.729893},{"period":"2018-10-01","rent":1199.970078},{"period":"2018-11-01","rent":1204.008168},{"period":"2018-12-01","rent":1208.05023},{"period":"2019-01-01","rent":1231.842976},{"period":"2019-02-01","rent":1251.737972},{"period":"2019-03-01","rent":1261.994376},{"period":"2019-04-01","rent":1255.358629},{"period":"2019-05-01","rent":1250.399589},{"period":"2019-06-01","rent":1250.458914},{"period":"2019-07-01","rent":1255.722595},{"period":"2019-08-01","rent":1276.082},{"period":"2019-09-01","rent":1283.24537},{"period":"2019-10-01","rent":1293.076905},{"period":"2019-11-01","rent":1292.961834},{"period":"2019-12-01","rent":1300.69654},{"period":"2020-01-01","rent":1295.933634},{"period":"2020-02-01","rent":1288.330463},{"period":"2020-03-01","rent":1284.492881},{"period":"2020-04-01","rent":1285.115022},{"period":"2020-05-01","rent":1284.655965},{"period":"2020-06-01","rent":1279.342977},{"period":"2020-07-01","rent":1284.984154},{"period":"2020-08-01","rent":1288.000002},{"period":"2020-09-01","rent":1287.697909},{"period":"2020-10-01","rent":1288.917818},{"period":"2020-11-01","rent":1290.988418},{"period":"2020-12-01","rent":1307.511965},{"period":"2021-01-01","rent":1332.547258},{"period":"2021-02-01","rent":1347.261085},{"period":"2021-03-01","rent":1352.473714},{"period":"2021-04-01","rent":1351.586399},{"period":"2021-05-01","rent":1370.293429},{"period":"2021-06-01","rent":1385.354129},{"period":"2021-07-01","rent":1402.587392},{"period":"2021-08-01","rent":1436.208092},{"period":"2021-09-01","rent":1464.706401},{"period":"2021-10-01","rent":1497.026259},{"period":"2021-11-01","rent":1516.670717},{"period":"2021-12-01","rent":1541.231481},{"period":"2022-01-01","rent":1548.567233},{"period":"2022-02-01","rent":1558.15979},{"period":"2022-03-01","rent":1565.15224},{"period":"2022-04-01","rent":1588.280409},{"period":"2022-05-01","rent":1601.021137},{"period":"2022-06-01","rent":1619.580032},{"period":"2022-07-01","rent":1641.354932},{"period":"2022-08-01","rent":1639.117701},{"period":"2022-09-01","rent":1633.917182},{"period":"2022-10-01","rent":1616.075702},{"period":"2022-11-01","rent":1615.509018},{"period":"2022-12-01","rent":1608.251021},{"period":"2023-01-01","rent":1613.255448},{"period":"2023-02-01","rent":1631.665959},{"period":"2023-03-01","rent":1653.275991},{"period":"2023-04-01","rent":1662.564647},{"period":"2023-05-01","rent":1660.846808},{"period":"2023-06-01","rent":1652.347563},{"period":"2023-07-01","rent":1654.168993},{"period":"2023-08-01","rent":1651.750035},{"period":"2023-09-01","rent":1662.796346},{"period":"2023-10-01","rent":1661.072618},{"period":"2023-11-01","rent":1657.839722},{"period":"2023-12-01","rent":1646.815037},{"period":"2024-01-01","rent":1642.897067},{"period":"2024-02-01","rent":1648.463476},{"period":"2024-03-01","rent":1645.748562},{"period":"2024-04-01","rent":1647.164062},{"period":"2024-05-01","rent":1646.865305},{"period":"2024-06-01","rent":1650.767394},{"period":"2024-07-01","rent":1639.474783},{"period":"2024-08-01","rent":1635.853463},{"period":"2024-09-01","rent":1641.877289},{"period":"2024-10-01","rent":1661.853385},{"period":"2024-11-01","rent":1678.194551},{"period":"2024-12-01","rent":1690.556635},{"period":"2025-01-01","rent":1692.05481},{"period":"2025-02-01","rent":1674.847751},{"period":"2025-03-01","rent":1657.314236},{"period":"2025-04-01","rent":1648.799779},{"period":"2025-05-01","rent":1656.234368},{"period":"2025-06-01","rent":1654.319116},{"period":"2025-07-01","rent":1658.10989},{"period":"2025-08-01","rent":1662.144371},{"period":"2025-09-01","rent":1653.024243},{"period":"2025-10-01","rent":1641.237643},{"period":"2025-11-01","rent":1629.809975},{"period":"2025-12-01","rent":1625.942857},{"period":"2026-01-01","rent":1624.808966},{"period":"2026-02-01","rent":1630.073136},{"period":"2026-03-01","rent":1638.860086},{"period":"2026-04-01","rent":1641.021044},{"period":"2026-05-01","rent":1634.371458},{"period":"2026-06-01","rent":1633.697339}],"historySummary":{"pointCount":137,"firstPeriod":"2015-01-01","latestPeriod":"2026-06-01","coverageMonths":138,"coverageRatio":0.9927536231884058,"changes":{"1":{"years":1,"startPeriod":"2025-06-01","endPeriod":"2026-06-01","startRent":1654.319116,"endRent":1633.697339,"change":-0.012465416617962743,"cagr":-0.012465416617962743},"3":{"years":3,"startPeriod":"2023-06-01","endPeriod":"2026-06-01","startRent":1652.347563,"endRent":1633.697339,"change":-0.011287107154464904,"cagr":-0.003776613909060922},"5":{"years":5,"startPeriod":"2021-06-01","endPeriod":"2026-06-01","startRent":1385.354129,"endRent":1633.697339,"change":0.17926334126514165,"cagr":0.03352779238080372}},"maxDrawdown":-0.039742119228395434,"annualizedVolatility":0.02598949109757614,"consecutiveReturnCount":135}}