analyze user preferences and behaviors