Changelog
Every model run and every change to the configuration or data, newest first.
Changelog
Model runs
- 2026-10-29 model run — House: D control 99%, mean 111.8 D seats. Senate: D control 29%, mean 24.6 D seats. Statewide generic margin D+6.6 from 129 statewide polls. 40,000 simulations.
- 2026-10-16 model run — House: D control 99%, mean 111.6 D seats. Senate: D control 29%, mean 24.6 D seats. Statewide generic margin D+6.4 from 118 statewide polls. 40,000 simulations.
- 2026-10-15 model run — House: D control 99%, mean 111.6 D seats. Senate: D control 29%, mean 24.6 D seats. Statewide generic margin D+6.4 from 119 statewide polls. 40,000 simulations.
- 2026-10-15 model run — House: D control 99%, mean 111.6 D seats. Senate: D control 28%, mean 24.6 D seats. Statewide generic margin D+6.4 from 119 statewide polls. 40,000 simulations.
Changes to model, config, or data
- 2026-10-16 — Independent challengers: where a major party has no nominee but an independent is on the ballot (SD-46 Borello v. Bartolotta, HD-145 Prendergast v. Staats), the independent is now modelled as the challenger (generic-missing-party fundamentals minus a 6-pt penalty, polls weighted more heavily, wider error) instead of the seat being treated as unopposed. Independent wins count for neither party's majority. SD-46 moves from 0.5% to 21% for the challenger; HD-145 from 0.4% to 18%.
- 2026-10-15 — Finance: ignore low-confidence committee matches and receipts under $1,000 (false zeros and a probable false-positive committee in House District 198). Statewide error SD raised 3.0 → 3.5 after the 2024 backtest. Senate seats up corrected to the even-numbered districts; House composition set to 103-100 after the 2026 specials.
- 2026-10-15 v1.0 — Initial release. Four-layer model (district baseline, candidate layer, statewide environment, district polls) with external ratings blended as priors; 40,000-run Monte Carlo with statewide, regional and district error; backtests on 2022 and 2024. All weights in
config/model_config.yaml.