Recommendation/personalization algorithm conflict
This is actually slightly similar to the problem that insurance companies face except that it seems like your loss costs are known.  Insurers have some probability of loss and then, given loss, the magnitude of the loss follows some distribution.  The cost to the insurer is dependent on both and they tend to be inversely related (lower losses are more likely than higher ones.)  

In your case, the value is known so you don't need to predict it the way insurers need to predict losses so you could simply:


Model the probability (phat)
Multiply the predicted probability by the known value (score = phat * value)
Recommend based on the resulting score


Insurance companies typically do the same thing in calculating premiums except that they also need to model value.  They sometimes model the two components jointly but typically they have separate models for frequency and severity and then just multiply them together to determine how much premium they should charge somebody.