A method executed by a computer, comprising: receiving a set of locations from first mobile devices that are located within a communication range of an access point of a wireless communications network, each location associated with an access point, each location being determined by a location-aware mobile device of the first mobile devices; determining a geographic location associated with each access point based on an average of the received set of locations associated with the access point, the geographic location corresponding to the centre of a presence area associated with the access point, the presence area providing an indication of where a mobile device located in communication range of the access point is likely to be located; assigning the access point and the geographic location associated with each access point to a cell on a geographic grid based on a popularity of the access point, stability of the presence area corresponding to the geographic location, and longevity of the access point, the popularity of the access point corresponding to the number of mobile devices located within a communication range of the access point, the stability of the presence area corresponding to a degree of geographic overlap between the presence area corresponding to the current and previously determined geographic location associated with the access point, and the longevity of the access point corresponding to how long the access point has existed; for each cell on the geographic grid, ranking each presence area corresponding to respective geographic locations assigned to the cell based on the popularity, stability, longevity, and a freshness of data associated with a presence area, the freshness of data corresponding to an amount of time since the most recent location was received from a mobile device in communication range of the access point to which the presence area is associated; selecting the top-ranked presence areas; and providing the selected presence areas and corresponding geographic locations associated with the access point and selected presence areas corresponding to geographic locations of access points assigned to cells neighboring the cell on the geographic grid to a second mobile device. receiving a set of locations from first mobile devices that are located within a communication range of an access point of a wireless communications network, each location associated with an access point, each location being determined by a location-aware mobile device of the first mobile devices; determining a geographic location associated with each access point based on an average of the received set of locations associated with the access point, the geographic location corresponding to the centre of a presence area associated with the access point, the presence area providing an indication of where a mobile device located in communication range of the access point is likely to be located; assigning the access point and the geographic location associated with each access point to a cell on a geographic grid based on a popularity of the access point, stability of the presence area corresponding to the geographic location, and longevity of the access point, the popularity of the access point corresponding to the number of mobile devices located within a communication range of the access point, the stability of the presence area corresponding to a degree of geographic overlap between the presence area corresponding to the current and previously determined geographic location associated with the access point, and the longevity of the access point corresponding to how long the access point has existed; for each cell on the geographic grid, ranking each presence area corresponding to respective geographic locations assigned to the cell based on the popularity, stability, longevity, and a freshness of data associated with a presence area, the freshness of data corresponding to an amount of time since the most recent location was received from a mobile device in communication range of the access point to which the presence area is associated; selecting the top-ranked presence areas; and providing the selected presence areas and corresponding geographic locations associated with the access point and selected presence areas corresponding to geographic locations of access points assigned to cells neighboring the cell on the geographic grid to a second mobile device.