Just to add some notes on my thinking that led me to that algorithm/formula:

I was thinking that the only way for Democrats to not win is for none of those 325 combinations (in that link) to happen, and that 1 minus the odds of none of those combinations happening would be Democrats' chances of winning. Then I thought to calculate the odds of none of those combinations happening, I would multiply the odds of each one not happening, which I would calculate as 1 minus the odds of the combination happening (which would be the product of the odds of winning all the necessary states in the combination, times [1 minus the product of the odds of losing the states of which only one is needed] (this sort of consolidates the 325 combinations into 184, which is how they were expressed on 270towin.com)).

This method seemed perfect at first, but, as applied, something is clearly wrong. I don't really get it. In the example above -

- (I could be wrong, but) only one of those 184 lines should be in play "*(1-rFL*rMI*rNC*(1-(iVA*iIN*iWI*iCO)))"if I set MI, NC, and VA to 100%, Florida would be enough to win, so if I set Florida to 50% (leaving everything else at 0), the odds are 50%. But, if I change IN to 100%, the odds change to 75%, when it should still be 50%, because FL is still the only deciding factor, and FL is still at 50%. It seems like changing IN from 0% to 100% puts more combinations in play, and increases the odds, when it shouldn't.

(1-.5*1*1*(1-(0*1*1*1)))=.5

and

(1-.5*1*1*(1-(0*0*1*1)))=.5

so I just don't get it.

The issue comes up in infinite other examples too. If I set VA, IN ,WI, CO, IA, NV, and NH, all to 100%, Democrats only need one of the remaining 5 states to win. If I put NC at 50% (leaving the remaining 4 at 0%), the odds are 50% - so far so good - but if I then change MI from 0% to 50%, the odds jump to 99.5307207107543946% when it should be 75% (1-.5*.5). If I then change OH from 0% to 50% it becomes 99.9999562870521687% when it should be 87.5% (1-.5^3). If I then change PA from 0% to 50% it changes to 99.9999999999988245%, when it should be 93.75%. If I then change FL from 0 to 50%, it returns 100% (probably rounding up from 100-1/infiniti-ish), when it should read 96.875%.