A method of automatically transmitting a message to a first user, the method comprising: obtaining a first set of time-stamped previous locations of the first user; obtaining, for each of a plurality of second users, a second set of time-stamped previous locations of the second user; and determining, for each of the first and second users, one or more stay locations on the basis of the respective set of time-stamped previous locations; characterized in that the method further comprises: generating a user-location matrix linking the space of the first and second users and the space of stay locations to respective quantities indicative of durations or counts of stay, wherein a dimension of said space of the first and second users is given by the number of the first and second users, and wherein each of the entries of the user-location matrix relates to a given one of the first and second users and to a given stay location, and corresponds to a quantity indicative of a duration or count of stay of the respective user at the respective stay location; performing a singular value decomposition of the user-location matrix to obtain singular values of the user-location matrix and singular vectors of the user-location matrix relating to the first and second users; selecting a subset of the singular vectors that correspond to a given number of the largest singular values; determining a plurality of user groups by performing clustering on the subset of singular vectors; and transmitting a message including navigation information relating to a target location to the first user in accordance with an association of the first user to a user group among the plurality of user groups, wherein the navigation information is generated based on the association of the first user to the user group and a current location of the first user. obtaining a first set of time-stamped previous locations of the first user; obtaining, for each of a plurality of second users, a second set of time-stamped previous locations of the second user; and determining, for each of the first and second users, one or more stay locations on the basis of the respective set of time-stamped previous locations; characterized in that the method further comprises: generating a user-location matrix linking the space of the first and second users and the space of stay locations to respective quantities indicative of durations or counts of stay, wherein a dimension of said space of the first and second users is given by the number of the first and second users, and wherein each of the entries of the user-location matrix relates to a given one of the first and second users and to a given stay location, and corresponds to a quantity indicative of a duration or count of stay of the respective user at the respective stay location; performing a singular value decomposition of the user-location matrix to obtain singular values of the user-location matrix and singular vectors of the user-location matrix relating to the first and second users; selecting a subset of the singular vectors that correspond to a given number of the largest singular values; determining a plurality of user groups by performing clustering on the subset of singular vectors; and transmitting a message including navigation information relating to a target location to the first user in accordance with an association of the first user to a user group among the plurality of user groups, wherein the navigation information is generated based on the association of the first user to the user group and a current location of the first user. generating a user-location matrix linking the space of the first and second users and the space of stay locations to respective quantities indicative of durations or counts of stay, wherein a dimension of said space of the first and second users is given by the number of the first and second users, and wherein each of the entries of the user-location matrix relates to a given one of the first and second users and to a given stay location, and corresponds to a quantity indicative of a duration or count of stay of the respective user at the respective stay location; performing a singular value decomposition of the user-location matrix to obtain singular values of the user-location matrix and singular vectors of the user-location matrix relating to the first and second users; selecting a subset of the singular vectors that correspond to a given number of the largest singular values; determining a plurality of user groups by performing clustering on the subset of singular vectors; and transmitting a message including navigation information relating to a target location to the first user in accordance with an association of the first user to a user group among the plurality of user groups, wherein the navigation information is generated based on the association of the first user to the user group and a current location of the first user.