How about the next time this rolls around instead of basing it off sales you do some labor - that will make everyone feel it was fair.
Take each affiliates user id place it on a slip of paper stick em all in a box everyone gets one entry have someone draw a name from the box and the winner is random everyone gets a fair chance and just 1 chance to win.

I have no doubt your intentions are good and were to begin with however it may have "appeared"

This is just one way to perhaps level the contest to a fair play it then becomes like lotto everyone gets a chance to win and you might make some small time affiliate very happy or who knows jub might win fairly with the luck of a draw.

My 2 cents