1. A method implemented at a server computer, the method comprising: selecting, by the server computer, an offer, the offer including an agreement to provide a compensation to a user in exchange for the user purchasing a good or service; identifying, by the server computer, a plurality of users; determining, by the server computer, for each of the plurality of users, a redemption probability for the user, the redemption probability representing a likelihood that the user will redeem the offer if presented with the offer, wherein the redemption probabilities of the plurality of users are not all the same; selecting, by the server computer, a subset of the plurality of users to receive the offer, wherein selecting includes computing, based on the redemption probability, an expected total cost if each user in the subset is presented with the offer and requiring that the expected total cost is less than or equal to a total campaign budget; and presenting the offer to the selected subset of the plurality of users.