# How to calculate correlation between consumers according their multi-aspect and overall rating?

In e-commerce site, consumers would provide a overall rating with multi-aspect ratings. For example, if a consumer purchase a camera, he would provide a rating info as follows:

User    Product    Size/Wight    Appearance    Battery    Price    Display    Overall
A       Camera 1      4             2              3        5        5          4
B       Camera 2      4             2              3        5        5          2
C       Camera 3      2             4              5        1        2          4
D       Camera 4      2             4              5        1        2          2


In practice, in our dataset, a consumer would only purchase a camera. So, how can we determine the correlation between pair of users (A vs B, or A vs C, etc) using the provided heterogeneous data.

-
Correlation is something one computes between variables, not between users. Are you looking to see how variables relate to one another, e.g., whether smaller size tends to mean lower price? Or are you looking to devise a system to assess how similar different users are to one another (a less straightforward problem requiring more subjective criteria)? –  rolando2 Oct 29 '11 at 13:44
I think different consumers would contains various preferences among these features (Size, Appearance, etc). Now, we have the overall rating and aspect ratings, so, i think we can get something interesting from these mutual rating information. –  Charlie Epps Oct 30 '11 at 2:29

Cluster analysis might be your answer. It is a family of methods used to determine the degree of similarity among different cases (in your instance, cases would mean either people or cameras). There are many cluster analysis methods, and even within a given method there are many options or specifications to be chosen by the analyst. 10 different analysts might arrive at 10 different solutions. So I can't give you a recipe that you can follow in order to achieve your goal; I don't think anyone can.

Multidimensional scaling is another approach to seeing how the different cases compare to one another. (Most commonly it is applied to variables, but it can also map cases in N-dimensional space.) If anything, though, it is even more technical than cluster analysis.

As you read up on these things, you might also want to look into perceptual mapping or the Galileo technique.

-
for the clustering approach, the most important issue is to find the similarity metric. However, in my instance, one consumer would only purchase a single product. So, for the users who purchased different products, we can't directly compute the similarity between them using the given ratings. –  Charlie Epps Oct 30 '11 at 5:15