A non-transitory, machine-readable medium storing instructions that, when executed by one or more processors, effectuate operations comprising:
- segmenting a geographic region representation into a first set of geographic unit tiles, each geographic unit tile being a different geographic area of the geographic region representation;
- obtaining a set of geolocations at which mobile devices among a set of mobile devices are detected based on device signals transmitted by the mobile devices;
- for each geographic unit tile in the first set of geographic unit tiles, determining a respective amount of mobile devices observed within the respective geographic unit tile based on the obtained set of geolocations;
- for each geographic unit tile in the first set of geographic unit tiles, determining a respective weight corresponding to a demographic metric based on the respective amount of mobile devices observed within the respective geographic unit tile to form a set of weights;
- assigning each tile of a subset of the first set of geographic unit tiles with a set of groups based on the set of weights, wherein assigning each tile of the subset of the first set of geographic unit tiles comprises assigning a first geographic unit tile in the first set of geographic unit tiles to a first group in the set of groups;
- building a first hash map based on a set of device identifiers, the first set of geographic unit tiles and the set of groups, wherein the first hash map comprises one or more key-value pairs;
- building a second hash map by traversing the first hash map, wherein:
- keys of the second hash map are based on the set of device identifiers,
- keys correspond to values in the second hash map, and
- values of the second hash map comprise paired elements;
- determining a first subset of devices among the set of mobile devices and a second subset of devices among the set of mobile devices by traversing the second hash map, wherein the first subset of devices is associated with the first group, and wherein the second subset of devices is associated with a second group that is also from the set of groups;
- computing measures of mutual information between the second geographic unit tile and the first subset of devices and between the second geographic unit tile and the second subset of devices, wherein computing the measures of mutual information comprises:
- storing matrices representing the first subset of devices, the second subset of devices, and the second geographic unit tile in a system memory of the machine-readable medium;
- applying a blocking algorithm in which the matrices are segmented into blocks each having contiguous positions of values within a respective one of the matrices;
- iteratively loading the blocks into a higher level of memory hierarchy of the machine-readable medium from the system memory;
- and
- applying matrix multiplication operations to the blocks in the higher level of the memory hierarchy to determine values of resultant matrices;
- wherein the measures of mutual information are derived from the resultant matrices;
- determining whether a second geographic unit tile is to be assigned to the first group or the second group based on a comparison between the measures of mutual information between the second geographic unit tile and the first subset of devices and between the second geographic unit tile and the second subset of devices, wherein the second geographic unit tile is assigned to the one of the first group or the second group having a greater measure of mutual information;
- assigning the second geographic unit tile to the first group in response to a determination that the second geographic unit tile is to be assigned to the first group;
- and
- building a region map comprising the set of groups, wherein each of the first set of geographic unit tiles represents one of the set of groups corresponding to the demographic metric, and wherein at least one of the geographic unit tiles in the first set is visually displayed on the region map;
- and
- directing services for the first group to a geographic area represented on the region map by the subset of the first set of geographic unit tiles assigned to the first group.