1. A method comprising: receiving, at least one server, attribute data for a plurality of users, the attribute data relating to a plurality of attributes of the plurality of users and to one or more venues for which the plurality of users has an affinity; receiving, at the at least one server, venue data for a plurality of venues, the plurality of venues including the one or more venues for which the plurality of users have the affinity, the venue data relating to a plurality of attributes of the plurality of venues; accessing, via the at least one server, a data network comprising nodes corresponding at least to the plurality of venues and the plurality of users, and further comprising links between said nodes, each link reflecting a strength of an interrelationship between at least two nodes; calculating, at the server and from the data network, user personality profiles for at least a first user and a second user of the plurality of users, wherein the user personality profiles each include data relating to the link strengths between the first user and the one or more venues for which the first user has the affinity and the second user and the one or more venues for which the second user has the affinity; calculating, at the server and from the user personality profiles, a combined personality profile by calculating one or more composite link strengths representing a combination of the data relating to the link strengths from the user personality profiles; determining, at the at least one server and based on the one or more composite link strengths and at least one venue attribute, one or more recommended venues that have the strongest links to the combined personality profile; generating, at the at least one server, recommendation data comprising at least one recommended venue of the one or more recommended venues; and serving to a client device the recommendation data for display on a screen of the client device.