First I wanted to explain again how to read a poll. Polls are estimates of the future vote, and like all statistical estimates, polls have a margin of error. In general, we expect the actual election results to be close to the polls, but they may be off by a few points. It depends on the race and the time, but doubling the margin of error might be a reasonable heuristic to better judge the accuracy.
Model Details
For the Senate model, I am basically just going to use the revised model outlined here. The main change is that past vote normalization will now use the past vote of the state to normalize the prior. The Beta model, noninformative, and Gaussian people models will not be used, and the four models are the Polls Only, Prior Only, Gaussian Iterative, and Gaussian Pooled Polls. I am not going to do a generic ballot prior because I don’t think I can expect it to be a good estimator of Senate races because the Generic ballot is national but not all states are voting and I do not know if the Generic ballot represents Senate voting behavior well. The competitive group will be separated into a group of states currently held by a Republican a group of states currently held by a Democrat. Noncompetitive states will be either in the safe Republican or safe Democrat West (for western states), or safe Democrat East (for eastern states) group. A race is called competitive if there is at least poll after the primary within the margin of error. Currently, the competitive races (and which party holds the seat) are: Arizona (R), Nevada, (R), Texas (R), Tennessee (R), Florida (D), Missouri (D), North Dakota (D), and Indiana (D). I originally thought West Virginia and Ohio might be competitive, but the polls haven’t been close.