{"zip":"48066","city":"Roseville","state":"MI","county":"Macomb County","countySlug":"macomb-county-mi","metro":"Detroit-Warren-Dearborn, MI","metroSlug":"detroit-mi","citySlug":"roseville-mi","rentPeriod":"2026-06","acsPeriod":"ACS 2024 5-year","directRent":1313,"rentYoy":0.0211,"bedroomEstimates":[937,1047,1313,1607,1735],"hudFmr":[1020,1140,1430,1750,1890],"ladderSource":"safmr","population":47123,"populationMoe":36,"medianIncome":62182,"medianIncomeMoe":2739,"medianGrossRent":1233,"medianGrossRentMoe":54,"housingUnits":22172,"occupiedUnits":21226,"vacantUnits":946,"renterOccupied":7304,"rentBurdenTotal":7304,"rentBurden30Plus":3861,"vacantForRent":209,"vacantForSale":66,"vacantSeasonal":64,"structureTotal":22172,"singleFamilyUnits":17665,"largeMultifamilyUnits":749,"vacancyRate":0.042666426123038066,"renterShare":0.3441062847451239,"rentBurdenShare":0.5286144578313253,"requiredIncome":52520,"askingRentToIncome":0.2533852240198128,"askingVsAcsRent":1.064882400648824,"askingVsHud2br":0.9181818181818182,"cityRent":1312.9217032967033,"countyRent":1412,"metroRent":1518,"cityGrossRent":1233,"countyGrossRent":1211,"countyListings":1892,"countyListingDom":35,"countyPriceReducedShare":0.1777,"countyListingPeriod":"2026-06","metroMonthsSupply":null,"metroMedianDom":null,"metroPriceDrops":null,"metroResalePeriod":"2026-05-01","apartmentVacancy":0.0429649035279463,"apartmentTimeOnMarket":21,"zipResalePeriodBegin":"2026-04-01","zipResalePeriodEnd":"2026-06-30","zipResaleUpdated":"2026-07-03","zipHomesSold":188,"zipSalePrice":176960,"zipSalePriceYoy":0.0409,"zipMedianDom":26,"zipActiveListings":353,"zipActiveListingsYoy":0.1058,"zipInventory":125,"zipInventoryYoy":0.0307,"zipPendingSales":226,"zipMonthsSupply":2,"zipSaleToList":0.9862,"zipSoldAboveList":0.3501,"zipOffMarketTwoWeeks":0.4099,"generatedAt":"2026-08-12 17:08:13.886291+00","summaryHtml":"<p>Rent growth has remained positive in 48066, but its pace is the report’s central tension. In June 2026, Zillow ZIP ZORI, a typical observed asking-rent index, was $1,313 per month and was up 2.1% in the exact same-month 1-year change. The longer exact same-month annualized changes were 2.9% over 3 years and 4.8% over 5 years. It therefore confirms the longer path’s upward direction while breaking from its faster prior pace. Annualized ZIP ZORI divided by the direct ZIP median sold price produces an 8.9% cross-source screening ratio. It is not a cap rate, net return, expected return, property yield, or a property-level operating result.</p><p>The five-digit label serves both as Zillow’s ZIP market identifier and a matched Census ZCTA, but those geography labels and datasets must not be collapsed into one rent measure. A ZCTA is a statistical area and is not identical to a USPS delivery ZIP. Zillow ZORI is a typical observed asking-rent index blended across rental types. In contrast, the ACS 2024 five-year survey covers occupied renter homes and its median gross rent, which includes selected utilities, is $1,233; that is 6.5% below the ZORI reading. This difference is a scope and timing comparison, not proof that a current listing, lease, or utility package is priced above a survey household’s experience.</p><p>The bedroom display is a scaling exercise, not a set of measured bedroom rents. The local FY2026 HUD FMR/SAFMR ladder sets administrative monthly standards of $1,020 for a studio, $1,140 for one bedroom, $1,430 for two, $1,750 for three, and $1,890 for four. Scaling the ZIP ZORI by that ladder yields modelled monthly ZIP estimates of $937, $1,047, $1,313, $1,607, and $1,735, respectively. HUD FMR/SAFMR is a bedroom-specific administrative standard, not asking rent; the listed figures are modelled estimates, never observed bedroom leases. In particular, the two-bedroom model’s match to the headline index is an effect of the scaling anchor, not an independent local measurement.</p><p>Affordability screens point in two directions. Matched ZCTA median household income is $62,182. Applying a 30% rent-to-income convention to headline ZORI requires $52,520 in annual income, and the index equals 25.3% of that ZIP median income. These are arithmetic comparisons only, not advice or an applicant qualification rule. Yet 52.9% of ACS renter households are estimated to meet or exceed that burden threshold. The aggregate result cannot describe a particular tenant or unit. For wider context only, the Roseville city-scope context tracks the ZIP rent level, the Macomb County county-scope context is $1,412, and the Detroit-Warren-Dearborn, MI metro-scope context is $1,518; these city, county, and metro values are not ZIP replacements.</p><p>The ACS stock and vacancy picture is a separate ZCTA household-and-unit universe. Reported housing stock is overwhelmingly single-family, with a much smaller large-multifamily component. Its overall vacancy rate is 4.3%, while renter households account for 34.4% of occupied homes. Those figures give broad tenure and unused-stock context, not a listing-level supply count or a rent forecast. The record also identifies units vacant for rent as a distinct category, but vacancy does not prove that any particular dwelling is available, habitable, competitively priced, or obtainable under a given lease. Nor does the renter share turn the blended asking-rent index into a census median.</p><p>Historical data support a stable-growth description but not a prediction. The series has 136 observations, 133 consecutive monthly returns, and 98.6% coverage. Annualized monthly-return variability was 2.8%, and the maximum drawdown was 1.5%, which contextualizes the slower current gain described above. Its transparent national discovery ranks among history-eligible ZIPs were 1,271 for momentum, 1,199 for stability, and 1,116 for the balanced measure; lower ranks are higher. These backward-looking measurements show comparatively contained past variation, so they allow more confidence in the context around one current index snapshot than a highly erratic history would, but they do not make the snapshot a forecast or an investment recommendation.</p><p>Resale evidence both supports activity and challenges a simple rent-price growth reading. Redfin’s direct rolling-three-month ZIP for-sale observation reports a $176,960 median sold price, up 4.1% year over year, alongside 188 homes sold and 26 median days on market. Inventory was 125 homes and months of supply stood at 2.0. The average sale-to-list ratio was 98.6%, while 35.0% of sales closed above list. These are ZIP resale liquidity and pricing signals, not rental transactions, rental comparables, or property economics. Price appreciation exceeded the latest asking-rent increase, challenging any claim that current rent momentum is keeping pace with resale momentum, even as the sale volume and supply reading confirm an active direct resale record.</p><p>Several limits remain before any property-level interpretation. ZORI and its history are asking-rent-index evidence; ACS is an occupied-renter gross-rent survey with selected utilities; HUD is an administrative bedroom ladder; and Redfin is a rolling resale observation. None substitutes for the others, and neither vacancy nor burden establishes the status of a particular unit. A property file would need verification of its ZIP mapping, advertised rent and concessions, bedroom layout, included utilities, lease term, availability, building type, and the dates and condition behind any sale comparison. The unresolved question is whether the actual unit’s current contract and physical attributes match the index, survey, modelled ladder, and resale definitions being compared?</p>","findings":[{"body":"The latest same-month rent change remains positive, but it is slower than both longer annualized changes in the supplied history. That confirms an upward asking-rent direction while breaking from its earlier pace. The conclusion applies to Zillow’s blended ZIP index only. It does not establish a common rent change across bedroom counts, building types, advertised listings, or signed leases.","title":"Asking-rent growth continues at a slower pace"},{"body":"The income comparison is an arithmetic screen, whereas burden is a survey distribution result. A ZIP median income can clear the screen even when a substantial share of occupied renter households crosses the burden threshold. ACS gross rent includes selected utilities and captures occupied homes, so it should not be merged with ZORI or used to qualify an individual renter.","title":"Aggregate affordability signals diverge"},{"body":"HUD’s bedroom ladder is an administrative standard. Scaling the blended ZIP asking-rent index through that ladder supplies consistent modelled estimates, but it does not observe leases by bedroom count. The exact two-bedroom alignment reflects the model anchor. It cannot validate a listing’s bedroom price, utility treatment, lease terms, or availability.","title":"Bedroom figures are modelled, not observed comps"},{"body":"Direct resale prices increased more quickly than the latest ZIP asking-rent index. The difference challenges a reading in which rent and resale appreciation share current momentum. Transaction counts, marketing time, supply, and sale-to-list measures describe direct ZIP sales only. They can characterize the stated resale observation, but they neither supply rental comparables nor convert the rent-price screen into a cap rate or property return.","title":"Resale pricing outpaced current rent-index growth"}],"risks":["ZORI, ACS gross rent, HUD FMR/SAFMR, and Redfin resale observations have distinct populations, timing, and definitions. Comparing them is informative only when those universe boundaries remain explicit.","The burden percentage and median-income screen are ZIP/ZCTA aggregates. They omit individual household income, utilities, lease terms, and unit availability, so neither can document affordability for a named applicant or address.","Bedroom estimates are scaled from an administrative HUD ladder, not gathered from advertised studio through four-bedroom listings. A unit’s actual rent can differ because the model is not a measured bedroom-rent series.","The rent-price screen combines an annualized asking-rent index with a resale median and omits operating costs and property specifics. It cannot characterize net economics, investment returns, or a transaction outcome."],"qa":[{"a":"Zillow ZORI is the supplied ZIP-level typical observed asking-rent index, blended across rental types. It is not a survey median of occupied renter households, a utility-inclusive gross-rent figure, or a bedroom-specific lease comp. Its current reading and history describe the index through the stated endpoint; they do not establish the asking rent, concessions, or availability of any one dwelling.","q":"Why is ZORI not interchangeable with ACS median gross rent?"},{"a":"The required-income figure simply annualizes current ZIP ZORI and divides by the stated burden convention. The burden statistic instead comes from the ACS five-year survey of occupied renter homes, where households have varied incomes, rents, and utility arrangements. Therefore a median-income screen can sit below the threshold while a high burden share persists, without identifying the situation of any particular household or unit.","q":"Why can the income screen and renter burden point in different directions?"},{"a":"No. The bedroom figures are modelled estimates obtained by scaling overall ZIP ZORI with the supplied local HUD FMR/SAFMR bedroom ladder. HUD is an administrative, bedroom-specific standard rather than a measure of advertised rents. The alignment at two bedrooms is an anchoring result of that scaling method, not evidence that observed ZIP two-bedroom rents equal the estimate or HUD standard.","q":"Are the bedroom rent figures measured local rents?"},{"a":"The resale data are a direct rolling-three-month observation of ZIP for-sale transactions, not rental transactions or a property operating statement. Dividing annualized ZORI by the median sold price makes only a cross-source screening ratio. It omits unit condition, financing, expenses, taxes, vacancy, repairs, and transaction-specific features, so it cannot be treated as a cap rate, net return, expected return, or property yield.","q":"What does the rent-price screening ratio establish?"}],"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":739.408399},{"period":"2015-02-01","rent":747.5376},{"period":"2015-03-01","rent":755.102528},{"period":"2015-04-01","rent":754.514323},{"period":"2015-05-01","rent":770.365171},{"period":"2015-07-01","rent":774.820149},{"period":"2015-08-01","rent":769.619957},{"period":"2015-09-01","rent":767.940595},{"period":"2015-10-01","rent":770.682479},{"period":"2015-11-01","rent":770.956442},{"period":"2015-12-01","rent":773.957881},{"period":"2016-01-01","rent":765.01294},{"period":"2016-02-01","rent":776.716845},{"period":"2016-03-01","rent":774.476538},{"period":"2016-04-01","rent":790.431464},{"period":"2016-05-01","rent":778.279178},{"period":"2016-06-01","rent":786.061313},{"period":"2016-07-01","rent":788.765663},{"period":"2016-08-01","rent":793.724522},{"period":"2016-09-01","rent":786.055861},{"period":"2016-10-01","rent":783.322575},{"period":"2016-11-01","rent":788.607752},{"period":"2016-12-01","rent":798.199716},{"period":"2017-01-01","rent":808.310369},{"period":"2017-02-01","rent":807.541865},{"period":"2017-03-01","rent":813.854348},{"period":"2017-04-01","rent":810.414248},{"period":"2017-05-01","rent":812.982403},{"period":"2017-06-01","rent":807.35881},{"period":"2017-07-01","rent":813.745125},{"period":"2017-08-01","rent":817.383528},{"period":"2017-09-01","rent":827.814254},{"period":"2017-10-01","rent":829.469664},{"period":"2017-11-01","rent":837.792533},{"period":"2017-12-01","rent":832.373593},{"period":"2018-01-01","rent":839.521088},{"period":"2018-02-01","rent":827.449394},{"period":"2018-03-01","rent":835.014069},{"period":"2018-04-01","rent":832.308035},{"period":"2018-05-01","rent":848.901693},{"period":"2018-06-01","rent":852.942589},{"period":"2018-07-01","rent":855.932654},{"period":"2018-08-01","rent":858.899121},{"period":"2018-09-01","rent":869.043082},{"period":"2018-10-01","rent":880.54588},{"period":"2018-11-01","rent":876.81501},{"period":"2018-12-01","rent":873.286211},{"period":"2019-01-01","rent":870.950277},{"period":"2019-02-01","rent":882.3638},{"period":"2019-03-01","rent":880.24162},{"period":"2019-04-01","rent":887.798054},{"period":"2019-05-01","rent":882.660618},{"period":"2019-06-01","rent":888.124552},{"period":"2019-07-01","rent":889.611428},{"period":"2019-08-01","rent":892.525893},{"period":"2019-09-01","rent":889.112558},{"period":"2019-10-01","rent":888.319803},{"period":"2019-11-01","rent":894.394525},{"period":"2019-12-01","rent":906.569585},{"period":"2020-01-01","rent":912.118949},{"period":"2020-02-01","rent":918.600418},{"period":"2020-03-01","rent":929.101645},{"period":"2020-04-01","rent":922.812499},{"period":"2020-05-01","rent":925.526502},{"period":"2020-06-01","rent":917.332358},{"period":"2020-07-01","rent":924.284573},{"period":"2020-08-01","rent":929.851474},{"period":"2020-09-01","rent":937.177126},{"period":"2020-10-01","rent":956.686716},{"period":"2020-11-01","rent":973.8788},{"period":"2020-12-01","rent":978.79544},{"period":"2021-01-01","rent":978.979564},{"period":"2021-02-01","rent":997.071167},{"period":"2021-03-01","rent":1002.692301},{"period":"2021-04-01","rent":1027.218352},{"period":"2021-05-01","rent":1019.554264},{"period":"2021-06-01","rent":1039.937065},{"period":"2021-07-01","rent":1050.596639},{"period":"2021-08-01","rent":1069.237868},{"period":"2021-09-01","rent":1086.677877},{"period":"2021-10-01","rent":1097.363675},{"period":"2021-11-01","rent":1106.13737},{"period":"2021-12-01","rent":1113.013701},{"period":"2022-01-01","rent":1122.457578},{"period":"2022-02-01","rent":1119.652841},{"period":"2022-03-01","rent":1134.432175},{"period":"2022-04-01","rent":1127.499158},{"period":"2022-05-01","rent":1155.960668},{"period":"2022-06-01","rent":1164.851881},{"period":"2022-07-01","rent":1182.108435},{"period":"2022-08-01","rent":1178.041181},{"period":"2022-09-01","rent":1172.175767},{"period":"2022-11-01","rent":1173.976},{"period":"2022-12-01","rent":1189.891262},{"period":"2023-01-01","rent":1197.177471},{"period":"2023-02-01","rent":1205.527706},{"period":"2023-03-01","rent":1195.261775},{"period":"2023-04-01","rent":1203.40216},{"period":"2023-05-01","rent":1206.23873},{"period":"2023-06-01","rent":1205.756514},{"period":"2023-07-01","rent":1194.733941},{"period":"2023-08-01","rent":1193.336768},{"period":"2023-09-01","rent":1200.026111},{"period":"2023-10-01","rent":1201.851197},{"period":"2023-11-01","rent":1200.704449},{"period":"2023-12-01","rent":1205.028705},{"period":"2024-01-01","rent":1214.312557},{"period":"2024-02-01","rent":1219.823758},{"period":"2024-03-01","rent":1230.047694},{"period":"2024-04-01","rent":1246.504035},{"period":"2024-05-01","rent":1254.889391},{"period":"2024-06-01","rent":1261.366832},{"period":"2024-07-01","rent":1258.225522},{"period":"2024-08-01","rent":1262.28191},{"period":"2024-09-01","rent":1259.813883},{"period":"2024-10-01","rent":1268.522609},{"period":"2024-11-01","rent":1279.727684},{"period":"2024-12-01","rent":1284.674142},{"period":"2025-01-01","rent":1289.408775},{"period":"2025-02-01","rent":1287.301802},{"period":"2025-03-01","rent":1297.332299},{"period":"2025-04-01","rent":1294.546593},{"period":"2025-05-01","rent":1290.977126},{"period":"2025-06-01","rent":1285.76496},{"period":"2025-07-01","rent":1298.961029},{"period":"2025-08-01","rent":1305.570416},{"period":"2025-09-01","rent":1313.110519},{"period":"2025-10-01","rent":1313.158888},{"period":"2025-11-01","rent":1311.735698},{"period":"2025-12-01","rent":1309.197013},{"period":"2026-01-01","rent":1305.767409},{"period":"2026-02-01","rent":1309.519895},{"period":"2026-03-01","rent":1304.776508},{"period":"2026-04-01","rent":1303.595715},{"period":"2026-05-01","rent":1306.66146},{"period":"2026-06-01","rent":1312.921703}],"historySummary":{"pointCount":136,"firstPeriod":"2015-01-01","latestPeriod":"2026-06-01","coverageMonths":138,"coverageRatio":0.9855072463768116,"changes":{"1":{"years":1,"startPeriod":"2025-06-01","endPeriod":"2026-06-01","startRent":1285.76496,"endRent":1312.921703,"change":0.021121078770104385,"cagr":0.021121078770104385},"3":{"years":3,"startPeriod":"2023-06-01","endPeriod":"2026-06-01","startRent":1205.756514,"endRent":1312.921703,"change":0.08887796811023496,"cagr":0.028789216689258046},"5":{"years":5,"startPeriod":"2021-06-01","endPeriod":"2026-06-01","startRent":1039.937065,"endRent":1312.921703,"change":0.2625011139496214,"cagr":0.0477227013107111}},"maxDrawdown":-0.015374243756065886,"annualizedVolatility":0.027768736019873435,"consecutiveReturnCount":133}}