# Machine learning approach to a selection problem

I'm thinking how to tackle such a problem.

Let's say we have a set of products, each have some numeric characteristics (x1, x2, x3). A customer is given a choice of n such products and buys one. Only a few of products are shown and the choice is made only between them based solely on the characteristics. The number of products for selection varies. Now assuming that I have a good amount of data describing the sets given for choice and the choice made, how do I build a model to predict the outcome of similar experiment in the future? That is, we give n products and want to find which will be the choice based on their characteristics.

My first thought was neural network, but that would work only if I have a constant set of inputs and here it varies. Any suggestions are welcome.