Classification with varying choice set (e.g. Auction) I have the following situation: I am a customer and I search for a commodity to buy. I receive several offers from various companies and I must make a choice which one to buy. After some time I make the same search, receive different offers and again have to choose from them. And after some time again and again. 
This way I generate data in the format: a "pack" of offers and my choice. 
The row data may look like this:
search_id    |  offer_id    |   price   |   time_to_delivery   | my_choice 
1            |     1        |    200    |       5              | 0 
1            |     2        |    100    |       1              | 1 
2            |     1        |    250    |       10             | 1 
3            |     1        |    100    |       20             | 0
3            |     2        |    150    |       30             | 0
3            |     3        |    200    |       10             | 1 

My goal is now to predict what my choice will be when I search again and obtain the following pack of offers: 
search_id    |  offer_id    |   price   |   time_to_delivery   | my_choice 
4            |     1        |    200    |       3              | ? 
4            |     2        |    100    |       2              | ? 


What is the most suitable approach for this kind of problem? 
 A: First, you have to think about the factors that help you take your decision. List any variables and check whether you could have data available for each. 
Then, try to estimate the net present value of three solutions: 


*

*continue as now without aid, 

*rely on an external solution, 

*invest in your own data analytic solution. 


The solution with the highest NPV would be the best investment decision. You can skip this financial step, however, if you are a professional, this is something to seriously think about.
If you choose to build your own model, you will have to build a data set first for training, ideally covering all the factors you've come up with. Your target variable should be a ranking of the choices per pack, or a score attached to each choice indifferently from the pack. A simple yes/no might yield predictions without "yes" answer. Do you have the data necessary to build your target variable?
If you don't know yet what drives your decisions, you should walk the unsupervised learning road first.
