{"zip":"92020","city":"El Cajon","state":"CA","county":"San Diego County","countySlug":"san-diego-county-ca","metro":"San Diego-Chula Vista-Carlsbad, CA","metroSlug":"san-diego-ca","citySlug":"el-cajon-ca","rentPeriod":"2026-06","acsPeriod":"ACS 2024 5-year","directRent":2174,"rentYoy":0.0077,"bedroomEstimates":[1661,1783,2174,2899,3509],"hudFmr":[2040,2190,2670,3560,4310],"ladderSource":"safmr","population":57842,"populationMoe":1826,"medianIncome":76032,"medianIncomeMoe":4611,"medianGrossRent":1865,"medianGrossRentMoe":35,"housingUnits":20414,"occupiedUnits":19586,"vacantUnits":828,"renterOccupied":10895,"rentBurdenTotal":10895,"rentBurden30Plus":7130,"vacantForRent":362,"vacantForSale":53,"vacantSeasonal":198,"structureTotal":20414,"singleFamilyUnits":9913,"largeMultifamilyUnits":5020,"vacancyRate":0.04056039972567846,"renterShare":0.5562646788522414,"rentBurdenShare":0.6544286369894446,"requiredIncome":86960,"askingRentToIncome":0.34311868686868685,"askingVsAcsRent":1.1656836461126006,"askingVsHud2br":0.8142322097378277,"cityRent":2277.316959064328,"countyRent":2991,"metroRent":2991,"cityGrossRent":1856,"countyGrossRent":2246,"countyListings":5739,"countyListingDom":43,"countyPriceReducedShare":0.1794,"countyListingPeriod":"2026-06","metroMonthsSupply":2.6,"metroMedianDom":24,"metroPriceDrops":0.3151,"metroResalePeriod":"2026-05-01","apartmentVacancy":0.0659764507522469,"apartmentTimeOnMarket":29.3,"zipResalePeriodBegin":"2026-04-01","zipResalePeriodEnd":"2026-06-30","zipResaleUpdated":"2026-07-03","zipHomesSold":92,"zipSalePrice":799819,"zipSalePriceYoy":-0.0645,"zipMedianDom":21,"zipActiveListings":220,"zipActiveListingsYoy":0.3094,"zipInventory":102,"zipInventoryYoy":0.5959,"zipPendingSales":104,"zipMonthsSupply":3.4,"zipSaleToList":1.0008,"zipSoldAboveList":0.4049,"zipOffMarketTwoWeeks":0.4218,"generatedAt":"2026-09-01 13:44:22.088063+00","summaryHtml":"<p>ZIP 92020’s central measured tension is that its current typical asking-rent index is $2,174, up just 0.8% from a year earlier, while a simple 30% income screen implies $86,960 of annual household income against a local median of $76,032. That arithmetic places the index at 34.3% of median household income. It is a pressure signal, not advice, an applicant qualification rule, or a statement that every renter pays this amount. The modest current rent movement therefore sits beside a materially tighter income comparison, making it more useful to examine the pace and source of the rent measure than to treat one monthly reading as a complete affordability conclusion.</p><p>The recent direction breaks from the longer rent path rather than fully confirming it. The one-year exact same-month annualized change was 0.8%, compared with 1.3% over three years and 5.7% over five years, showing substantial deceleration relative to the longer lookback. Monthly-return variability measured 3.1% annualized, which means the current index warrants measured confidence rather than precision beyond what one snapshot can support. Separately, the largest observed peak-to-trough drawdown was 2.2%, a limited historical retreat but still evidence that the series has not moved in only one direction. The history has 122 monthly observations. Transparent national discovery ranks place momentum at 2,008 and balanced performance at 2,240 among history-eligible ZIPs, where lower ranks are higher. These are backward-looking measurements, not forecasts or investment recommendations.</p><p>The source universes answer different questions. Zillow ZORI is a ZIP-level typical observed asking-rent index blended across rental types; it is not a survey median for occupied homes. The 92020 label is both a Zillow ZIP market identifier and a Census ZCTA match, but a ZCTA is a statistical area and is not identical to a USPS delivery ZIP. In the ACS 2024 five-year survey, median gross rent was $1,865 for occupied renter homes and includes selected utilities, helping explain why it should not be substituted for asking rent. The supplied FY2026 HUD ladder is an administrative, bedroom-specific standard rather than asking rent. Scaling ZORI by that local ladder produces modelled monthly estimates of $1,661 for a studio, $1,783 for one bedroom, $2,174 for two bedrooms, $2,899 for three bedrooms, and $3,509 for four bedrooms. They are modelled estimates, never measured bedroom rents.</p><p>Housing stock and occupancy add context to the income tension without diagnosing any individual unit. Of 20,414 housing units in the matched ZCTA, 9,913 were single-family units and 5,020 were in larger multifamily structures. Renters occupied 55.6% of occupied homes. There were 828 vacant units, for a 4.1% vacancy rate; that aggregate count does not establish availability, condition, pricing, or concessions for a particular rental. ACS also estimates that 65.4% of renter households paid 30% or more of income toward gross rent. That burden measure concerns occupied renter households and selected gross-rent costs, whereas the Zillow index tracks asking rents. It indicates broad reported budget strain in the survey universe, not proof of hardship, affordability, or lease terms at a specific property.</p><p>Broader comparisons are useful only when their geography remains visible: El Cajon city context shows an asking-rent measure of $2,277, while San Diego County context and San Diego-Chula Vista-Carlsbad metro context each show $2,991. The ZIP therefore sits below each wider asking-rent reference, but those figures are not ZIP rental comps. The county context reports a 57.8% renter-burden share, while the metro context’s rent-to-income screen is 33.8%; both comparisons differ in scope and methodology from the ZIP’s survey burden and Zillow asking-rent index. These wider readings sharpen the contrast between a below-context asking-rent level and a locally elevated income screen, but they cannot explain why that contrast exists or assign it to a building, household, or subarea.</p><p>Redfin supplies a separate direct rolling-three-month ZIP resale observation, not rental transactions. Its median sold price was $799,819, down 6.5% year over year, with 92 homes sold and a median of 21 days on market. Inventory stood at 102 homes, up 59.6%, and months of supply were 3.4. The average sale-to-list result was 100.08%, a for-sale pricing signal that should remain in the resale universe. Annualized ZIP ZORI divided by Redfin’s median sold price produces a 3.26% screening ratio. That is only a cross-source screening ratio: it is not a cap rate, net return, expected return, property yield, or a measure of property-level operating economics.</p><p>The resale evidence challenges an overly positive reading of the rent history. Asking rent is still slightly above its prior-year level, yet the direct ZIP sold-price measure declined while inventory expanded, so rent resilience does not automatically translate into parallel resale strength. At the same time, completed sales, relatively short marketing time, and average sale-to-list results near parity show that the resale observation is not simply an absence of transactions. This creates a decision tension: the rent series has slowed sharply from its longer historical pace, the income screen remains tight, and the for-sale data show softer prices amid more available inventory. None of those facts establishes causation or converts a broad ZIP trend into a property outcome.</p><p>Several limits should frame any use of this report. ZORI may blend units with different sizes, conditions, and lease terms; ACS is a five-year survey with sampling uncertainty; HUD standards are administrative benchmarks; and Redfin reflects resales rather than rental economics. Property-level review should verify live asking rents, bedroom count, lease duration, utility responsibility, concessions, unit condition, and availability date. A resale comparison should also confirm property type, transaction timing, listing history, required repairs, and whether sale and rental observations are genuinely comparable. The key unresolved question is whether a specific available unit’s all-in monthly cost and lease terms align with the modelled bedroom range and the household income screen, rather than with a ZIP-wide average alone.</p>","findings":[{"body":"ZIP 92020’s asking-rent index increased only modestly over the latest year, but the 30% income calculation exceeds local median household income. The result is a useful budget-pressure flag, not a tenant underwriting rule. It also should not be conflated with ACS renter burden, which is measured from occupied households rather than current asking rents.","title":"Rent growth has slowed while the income screen remains tight"},{"body":"The five-year rent change materially exceeds the three-year and one-year measures, indicating that the current period is slower than the earlier trajectory. Monthly variability and the observed drawdown mean a single index reading should be interpreted as an informed benchmark rather than an exact, permanently stable market price. The supplied history remains descriptive, not predictive.","title":"Longer rent history is stronger than the latest movement"},{"body":"Redfin’s direct ZIP resale data show a lower median sold price year over year alongside higher inventory, while Zillow’s asking-rent index remains slightly higher than a year earlier. Sales activity and marketing-time measures show an active for-sale market, but they are not rental transactions. The rent-to-price calculation is only a screening ratio and cannot measure property economics.","title":"Resale softening creates a cross-market tension"},{"body":"The studio-through-four-bedroom figures are modelled by applying the local HUD bedroom ladder to the ZIP’s Zillow asking-rent index. They help organize relative size differences, but they do not observe actual bedroom-specific leases or listings. HUD standards are administrative benchmarks, while Zillow and ACS describe different rental universes with different included costs.","title":"Bedroom figures are structured estimates, not observed rent comps"}],"risks":["A ZIP-wide asking-rent index can blend changing mixes of rental types, unit sizes, and listing conditions, so it cannot establish the achievable rent, concession package, or lease-up pace for a particular home.","ACS burden and vacancy estimates describe a matched ZCTA survey universe, not a USPS delivery area or a specific available apartment, and survey uncertainty limits apparent precision in small comparisons.","The modelled bedroom ladder inherits both the ZIP-wide ZORI level and the HUD administrative scaling structure, so it should not replace property-level listings, executed leases, or unit-specific utility analysis.","Redfin resale indicators are direct for-sale observations, but sold-price movements, inventory, and marketing time do not reveal rental operating costs, financing terms, repairs, taxes, or net property performance."],"qa":[{"a":"The current Zillow ZORI figure is a typical observed asking-rent index for the ZIP and is blended across rental types. It is useful as a current market benchmark, but it is not a measured lease rent for one unit, a bedroom-specific comp, or the ACS median gross rent reported by occupied renter households.","q":"What does the current Zillow rent figure represent?"},{"a":"No. The studio through four-bedroom values are modelled estimates derived by scaling ZIP ZORI with the supplied local HUD bedroom ladder. They preserve the HUD size relationship around the ZIP index, but they are not measured asking rents, signed-lease rents, or evidence that a specific bedroom count is available at that price.","q":"Are the bedroom rent estimates actual observed rents?"},{"a":"Redfin’s figures describe a direct rolling-three-month ZIP for-sale market observation, including sold price, transaction volume, days on market, inventory, months of supply, and sale-to-list behavior. They should be compared with rent only as separate evidence streams. The annualized-rent-to-price figure is a screening ratio, not a cap rate or return measure.","q":"How should the Redfin resale results be read beside rent data?"},{"a":"The 30% required-income screen is arithmetic based on the asking-rent index, while ACS renter burden reports the share of occupied renter households paying at least that income share toward gross rent. Together they indicate broad budget pressure in their respective universes, but neither result proves affordability, hardship, qualification, or actual monthly cost for a particular applicant or unit.","q":"What does the affordability and renter-burden evidence 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":"2016-05-01","rent":1206.551957},{"period":"2016-06-01","rent":1211.652103},{"period":"2016-07-01","rent":1212.666939},{"period":"2016-08-01","rent":1236.334493},{"period":"2016-09-01","rent":1255.602552},{"period":"2016-10-01","rent":1295.724887},{"period":"2016-11-01","rent":1289.110187},{"period":"2016-12-01","rent":1288.58347},{"period":"2017-01-01","rent":1286.547124},{"period":"2017-02-01","rent":1303.914098},{"period":"2017-03-01","rent":1300.435769},{"period":"2017-04-01","rent":1310.994145},{"period":"2017-05-01","rent":1325.746762},{"period":"2017-06-01","rent":1330.00882},{"period":"2017-07-01","rent":1369.593375},{"period":"2017-08-01","rent":1373.946106},{"period":"2017-09-01","rent":1395.113793},{"period":"2017-10-01","rent":1364.173715},{"period":"2017-11-01","rent":1375.345208},{"period":"2017-12-01","rent":1378.109308},{"period":"2018-01-01","rent":1401.589681},{"period":"2018-02-01","rent":1406.454456},{"period":"2018-03-01","rent":1426.502021},{"period":"2018-04-01","rent":1425.76578},{"period":"2018-05-01","rent":1427.540549},{"period":"2018-06-01","rent":1433.954656},{"period":"2018-07-01","rent":1427.247541},{"period":"2018-08-01","rent":1429.573201},{"period":"2018-09-01","rent":1429.415904},{"period":"2018-10-01","rent":1457.689637},{"period":"2018-11-01","rent":1458.123715},{"period":"2018-12-01","rent":1451.145809},{"period":"2019-01-01","rent":1450.686088},{"period":"2019-02-01","rent":1461.109934},{"period":"2019-03-01","rent":1461.720427},{"period":"2019-04-01","rent":1472.315041},{"period":"2019-05-01","rent":1477.670664},{"period":"2019-06-01","rent":1483.850783},{"period":"2019-07-01","rent":1482.022638},{"period":"2019-08-01","rent":1486.536578},{"period":"2019-09-01","rent":1484.809411},{"period":"2019-10-01","rent":1482.285878},{"period":"2019-11-01","rent":1489.792896},{"period":"2019-12-01","rent":1505.204777},{"period":"2020-01-01","rent":1505.65767},{"period":"2020-02-01","rent":1501.760528},{"period":"2020-03-01","rent":1500.185063},{"period":"2020-04-01","rent":1524.710631},{"period":"2020-05-01","rent":1519.235303},{"period":"2020-06-01","rent":1520.471177},{"period":"2020-07-01","rent":1522.038301},{"period":"2020-08-01","rent":1525.678735},{"period":"2020-09-01","rent":1535.719331},{"period":"2020-10-01","rent":1543.804523},{"period":"2020-11-01","rent":1565.331748},{"period":"2020-12-01","rent":1577.05521},{"period":"2021-01-01","rent":1597.232647},{"period":"2021-02-01","rent":1599.526646},{"period":"2021-03-01","rent":1616.890396},{"period":"2021-04-01","rent":1609.233082},{"period":"2021-05-01","rent":1638.377312},{"period":"2021-06-01","rent":1645.368231},{"period":"2021-07-01","rent":1674.569046},{"period":"2021-08-01","rent":1699.922316},{"period":"2021-09-01","rent":1743.255642},{"period":"2021-10-01","rent":1757.151633},{"period":"2021-11-01","rent":1783.39556},{"period":"2021-12-01","rent":1790.793734},{"period":"2022-01-01","rent":1811.917078},{"period":"2022-02-01","rent":1840.671077},{"period":"2022-03-01","rent":1883.567805},{"period":"2022-04-01","rent":1919.356817},{"period":"2022-05-01","rent":1947.742156},{"period":"2022-06-01","rent":1985.9723},{"period":"2022-07-01","rent":2009.179361},{"period":"2022-08-01","rent":2013.982073},{"period":"2022-09-01","rent":1994.394347},{"period":"2022-10-01","rent":2027.294952},{"period":"2022-11-01","rent":2029.132629},{"period":"2022-12-01","rent":2057.508674},{"period":"2023-01-01","rent":2040.672198},{"period":"2023-02-01","rent":2067.890136},{"period":"2023-03-01","rent":2073.876426},{"period":"2023-04-01","rent":2107.049616},{"period":"2023-05-01","rent":2092.145606},{"period":"2023-06-01","rent":2094.366292},{"period":"2023-07-01","rent":2087.357739},{"period":"2023-08-01","rent":2103.877724},{"period":"2023-09-01","rent":2115.54402},{"period":"2023-10-01","rent":2121.006509},{"period":"2023-11-01","rent":2137.113663},{"period":"2023-12-01","rent":2131.113211},{"period":"2024-01-01","rent":2155.838989},{"period":"2024-02-01","rent":2150.058762},{"period":"2024-03-01","rent":2142.733253},{"period":"2024-04-01","rent":2121.572869},{"period":"2024-05-01","rent":2122.273433},{"period":"2024-06-01","rent":2139.186129},{"period":"2024-07-01","rent":2137.094147},{"period":"2024-08-01","rent":2138.813278},{"period":"2024-09-01","rent":2121.526045},{"period":"2024-10-01","rent":2118.113716},{"period":"2024-11-01","rent":2121.490383},{"period":"2024-12-01","rent":2158.358091},{"period":"2025-01-01","rent":2154.56863},{"period":"2025-02-01","rent":2162.261896},{"period":"2025-03-01","rent":2134.007347},{"period":"2025-04-01","rent":2156.568489},{"period":"2025-05-01","rent":2161.90399},{"period":"2025-06-01","rent":2157.588098},{"period":"2025-07-01","rent":2168.111622},{"period":"2025-08-01","rent":2167.410939},{"period":"2025-09-01","rent":2187.04877},{"period":"2025-10-01","rent":2188.630277},{"period":"2025-11-01","rent":2185.18346},{"period":"2025-12-01","rent":2160.894202},{"period":"2026-01-01","rent":2161.44366},{"period":"2026-02-01","rent":2158.130099},{"period":"2026-03-01","rent":2185.72376},{"period":"2026-04-01","rent":2175.516508},{"period":"2026-05-01","rent":2177.369245},{"period":"2026-06-01","rent":2174.291481}],"historySummary":{"pointCount":122,"firstPeriod":"2016-05-01","latestPeriod":"2026-06-01","coverageMonths":122,"coverageRatio":1,"changes":{"1":{"years":1,"startPeriod":"2025-06-01","endPeriod":"2026-06-01","startRent":2157.588098,"endRent":2174.291481,"change":0.007741692223591334,"cagr":0.007741692223591334},"3":{"years":3,"startPeriod":"2023-06-01","endPeriod":"2026-06-01","startRent":2094.366292,"endRent":2174.291481,"change":0.038161991675141005,"cagr":0.012562194356691592},"5":{"years":5,"startPeriod":"2021-06-01","endPeriod":"2026-06-01","startRent":1645.368231,"endRent":2174.291481,"change":0.32146193176377214,"cagr":0.05733091675571189}},"maxDrawdown":-0.02217745832292839,"annualizedVolatility":0.031034082966803826,"consecutiveReturnCount":121}}