{"zip":"80104","city":"Castle Rock","state":"CO","county":"Douglas County","countySlug":"douglas-county-co","metro":"Denver-Aurora-Lakewood, CO","metroSlug":"denver-co","citySlug":"castle-rock-co","rentPeriod":"2026-06","acsPeriod":"ACS 2024 5-year","directRent":2474,"rentYoy":0.0006,"bedroomEstimates":[1946,2077,2474,3238,3611],"hudFmr":[1643,1754,2089,2734,3049],"ladderSource":"county","population":38479,"populationMoe":1839,"medianIncome":134335,"medianIncomeMoe":12090,"medianGrossRent":1880,"medianGrossRentMoe":129,"housingUnits":14891,"occupiedUnits":14383,"vacantUnits":508,"renterOccupied":2969,"rentBurdenTotal":2969,"rentBurden30Plus":1844,"vacantForRent":36,"vacantForSale":63,"vacantSeasonal":0,"structureTotal":14891,"singleFamilyUnits":12138,"largeMultifamilyUnits":1084,"vacancyRate":0.03411456584514136,"renterShare":0.20642425085169994,"rentBurdenShare":0.6210845402492422,"requiredIncome":98960,"askingRentToIncome":0.22099973945732684,"askingVsAcsRent":1.3159574468085107,"askingVsHud2br":1.1842987075155578,"cityRent":2493.424940898345,"countyRent":2306,"metroRent":1930,"cityGrossRent":2000,"countyGrossRent":2193,"countyListings":1915,"countyListingDom":47,"countyPriceReducedShare":0.3174,"countyListingPeriod":"2026-06","metroMonthsSupply":2.9,"metroMedianDom":21,"metroPriceDrops":0.4178,"metroResalePeriod":"2026-05-01","apartmentVacancy":0.0828854486172294,"apartmentTimeOnMarket":32.7,"zipResalePeriodBegin":"2026-04-01","zipResalePeriodEnd":"2026-06-30","zipResaleUpdated":"2026-07-03","zipHomesSold":259,"zipSalePrice":634857,"zipSalePriceYoy":-0.0417,"zipMedianDom":28,"zipActiveListings":542,"zipActiveListingsYoy":-0.0901,"zipInventory":266,"zipInventoryYoy":-0.1461,"zipPendingSales":235,"zipMonthsSupply":3.1,"zipSaleToList":0.9865,"zipSoldAboveList":0.1192,"zipOffMarketTwoWeeks":0.3559,"generatedAt":"2026-08-31 14:03:53.140893+00","summaryHtml":"<p>At June 2026, Zillow’s ZIP 80104 ZORI stood at $2,474 per month, with a 0.06% exact same-month gain over one year. ZORI is a typical observed asking-rent index blended across rental types; it is neither a signed-lease series nor a quote for a defined bedroom count. The five-digit label is both Zillow’s ZIP market identifier and a matched Census ZCTA. A ZCTA is a statistical area, not an area identical to a USPS delivery ZIP, so the geographic match supports comparison but does not erase boundary or universe differences.</p><p>The current stall is the central historical tension. The near-flat one-year change breaks from the prior same-month path: the exact annualized increase was 0.99% across three years and 2.94% across five years. Observations have 100% coverage for the available historical window. Monthly index moves annualized into 2.92% variability, which makes one current ZORI snapshot reasonably informative about the recent level but insufficient to represent every unit or lease. In a distinct downside measure, the historical index’s greatest peak-to-trough loss was 3.86%. National discovery ranks among history-eligible ZIPs were 2,258 for momentum, 1,466 for stability, and 2,238 for the balanced measure, where lower ranks are higher. These are transparent backward-looking measurements, not forecasts or investment recommendations.</p><p>Source scope accounts for much of the apparent rent spread. In the matched Census ZCTA, the ACS 2024 five-year survey places median gross rent at $1,880; this is a survey of occupied renter homes and includes selected utilities. It is below the current asking-rent index, a difference that is descriptive rather than a contradiction. FY2026 HUD uses bedroom-specific FMR/SAFMR administrative standards, not asking rents: its two-bedroom standard is $2,089, beneath ZORI. Scaling ZIP ZORI by that local HUD ladder creates modelled, not measured, monthly bedroom estimates of $1,946 for a studio, $2,077 for one bedroom, $2,474 for two, $3,238 for three, and $3,611 for four.</p><p>An affordability screen points in two directions and should not be treated as a tenant-level conclusion. Applying the 30% rule arithmetically to the ZIP asking index produces a required annual income of $98,960. That equals 22.1% of the matched ZCTA’s $134,335 median household income when the index is annualized, but that median is not a renter-income distribution. This screen is arithmetic, not advice or an applicant qualification rule. Separately, ACS records 2,969 renter-occupied homes, of which 1,844, or 62.1%, had gross rent burden at or above 30% of household income. Survey margins of error apply, and neither burden nor the ZIP-level screen proves what any particular household can pay or what one unit costs.</p><p>The matched ZCTA’s housing composition further limits what a rent index can say about live availability. Of 14,891 housing units, 508 were vacant, producing a 3.4% vacancy rate; a small subset was classified as vacant for rent. Renters accounted for 20.6% of occupied homes, while single-family structures make up most housing stock. These ACS five-year stock and status counts are not a real-time listing feed, a unit-turnover measure, or evidence that an individual property is empty. They instead frame the renter segment and a housing stock weighted toward single-family structures, conditions that make a blended asking-rent index unsuitable as a direct vacancy or bedroom-rent readout.</p><p>Broader geography provides a directional price context only. In the Castle Rock city context, the rent figure is about $2,493; in the Douglas County context it is $2,306; and in the Denver-Aurora-Lakewood, CO metro context it is $1,930. Thus the ZIP’s current asking index sits near the city figure but above the county and metro figures. City, county, and metro values are wider-context benchmarks, not ZIP evidence, and they should not be blended with ZCTA survey rents or HUD standards to manufacture a single market rent. The contrast is nevertheless useful: the ZIP snapshot is locally elevated relative to the two broader settings even as its latest growth is nearly flat.</p><p>Resale evidence offers a separate, partly conflicting market signal. Redfin’s direct rolling-three-month ZIP observation recorded a $634,857 median sold price, down 4.17% year over year, alongside 259 homes sold and a 28-day median marketing time. Its inventory was 266 homes and was lower than a year earlier, with 3.1 months of supply. The average sale-to-list ratio was 98.65%, and 11.92% of sales closed above list. These transaction and marketing figures describe resale liquidity, not rental transactions or rental comparables. The 4.68% annualized-ZORI-to-median-sold-price cross-source screening ratio does not describe property-level economics. Falling sale prices and generally below-list sales challenge any simple extension from the older rent-growth path, while completed sales and limited supply show that the resale record is not a rental confirmation.</p><p>No source in this packet identifies a subject property, a signed lease, a concession, or the services included in a particular rent. A property-level file would need the unit’s rental type and bedroom count, dated asking and executed-lease terms, included utilities, concessions, and lease length before the ZORI and modelled ladder could be meaningfully related to it. For a sale comparison, the corresponding checks are property condition, listing chronology, sale date, and whether the transaction resembles the subject rather than the ZIP median. The ACS ZCTA survey, HUD standards, and Redfin resale series answer different questions on different timing, while burden and vacancy remain area measures. Which verified unit facts would reconcile the asking-rent snapshot with the distinct household and resale evidence?</p>","findings":[{"body":"Zillow’s current asking-rent index is effectively unchanged over the most recent exact same-month period, while its three- and five-year annualized changes remain positive. That break matters more than a single current-dollar snapshot: the longer history records growth, but the latest measurement does not continue it. Complete history coverage, contained month-to-month movement, and limited historical drawdown improve comparability of the index, not certainty for a specific rental.","title":"Recent rent plateau interrupts the longer path"},{"body":"ACS median gross rent, Zillow ZORI, and HUD FMR/SAFMR should not be converted into competing quotes. ACS is a five-year occupied-renter survey and includes selected utilities; ZORI tracks blended asking rents; HUD publishes administrative bedroom standards. The studio-through-four-bedroom figures are a modelled allocation of ZIP ZORI through the HUD ladder. They assist size-aware screening but are not measurements of advertised or signed rents by bedroom.","title":"The bedroom ladder is modelled rather than observed"},{"body":"The ZIP’s simple income screen is lower than the matched ZCTA’s median household income ratio, yet a substantial share of ACS renter households report gross-rent burden at or above the threshold. Those statements can coexist because one is an arithmetic comparison against a broad household median and the other is a renter-household survey distribution. Neither result establishes an applicant’s income, a unit’s rent, or likely lease approval.","title":"Income screen and reported renter burden point to different populations"},{"body":"Direct ZIP resale evidence records sale prices, transaction volume, time on market, inventory, supply, and list-price outcomes for homes sold. It is not rental evidence. The year-over-year price decline and average below-list sale signal complicate the earlier multiyear asking-rent increase, while sales volume and supply document resale activity. Dividing annualized ZORI by median sold price is retained solely as a cross-source screening ratio.","title":"Resale evidence complicates the multiyear rent narrative"}],"risks":["ZORI blends rental types and reflects asking rents, so it cannot establish an achievable lease price, a bedroom-specific comparable, or a unit’s utility package, condition, and concessions.","The ZCTA match is statistical rather than a USPS delivery boundary, and ACS results represent a five-year survey of occupied renter homes, so timing, sampling, and geography limit direct alignment with current ZORI.","HUD bedroom standards are administrative thresholds rather than observed asking rents. The modelled ladder inherits both the ZIP index’s blended rental mix and the HUD ladder’s policy-oriented structure.","Redfin’s rolling resale observation can illuminate for-sale liquidity, but it cannot establish a rental transaction, an operating-cost profile, or a relationship between a particular home’s sale price and its rent."],"qa":[{"a":"They refer to different evidence universes and periods. The current ZIP ZORI is a typical blended asking-rent index, whereas the ACS figure is a matched-ZCTA five-year survey median for occupied renter homes that includes selected utilities. Occupancy, rental-type mix, utility treatment, survey timing, and the ZCTA’s statistical boundary can all differ without one measure invalidating the other.","q":"Why is ZORI higher than ACS median gross rent?"},{"a":"No. The studio, one-, two-, three-, and four-bedroom numbers are modelled monthly estimates made by scaling the ZIP-wide ZORI with the local HUD bedroom ladder. They preserve the ZORI as their starting point and borrow relative bedroom spacing from HUD administrative standards. They therefore do not establish measured advertisements, leases, concessions, utility treatment, or availability for any bedroom category.","q":"Are the bedroom rent figures observed ZIP rents?"},{"a":"It divides annualized ZIP ZORI by 30% to show the income level that matches that arithmetic share of rent. It is not financial advice, a tenant affordability finding, or an applicant qualification rule. The matched ZCTA median household income is a broad survey median, while burden statistics describe surveyed renter households, so neither is a property-specific payment test.","q":"What does the 30% required income screen establish?"},{"a":"No. It is simply annualized ZIP ZORI divided by the direct ZIP median sold price, joining an asking-rent index to a rolling resale statistic. It contains no unit-specific operating costs, financing, taxes, insurance, vacancy experience, lease terms, or rent collections. Its use here is limited to a cross-source screen alongside, not inside, the separate resale evidence.","q":"Does the Redfin screening ratio measure property performance?"}],"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":"2017-01-01","rent":1715.114258},{"period":"2017-02-01","rent":1730.053767},{"period":"2017-03-01","rent":1705.186047},{"period":"2017-04-01","rent":1727.124395},{"period":"2017-05-01","rent":1743.627244},{"period":"2017-06-01","rent":1761.411867},{"period":"2017-07-01","rent":1761.858068},{"period":"2017-08-01","rent":1759.076117},{"period":"2017-09-01","rent":1757.542175},{"period":"2017-10-01","rent":1746.308276},{"period":"2017-11-01","rent":1763.359361},{"period":"2017-12-01","rent":1751.570956},{"period":"2018-01-01","rent":1773.07939},{"period":"2018-02-01","rent":1773.058359},{"period":"2018-03-01","rent":1790.53254},{"period":"2018-04-01","rent":1799.557553},{"period":"2018-05-01","rent":1797.863242},{"period":"2018-06-01","rent":1800.015464},{"period":"2018-07-01","rent":1780.259859},{"period":"2018-08-01","rent":1811.704593},{"period":"2018-09-01","rent":1822.858036},{"period":"2018-10-01","rent":1837.247966},{"period":"2018-11-01","rent":1837.892314},{"period":"2018-12-01","rent":1823.78289},{"period":"2019-01-01","rent":1833.004196},{"period":"2019-02-01","rent":1832.655453},{"period":"2019-03-01","rent":1842.813195},{"period":"2019-04-01","rent":1834.900854},{"period":"2019-05-01","rent":1840.164984},{"period":"2019-06-01","rent":1844.247582},{"period":"2019-07-01","rent":1871.229729},{"period":"2019-08-01","rent":1863.871386},{"period":"2019-09-01","rent":1867.300457},{"period":"2019-10-01","rent":1878.44713},{"period":"2019-11-01","rent":1884.39825},{"period":"2019-12-01","rent":1913.080225},{"period":"2020-01-01","rent":1911.603785},{"period":"2020-02-01","rent":1927.238923},{"period":"2020-03-01","rent":1874.306565},{"period":"2020-04-01","rent":1868.633222},{"period":"2020-05-01","rent":1852.777165},{"period":"2020-06-01","rent":1879.51415},{"period":"2020-07-01","rent":1886.657937},{"period":"2020-08-01","rent":1914.656178},{"period":"2020-09-01","rent":1952.309267},{"period":"2020-10-01","rent":1962.063822},{"period":"2020-11-01","rent":1980.577878},{"period":"2020-12-01","rent":1974.398938},{"period":"2021-01-01","rent":1992.653037},{"period":"2021-02-01","rent":2005.116668},{"period":"2021-03-01","rent":2045.892545},{"period":"2021-04-01","rent":2086.429646},{"period":"2021-05-01","rent":2142.574363},{"period":"2021-06-01","rent":2140.289805},{"period":"2021-07-01","rent":2164.247424},{"period":"2021-08-01","rent":2179.730682},{"period":"2021-09-01","rent":2204.580357},{"period":"2021-10-01","rent":2187.270216},{"period":"2021-11-01","rent":2182.686225},{"period":"2021-12-01","rent":2176.171035},{"period":"2022-01-01","rent":2207.976422},{"period":"2022-02-01","rent":2215.338179},{"period":"2022-03-01","rent":2253.30571},{"period":"2022-04-01","rent":2262.985519},{"period":"2022-05-01","rent":2283.221154},{"period":"2022-06-01","rent":2313.621886},{"period":"2022-07-01","rent":2343.458219},{"period":"2022-08-01","rent":2352.78416},{"period":"2022-09-01","rent":2339.748863},{"period":"2022-10-01","rent":2385.722935},{"period":"2022-11-01","rent":2401.381164},{"period":"2022-12-01","rent":2437.245831},{"period":"2023-01-01","rent":2400.495857},{"period":"2023-02-01","rent":2419.462062},{"period":"2023-03-01","rent":2399.054018},{"period":"2023-04-01","rent":2394.474038},{"period":"2023-05-01","rent":2389.588672},{"period":"2023-06-01","rent":2401.309},{"period":"2023-07-01","rent":2396.794277},{"period":"2023-08-01","rent":2396.185121},{"period":"2023-09-01","rent":2425.990441},{"period":"2023-10-01","rent":2443.546363},{"period":"2023-11-01","rent":2455.470751},{"period":"2023-12-01","rent":2436.50297},{"period":"2024-01-01","rent":2442.787519},{"period":"2024-02-01","rent":2441.620669},{"period":"2024-03-01","rent":2454.685652},{"period":"2024-04-01","rent":2470.235257},{"period":"2024-05-01","rent":2462.571693},{"period":"2024-06-01","rent":2450.17386},{"period":"2024-07-01","rent":2449.337333},{"period":"2024-08-01","rent":2449.4296},{"period":"2024-09-01","rent":2431.303587},{"period":"2024-10-01","rent":2413.778051},{"period":"2024-11-01","rent":2423.50699},{"period":"2024-12-01","rent":2449.659785},{"period":"2025-01-01","rent":2473.659921},{"period":"2025-02-01","rent":2464.69031},{"period":"2025-03-01","rent":2460.098732},{"period":"2025-04-01","rent":2469.684152},{"period":"2025-05-01","rent":2464.323253},{"period":"2025-06-01","rent":2472.154286},{"period":"2025-07-01","rent":2476.473464},{"period":"2025-08-01","rent":2482.128082},{"period":"2025-09-01","rent":2490.818747},{"period":"2025-10-01","rent":2493.886615},{"period":"2025-11-01","rent":2483.952967},{"period":"2025-12-01","rent":2471.37139},{"period":"2026-01-01","rent":2461.474689},{"period":"2026-02-01","rent":2469.419911},{"period":"2026-03-01","rent":2473.993364},{"period":"2026-04-01","rent":2463.814097},{"period":"2026-05-01","rent":2474.839659},{"period":"2026-06-01","rent":2473.603361}],"historySummary":{"pointCount":114,"firstPeriod":"2017-01-01","latestPeriod":"2026-06-01","coverageMonths":114,"coverageRatio":1,"changes":{"1":{"years":1,"startPeriod":"2025-06-01","endPeriod":"2026-06-01","startRent":2472.154286,"endRent":2473.603361,"change":0.0005861588041677912,"cagr":0.0005861588041677912},"3":{"years":3,"startPeriod":"2023-06-01","endPeriod":"2026-06-01","startRent":2401.309,"endRent":2473.603361,"change":0.030106229977066468,"cagr":0.009936351894437756},"5":{"years":5,"startPeriod":"2021-06-01","endPeriod":"2026-06-01","startRent":2140.289805,"endRent":2473.603361,"change":0.1557329083292065,"cagr":0.029369973707447095}},"maxDrawdown":-0.03863649551249759,"annualizedVolatility":0.029167022632994994,"consecutiveReturnCount":113}}