Finding differences between groups of users - and identifying how are they different Following up on my previous questions I'll start with the basics and hopefully the community could help me find a solution!
I have distinct groups of users, let's say they are grouped by geographic region (N. America, Europe, APAC, etc.). I also have various metrics about how they interact with my service.
For example, if I'm YouTube, this could be consumption (measured by consumption time or number of different videos) of videos by their category (let's say there are a 1000 distinct categories). I also have some other data, like the device they use, timestamp for every video they watched, etc.
What I want to do is compare the different geographies to users in North America. For each I want a quantifiable measure how their consumption is different than the consumption of North America users, and I'd like a way to flag (or stack rank) the dimensions they're different in, e.g. people in Europe watch a proportionally large volume of pub quiz related videos.
I was thinking to go about it with cosine similarity, which would allow me to put different geographies on a 0 to 1 scale, but completely open to your suggestions!
 A: Just some thoughts on grouping by geographic region.
It occurred to me, that I may have more in common (albeit a language different), as a US consumer, with a German consumer. Why? Because both of us are products of progressive affluence democratic western societies with a common world view.
In essence, views and tastes are societally related and not fundamentally geographically dictated/generated.
As an example, Germany and Turkey (or Iran) may not too far from each other geographically, but are definitively distinct from a societally perspective.
One way to group these countries, is perhaps, similarities in music taste (as in the sales of the same record) or common history or forms of government,...
So, I am suggesting perhaps a different construct than geographic location may produce more meaningful results.
[EDIT] On associated methodology, see, for example, Journal of Consumer Research, Vol. 8, No. 4 (Mar., 1982), pp. 453-455 (3 pages), an interesting article "Life Styles and Consumption Patterns" by Stephen C. Cosmas, who employed Q-Factor Analysis to form lifestyles and product typologies. Lifestyle clustering yielded seven groups. There is a Table (on Page 454) that displays a test of the relationship between lifestyle and product-assortment groups.
You may be able to access from this link.
A: If you train your favorite classifier (random forest, boosted trees, whatever) to predict geography, and use the feature importance metric to rank the features, this will give a certain sense of an answer to the question "how are these geographies different." The precise meaning will depend on the algorithm and the way you measure importance, but this should provide a straightforward way to make progress.
In the same vein, using the boruta algorithm will also allow you to filter out irrelevant features.
A: So I would suggest a regularised linear/glm regression model with geography interacted with your other variables predicting consumption.
so you model eg consumption ~ video_category + geography + video_category:geography
the linear effects are removed (us users watch more overall, pop_music is watched more than classical) and the interaction coefficients give you the additional effects of german classical viewer etc.
a suitable library might be glmnet. it needs to support sparse matrices because you do not want to represent 1000 categories as a full matrix. (especially if you then look at interactions)
