I'm trying to build a recommendation engine for an e-commerce site. By using the common recommendation approach, I'm assuming that each product I recommend has the same value, so all I need to do is optimize the conversion rate probably using a common recommendation algorithm, but when the product's price varies a lot, what I really need to optimize is the following formula for each user:

Value of recomendation = (probability to convert) * (product price)

The bigger problem than choosing the right algorithm and approach is choosing the right metric, so I could compare the different algorithms. For example, if you would like to only optimize the conversion rate, I would use the precision and recall or false/positive metrics.

What metrics and approaches/algorithms are recommended in this case?


  • $\begingroup$ Why can't you use a false positive based metric? You could weight each positive/negative response with the price of the product. In your conversion rate, instead of converting product, you will convert money. $\endgroup$ – Manu H Nov 17 '16 at 13:11
  • $\begingroup$ That sounds very interesting but I'm not sure I've fully understood, could you please elaborate a bit? $\endgroup$ – David Nov 17 '16 at 13:40
  • $\begingroup$ I meant you may replace "probability to convert" by your home-made "value of recommendation" as is in the recommendation algorithms you are testing. $\endgroup$ – Manu H Nov 17 '16 at 14:04

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.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.