CA-30 2028 simulator

Set the assumptions; both rounds resolve into projected votes and share. Every number is arithmetic on inputs you control, not a forecast.

← Back to the reference dashboard

1 · Where each community starts
Ethnicity
Housing
Age

Each slider opens at the estimate for the starting point above. Moving one shifts every tract by the change, weighted by how much of that tract the group is — so leaving them alone leaves the observed result untouched.

A slider you move becomes a target, and the model solves for a map that hits it. The sliders you have not touched are readouts: they show what your targets imply for those groups, and they move on their own. Setting Latino support to 30% pulls the renter figure to about 19.6% and the homeowner figure to about 11.8% — not because anyone asked, but because that is who lives in the tracts that had to move.

Within a family nothing moves. White and Latino name people who are never the same voter, so setting one says nothing about the other and the sibling readouts hold still. Between families they overlap and therefore must move: 64.8% of this district's homeowners are White against 57.8% of its renters, so raising White support by 10 points raises the homeowner figure by 6.48 and the renter figure by 5.78. Those are the overlaps, not a rule of thumb.

How much the other families move is measured, not assumed. Each tract carries its own joint composition — what share of it is each combination of ethnicity, tenure and age — fitted to three Census cross-tabulations (B25003 tenure by race, B01001 age by race, B25007 tenure by age) at tract level. Those associations are large: across this district renter rates run 57.9% among Asian householders to 86.8% among Black ones, and 89.9% among under-35 householders to 50.5% among those 65 and over.

Two things are still assumed. The Census publishes the three pairs but no table of all three at once, so the cells carry no three-way interaction beyond the pairs. And two of the three tables count households by a single householder, where this model counts voters: an adult child living in a parent's home is counted at the parent's age and tenure, which overstates how strongly age and tenure move together. Those tables set the shape of the association and never a level — each is rescaled onto this district's own composition first — so nothing in them can move a group's share.

Extreme targets can still be unreachable — under the two unbounded modes a group's average can be met while some tract is pushed past 100%, which is not a share anything can have. The page says so rather than showing you the nearest-looking answer.

Effects remain very unequal in vote terms: White voters are about 60% of this electorate and Black voters about 5%, so the same target shift on the two moves very different numbers of votes. That is not rescaled.

2 · The field

ASSUMPTION One consolidated Republican.

The rest of the Democratic field is not modelled — not how many other Democrats run, how strong they are, or how the non-left vote splits. Top-two placement is a question about the whole field, and this tool holds that field fixed.

3 · Turnout
Map
Projected votes
——

Projection

Votes and share together. Every figure is arithmetic on the inputs you set — nothing is sampled, so nothing here carries an interval, and no probability of winning is reported.

Denominator in view: — projected votes.

March 2028 · making the top two

Projected result
—
Vote share
—
Top two ≈
— votes
as a share
—
Gap to the bar
—
—

Out of — projected votes

The bar moves with the field and this tool holds it fixed: one consolidated Republican, with the rest of the Democratic field not modelled. What happens if a second progressive enters cannot be asked here.

Whether the seat is open in 2028 is not in this repository and is not a parameter — plausibly the largest determinant of every number here.

November 2028 · the general

Projected result
—
Vote share
—
50% + 1 ≈
— votes
as a share
—
Gap to the bar
—
—

Out of — projected votes

A Democrat-versus-Democrat contest under top-two, so the bar is half the projected electorate plus one. Reported conditional on making the top two, which Round 1 is about.

By community

Sorted by vote contribution.

CommunityVotesShare Basevs base

No adjustments are modelled

This tool previously carried six adjustment levers taken from CA30_PATH_TO_VICTORY.md. That document is unreviewed, its levers are declared assumptions rather than measured effects, and they were removed on 2026-08-31 rather than carried forward by default. They are being reconsidered one at a time; until then the projection is the starting surface and the turnout environment, and nothing else.