TRANSPARENT BY DESIGN
The method.
A forecast is a range of possible outcomes, not a promise. Here is what goes into ours.
Data sources
Polls are linked to their original source on the Polls page. House baseline ratings come from Cook ratings; Senate baselines use state polls when available and forecast probabilities otherwise. Issue importance, party trust and approval figures cite their sources alongside each chart. Only approved polls enter the public model.
Poll weighting
The averaging window includes polls released from today back through 14 days, using the US Eastern date. Tier A polls receive weight 1.0; tier B 0.7; tier C 0.4. Partisan and sponsored polls are tier C. Weight halves every seven days. A pollster’s weight is divided by its number of polls in the same race and window.
weight = tier × 0.5^(days old / 7) ÷ pollster count
How one simulation run works
- 1. Draw a shared national error from N(0, 3), where 3 is the standard deviation in polling points.
- 2. Give every House seat its Cook-rating baseline margin.
- 3. Add a district error from N(0, 6). The supplied engine draws equivalent independent seat-win probabilities within each rating bucket.
- 4. Count Democratic seats. At least 218 of 435 seats means a Democratic majority.
margin = baseline + e_nat + e_district
The simulation repeats up to 200,000 times in your browser. The 80% interval spans the 10th through 90th percentiles. Standard error describes simulation noise, not the uncertainty in the election forecast. Turning off shared national error widens independent district errors to preserve each seat’s total uncertainty.
Senate method
For each Senate race, use the weighted non-Republican minus Republican polling margin. If there are no polls in the window, back out a margin from the race’s forecast probability with the inverse normal distribution. Add a national error with standard deviation 3 and a state error with standard deviation 4. Democrats need 51 seats alone; independent wins are counted separately. A 50–50 split gives Republicans control because the vice president breaks ties.
What the model leaves out
There is no pollster house-effect adjustment, fat-tailed error distribution, regional correlation, or explicit candidate-quality model. The House model uses rating-bucket baselines rather than a separate model for every district. These simplifications can miss unusual elections. Changing the slider tests a scenario; it does not add new evidence.
Update schedule
New polls are checked daily and reviewed before they enter the average. Daily snapshots are published by an administrator. The header shows the newest approved poll’s creation date, and each forecast uses today’s US Eastern date.