Collaborative filtering analyzes data from multiple sources to develop profiles of people with similar tastes. It finds similarities between users based on their preferences and provides recommendations based on the preferences of similar users. Collaborative filtering requires a large amount of stored user data to make reliable recommendations, and the more users in the population, the more useful the recommendations will be. However, with small datasets it can produce false connections or poor predictions.