The task is about choosing the best compensation option for a customer. A customer (features: regular/premium, old/new, etc ...) which is facing a certain type of an issue such as delayed order (features: value, delay duration, etc...) wants a compensation. I want to design an algorithm that evaluates possible compensation options -- option A, B, C -- in terms of how satisfied a customer is with them.

Given this problem setting, I am wondering about what approach could be more reasonable. There are some possibilities I can think of, but I would be keen to hear other suggestions:

  • Recommender System. Something that takes customer+order features and looks at similar customers & orders that had been given the options in the past and their reaction to those options

    • this way we can leverage 'neighbourhood' information: similar customers, similar orders
    • unfortunately, it seems that recommender systems are designed to be user-specific. I do not care about providing a range of options for a 'particular' user, but more so for an approximated (contextualized) user. Do you maybe know of approaches in this direction?
  • Contextual Bandit approach, where customer+order features form a context and an arm corresponds to a compensation option

    • the disadvantage that I see here is one of overexploration. I really want to reduce trying out 'risky' options for the sake of exploration (ie, offering a low compensation)
  • Simple classification: given customer+order features what would be the reaction to each option be (positive or negative)


Your Answer

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

Browse other questions tagged or ask your own question.