{"zip":"84121","city":"Cottonwood Heights","state":"UT","county":"Salt Lake County","countySlug":"salt-lake-county-ut","metro":"Salt Lake City, UT","metroSlug":"salt-lake-city-ut","citySlug":"cottonwood-heights-ut","rentPeriod":"2026-06","acsPeriod":"ACS 2024 5-year","directRent":1744,"rentYoy":0.0127,"bedroomEstimates":[1261,1402,1744,2335,2771],"hudFmr":[1080,1201,1494,2000,2374],"ladderSource":"county","population":38912,"populationMoe":1130,"medianIncome":115515,"medianIncomeMoe":4852,"medianGrossRent":1774,"medianGrossRentMoe":84,"housingUnits":16642,"occupiedUnits":15436,"vacantUnits":1206,"renterOccupied":3873,"rentBurdenTotal":3873,"rentBurden30Plus":1381,"vacantForRent":143,"vacantForSale":8,"vacantSeasonal":656,"structureTotal":16642,"singleFamilyUnits":13169,"largeMultifamilyUnits":1149,"vacancyRate":0.07246725153226775,"renterShare":0.25090697071780255,"rentBurdenShare":0.356571133488252,"requiredIncome":69760,"askingRentToIncome":0.18117127645760292,"askingVsAcsRent":0.9830890642615558,"askingVsHud2br":1.1673360107095048,"cityRent":1693.4650937297995,"countyRent":1639,"metroRent":1638,"cityGrossRent":1730,"countyGrossRent":1592,"countyListings":3088,"countyListingDom":49,"countyPriceReducedShare":0.2621,"countyListingPeriod":"2026-06","metroMonthsSupply":3,"metroMedianDom":35,"metroPriceDrops":0.326,"metroResalePeriod":"2026-05-01","apartmentVacancy":0.0886268756984503,"apartmentTimeOnMarket":39,"zipResalePeriodBegin":"2026-04-01","zipResalePeriodEnd":"2026-06-30","zipResaleUpdated":"2026-07-03","zipHomesSold":122,"zipSalePrice":727336,"zipSalePriceYoy":-0.0302,"zipMedianDom":37,"zipActiveListings":268,"zipActiveListingsYoy":-0.0051,"zipInventory":109,"zipInventoryYoy":-0.0639,"zipPendingSales":150,"zipMonthsSupply":2.7,"zipSaleToList":0.9901,"zipSoldAboveList":0.2439,"zipOffMarketTwoWeeks":0.5337,"generatedAt":"2026-08-12 17:51:45.955656+00","summaryHtml":"<p>The strongest tension in this ZIP is a modestly rising asking-rent index alongside softening resale evidence, so neither series can stand in for the other. For June 2026, Zillow’s ZIP-level ZORI is $1,744 per month, a 1.27% year-over-year increase. ZORI is a typical observed asking-rent index blended across rental types, rather than a quote for any particular unit. The five-digit label 84121 is both Zillow’s ZIP market identifier and a Census ZCTA match; a ZCTA is a statistical area and is not identical to a USPS delivery ZIP. At the city scope, Cottonwood Heights context rent is $1,693; at the county scope, Salt Lake County is $1,639; and at the metro scope, Salt Lake City, UT is $1,638. Those are wider-context comparisons, not ZIP rent observations.</p><p>A near match between the ZIP asking-rent index and the ACS result should not be read as source confirmation. The matched ZCTA’s ACS 2024 five-year median gross rent is $1,774. This five-year survey describes occupied renter homes, includes selected utilities, and its median is not a current asking rent. In contrast, HUD’s FY2026 FMR/SAFMR local fair-market-rent ladder supplies an administrative, bedroom-specific standard; its two-bedroom figure is $1,494 and is not an asking-rent measurement. Thus the ZORI, ACS, and HUD readings answer different questions despite their proximity. The ACS geography is statistical and its survey estimates carry sampling uncertainty, while Zillow is a ZIP market index and HUD is an administrative standard.</p><p>Bedroom figures require an additional boundary. The local HUD ladder proportionally scales the ZIP ZORI to produce modelled monthly estimates: $1,261 for a studio, $1,402 for a one-bedroom, $1,744 for a two-bedroom, $2,335 for a three-bedroom, and $2,771 for a four-bedroom. They are modelled estimates, not measured bedroom rents or observed unit quotes. The calculation preserves HUD’s local bedroom relationships while anchoring all sizes to the Zillow index; it does not establish what any available apartment or house is asking. The resulting spread is useful for comparing size assumptions, but a listing’s bedroom count, lease term, utility treatment, and availability can differ from the scaled result.</p><p>History puts the small current gain in a more cautious setting. Exact same-month Zillow ZORI changes through the stated endpoint annualize to 1.27% over one year, 0.92% over three years, and 4.64% over five years. Recent direction therefore confirms a positive longer path, but it is much slower than the five-year pace. The data contain 66 monthly observations and 65 consecutive monthly returns, with 100% coverage, which supports continuity of this backward-looking record rather than a forecast. Its annualized monthly-return variability is 4.78%, fitting the high-variability classification and reducing confidence that a single current index reading represents a stable level. The maximum drawdown, measured separately, was a 4.59% peak-to-trough fall. Transparent national discovery ranks among history-eligible ZIPs are 1,938 for momentum, 2,804 for stability, and 2,664 for the balanced measure, where lower ranks are higher. These ranks and changes are measurements, not investment recommendations.</p><p>Income and burden figures provide a second tension between area-level arithmetic and reported renter experience. At the arithmetic 30% screen, annual income of $69,760 is required to cover $1,744 monthly without exceeding that ratio. This is arithmetic only, not advice and not an applicant qualification rule. ACS estimates median household income of $115,515 and places the asking-rent-to-income measure at 18.1%, but neither statistic describes an individual renter’s finances. Among 3,873 estimated renter-occupied homes in the ZCTA, 1,381 renter households, or 35.7%, reported paying at least 30% of income toward rent. That burden result is a five-year survey estimate with sampling uncertainty, so it cannot prove the affordability of a particular home or lease.</p><p>The ZCTA’s housing composition helps frame how broad those survey numbers are, without identifying current rental supply. It has 16,642 housing units, including 1,206 vacant units, for a 7.2% all-housing vacancy rate. Renter occupancy accounts for 25.1% of occupied homes, and 13,169 units are single-family structures. That measured vacancy is above the city-scope context rate, although both are aggregate stock indicators, not evidence that a particular rental is empty or obtainable. Seasonal and for-sale categories, lease timing, and definition differences prevent the aggregate count from being treated as an available-rental count. The stock figures are ACS ZCTA measures, so they retain the ZCTA-versus-USPS distinction and survey limitations.</p><p>The direct ZIP resale observation at the stated month-end tells a separate for-sale story. Redfin’s rolling three-month median sold price is $727,336, down 3.02% year over year, across 122 homes sold. Typical marketing time was 37 days, reported inventory was 109 homes, and months of supply was 2.7. The average sale-to-list ratio was 99.01%, while 24.39% of sales closed above list. These resale liquidity and pricing signals are not rental transactions, rental comparables, or property economics. They challenge any simple reading of the rent uptick as uniform housing-market strength: asking rent had risen over the year while the direct resale price measure declined. Sales activity and the reported months of supply do not resolve the rent evidence because they measure a different market and rolling observation window.</p><p>Finally, annualized ZIP ZORI divided by Redfin’s median sold price produces a 2.88% cross-source screening ratio. It is not a cap rate, net return, expected return, or property yield, and it omits expenses, financing, property condition, taxes, and actual lease terms. It also cannot reconcile ACS occupied-home survey medians, HUD administrative standards, Zillow’s blended asking index, and Redfin sales into a single property conclusion. Before applying these area measures to a specific address, check the live advertised rent, bedroom count, utilities included, lease duration, date and status of the listing, and directly comparable completed sales. Check whether the home’s actual condition and transaction details fit the relevant source scope. What current unit-level evidence would change the tension between a positive rent history and a softer resale reading?</p>","findings":[{"body":"ZORI’s modest annual increase continues a positive same-month path, but the recent rate is below the longer five-year pace. Full monthly coverage supports the continuity of the historical series, yet its high-variability designation and prior drawdown mean that the current index should be treated as a time-specific asking-rent indicator rather than a stable, predictive benchmark.","title":"Positive rent direction carries a stability warning"},{"body":"The income screen and burden result answer different questions. Area median household income produces an arithmetic rent-to-income relationship, while the ACS burden measure records survey responses across occupied renter households. A sizable burden share means the area-level income statistic cannot establish that an individual household can afford a listed unit, and ACS sampling uncertainty remains material.","title":"Income arithmetic and renter burden answer different questions"},{"body":"Redfin’s direct ZIP rolling three-month resale measures show a year-over-year price decline even as Zillow’s asking-rent index increased. This divergence prevents a single housing-market interpretation. Sold-price, days-on-market, supply, and sale-to-list data describe for-sale transactions only; they are not rent comparables and do not establish lease economics for a property.","title":"Resale and rent readings diverge"},{"body":"The bedroom ladder is a model that applies local HUD bedroom relationships to the ZIP ZORI anchor. It is useful for size-based screening, but it is not a set of observed studio, one-bedroom, or larger-unit rents. The ACS median, HUD standard, Zillow index, and Redfin resale price should remain separate inputs because their populations, timing, and purposes differ.","title":"Bedroom estimates are a scaling model"}],"risks":["The ZORI value is blended across rental types and is not a quote for a particular address; live rent, utilities, bedroom count, lease duration, and availability may differ materially.","The ACS ZCTA is a statistical five-year survey area rather than a USPS delivery ZIP, and both its rent and burden estimates have sampling uncertainty that limits address-level conclusions.","Historical rent growth, variability, drawdown, and national discovery ranks describe prior index behavior only. They do not forecast future asking rents, resale prices, applicant outcomes, or property performance.","Redfin reports a rolling ZIP for-sale observation, while the annualized-rent-to-price figure is only a cross-source screening ratio; it excludes property-specific costs, financing, and transaction details."],"qa":[{"a":"Zillow ZORI records a typical observed asking-rent index, the ACS figure is a five-year median gross rent for occupied renter homes with selected utilities, and HUD is an administrative bedroom standard. Similar dollar levels therefore do not make them interchangeable or validate a specific unit’s rent.","q":"Why should Zillow ZORI, ACS gross rent, and HUD standards not be combined into one rent figure?"},{"a":"No. The figures are modelled monthly estimates created by scaling ZIP ZORI with the local HUD bedroom ladder. They preserve a size relationship for screening, but they are not measured rents for listed homes. Actual quotes can differ with bedroom count, utilities, lease timing, and listing status.","q":"Are the bedroom estimates observed asking rents for available units?"},{"a":"No. The 30% calculation simply converts the indexed monthly asking-rent level into an annual income threshold using a fixed arithmetic share. It is not underwriting, financial advice, or an applicant qualification rule. Likewise, the ZCTA burden percentage is a survey statistic and does not determine any household’s ability to rent a specific home.","q":"Does the 30% income screen determine whether a household qualifies for a rental?"},{"a":"Redfin directly observes rolling three-month ZIP resale activity, including sold-price direction, transactions, marketing time, supply, and sale-to-list outcomes. It does not observe rental transactions. The annualized ZORI divided by median sold price is therefore only a cross-source screening ratio, not a cap rate, net return, expected return, or property yield.","q":"What does the Redfin resale block establish about the rental market?"}],"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":1327.375752},{"period":"2021-02-01","rent":1362.368429},{"period":"2021-03-01","rent":1354.937255},{"period":"2021-04-01","rent":1367.865566},{"period":"2021-05-01","rent":1365.315842},{"period":"2021-06-01","rent":1390.300386},{"period":"2021-07-01","rent":1422.304478},{"period":"2021-08-01","rent":1443.549841},{"period":"2021-09-01","rent":1468.225044},{"period":"2021-10-01","rent":1445.457129},{"period":"2021-11-01","rent":1484.031736},{"period":"2021-12-01","rent":1496.707895},{"period":"2022-01-01","rent":1526.562091},{"period":"2022-02-01","rent":1534.722456},{"period":"2022-03-01","rent":1558.998512},{"period":"2022-04-01","rent":1596.119427},{"period":"2022-05-01","rent":1602.78181},{"period":"2022-06-01","rent":1598.975862},{"period":"2022-07-01","rent":1589.026065},{"period":"2022-08-01","rent":1600.567075},{"period":"2022-09-01","rent":1609.594702},{"period":"2022-10-01","rent":1718.852511},{"period":"2022-11-01","rent":1725.730906},{"period":"2022-12-01","rent":1735.413678},{"period":"2023-01-01","rent":1666.830086},{"period":"2023-02-01","rent":1683.218996},{"period":"2023-03-01","rent":1702.132367},{"period":"2023-04-01","rent":1697.072401},{"period":"2023-05-01","rent":1688.29876},{"period":"2023-06-01","rent":1696.870662},{"period":"2023-07-01","rent":1698.213415},{"period":"2023-08-01","rent":1708.467346},{"period":"2023-09-01","rent":1686.912646},{"period":"2023-10-01","rent":1664.907251},{"period":"2023-11-01","rent":1655.701306},{"period":"2023-12-01","rent":1664.973588},{"period":"2024-01-01","rent":1689.481938},{"period":"2024-02-01","rent":1688.762429},{"period":"2024-03-01","rent":1686.481416},{"period":"2024-04-01","rent":1689.415054},{"period":"2024-05-01","rent":1691.412077},{"period":"2024-06-01","rent":1695.796364},{"period":"2024-07-01","rent":1704.339016},{"period":"2024-08-01","rent":1717.032658},{"period":"2024-09-01","rent":1725.118584},{"period":"2024-10-01","rent":1707.877183},{"period":"2024-11-01","rent":1687.498969},{"period":"2024-12-01","rent":1700.607722},{"period":"2025-01-01","rent":1718.069921},{"period":"2025-02-01","rent":1740.340335},{"period":"2025-03-01","rent":1720.628177},{"period":"2025-04-01","rent":1713.181174},{"period":"2025-05-01","rent":1703.809498},{"period":"2025-06-01","rent":1722.320327},{"period":"2025-07-01","rent":1723.416307},{"period":"2025-08-01","rent":1712.756266},{"period":"2025-09-01","rent":1720.746916},{"period":"2025-10-01","rent":1729.086846},{"period":"2025-11-01","rent":1752.549852},{"period":"2025-12-01","rent":1741.278606},{"period":"2026-01-01","rent":1733.505382},{"period":"2026-02-01","rent":1719.11335},{"period":"2026-03-01","rent":1735.506043},{"period":"2026-04-01","rent":1744.749198},{"period":"2026-05-01","rent":1757.111934},{"period":"2026-06-01","rent":1744.111861}],"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":1722.320327,"endRent":1744.111861,"change":0.012652428040466512,"cagr":0.012652428040466512},"3":{"years":3,"startPeriod":"2023-06-01","endPeriod":"2026-06-01","startRent":1696.870662,"endRent":1744.111861,"change":0.02784018844684355,"cagr":0.009195251013493388},"5":{"years":5,"startPeriod":"2021-06-01","endPeriod":"2026-06-01","startRent":1390.300386,"endRent":1744.111861,"change":0.25448563386934153,"cagr":0.04638893468746619}},"maxDrawdown":-0.045932778455374135,"annualizedVolatility":0.04776494547107895,"consecutiveReturnCount":65}}