A computer-implemented method for delivering information to a user terminal, comprising: obtaining user data, the user data including a plurality of user activity locations and corresponding user activity time, wherein a user activity location defines a location where a user activity took place and the user activity time is associated with the user activity locations such that each user activity location corresponds to one of a plurality of predefined time periods, and wherein a first user activity location of the plurality of user activity locations comprises a first plurality of geographic positions within a vicinity of the first user activity location and a second user activity location of the plurality of user activity locations comprises a second plurality of geographic locations within a vicinity of the second user activity location; identifying a first specific position and a second specific position based on the plurality of geographic positions of the first and second user activity locations and the user activity time, wherein the identifying comprises: grouping, by a clustering algorithm, the plurality of geographic positions of the first user activity location into a first cluster and the plurality of geographic positions of the second user activity location into a second cluster; and deriving the first specific position from the first cluster and the second specific position from the second cluster; selecting a travel path between the first and second specific positions determining a user activity area by selecting points on the selected travel path at preset intervals, with the user activity area being determined as an area within a predefined distance of each of the selected points; and sending content to the user terminal based on the user activity area. obtaining user data, the user data including a plurality of user activity locations and corresponding user activity time, wherein a user activity location defines a location where a user activity took place and the user activity time is associated with the user activity locations such that each user activity location corresponds to one of a plurality of predefined time periods, and wherein a first user activity location of the plurality of user activity locations comprises a first plurality of geographic positions within a vicinity of the first user activity location and a second user activity location of the plurality of user activity locations comprises a second plurality of geographic locations within a vicinity of the second user activity location; identifying a first specific position and a second specific position based on the plurality of geographic positions of the first and second user activity locations and the user activity time, wherein the identifying comprises: grouping, by a clustering algorithm, the plurality of geographic positions of the first user activity location into a first cluster and the plurality of geographic positions of the second user activity location into a second cluster; and deriving the first specific position from the first cluster and the second specific position from the second cluster; grouping, by a clustering algorithm, the plurality of geographic positions of the first user activity location into a first cluster and the plurality of geographic positions of the second user activity location into a second cluster; and deriving the first specific position from the first cluster and the second specific position from the second cluster; selecting a travel path between the first and second specific positions determining a user activity area by selecting points on the selected travel path at preset intervals, with the user activity area being determined as an area within a predefined distance of each of the selected points; and sending content to the user terminal based on the user activity area.