another minor observation about fairness in choosing winners.
I've noticed that my obsession with "fairness" in awarding prizes for these drawings and for the few programming contests we had where we gave prizes is fraught with dangers.
The whole reason i wrote the prize optimizer was because i thought there should be a fairer way to choose winners based on what they want and to give everyone a chance to win.
But taking such an approach means i sometimes agonize over these things and struggle to figure out the "fairest" solution, when i often don't have enough information to make a "fair" decision. For example when we had a big programming contest with very expensive prizes, i struggled hard with the idea that some people could not afford this if they don't win it, wheras for others price wasn't an issue, but maybe pride was, etc.
Also, if you try to make a decision about what would be the "fair" way to give out prizes, then some people might feel upset at why you didn't think they were more worthy, and maybe you just forgot about something, etc.
One huge advantage to just making everything just a purely random choice is that people can get mad at the universe when they don't win, instead of getting mad at you

So, i think i've given up trying to figure out a way to make these things go to the people that really deserve them, and let it mostly be luck, with just a small number of heuristics to try to make it a little more fair overall in the long run.