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)