I built this site because I was looking for a way to donate strategically to candidates for U.S. Congress and didn’t find exactly what I was looking for. I wanted something that worked like an index fund, weighting donations to as many candidates as possible based on the competitiveness of the race, and did so transparently, so I could see exactly how much was going to each candidate.
Although the goals of the site are obviously political, there are aspects of it that I thought might interest HN readers:
* the use of a simple mathematical model to determine donation weights
* transparent presentation of donation weights and amounts
* (hopefully) straightforward UX
I’m not much of a web developer or designer, so I'd appreciate any suggestions for improvement! The site was a good excuse for me to play with Elm, which I enjoyed, and to fight with CSS, which I did not.
There’s no backend; the site just computes donation amounts and ships you off to ActBlue to complete the transaction.
The model for weights is pretty simple. There’s a roughly sigmoidal relationship between vote share and win probability, with win probability increasing rapidly in the region around 50% vote share. I fitted this relationship using the outputs from FiveThirtyEight’s 2018 House model; the cumulative distribution function of a t distribution worked pretty well. The weights are just the density of the same t distribution, and represent the relative increase in win probability due to a dollar.
Since FiveThirtyEight’s Congress models aren’t up for 2020, I’m using Cook Political Report ratings for the House as a rough cut, and a (fully Bayesian) model by Cory McCartan for the Senate.
> We split up your donation intelligently with a randomized algorithm
Your description here on HN gives some confidence that something hopefully intelligent is going on. The description on your website is not going to give anyone (nerd or not) a compelling reason to use your site.
My suggestion would be to take the content, text, and layout of your website as seriously as you took the algorithm if you want anyone to use of this cool bit of math and code you built.
Thanks for the suggestion. The wording is something I've struggled a lot with; I've found it hard to find something accurate but also short and accessible for non-technical people. Clearly it's not quite there, if that was your reaction.
A bit more context for readers: the full text at present is
> We split up your donation intelligently with a randomized algorithm, so candidates in closer races get a bigger share. Races are weighted according to the estimated impact of each dollar.
The technical details are on a separate page, which at present you need to scroll to discover.
Although the goals of the site are obviously political, there are aspects of it that I thought might interest HN readers:
* the use of a simple mathematical model to determine donation weights
* transparent presentation of donation weights and amounts
* (hopefully) straightforward UX
I’m not much of a web developer or designer, so I'd appreciate any suggestions for improvement! The site was a good excuse for me to play with Elm, which I enjoyed, and to fight with CSS, which I did not.
There’s no backend; the site just computes donation amounts and ships you off to ActBlue to complete the transaction.
The model for weights is pretty simple. There’s a roughly sigmoidal relationship between vote share and win probability, with win probability increasing rapidly in the region around 50% vote share. I fitted this relationship using the outputs from FiveThirtyEight’s 2018 House model; the cumulative distribution function of a t distribution worked pretty well. The weights are just the density of the same t distribution, and represent the relative increase in win probability due to a dollar.
Since FiveThirtyEight’s Congress models aren’t up for 2020, I’m using Cook Political Report ratings for the House as a rough cut, and a (fully Bayesian) model by Cory McCartan for the Senate.