# HomeScore scoring methodology · v4.3 [中文原文 / Chinese original](/SCORING.md) Rules updated: 2026-09-26. Version 4.3 uses mean ELA and math proficiency as the school district score; same-type statewide percentiles are reference only. The individual score and school heatmap use the same mean. From October 9, 2026, each dimension is shown independently, with schools as the default layer; no overall score is calculated or displayed. The 2024–25 CAASPP results and their original retrieval dates are retained; this rule update is not a new official data release. The 15-county, 100 m heatmap retains the public-hazards-v1 hazard-data rules and v4.2 aviation curves by facility type. HomeScore turns information about a home’s surrounding environment, facilities, and school districts into a reference score for comparing locations and identifying matters that need further verification. The current map covers 15 counties across the Los Angeles, San Diego and San Francisco Bay Area regions, using representative points on a 100 m grid. It does not score the construction quality, market value, or interior condition of each home. This is HomeScore’s preference-based score for initial housing screening. Higher scores mean that the available evidence triggers fewer concerns under these rules. It is not a government rating, probability of safety, measure of health harm, insurance quote, or purchase recommendation. A score of 100 does not prove safety. Missing data are not given full marks or redistributed to other components. ## Eight individual scores Each component receives a score from 0–100 under its own evidence rules. Scores are shown separately, without weighting, multiplication or an overall score. | Component | Evidence used | |---|---| | Flooding | FEMA zones + DWR flood studies + JRC river flood depths | | Wildfire | USFS WRC 2024 Risk to Potential Structures (RPS), mapped using fixed national percentile anchors | | Contamination and cleanup sites | Distance to EnviroStor registered site points | | Transmission lines | Distance to CEC line geometry | | Registered mines | Distance to DMR registered operation points | | Oil and gas wells | Distance to CalGEM registered well points | | Aviation facilities | Nearest reference-point distance in each of two FAA/BTS facility groups; score each group and take the lower score | | Mean ELA and math proficiency | Arithmetic mean of the two official percentages met and above; use the lower mean where elementary and high school districts differ | Missing components retain their raw-score range and are labeled insufficient data. A map layer is colored only where its own score is known; missing evidence for another component does not hide it. Important flood and wildfire matches are flagged separately. Duplicate or invalid data do not create extra components. Missing components remain unknown. A component explicitly marked incomplete does not become complete merely because its lower and upper bounds happen to be equal. ## Meter-by-meter distance curves The distance-evidence version remains 3.0. Version 4.3 retains the v4.2 aviation facility groups and type-H heliport curve without changing distance-score rules. Distances for the five facility categories are **rounded up to the next whole meter**. For example, if official radius counts establish `99 < d ≤ 100` meters, the scoring distance is 100. After rounding, scores are linearly interpolated between adjacent anchors: `previous anchor score + (distance in meters − previous anchor distance) / distance between anchors × 25`. Scores are capped at 100 at and beyond the final anchor. | Anchor score | Transmission lines | Cleanup sites | Mines | Oil wells | Airports and other/unknown types | Type-H heliports | |---:|---:|---:|---:|---:|---:|---:| | 0 | 0 m | 0 m | 0 m | 0 m | 0 m | 0 m | | 25 | 50 m | 100 m | 250 m | 100 m | 1,000 m | 100 m | | 50 | 100 m | 300 m | 500 m | 300 m | 3,000 m | 300 m | | 75 | 250 m | 500 m | 1,000 m | 600 m | 5,000 m | 500 m | | 100 | 500 m | 1,000 m | 3,000 m | 975.36 m | 10,000 m | 1,000 m | Only facilities whose official `SITE_TYPE_CODE`, after trimming whitespace and converting to uppercase, is `H` enter the heliport group. All other and missing types conservatively use the airport curve. The nearest facility in each group is found and scored separately from 0–100, then the lower score is used. Using only the nearest facility across all types is incorrect. For example, a heliport 600 m away scores 80, while an airport 3,000 m away scores 50; the aviation score is 50. A group can control the score even when its nearest facility is farther away. Missing evidence for either group retains that group’s unknown range. Old, unclassified aviation distances cannot be treated directly as v4.2 results. Complete regional snapshots for both groups retain the verifiable nearest facility name, official type, and calculated distance within each group’s scoring range. If there is no facility within that range, the data record only that the distance exceeds the group’s limit; no nearest name beyond the range is invented. Names returned with live count queries are labeled only as representative records for verification, not guaranteed nearest facilities. The shorter curve for type-H heliports (helipads) is HomeScore’s proximity preference, not an official noise threshold or safety distance. It has not been calibrated against flight paths, flight counts, operating frequency, or DNL/CNEL. Transmission-line component scores at 99, 100, and 101 m are 49.5, 50, and approximately 50.1667, respectively; scores no longer jump by 25 across entire distance bands. The last oil-well anchor remains 975.36 m, equivalent to 3,200 feet, but neither whole-meter rounding nor straight-line point distance constitutes a legal determination. These are continuous product-preference curves, not curves calibrated with residential loss or exposure samples. One meter is the **calculation increment**, not a guarantee of one-meter accuracy in official maps or address locations. Line geometry, registered points, and home locations may all contain errors. Locations near thresholds require verification. ## Evidence for nearest distances For the five facility categories, the retained live API first queries four radii against each official layer in parallel, then uses integer-meter radius bisection within the established bounds. The two aviation groups are queried separately. Every count covers the full matching layer and does not depend on the first 10 displayed records; a nearest record is not ignored simply because it is absent from that list. The 15-county homepage uses offline distances from complete snapshots and does not make these official count requests while browsing. - Every queried radius, count, official query link, and final raw distance bound is retained. - A zero count proves that the nearest record is outside the radius; a positive count proves it is no farther than the radius. Valid counts must be nondecreasing as the radius increases. - A single score is returned only when the same whole-meter score is established, or the entire feasible distance range scores 100. - Any intermediate request failure stops refinement immediately and retains the wider, proven range. Total failure, duplicate/invalid radii, or contradictory counts remain unknown. - Returned `distanceMeters` and `complete` fields are conveniences. Scoring revalidates the raw `checks` rather than trusting a claimed exact distance. - Older four-radius evidence may still establish a range, but cannot be presented as a meter-by-meter result. Displayed record status, rounded distance, or truncation flags cannot override independent counts. - If a finite distance range has no corresponding displayed map record, one additional query retrieves representative records within that range. These support source verification and are not guaranteed to be the absolute nearest records. Bisection adds public-service calls and latency. Existing caching and per-source responses remain in effect. The longest, 10 km curve requires at most approximately 14 sequential refinements. The statewide map shows only genuinely calculated points and their evidence coverage; blank areas must not be treated as high-scoring areas. ## 15-county public hazard data (public-hazards-v1) Wildfire uses the [original California RPS raster from USFS WRC 2024](https://www.fs.usda.gov/rds/archive/catalog/RDS-2020-0016-2). RPS describes relative risk assuming a home were present at the location, making it applicable to new homes and undeveloped residential land. The application reads original official 30 m cells, not transformed values from a display service. Some inputs to the 30 m product are refined from 270 m modeling; this does not establish 30 m field accuracy. HomeScore uses the 101 published RPS percentile reference anchors for the contiguous United States (CONUS) in the accompanying `WRC_V2_DataPercentiles.xlsx`: percentile p maps to `100 − p` points, with linear interpolation between adjacent raw RPS values. RPS=0 maps to 100, with endpoints capped. Zero is handled separately; the reference percentiles are not interpreted as shares of all land or homes. This is HomeScore’s relative-risk reference score, not an official USFS housing rating, burn probability, or property-loss rate. Raw RPS values and rule anchors are saved with the cache. NoData, non-finite values, and anomalous negative values remain unknown rather than becoming zero risk. Flood scoring retains confirmed FEMA results and adds [DWR Awareness](https://ferix.water.ca.gov/arcgis/rest/services/other/BAM/MapServer/8) and 100-year-return-period river flood depth from [JRC v2.1.2](https://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/CEMS-GLOFAS/flood_hazard/). - DWR Awareness polygons explicitly identifying 100-year flooding score 0 under the existing 1% flood-zone rule. A non-match or ambiguous attributes do not add points. In this run, 1,037 valid polygons were usable and 7 invalid polygons were excluded; 1 originally invalid local-study polygon was not scored. - Only valid positive JRC depths contribute. The raw score is `max(0, 100 × (1 − depth in meters / 1 meter))`. For example, 0.1 m scores 90, 0.5 m scores 50, and 1 m or more scores 0. This is HomeScore’s continuous preference curve, not an official loss model. - Officially flagged anomalous JRC depths, permanent water, NoData, zeros, and areas outside coverage provide no low-risk evidence. JRC describes river flooding only and does not include all small streams, urban stormwater, or coastal flooding. - The lower score across sources is used. A partially known FEMA range is still combined conservatively. If FEMA is wholly unknown and a supplementary source provides valid affirmative evidence, that source’s reference score is used. No source can raise an existing risk-related score from another source. Each cell retains sampled raw values, validity status, matched sources, and source versions. The 100 m spacing is between representative points, not the accuracy of an investigation of each home. A component layer requires only that component to be complete. NoData and non-matches must not be treated as absence of risk. ## Official zone rules for live queries and historical caches Continuous meter-based curves do not apply to flood or fire hazard zones. Scoring solely by distance to a river or trees would discard terrain, coverage, and official model information. - Flooding: explicit SFHA or A/V zones score 0 and trigger a notice. C, or X explicitly described as minimal flood hazard/risk, scores 100. B, X without an explicit minimal designation, or explicit non-SFHA with no zone name scores 50. Uninterpretable data retain a 0–100 range. - Wildfire: Very High scores 0, High 25, Moderate 50, and explicit NonWildland 100. Unknown text or unmapped numeric classes remain unknown. - Multiple records use the lower score. A branch can be treated as not applicable, contributing a neutral 100 to the lower-score combination, only if the other branch completely matches, every record’s official `Responsibility area` explicitly identifies that matching branch as LRA or SRA, and a complete query of the branch being treated as not applicable returns no records. This does not mean there is no fire risk. - LRA/SRA query failures, missing or conflicting responsibility-area fields, or truncated results cannot exclude a branch. If both match, the lower score is still used. Older data missing responsibility-area fields retain the conservative range. - A successful empty polygon response does not mean low risk. Without confirmed valid coverage and applicability, the result remains unknown. ## School districts District assignment uses the official boundary containing the address coordinate; the nearest school is not substituted for an assigned school. The primary measure is **mean ELA and math proficiency**: `(ELA percentage met and above + math percentage met and above) / 2`, from CDE’s 2024–25 CAASPP district-wide results, not individual school scores. Calculations use the arithmetic mean of the raw rates without rounding the mean first; the page displays two decimal places. Scoring requires complete matching of all applicable boundaries and both subjects, with at least 11 students with scores in each subject. A unified district uses its own mean. Where elementary and high school districts differ, the lower mean applies. This value directly supplies the 0–100 individual score and school heatmap. For example, ELA 60% and math 40% give a mean of 50% and a score of 50. Ambiguous overlapping boundaries, failed boundary requests, a missing subject or suppressed data retain a raw-score range of 0–100. Nearby home prices, demographics or unverified star ratings do not fill gaps. Same-type statewide percentiles remain **reference only and do not enter the individual score or heatmap**. The two-subject means are compared separately for Unified, Elementary and High School districts using `100 × (number below + 0.5 × number tied) / number of same-type districts with complete data` to calculate a midrank percentile rounded to two decimal places. A percentile is a district’s relative position among districts of the same type in that year’s public test results. It changes with the year, participation, and peer distribution. It does not indicate whether a school suits a particular child or guarantee actual enrollment eligibility for a home. Verify the school year, grade, district office, and specific attendance boundary. Source information retains raw proficiency rates and official references. ## Limits of the evidence - The transmission-line curve is not an EMF health-safety boundary; distance is not electromagnetic-field exposure. [CPUC EMF policy](https://www.cpuc.ca.gov/industries-and-topics/electrical-energy/infrastructure/permitting-and-environmental-review/electric-magnetic-fields/puc-actions-regarding-emfs) - The 975.36 m oil-well anchor is regulatory context only. Approximate point-to-point distance does not satisfy all statutory measurement requirements. [CalGEM FAQ](https://conservation.ca.gov/calgem/Pages/SB1137-FAQ.aspx) - Aviation-facility distance cannot replace flight paths, flight frequency, or DNL/CNEL noise metrics. [FAA community noise](https://www.faa.gov/regulations_policies/policy_guidance/noise/community) - Cleanup sites are registered points, not contamination-plume boundaries. Mine points cannot cover underground workings or every abandoned opening. - [FEMA flood zones](https://www.fema.gov/flood-maps) and [CAL FIRE fire hazard zones](https://www.fire.ca.gov/osfm/what-we-do/community-wildfire-preparedness-and-mitigation/fire-hazard-severity-zones) supply the official categories. HomeScore’s numerical mappings are nonofficial judgments. ## Regional precomputation The v4.3 combined 15-county heatmap uses the original EPSG:3310 grid of 100 × 100 m cells. Each cell retains eight individual scores, with mean ELA and math proficiency for schools and aviation still grouped by type. Usually the cell center is used; at the state boundary, a representative point inside the state is used. The individual rules and source dates remain those of the validated v4.3 data. Removing the overall score is not an official-data update. The original batch processing downloads complete official regional geometry snapshots, strictly verifies all object IDs, pagination and counts, then uses local geometric intersections and distances instead of remote queries for every cell. Distance evidence is explicitly labeled `dataset-nearest-meter` and includes the snapshot SHA-256, projection and complete-coverage radius. Sources that fail completeness validation remain unknown. A partial list of returned records is not treated as a complete database. Official polygons still use their original text fields. Non-matches and areas outside coverage do not automatically receive full marks. School districts still use official assignment boundaries and the same CAASPP data. EPSG:3310 distances are projected calculations; both the grid and source data have spatial uncertainty and are not survey or legal distances. Results older than 24 hours show their age and are not recalculated by default; a refresh must be explicitly requested. Each of the eight layers across the 15 counties uses that component’s raw 0–100 score and does not require the other seven to be complete. At smaller map scales, colors average the selected component scores. If any point within an aggregate lacks evidence required by the selected layer, that aggregate remains transparent; partially known points do not fill the whole area. Clicking always shows all eight details for the 100 m representative point. Individual homes within a cell can differ; an area score cannot replace an assessment of a specific home. The historical Chino compatibility cache was updated to v4.2 on 2026-09-23: classified aviation evidence was replaced for 196,654 samples at 20 m spacing, then reimported into SQLite; the 200 m overview was also updated. The other seven components were retained. Older Chino and county caches do not automatically become v4.3 results: they require recalculation from complete raw district evidence and validation, not a version-label change. Older versions remain separate. ## San Diego coverage added October 8, 2026 San Diego County uses the same v4.3 100 m rules; the five Los Angeles-area counties retain their previous score data. San Diego flood evidence includes large FEMA Zone D areas and other gaps. Unknown flood values stay unknown; other known components can still be viewed. U.S. and California facility registries do not establish complete coverage in Mexico, including cross-border aviation facilities. Refer to each county’s source timestamps; this expansion does not change the WRC 2024 or 2024–25 school-result years.