{"zip":"91786","city":"Upland","state":"CA","county":"San Bernardino County","countySlug":"san-bernardino-county-ca","metro":"Riverside-San Bernardino-Ontario, CA","metroSlug":"riverside-ca","citySlug":"upland-ca","rentPeriod":"2026-06","acsPeriod":"ACS 2024 5-year","directRent":2362,"rentYoy":0.0095,"bedroomEstimates":[1816,1907,2362,3125,3771],"hudFmr":[1692,1777,2201,2912,3514],"ladderSource":"county","population":55829,"populationMoe":1271,"medianIncome":92458,"medianIncomeMoe":5237,"medianGrossRent":1969,"medianGrossRentMoe":59,"housingUnits":20193,"occupiedUnits":19615,"vacantUnits":578,"renterOccupied":10614,"rentBurdenTotal":10614,"rentBurden30Plus":5536,"vacantForRent":265,"vacantForSale":94,"vacantSeasonal":41,"structureTotal":20193,"singleFamilyUnits":11111,"largeMultifamilyUnits":3296,"vacancyRate":0.02862378051800129,"renterShare":0.5411164924802447,"rentBurdenShare":0.5215752779348031,"requiredIncome":94480,"askingRentToIncome":0.30656081680330527,"askingVsAcsRent":1.1995937023869985,"askingVsHud2br":1.073148568832349,"cityRent":2407.5752351097176,"countyRent":2489,"metroRent":2539,"cityGrossRent":2029,"countyGrossRent":1801,"countyListings":5846,"countyListingDom":58,"countyPriceReducedShare":0.1644,"countyListingPeriod":"2026-06","metroMonthsSupply":4,"metroMedianDom":49,"metroPriceDrops":0.2567,"metroResalePeriod":"2026-05-01","apartmentVacancy":0.052126294834284,"apartmentTimeOnMarket":23.3,"zipResalePeriodBegin":"2026-04-01","zipResalePeriodEnd":"2026-06-30","zipResaleUpdated":"2026-07-03","zipHomesSold":83,"zipSalePrice":717838,"zipSalePriceYoy":-0.0555,"zipMedianDom":40,"zipActiveListings":181,"zipActiveListingsYoy":-0.0973,"zipInventory":84,"zipInventoryYoy":-0.0017,"zipPendingSales":101,"zipMonthsSupply":3.1,"zipSaleToList":0.9987,"zipSoldAboveList":0.3336,"zipOffMarketTwoWeeks":0.3456,"generatedAt":"2026-09-01 13:42:17.253633+00","summaryHtml":"<p>At $2,362 in June 2026, the 91786 rent snapshot presents a measured tension: Zillow’s ZIP-level ZORI was still rising by 0.9% from the same month a year earlier, yet its recent pace was far below the ZIP’s longer historical growth rate. ZORI is a typical observed asking-rent index blended across rental types, so it describes a market-level asking-rent signal rather than a lease quote for a particular home. The positive current reading therefore needs to be weighed against the slower path visible in the ZIP’s own rent history and the separate resale evidence discussed below.</p><p>The backward-looking Zillow history breaks from, rather than confirms, the stronger longer path. The one-year same-month annualized rent change was 0.9%, compared with 1.7% for the three-year measure and 4.0% for the five-year measure. Monthly change patterns produced 3.0% annualized variability, which supports some confidence that the current index is not merely an isolated spike but does not establish a future direction. Separately, the maximum drawdown was 3.4%, showing that prior asking-rent levels did retreat during the observed period. Coverage was 100%. The reported national discovery ranks among history-eligible ZIPs were 1,854 for momentum, 1,604 for stability, and 2,006 for the balanced measure; lower ranks are higher. These are descriptive discovery measures, not forecasts or investment recommendations.</p><p>The label 91786 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. In the matched ACS 2024 five-year survey, median gross rent was $1,969, about 20.0% below the current ZORI. ACS median gross rent is a five-year survey of occupied renter homes and includes selected utilities, so it is not interchangeable with a current asking-rent index. HUD FY2026 places the local two-bedroom FMR/SAFMR standard at $2,201, with ZORI 7.3% higher; HUD FMR/SAFMR is an administrative bedroom-specific standard, not asking rent. Scaling ZIP ZORI using that local HUD ladder yields modelled, not measured, bedroom estimates of $1,816 for a studio, $1,907 for one bedroom, the ZORI-equivalent level for two bedrooms, $3,125 for three bedrooms, and $3,771 for four bedrooms.</p><p>Household-income and burden measures introduce a second constraint on the rent reading. The matched ZCTA’s median household income was $92,458, while the arithmetic 30% required-income screen for a $2,362 monthly rent is $94,480. That screen is arithmetic, not advice or an applicant qualification rule; it simply compares annualized asking rent with an income benchmark. In the ACS renter population, 5,536 renter households, or 52.2%, were recorded as spending 30% or more of income on gross rent. This burden measure includes the ACS gross-rent definition and cannot prove what any particular available unit costs, includes, or requires from a renter.</p><p>The matched ZCTA had a housing stock of 20,193 units, with renter-occupied homes representing 54.1% of occupied units. Census vacancy was 2.9%, and 265 vacant units were classified as available for rent. Those counts frame the broad housing and rental base behind the ACS survey, but they are not a real-time listing inventory and do not establish vacancy, concessions, or turnover at a specific property. The relatively large renter share makes the distinction between a ZIP asking-rent index and occupied-home survey rents especially important: the two measures cover related populations but answer different questions.</p><p>Wider-area rent comparisons place the ZIP below each supplied contextual asking-rent figure: the City of Upland context rent was $2,408, San Bernardino County context rent was $2,489, and the Riverside-San Bernardino-Ontario, CA metro context rent was $2,539. Each is context for its named geography rather than a substitute for the ZIP-level ZORI. The comparison indicates that the current ZIP asking-rent index is lower than the city, county, and metro context readings, but it does not identify which rental types, lease terms, or building characteristics account for those differences.</p><p>Redfin supplies a separate, direct rolling-three-month ZIP resale observation rather than rental transactions. Its median sold price was $717,838, down 5.6% year over year; 83 homes sold, median marketing time was 40 days, inventory was 84 homes, and months of supply stood at 3.1. Sale-to-list signals were close to parity, with an average sale-to-list ratio of 99.87% and 33.4% of sales above list price. Annualized ZIP ZORI divided by the median sold price produces a 3.95% cross-source screening ratio only, not a cap rate, net return, expected return, or property yield. The decline in the resale price measure challenges a simple favorable reading of still-positive rent growth and that screening ratio, even while near-parity sale-to-list results show that the resale evidence is not uniformly weak.</p><p>Several limits should govern interpretation. Zillow ZORI is an all-types ZIP asking-rent index, while ACS is retrospective survey evidence for occupied renter homes, HUD is an administrative standard, and Redfin reports ZIP for-sale outcomes; none is a substitute for unit-level rent or resale comparables. Concrete property-level checks include the advertised rent and included utilities, exact bedroom and bathroom count, lease length, concessions, condition, days listed, comparable recent closed sales, list-price changes, and building-specific vacancy or turnover evidence. The history and Redfin series are backward-looking measurements, not predictions. Which source best fits the precise decision question: a current asking-rent benchmark, occupied-home affordability context, bedroom standard, or direct resale liquidity?</p>","findings":[{"body":"The current asking-rent index remains above its level a year earlier, but the one-year change is below both the three-year and five-year annualized measures. That pattern breaks from the longer historical growth path. History also contains measurable variation and a prior drawdown, so the latest rent reading is useful as a current benchmark rather than proof of a continuing trend.","title":"Rent growth has slowed materially"},{"body":"The studio-through-four-bedroom figures are modelled ZIP estimates created by scaling the all-types Zillow asking-rent index with the local HUD bedroom ladder. They are not observed asking rents for available studios, one-bedroom homes, or larger units. Their primary use is showing the relative size relationship embedded in the local administrative bedroom standard.","title":"Bedroom figures are scaled estimates"},{"body":"The arithmetic income screen associated with the current asking-rent index slightly exceeds the matched ZCTA median household income. Separately, more than half of surveyed renter households were rent burdened under the ACS gross-rent definition. Those measures provide population-level context, but neither determines whether an individual renter qualifies nor establishes the cost structure of a specific home.","title":"Affordability context is tight at the median-income benchmark"},{"body":"Redfin’s direct ZIP resale series showed a lower median sold price than a year earlier while sale-to-list results remained near parity and supply was limited in months. Because this is a for-sale observation, it cannot be used as rental-comp evidence. It does, however, challenge any conclusion based only on positive asking-rent history or the rent-to-price screening ratio.","title":"Resale evidence complicates the rent signal"}],"risks":["The Zillow asking-rent index blends rental types and reports a typical ZIP-level market signal, so a specific property’s advertised rent, concessions, utilities, condition, and lease terms may differ materially.","ACS evidence is a five-year survey of occupied renter homes and includes selected utilities. Its rent and burden statistics are not current listing data and cannot demonstrate affordability for a particular unit.","HUD bedroom standards are administrative benchmarks rather than observed asking rents. The scaled bedroom estimates preserve the local HUD ladder but should not be treated as measured bedroom-specific market rents.","Redfin resale measures reflect direct ZIP for-sale transactions over a rolling period. A sold-price decline, supply measure, or sale-to-list signal does not establish rental demand, property operating results, or future performance."],"qa":[{"a":"It represents Zillow’s ZIP-level ZORI, a typical observed asking-rent index blended across rental types. It is useful as a current market-level asking-rent benchmark, but it is not a listing quote, a lease renewal record, a measure of occupied-home rents, or evidence about any particular property’s rent.","q":"What does the Zillow rent figure represent?"},{"a":"They use different evidence universes. Zillow measures a current asking-rent index, while ACS reports median gross rent from a five-year survey of occupied renter homes and includes selected utilities. Differences can therefore reflect timing, rental-type mix, utility treatment, and the distinction between listed asking rents and occupied-home survey responses.","q":"Why are the ACS and Zillow rent figures different?"},{"a":"The required-income figure is simply annualized monthly asking rent divided by the stated 30% threshold. It is an arithmetic affordability screen, not financial advice, underwriting guidance, a tenant-screening standard, or an assertion that a household with a different income can or cannot rent a specific home.","q":"How should the required-income screen be interpreted?"},{"a":"Redfin adds direct ZIP resale liquidity and pricing evidence, including sold-price movement, sales volume, marketing time, inventory, supply, and sale-to-list outcomes. It can test whether a rental interpretation aligns with or conflicts with for-sale conditions, but it does not provide rental transactions, operating expenses, or property-specific investment economics.","q":"What can the Redfin data add to the rental analysis?"}],"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":"2018-12-01","rent":1643.971656},{"period":"2019-01-01","rent":1645.850289},{"period":"2019-02-01","rent":1631.985083},{"period":"2019-03-01","rent":1632.544797},{"period":"2019-04-01","rent":1648.019181},{"period":"2019-05-01","rent":1658.941919},{"period":"2019-06-01","rent":1676.274509},{"period":"2019-07-01","rent":1670.1459},{"period":"2019-08-01","rent":1667.79357},{"period":"2019-09-01","rent":1664.225709},{"period":"2019-10-01","rent":1667.667994},{"period":"2019-11-01","rent":1678.586571},{"period":"2019-12-01","rent":1688.817042},{"period":"2020-01-01","rent":1695.455054},{"period":"2020-02-01","rent":1718.12234},{"period":"2020-03-01","rent":1697.195184},{"period":"2020-04-01","rent":1708.12479},{"period":"2020-05-01","rent":1694.122257},{"period":"2020-06-01","rent":1692.819242},{"period":"2020-07-01","rent":1696.501281},{"period":"2020-08-01","rent":1715.495339},{"period":"2020-09-01","rent":1744.644375},{"period":"2020-10-01","rent":1786.421087},{"period":"2020-11-01","rent":1817.006114},{"period":"2020-12-01","rent":1840.530609},{"period":"2021-01-01","rent":1840.470162},{"period":"2021-02-01","rent":1853.128291},{"period":"2021-03-01","rent":1876.885406},{"period":"2021-04-01","rent":1893.664279},{"period":"2021-05-01","rent":1911.339907},{"period":"2021-06-01","rent":1940.778059},{"period":"2021-07-01","rent":2002.25101},{"period":"2021-08-01","rent":2055.739556},{"period":"2021-09-01","rent":2090.382432},{"period":"2021-10-01","rent":2093.18386},{"period":"2021-11-01","rent":2087.822274},{"period":"2021-12-01","rent":2109.378945},{"period":"2022-01-01","rent":2170.284231},{"period":"2022-02-01","rent":2215.356794},{"period":"2022-03-01","rent":2240.409005},{"period":"2022-04-01","rent":2241.308522},{"period":"2022-05-01","rent":2256.134607},{"period":"2022-06-01","rent":2273.321459},{"period":"2022-07-01","rent":2250.256155},{"period":"2022-08-01","rent":2233.435314},{"period":"2022-09-01","rent":2210.922065},{"period":"2022-10-01","rent":2212.709545},{"period":"2022-11-01","rent":2232.54441},{"period":"2022-12-01","rent":2237.854436},{"period":"2023-01-01","rent":2223.703327},{"period":"2023-02-01","rent":2196.538895},{"period":"2023-03-01","rent":2201.383603},{"period":"2023-04-01","rent":2224.455518},{"period":"2023-05-01","rent":2252.617183},{"period":"2023-06-01","rent":2244.088982},{"period":"2023-07-01","rent":2243.031624},{"period":"2023-08-01","rent":2241.861524},{"period":"2023-09-01","rent":2246.333163},{"period":"2023-10-01","rent":2253.044896},{"period":"2023-11-01","rent":2251.445747},{"period":"2023-12-01","rent":2256.068016},{"period":"2024-01-01","rent":2251.709102},{"period":"2024-02-01","rent":2263.559244},{"period":"2024-03-01","rent":2262.673773},{"period":"2024-04-01","rent":2268.661818},{"period":"2024-05-01","rent":2267.635882},{"period":"2024-06-01","rent":2272.047828},{"period":"2024-07-01","rent":2291.165449},{"period":"2024-08-01","rent":2298.214888},{"period":"2024-09-01","rent":2319.863884},{"period":"2024-10-01","rent":2312.029241},{"period":"2024-11-01","rent":2299.720397},{"period":"2024-12-01","rent":2294.531049},{"period":"2025-01-01","rent":2318.002608},{"period":"2025-02-01","rent":2344.908059},{"period":"2025-03-01","rent":2355.656452},{"period":"2025-04-01","rent":2344.371154},{"period":"2025-05-01","rent":2335.872027},{"period":"2025-06-01","rent":2339.423476},{"period":"2025-07-01","rent":2338.290801},{"period":"2025-08-01","rent":2345.152691},{"period":"2025-09-01","rent":2339.33762},{"period":"2025-10-01","rent":2350.45313},{"period":"2025-11-01","rent":2364.967555},{"period":"2025-12-01","rent":2372.651733},{"period":"2026-01-01","rent":2364.671767},{"period":"2026-02-01","rent":2349.042047},{"period":"2026-03-01","rent":2346.017049},{"period":"2026-04-01","rent":2352.856585},{"period":"2026-05-01","rent":2359.587601},{"period":"2026-06-01","rent":2361.594568}],"historySummary":{"pointCount":91,"firstPeriod":"2018-12-01","latestPeriod":"2026-06-01","coverageMonths":91,"coverageRatio":1,"changes":{"1":{"years":1,"startPeriod":"2025-06-01","endPeriod":"2026-06-01","startRent":2339.423476,"endRent":2361.594568,"change":0.009477160602794577,"cagr":0.009477160602794577},"3":{"years":3,"startPeriod":"2023-06-01","endPeriod":"2026-06-01","startRent":2244.088982,"endRent":2361.594568,"change":0.052362266800701995,"cagr":0.01715800794037814},"5":{"years":5,"startPeriod":"2021-06-01","endPeriod":"2026-06-01","startRent":1940.778059,"endRent":2361.594568,"change":0.2168287646537126,"cagr":0.040030063820112316}},"maxDrawdown":-0.03377549782764777,"annualizedVolatility":0.029875841283860425,"consecutiveReturnCount":90}}