I have this web application where I need to map consumer preferences based on some input information and individual choices. My goal is to create a list of product recommendations and evaluate the level of “importance” of these products with respect to the user.

From my research so far I realize that there are several ways to address this problem. For instance there is the classical marketing research approach that involves modeling individual utility functions and econometric models. Alternatively, there’s the machine learning approach with learning based algorithms. There might be others I’m not aware of.

Which would be the best approach in this case? Are there other alternatives? I really could use some direction on the best way to go.

  • $\begingroup$ Highly voted questions with the recommender-system tag should give a good start, this question in particular. $\endgroup$ Jul 17, 2014 at 0:15

1 Answer 1


it depends on the data you have: do you have purchases identified by buyer, corresponding prices, other information about the buyer? information about the products?

Most of today's econometric consumer choice models (aids, quaids, easi) use a form close to Holbrook Working's form, something like:

$w_n^i = \alpha^i + \beta^i \log(y_n) + \sum_{k=1}^J \gamma^i_k \log(price_k) + \sum_{l=1}^L \delta^i_l socio^l_n + \epsilon_n $

where $w^i_n$ is the share of the expenditure of consumer $n$ on good $i$ in her total expenditure, $y_n$ is the total expenditure of consumer $n$, $socio^l_n$ is the $l$th of $L$ socio-demographic control variables for consumer $n$, and $\epsilon$ is the error term.

This form fits remarkably well on many macro and micro consumer expenditure datasets, so it is worth a try. It is straightforward to fit (if you don't need to conform to microeconomic theory of consumer choice), and easily gives you the estimated effect of a change in total expenditure or price on the quantities purchased. That would be the economic way of evaluating the importance of products. However usually it is used on a small number of broad categories of goods, and not on hundreds of products as in a webshop.

Alternatively, you can use machine learning methods for regression (predict the probability of buying a given object?) or unsupervized learning (to see which kinds of consumers are "close" to given products). And I think there is also a whole literature about recommender systems, but I don't know anything about that.

  • $\begingroup$ In this expression what does $price_k$ represent? The price of substitutive products? $\endgroup$
    – R.D
    Jul 22, 2014 at 17:46
  • $\begingroup$ Exactly, $\log(price_k)$ is the natural logarithm of the price of product $k$. I should actually have used the notation $\log(price_n^k)$, because prices are supposed to vary across consumers (if some price has no variation across consumers in your database, you cannot include that price). So for each equation you use the price of all goods. $\endgroup$
    – jubo
    Jul 22, 2014 at 19:16
  • $\begingroup$ My problem is slightly different. There is only one kind of product with several attributes varying across sellers (my clients). I don't have any information about consumer purchases, only his elected preferences on a certain range of attributes My job is to find a good match for him based on my list of clients so, indirectly, I need to measure the importance of each attribute for that consumer in order to point out the seller. $\endgroup$
    – R.D
    Jul 24, 2014 at 18:03
  • $\begingroup$ Ok, so if I get you right you want a model where the output variable is the id label of a seller, and the input variables are some kind of scores on a set of attributes. And you have a dataset where a number of consumers express their preferences over those attributes? And you also have the scores of each seller, in a different dataset? $\endgroup$
    – jubo
    Jul 25, 2014 at 3:36
  • $\begingroup$ Kind of. The output is a list of products (offers from sellers) based on consumers preferences. I have two data sets. One of the consumers preferences over attributes and one of the offers attributes. It would be a simple mapping if there weren't issue over the information on the two sides. Latent preference for the consumer and latent attributes for offer description. $\endgroup$
    – R.D
    Jul 29, 2014 at 1:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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