What USGS's Hayward Fault M7.0 scenario means for San Francisco buildings

The Hayward Fault runs directly under the East Bay, and USGS considers a magnitude-7 rupture on it one of the most consequential earthquake scenarios in the country. USGS and ABAG modelled exactly what that shaking looks like, zone by zone, across San Francisco. Here's what the real intensity classes mean for a specific building, and a real calibration mistake we made and fixed while turning that scenario into a score.

Every city Tessera scores needs a real hazard signal underneath its retrofit-priority score, not a generic "this region has earthquakes" assumption. For San Francisco, that signal comes from a real USGS and Association of Bay Area Governments (ABAG) ground-shaking scenario, built around a specific, physically modelled rupture: a magnitude-7 event on the Hayward Fault, the same fault system central to USGS's own HayWired Scenario research, one of the most detailed earthquake impact studies ever produced for the Bay Area.

What "Strong" and "Very Strong" actually mean

The scenario publishes its own intensity buckets, a real, defined scale rather than an invented one: Light, Moderate, Strong, Very Strong, and Violent, corresponding to increasing Modified Mercalli-style shaking values. Across San Francisco's 177,023 mapped buildings, the real distribution looks like this:

Real modelled shaking intensity by building, this specific Hayward Fault scenario.

The honest takeaway from that distribution: there is no part of San Francisco this scenario scores as genuinely low-hazard. Nearly two-thirds of the city's buildings sit in the "Strong" zone, the third bucket of a five-bucket scale, before any building-specific vulnerability is even considered. That's a real geological fact about the city's position relative to the Hayward and San Andreas systems, not a scoring artifact, and it's part of why a San Francisco retrofit score needs a real per-building vulnerability signal (construction era, soft story status, adjacency risk) to do useful work: the location-only hazard floor is high almost everywhere.

A real scaling mistake, and how we caught it

We build in the open about mistakes when we catch them; the air-quality methodology post already names two we found and fixed. This one is worth naming too. The first version of our hazard scaling converted each building's raw intensity value to a 0–100 score using the full published range across all 26 intensity zones in the source dataset, 5.0 to 8.2. That range extends beyond where any San Francisco building actually sits: the real values our 177,023 buildings ever match run from 6.2 to 8.0, a narrower band inside that full range. Scaling against the wrong, wider population gave every San Francisco building an artificial score floor around 37.5, out of 100, before any other factor was added. Nothing could ever read as truly low, which flattened the resulting retrofit-priority score and pushed roughly three-quarters of the city into the top two classes.

The fix was the same principle we already use for every other fixed threshold in this pipeline: calibrate from the real, specific population being scored, not from a broader range that happens to be available. Rescaling against San Francisco buildings' own real 6.2–8.0 range, instead of the full dataset's 5.0–8.2, restored a genuinely differentiated score: the current, corrected classification is the one shown in the soft-story post, with all four risk classes meaningfully populated instead of one dominating.

See how any specific San Francisco address scores against this real scenario on the live map.