1. A method comprising: receiving a request from a viewing user of a social networking system for a newsfeed; determining a plurality of candidate stories for the viewing user, the plurality of candidate stories associated with a plurality of other users of the social networking system with which the viewing user has established a connection; ranking the plurality of candidate stories, wherein the ranking penalizes a rank of candidate story based on a higher ranked candidate story having an attribute in common with the penalized candidate story; generating a newsfeed comprising a plurality of the candidate stories, the generated newsfeed based at least in part on the ranking; and sending the generated newsfeed for display to the viewing user.