A clear question. Evidence that can change our mind.
We help Peninsula buyers understand city premiums, changing market conditions and the questions to investigate before choosing a home.
Our research hypothesis
Sustained improvements in employment and everyday amenities may support relative home-value growth where housing supply responds slowly.
The mechanism is plausible: more households may want to live near useful jobs and amenities, while additional homes take time to arrive. But expectations may already be priced in; jobs may not translate into local households; development can add both housing and disruption; and an apparent discount can reflect enduring differences in the homes or location.
Current status: unproven. We have not demonstrated that this mechanism predicts city outperformance. Our city guides help readers assess alternatives while that research continues.
The first annual screen did not earn a predictive claim.
We tested four fixed rules using housing momentum, relative value, lagged assessment growth and their combination. The target was the next 12 months of city home-value appreciation minus San Mateo County appreciation, in percentage points.
| Measure | County baseline | Best validation candidate: assessment growth |
|---|---|---|
| Validation error, 2013–2017 origins | 1.346 percentage points | 1.392 percentage points |
| Later holdout error, 2019–2024 origins | 1.173 percentage points | 1.139 percentage points |
The best candidate was 3.4% worse than the baseline during model selection. Its later 2.9% improvement did not meet the prespecified 10% holdout gate and cannot reverse that selection. None of the four candidate rules earned selection.
The selected forecast is zero excess appreciation versus the county. This means no predicted city advantage; it does not mean flat home prices. We have no validated Alpha Score or predictive city ranking.
The paper record was issued September 15, 2026 UTC, using July 2026 inputs. Its outcome window is September 30, 2026 to September 30, 2027. All four candidates and three baselines are retained. The capture record tracks whether the complete forward outcome is available.
Inspect the 2025 outcome, every model and the future evidence-capture status →
The history was revised and downloaded in September 2026, so this is not a reconstruction of what a forecaster knew at each past date. Eight neighboring cities share shocks; the holdout contains six annual forecast origins. This narrow annual test does not settle the full multi-year development hypothesis.
A separate market-conditions test is now running
Model Lab now compares current pace, same-season history, contract-time trends and supply/demand inputs for next-quarter median days to contract. Models train on coverage-selected California peers and are evaluated on our eight cities. The historical replay uses revised data and an assumed reporting lag; no added model passed the full selection rule.
Thirteen eligible city/home-type predictions for October–December 2026 are frozen. A weekly source capture will lock outcomes and report misses after the target ends. This experiment predicts contract time, a different outcome from appreciation. Apply its models and inspect the historical and live records →
What the structural test still needs
We retain workplace-job history, housing stock and reported completions. The proposed multi-year jobs/supply study still needs longer shared history, dated availability and a broader comparison universe. Matched price/rental populations are also needed for a rent-fundamentals study. Historical fit alone is insufficient.
Every new rule gets a new version. Freeze forward predictions and input vintages; evaluate after the horizon matures; report misses alongside hits. New data and revised models must never overwrite the original forecast.
How the city market data stays current
Every Friday we check Redfin’s public aggregate data for all 25 cities. When a new completed month passes our coverage, date and consistency checks, city price summaries and sales-history charts update together. Each chart point still measures a rolling three-month window; adjacent points overlap.
Weekly checks do not mean new observations arrive every week. Source dates remain visible. Failed checks leave the last validated release available; revisions within an already published month require review. Individual property records, school results and articles follow separate review schedules. Frozen model inputs and predictions are preserved.
What readers can use today
Market guides cover 25 cities and towns: San Francisco, all 20 San Mateo County municipalities, Palo Alto, Mountain View, Los Altos and Los Altos Hills. Public property records cover all 20 San Mateo County cities; the original eight-city research universe remains separate. Coverage by city →
| Evidence | Actual coverage | Useful for |
|---|---|---|
| Modeled housing values | 8 cities + San Mateo County · Jan 2000–Jul 2026 | Long-term context and same-date citywide gaps. |
| Observed sales and availability | 44 published city / property-type snapshots; see each window and source. | Prices of homes actually sold, sales counts and listing conditions. |
| Net assessed values | 8 cities + county · 2006–2026 | Tax-base history; separate from home prices. |
| Audited General Fund statements | 8 cities · FY2025. Separate property-tax detail verified in 6. | A dated fiscal snapshot; one year cannot establish a trend. |
| Workplace jobs | 8 cities + full county · 2012–2023 annual Q2 snapshots. | Workplace concentration and changes in covered jobs, using consistent release geography. |
| Reported home completions | 8 cities · 2018–2025. 62 city-years pass source checks; 2 are withheld. | Homes reaching a reported readiness milestone; permit counts and net additions remain separate. |
Published articles add local interpretation and opposing cases. They keep their original research dates when newer tables arrive. We do not have a property-level valuation model, a complete record of occupied projects or a demonstrated forecasting advantage.
Reading jobs and completed-housing history
Census LODES 8.4 workplace files count jobs by workplace block. We use all jobs (WAC, S000, JT00, C000), with the release’s crosswalk to the eight cities and full San Mateo County. The same 2020 blocks and 2024 TIGER place boundaries apply throughout. A block’s old county prefix does not override its crosswalk assignment.
The series starts in 2012, after federal jobs were included and with a consistent worker age frame of 14–99. The reference is Q2 beginning-of-quarter employment: workers employed by the same employer in Q1 and Q2. These are annual snapshots, not annual averages, all hires during the year or counts of unique workers. Self-employment and other jobs outside the source’s frame are excluded. The latest observation is 2023, and should not be described as current employment.
Disclosure protection and workplace assignment affect small-area estimates. A workplace job is not an employed resident, a new household or proof of daily on-site attendance. Commuting, remote work, industry mix and regional housing choices matter. A five-year job change uses the exact same Q2 dates in every selected geography; an absent baseline withholds the change.
California HCD’s APR data record what local jurisdictions report. We use Table A2 units receiving certificates of occupancy or other readiness, such as final inspection, in calendar years 2018–2025. This covers all housing types, including ADUs. It includes replacement construction and does not subtract demolitions to estimate net stock additions. Readiness is distinct from actual occupancy.
The APR instructions distinguish entitlements, permits and completion milestones. We count only the completion field, reconcile it to the affordability columns, and check each positive entry’s date against its reporting year. Exact duplicate positive rows or inconsistent source fields initially withhold the whole city-year. Eight date-conflict years now have a documented reconciliation to the city’s own current-year summary, detailed below. A source zero stays zero; missing and unresolved years stay unavailable. HCD does not independently verify local reports, and these checks are not an independent construction audit.
We publish no county completion total: the HCD county jurisdiction means unincorporated territory. The job benchmark covers the entire county. Job snapshots and calendar-year completion flows have different timing and units, so their ratio does not establish how many homes a city needs.
The common period is short and includes the pandemic. Both sources can revise earlier years. Retrieval time is separate from the observation period; a current historical download cannot establish what was available to a forecaster in the past. This supplement leaves the first experiment and its forecasts unchanged.
Selected jobs/housing release: 2026-09-15-completionreview · Retrieved 2026-09-15. Download observations, definitions, source hashes and coverage notes (JSON).
Completion source audit · September 15, 2026
We reviewed all ten flagged city-years against original municipal reports. Eight totals now match both the city’s current-year completion summary and the sum of retained HCD rows dated within that year. The selected history contains 62 accepted totals out of 64 city-years. Two gaps remain.
| City / year | Unfiltered HCD sum | Accepted total | Original city evidence |
|---|---|---|---|
| Pacifica · 2020 | 24 | 15 | |
| Pacifica · 2021 | 33 | 5 | |
| Pacifica · 2022 | 37 | 6 | |
| Pacifica · 2023 | 70 | 48 | |
| Pacifica · 2024 | 46 | 43 | |
| San Bruno · 2020 | 25 | Needs review | PDF pp. 7–8 Table A2; p. 27 LEAP completion summary (blank numeric column) |
| San Mateo · 2022 | 251 | 249 | |
| San Mateo · 2023 | 124 | 122 | |
| South San Francisco · 2020 | 443 | 30 | PDF p. 29, LEAP: Certificate of Occupancy Issued by Affordability Summary, Total Units |
| South San Francisco · 2024 | 255 | Needs review | Council PDF p. 3, Units by Structure Type, Completed, Total; planning workbook Table A2 rows 98–99 |
Excluding out-of-year entries does not move those units into another year. Original field sums, included and excluded positive row IDs, city summaries and source hashes remain in the download. The original vintage is preserved; this review adds eight observations in a separate selected supplement.
San Bruno 2020: The original city packet retains conflicting completion dates and has no usable current-year completion summary. Some original Table A2 entries also differ from the later HCD rows. A corrected city filing or source clarification is needed; the date-filtered subtotal is not accepted.
South San Francisco 2024: The original city summary reports 255, but the planning workbook itself repeats a one-unit entry for permit B21-1306 in Table A2 rows 98 and 99. The duplicate is also present in HCD. Neither 255 nor a deduplicated 254 is accepted without a corrected filing or clarification.
PDF page numbers start at one within the retained file. City-summary totals were transcribed after visual review; the offline verifier checks file hashes, row arithmetic and the review decisions. It does not independently determine whether construction occurred. Exact publication dates of these retrieved file versions are unknown.
Is the next experiment ready?
Decision: not ready for a multi-year predictive test. Jobs and accepted completions overlap in just six nominal years, 2018–2023: 47 of 48 city-years are usable, and seven cities have all six years. Neighboring cities and overlapping years do not provide independent trials.
A draft design would use a three-year feature window to predict relative home-value growth over the next 36 months. If job data were available three calendar years after their reference year, the earliest origin would be December 31, 2023, with an outcome due December 31, 2026. Our housing history ends July 2026, so no such origin has a complete outcome yet. A two-year lag leaves only one mature origin. These are planning assumptions, not verified historical publication schedules.
Housing-stock denominators are now retained and available in Model Lab’s jobs and housing view. Historical release availability and the short shared job/completion period still limit the proposed test. Before registration, extend comparable coverage and fix candidates, baselines and evaluation rules. The updated research-readiness review explains these remaining gates; the original assessment and first experiment remain unchanged.
Download the audit and reproducible availability assessment (JSON).
Reading the transaction data
Each market snapshot identifies the city boundary, property category, observation window, source and retrieval date. Single-family homes and condos / co-ops remain separate. Condos are not combined with townhouses. Missing observations stay unavailable.
Redfin’s city methodology uses rolling three-month windows. For example, June–August includes transactions across all three months; it is not an August-only count. These windows overlap when updated, so adding consecutive releases would double-count activity.
- Median sale price: the middle price of closed sales in that window. Changing property mix can move the median.
- Closed sales: transactions counted by closing date, not contract date.
- Homes for sale at period end: inventory on the last day. This differs from all listings active at any point in the window.
- Median days on market: Redfin uses homes that went under contract during the period, from listing to contract; this population differs from closed sales. Redfin excludes listings on the market for more than a year from this measure and inventory.
Redfin revises historical data and adjusts its most recent estimates for anticipated reporting delays, with those adjustments shrinking as reporting catches up. Published counts and prices can therefore change. Retained Redfin snapshots use the not-seasonally-adjusted fields; this does not mean they are free of reporting-lag adjustments. Price-reduction share is not supplied in our reviewed extract and is not inferred. Fewer than ten sales triggers a small-sample note. These are dated aggregates, not a live listing feed or matched-home appraisal.
Source: Redfin Data Center public downloads. The original sixteen-snapshot release records selected source rows and an extract checksum. The newer Model Lab history release additionally records a hash of the complete national download while retaining only the covered city/home-type rows.
Housing history
Zillow’s Home Value Index measures a modeled typical home value. We use the all-homes, smoothed, seasonally adjusted series. It is not the median price of homes sold. The county benchmark covers the full county, including places outside these eight cities.
A 10-year change is 100 × (ending value ÷ value in the same month ten years earlier − 1). Missing exact baseline periods withhold the result. Comparisons align every city and the county on a shared date. Values are nominal; appreciation excludes rental income, taxes, maintenance, transaction costs and financing.
Zillow revises historical data. A current download cannot establish what was known earlier. Pre-2012 history uses Zillow’s harmonized historical series. Retrospective studies must disclose these limitations.
Assessment and municipal accounting definitions
Assessment-roll history
We retain net secured plus unsecured local assessed values from the county assessor’s historical tables. Years identify the January 1 lien date, with the associated fiscal year beginning in July. The historical reports overlap in 2015; their values reconcile exactly. The revised 2025 and the 2026 combined-roll summaries reconcile to the preceding year for every covered geography. Each summary also reconciles all 20 cities to the incorporated subtotal, and that subtotal plus unincorporated areas to the county total.
Roll growth can reflect transfers, construction, inflation adjustments and assessment changes. It does not measure residential market appreciation or city revenue. Residential and nonresidential composition must be verified separately before using it to support an economic thesis.
Municipal finances
Fiscal years run from July 1 to June 30 and are labeled by the ending year. We use the General Fund reporting aggregate in audited basic financial statements, on the modified-accrual GAAP basis. Government-wide amounts, all-governmental-fund totals, unaudited statistical schedules and budget figures are not substituted for these values.
Revenue less expenditures plus net other financing sources and uses reconciles to the change in fund balance. The reported opening balance, including explicit restatements where applicable, plus this change reconciles to the balance sheet. Balance classifications and assets less liabilities and deferred inflows provide additional cross-checks.
Unassigned balance divided by same-year expenditures is a descriptive ratio. It excludes other balance classifications, and differences in reserve policy and fund consolidation can affect city comparisons. Other financing can include transfers, asset sales and lease or subscription financing. A single year cannot establish a recurring operating surplus or fiscal strength.
Historical fiscal statements, long-term obligations and one-time items are still pending. Source notes disclose extraction methods and restatements. South San Francisco’s PDF has broken text encoding; its retained OCR values were checked against the rendered statement pages.
Schools remain a separate buyer consideration.
Enrollment fit
Check the address, grade span and admissions rules with the district. District lines and nearby campuses do not establish school assignment.
Student progress
Read CDE English and math growth categories with the student count and reporting year. Growth differs from current achievement.
Current achievement
Keep subject results, denominators and any assigned Pair and Share average visible.
Evidence quality
Use official CDE sources. Missing results do not mean a poor school; citywide campus averages do not establish appreciation potential.
Compare district rankings by subject → Each rank orders one published measure within a district type; it is not an overall school rating.
CDE academic definitions · CDE growth definitions · Official school directory
Source standards and accountability
Official audited and administrative sources support government metrics. Systematic market datasets support housing history. Secondary reporting provides context and does not substitute for a reproducible core series.
Each observation retains its geography, unit, period, source, source locator and ingestion version. Retrieval and publication dates are distinct; unknown publication dates remain unknown. New source vintages do not overwrite retained evidence. Shared housing and fiscal release: baseline-2026-09-14; latest retrieval 2026-09-14.
- Zillow Research: ZHVI all homes mid-tier smoothed seasonally adjusted citiesOriginal columns; only documented RegionID rows retained. Retrieved 2026-09-14.
Source and method notes
Typical modeled home value, not median sale price. Full history is revised by the publisher; this vintage is not point-in-time historical evidence.
Publisher methodologyUpstream SHA-256: 85779336dad4da66724bed3968bc9b8ea38332395cd4739335a555e998b8341b
- Zillow Research: ZHVI all homes mid-tier smoothed seasonally adjusted countiesOriginal columns; only documented RegionID rows retained. Retrieved 2026-09-14.
Source and method notes
Typical modeled home value, not median sale price. Full history is revised by the publisher; this vintage is not point-in-time historical evidence.
Publisher methodologyUpstream SHA-256: 8ea53a5461073e62b1d7f0eb216290954246f56ba344a227956665ab19c2b271
- San Mateo County Assessor: 2015-2016 Assessor Annual ReportPrinted pages 18-19, PDF pages 20-21; City Assessment Roll Totals 10-Years Historical. Retrieved 2026-09-14.
Source and method notes
Net secured plus unsecured local assessment roll. Annual stock at January 1 lien date, associated with fiscal year beginning in the same calendar year. Not market value, municipal revenue, or residential appreciation.
Publisher methodologyUpstream SHA-256: 874c589970d5d4063070d73bbe70b73a33cc358fd86bfbf0af7fb295b2aa3bcc
- San Mateo County Assessor: 2024-2025 Assessor Annual ReportPrinted pages 18-19, PDF pages 20-21; City Assessment Roll Totals 10-Years Historical. Retrieved 2026-09-14.
Source and method notes
Net secured plus unsecured local assessment roll. Annual stock at January 1 lien date, associated with fiscal year beginning in the same calendar year. Not market value, municipal revenue, or residential appreciation.
Publisher methodologyUpstream SHA-256: 72bfcb54f40693274513038f44e4b1e35c2e633774f93ebefb0f0aec78e35623
- City of South San Francisco: Annual Comprehensive Financial Report, fiscal year ended June 30, 2025General Fund column; balance sheet printed page 34 (PDF 50); revenues/expenditures printed page 38 (PDF 54); audit opinion PDF 17. Retrieved 2026-09-14.
Source and method notes
General Fund column in the basic financial statements, including funds consolidated for financial reporting. The budget schedule is explicitly non-GAAP and is not used. PDF text encoding is broken; retained OCR was visually checked against PDF pages 50 and 54.
Publisher methodologyUpstream SHA-256: d79d3c0a20b4c8ec13c15ccbf877c5fe16e5470b63c7c81aee037ba687ffd9cc
- City of San Bruno: Annual Comprehensive Financial Report, fiscal year ended June 30, 2025General Fund column; balance sheet printed page 34 (PDF 54); revenues/expenditures printed page 38 (PDF 58); audit opinion PDF 21. Retrieved 2026-09-14.
Source and method notes
General Fund reporting aggregate, not just its operating subfund. The report also presents General Fund combining schedules. Taxes are bundled in the basic statement; property tax is pending rather than taken from a budget schedule.
Publisher methodologyUpstream SHA-256: be4f133368dccf152f14db1a97dba36918b9842ba6696425a3d1bf3a377be018
- City of Daly City: Annual Comprehensive Financial Report, fiscal year ended June 30, 2025General Fund column; balance sheet printed page 22 (PDF 44); revenues/expenditures printed page 24 (PDF 46); audit opinion PDF 23. Retrieved 2026-09-14.
Source and method notes
General Fund column from the audited basic fund financial statements. Government-wide activities, other funds and budget-to-actual schedules are excluded.
Publisher methodologyUpstream SHA-256: c5a08271580266705b75dac3ab2dfa4a7817c4b725bbd49c48a4632d498ac7c2
- City of Millbrae: Annual Comprehensive Financial Report, fiscal year ended June 30, 2025General Fund column; balance sheet printed page 32 (PDF 50); revenues/expenditures printed page 34 (PDF 52); audit opinion PDF 19. Retrieved 2026-09-14.
Source and method notes
General Fund column from the audited basic fund financial statements. Government-wide activities, other funds and budget-to-actual schedules are excluded.
Publisher methodologyUpstream SHA-256: 345932807cefcf47ab64e65ab0b5976dab872b2531be8164b1d5692e5f09b314
- City of Pacifica: Annual Comprehensive Financial Report, fiscal year ended June 30, 2025General Fund column; balance sheet printed page 32 (PDF 52); revenues/expenditures printed page 34 (PDF 54); audit opinion PDF 21. Retrieved 2026-09-14.
Source and method notes
General Fund column; Disaster Accounting and capital projects funds are separate. General Fund opening balance is unchanged by the displayed fund reclassifications. Taxes are bundled; property tax remains pending.
Publisher methodologyUpstream SHA-256: 8d51ef0601638eb7b8013bdfb95510947ec7f677821056c82240be55e51ecc21
- City of San Mateo: Annual Comprehensive Financial Report, fiscal year ended June 30, 2025General Fund column; balance sheet printed page 37 (PDF 59); revenues/expenditures printed page 39 (PDF 61); audit opinion PDF 23. Retrieved 2026-09-14.
Source and method notes
General Fund column from the audited basic fund financial statements. Government-wide activities, other funds and budget-to-actual schedules are excluded.
Publisher methodologyUpstream SHA-256: 1b71fa847a0d34402cb5897a60a7a60cc2b3cf16f5e70248d00637d196835de2
- City of Redwood City: Annual Comprehensive Financial Report, fiscal year ended June 30, 2025General Fund column; balance sheet printed page 33 (PDF 57); revenues/expenditures printed page 35 (PDF 59); audit opinion PDF 25. Retrieved 2026-09-14.
Source and method notes
Uses the restated General Fund opening balance of $127,936,194, which includes a $7,813,184 adjustment to the previously reported balance. The year-end change cannot be compared directly with the unadjusted prior balance. See Note 19.
Publisher methodologyUpstream SHA-256: 5178396f23e98931e3d1f92545fd1f6ee00b000f690b690fd4c40472da03ef3a
- City of Burlingame: Annual Comprehensive Financial Report, fiscal year ended June 30, 2025General Fund column; balance sheet printed page 30 (PDF 56); revenues/expenditures printed page 32 (PDF 58); audit opinion PDF 27. Retrieved 2026-09-14.
Source and method notes
Unassigned balance excludes the restricted and assigned portions of General Fund balance. Classification choices matter when comparing ratios across cities.
Publisher methodologyUpstream SHA-256: c366e5d13b74dba76faa6b76f73ef58cdd0343e666325b0d416bcd41a3ca3797
- San Mateo County Assessor: 2025-26 Local Combined Roll (revised October 29, 2025)PDF page 1; city rows and Total Local Combined Roll; current and previous Local Roll columns. Retrieved 2026-09-14.
Source and method notes
Net local combined secured and unsecured roll. Roll year maps to January 1 lien date; fiscal year starts July 1. Revised allocation of five unincorporated secured parcels to Belmont and San Carlos; retain revised source. Previous-year columns reconcile to the preceding retained source for all covered geographies. All 20 city rows reconcile to Incorporated Cities, and incorporated plus unincorporated equals county total.
Publisher methodologyUpstream SHA-256: 5563f82b46b590ae795dcf2ec7c7362d722a6c5c38f73c088c6f42acd67c3f07
- San Mateo County Assessor: 2026-27 Local Combined RollPDF page 1; city rows and Total Local Combined Roll; current and previous Local Roll columns. Retrieved 2026-09-14.
Source and method notes
Net local combined secured and unsecured roll. Roll year maps to January 1 lien date; fiscal year starts July 1. Previous-year columns reconcile to the preceding retained source for all covered geographies. All 20 city rows reconcile to Incorporated Cities, and incorporated plus unincorporated equals county total.
Publisher methodologyUpstream SHA-256: 63dac759ce86804c4a678deafbc45de2176027509ce24aff4f8e9db5c448ed71