The embodiments herein relate to clustering geographical locations, and more specifically to clustering of places of interests (PO's) using segment characterization, and common evening locations of entities.
The COVID pandemic has significantly changed behavior of the consumers to a new normal, and organizations have witnessed a major upheaval in determining the behaviour patterns and journey of the users of the stores. In this regard, users vicinity shopping and dwell time in engaging with the brand has drastically changed. Henceforth, predicting the retail potential for a given store is required to get a complete picture of both people and places in a given geography.
With the ever-increasing digitization and usage of smart mobile applications, users are generating a large amount of internet traffic data. The internet traffic data may be an indicator of the location of the users at a given time frame. A variety of different events associated with the users are encoded in many data formats, recorded, and transmitted in a variety of data streams depending on the nature of the device. Smart mobile applications, when engaged with a user, generate an event that produces data streams with device identifiers that are an integral part of the smartphone ecosystem and smart mobile applications economy.
Further, the data streams are from independently controlled sources. The independently controlled sources are sources of the data stream that control a variety of aspects such as the attributes which are collected, frequency and means of data being collected, the format of data, format of populating the data stream, and types of identifiers used.
Accordingly, there remains a need for a more efficient system and method for mitigating and/or overcoming drawbacks associated with current methods.
In view of the foregoing, an embodiment herein provides a method of clustering of one or more places of interests (POIs) using segment characterization and common evening locations of one or more entities. The method includes (a) generating, using one or more location data streams that are associated with the one or more entities, a location mapping of the one or more entities with a geographical area, the location mapping provides an ambient population of the geographical area and a common evening location of the one or more entities, (b) determining, for each of the one or more POIs, visitor entities among the one or more entities to record a footfall of each of the one or more POIs, the visitor entities of a POI are the entities that visit the POI, (c) dynamically assigning catchment areas for each of the one or more POIs using the footfall and the location mapping, (d) determining segments of the visitor entities for each of the one or more POIs based on an offline behaviour and an online behaviour of the visitor entities, (e) automatically approximating an error in the footfall to improve a footfall model, the footfall model estimates a threshold that offsets the footfall to obtain an improved footfall of each of the plurality of POIs, (f) determining a segment opportunity value for each of the one or more POIs, the segment opportunity value is a function of (i) the improved footfall, (ii) the ambient population of each of the plurality of POIs, (iii) the segments of the visitor entities and (iv) nearby POIs, and (g) clustering the plurality of POIs that have similar catchment areas based on the segment potential value and the improved footfall.
In some embodiments, the one or more location data streams are obtained from independently controlled data sources, the location data streams include a real-time event with additional information including device attributes, connection attributes, and user agent strings.
In some embodiments, the method further includes (a) generating a list of unique visitor entities for each of the plurality of POIs, and (b) assigning catchment areas based on the common evening location of the list of unique visitor entities, average distance travelled by the list of unique visitor entities to visit each of the plurality of POIs and POIs nearby to the common evening location of the list of unique visitor entities.
In some embodiments, the method further includes (a) generating a list of unique non-visitors that have not visited the plurality of POIs or are repeat visitors of the plurality of POIs, and (b) updating the improved footfall using the list of unique non-visitors based on the catchment areas.
In some embodiments, the method further includes eliminating a bias in the footfall model, the bias is introduced due to a business size of a POI that causes a POI with lower improved footfall to have a lower segment potential value.
In some embodiments, the segment opportunity value for each of the one or more POIs is determined using a drive distance of the visitor entities to each of the one or more POIs, the improved footfall, a dwell-time of the visitor entities in each of the one or more POIs, a visit frequency, a segment characteristic of the segments of the visitor entities and the common evening locations of the visitor entities.
In some embodiments, the method further includes determining the segment opportunity value for each of the plurality of POIs using a weighted average approach based on attributes of the one or more entities, the attributes include a distance travelled attribute, an affinity attribute, a purchase window attribute, an income attribute, and an age attribute.
In another aspect, there is provided a place of interest (POI) clustering server that clusters one or more POIs using segment characterization and common evening locations of one or more entities. The POI clustering server includes a processor and a memory that stores a set of instructions, which when executed by the processor, causes to perform: (a) generating, using one or more location data streams that are associated with the one or more entities, a location mapping of the one or more entities with a geographical area, the location mapping provides an ambient population of the geographical area and a common evening location of the one or more entities, (b) determining, for each of the one or more POIs, visitor entities among the one or more entities to record a footfall of each of the one or more POIs, the visitor entities of a POI are the entities that visit the POI, (c) dynamically assigning catchment areas for each of the one or more POIs using the footfall and the location mapping. (d) determining segments of the visitor entities for each of the one or more POIs based on an offline behaviour and an online behaviour of the visitor entities, (e) automatically approximating an error in the footfall to improve a footfall model, the footfall model estimates a threshold that offsets the footfall to obtain an improved footfall of each of the plurality of POIs, (f) determining a segment opportunity value for each of the one or more POIs, the segment opportunity value is a function of (i) the improved footfall, (ii) the ambient population of each of the one or more POIs, (iii) the segments of the visitor entities and (iv) nearby POIs, and (g) clustering the one or more POIs that have similar catchment areas based on the segment potential value and the improved footfall.
In some embodiments, the one or more location data streams are obtained from independently controlled data sources, the location data streams include a real-time event with additional information including device attributes, connection attributes, and user agent strings.
In some embodiments, the POI clustering server further includes (a) generating a list of unique visitor entities for each of the plurality of POIs, and (b) assigning catchment areas based on the common evening location of the list of unique visitor entities, average distance travelled by the list of unique visitor entities to visit each of the one or more POIs and POIs nearby to the common evening location of the list of unique visitor entities.
In some embodiments, the POI clustering server further includes (a) generating a list of unique non-visitors that have not visited the one or more POIs or are repeat visitors of the one or more POIs, and (b) updating the improved footfall using the list of unique non-visitors based on the catchment areas.
In some embodiments, the POI clustering server further includes eliminating a bias in the footfall model, the bias is introduced due to a business size of a POI that causes a POI with lower improved footfall to have a lower segment potential value.
In some embodiments, the segment opportunity value for each of the one or more POIs is determined using a drive distance of the visitor entities to each of the one or more POIs, the improved footfall, a dwell-time of the visitor entities in each of the one or more POIs, a visit frequency, a segment characteristic of the segments of the visitor entities and the common evening locations of the visitor entities.
In some embodiments, the POI clustering server further includes determining the segment opportunity value for each of the one or more POIs using a weighted average approach based on attributes of the one or more entities, the attributes include a distance travelled attribute, an affinity attribute, a purchase window attribute, an income attribute, and an age attribute.
In another aspect, there is provided one or more non-transitory computer-readable storage mediums storing the one or more sequences of instructions, which when executed by the one or more processors, causes clustering of one or more places of interests (POIs) using segment characterization and common evening locations of one or more entities by (a) generating, using one or more location data streams that are associated with the one or more entities, a location mapping of the plurality of entities with a geographical area, the location mapping provides an ambient population of the geographical area and a common evening location of the one or more entities, (h) determining, for each of the one or more POIs, visitor entities among the one or more entities to record a footfall of each of the one or more POIs, the visitor entities of a POI are the entities that visit the POI, (c) dynamically assigning catchment areas for each of the one or more POIs using the footfall and the location mapping, (d) determining segments of the visitor entities for each of the one or more POIs based on an offline behaviour and an online behaviour of the visitor entities, (e) automatically approximating an error in the footfall to improve a footfall model, the footfall model estimates a threshold that offsets the footfall to obtain an improved footfall of each of the one or more POIs, (f) determining a segment opportunity value for each of the one or more POIs, the segment opportunity value is a function of (i) the improved footfall, (ii) the ambient population of each of the plurality of POIs, (iii) the segments of the visitor entities and (iv) nearby POIs, and (g) clustering the one or more POIs that have similar catchment areas based on the segment potential value and the improved footfall.
In some embodiments, the one or more location data streams are obtained from independently controlled data sources, the location data streams include a real-time event with additional information including device attributes, connection attributes, and user agent strings.
In some embodiments, the sequence of instructions further includes (a) generating a list of unique visitor entities for each of the one or more POIs, and (b) assigning catchment areas based on the common evening location of the list of unique visitor entities, average distance travelled by the list of unique visitor entities to visit each of the one or more POIs and POIs nearby to the common evening location of the list of unique visitor entities.
In some embodiments, the sequence of instructions further includes (a) generating a list of unique non-visitors that have not visited the one or more POIs or are repeat visitors of the one or more POIs, and (b) updating the improved footfall using the list of unique non-visitors based on the catchment areas.
In some embodiments, the sequence of instructions further includes eliminating a bias in the footfall model, the bias is introduced due to a business size of a POI that causes a POI with lower improved footfall to have a lower segment potential value.
In some embodiments, the sequence of instructions further includes determining the segment opportunity value for each of the one or more POIs using a weighted average approach based on attributes of the one or more entities, the attributes include a distance travelled attribute, an affinity attribute, a purchase window attribute, an income attribute, and an age attribute.
These and other aspects of the embodiments herein will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following descriptions, while indicating preferred embodiments and numerous specific details thereof, are given by way of illustration and not of limitation. Many changes and modifications may be made within the scope of the embodiments herein without departing from the spirit thereof, and the embodiments herein include all such modifications.
The embodiments herein will be better understood from the following detailed description with reference to the drawings, in which:
The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
There remains a need for a system and method for clustering geographical locations, and more specifically, for an automatic system and method for clustering of one or more places of interests (POIs) using segment characterization and common evening locations of a plurality of entities. Referring now to the drawings, and more particularly to
The term “independently controlled data sources” refers to any source that may control or standardize different aspects of data streams. The different aspects include, but is not limited to, (1) a type of data that needs to be collected, (2) a time and location of the data need to be collected, (3) a data collection method, (4) modification of collected data, (5) a portion of data to be revealed to the public, (6) a portion of the data to be protected, (7) a portion of data that can be permitted by a consumer or a user of an application or the device, and (8) a portion of data to be completely private. The terms “consumer” and “user” may be used interchangeably and refer to an entity associated with a network device or an entity device.
A single real-world event may be tracked by different independently controlled data sources. Alternatively, data from the different independently controlled data sources may be interleaved to understand an event or a sequence of events. For example, consider the consumer using multiple applications on his smartphone, as he or she interacts with each application, multiple independent data streams of the sequence of events may be produced. Each application may become an independent data source. Events and users may have different identifiers across different applications depending on how the application is implemented. Additionally, if one were to monitor a network, each application-level event may generate additional lower-level network events.
In an exemplary embodiment, various modules described herein and illustrated in the figures are embodied as hardware-enabled modules and may be configured as a plurality of overlapping or independent electronic circuits, devices, and discrete elements packaged onto a circuit board to provide data and signal processing functionality within a computer. An example might be a comparator, inverter, or flip-flop, which could include a plurality of transistors and other supporting devices and circuit elements. The modules that are configured with electronic circuits process computer logic instructions capable of providing at least one of digital signals or analog signals for performing various functions as described herein.
The device signature may refer to a hashed identifier (a unique, non-sequential identifier) that may be generated using one or more device attributes. An example of the device signature may be “256353902131466809”. The one or more device attributes describes the entity device 104A and may be configured during the manufacturing process of the entity device 104A itself. The one or more device attributes may include, but not be limited to, a make attribute, a model number attribute for a particular group of entity devices, an operating system, a device screen size, and other suitable data related to the one or more entity devices 104A-N. For example, the plurality of device attributes may be (a) “Samsung, SM-A715F, Android,1080x2400”, (b) “Samsung|SM-N960U|Android”, (c) “Apple|iPad|iOS”. The set of individuals tray be the consumer or the user. In some embodiments, the one or more entity devices 104A-N include, but are not limited to, a mobile device, a smartphone, a smart watch, a notebook, a Global Positioning System (GPS) device, a tablet, a desktop computer, a laptop or any network enabled device that generates the location data streams.
In some embodiments, the one or more entity devices 104A-N may run the one or more smart mobile applications that are responsible to generate the location data streams. In some embodiments, the network 106 is at least one of a wired network, a wireless network, a combination of the wired network and the wireless network or the Internet.
The POI clustering server 108 may be configured to generate a location mapping of the one or more entities 102A-N with a geographical area using one or more location data streams that are associated with the one or more of entities 102A-N. The location mapping provides an ambient population of the geographical area and a common evening location of the one or more entities 102A-N. The one or more location data streams are obtained from independently controlled data sources, where the location data streams include a real-time event with additional information including device attributes, connection attributes, and user agent strings. A connection attribute is a connection-indicative signal that may be generated at the one or more entity devices 104A-N. The connection attribute may be indicative of a presence or a characteristic of a connection between the one or more entity devices 104A-N and at least one other entity device of the one or more entity devices 104A-N or a server. The one or more connection attributes may include, but not be limited to, a connection type, an internet protocol address, and a carrier. For example, the one or more connection attributes may be “Cel14g,203.218.177.24,454-00”. The user agent strings contain a number of tokens that refer to various aspects of a request from the one or more entity devices 104A-N to the server, including a browser name and a browser version, a rendering engine, the model number attribute of the one or more entity devices 104A-N, the operating system. For example, the user agent strings may be (a) “Mozilla/5.0 (Linux; Android 6.0; S9_N Build/MRA58K; wv)”, (b) “AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0”, (c) “Chrome/84.0.4147.125” and (d) “Mobile Safari/537.36”. Engagement of the one or more entity devices 104A-N with wi-fi hotshots may be tracked using location data streams that may be obtained from the different independently controlled data sources which may include telecom operators or smart mobile application data aggregators. The location data stream is the event or the sequence of events associated with time and location (longitude and latitude) and may also include additional payload information. The event or the sequence of events may be tracked by the different independently controlled data sources. For example, consider an entity 102A or a user using one or more smart mobile applications on an android phone associated with the entity 102A. As he or she interacts with each application, multiple independent streams of events may be produced and each application becomes an independent data source. Events and the one or more entity devices 104A-N may have different identifiers across different applications depending on how the smart mobile application is implemented. Additionally, if the network 106 were to be monitored, each smart mobile application-level event may generate additional lower-level network events.
In some embodiments, the independently controlled data sources may include (a) real-time bidding data that is an incoming data source that may be used for targeting an entity, (b) software development kit data that provides increased control, accuracy, and trust in the location data streams, and (c) third-party data sources that include app graph and professional data that may be used to enrich and build device signatures, or a list of normalized device models.
The POI clustering server 108 may be configured to determine, for each of the one or more POIs, visitor entities among the one or more entities 102A-N to record a footfall of each of the one or more POIs. The visitor entities of a POI are the entities that visit the POI. The POI clustering server 108 may be configured to dynamically assign catchment areas for each of the one or more POIs using the footfall and the location mapping. The POI clustering server 108 may be configured to determine segments of the visitor entities for each of the one or more POIs based on an offline behaviour and an online behaviour of the visitor entities. The POI clustering server 108 may be configured to automatically approximate an error in the footfall to improve a footfall model. The footfall model estimates a threshold that offsets the footfall to obtain an improved footfall of each of the one or more POIs.
The POI clustering server 108 may be configured to determine a segment opportunity value for each of the one or more POIs. The segment opportunity value is a function of (a) the improved footfall, (b) the ambient population of each of the one or more POIs, (c) the segments of the visitor entities, and (d) nearby POIs. The POI clustering server 108 may be configured to cluster the one or more POIs that have similar catchment areas based on the segment potential value and the improved footfall POI are the entities that visit the POI.
The visitor entities module 206 is configured to determine, for each of the plurality of POIs, visitor entities among the one or more entities to record a footfall of each of the plurality of POIs. The visitor entities of a POI are the entities that visit the POI.
The catchment area module 208 is configured to dynamically assign catchment areas for each of the one or more POIs using the footfall acid the location mapping. The entity segmentation module 210 is configured to determine segments of the visitor entities for each of the one or more POIs based on an offline behaviour and an online behaviour of the visitor entities. The catchment area module 208 utilizes home locations of the one or more entities to build a dynamic geo-fence for every POI as the catchment area. In some embodiments, the dynamic geo-fence is extrapolated for generating prospective entities for the POI as described in the table below
For a POI, entities of a particular segment that have visited the POI are identified. This step is performed for each of the one or more POIs and footfall of respective segments of visitor entities is recorded. Entities that are associated with the same segment and living in the catchment area of the POI are identified. For a geographically crowded area where there is more than one POI, a non-visitor entity for a first POI might be a visitor entity to a second POI of the same brand in a nearby area. In some embodiments, a list of unique non-visitors is generated using location data streams associated with each of the one or more POIs to mitigate repetition in the counting of new prospective entities for the POI.
The error approximation module 212 is configured to automatically approximate an error in the footfall to improve a footfall model. The footfall model estimates a threshold that offsets the footfall to obtain an improved footfall of each of the one or more POIs. In some embodiments, the footfall model may include, but is not limned to, Random Forests, Prophet, DeepAR, LSTM/RNNs, Generative Adversarial Systems, Convolutional Neural Systems, Quantile Regressions, Bayesian Regressions, Factorization Machines, Bayesian Structural Time Series Models, Hidden Markov Models, and Monte Carlo Markov Chains.
The POI clustering server 108 may mitigate the delta of the improved footfall up to 50% of the footfall that is recorded. If the actual footfalls of a POI are 10% higher than the recorded footfalls, the POI clustering server 108 offsets the new delta using a weighted average approach of different signals and predicts the segment potential value per POI accurately. Signals such as current footfalls, population density, historic footfalls delta, and nearby similar category stores are considered. The following equation describes determining the segment potential value:
The segment opportunity module 214 is configured to determine a segment opportunity value for each of the one or more POIs. The segment opportunity value is a function of (a) the improved footfall, (b) the ambient population of each of the one or more POIs, (c) the segments of the visitor entities, and (d) nearby POIs. The POI clustering module 216 is configured to cluster the one or more POIs that have similar catchment areas based on the segment potential value and the improved footfall. In some embodiments, the segment opportunity value for a POI may determine a retail potential of the POI. The retail potential is a function of existing footfalls, vicinity population density, audience profile, home-locations timelines, catchment area, country geography, and other POIs within the vicinity of the subject POI. A catchment area or trade area is an area around the POI that is catered to by the POI for consumer goods. The catchment area is determined based on parameters including country geography, the size of the business of the POI or a particular retail store, the average distance traveled by an entity to reach the store, presence of several branches of a POI in the vicinity of each other and the availability of a particular segment of people living in the nearby area. For example, a radius of 5 km may be selected as the catchment area for a POI located in the United States which is less densely populated in comparison to Singapore, where a radius of 1 km may be selected as the catchment area for the POI. In some embodiments, the catchment area of nearby POIs may be excluded from the catchment area of a POI that is located in a densely populated geography.
In some embodiments, data from both offline and online data sources are used to categorize device identifiers associated with the one or more entities into different profiles. For example, people living in high-income residential areas and having luxury automotive apps installed on their devices are classified as ‘affluents’. Characterization of segments of the one or more entities, as an example, is described in the table below.
In some embodiments, entities associated with the improved footfall are tagged to the nearby POIs based on the catchment area of the POI. In some embodiments, though new prospective entities are a list of unique non-visitor entities, one non-visitor entity may be included in a segment potential list of more than one POI.
In some embodiments, the POI clustering server 108 generates a list of unique visitor entities for each of the plurality of POIs and assigns catchment areas based on the common evening location of the list of unique visitor entities, the average distance travelled by the list of unique visitor entities to visit each of the plurality of POIs and POIs nearby to the common evening location of the list of unique visitor entities.
In some embodiments, the POI clustering server 108 generates a list of unique non-visitors that have not visited the one or more POIs or are repeat visitors of the one or more POIs and updates the improved footfall using the list of unique non-visitors based on the catchment areas.
In some embodiments, a bias is eliminated in the footfall model. The bias is introduced due to a business size of a POI that causes a POI with lower improved footfall to have a lower segment potential value. Removing the bias that may have been introduced by the business size of a POI results in POIs with lower footfall not always having lower scores for prospective entities.
In some embodiments, the segment opportunity value for each of the one or more POIs is determined using a drive distance of the visitor entities to each of the one or more POIs, the improved footfall, a dwell-time of the visitor entities in each of the one or more POIs, a visit frequency, a segment characteristic of the segments of the visitor entities and the common evening locations of the visitor entities.
In some embodiments, the segment opportunity value for each of the one or more POIs is determined using a weighted average approach based on attributes of the one or more entities. The attributes include a distance travelled attribute, an affinity attribute, a purchase window attribute, an income attribute, anti an age attribute.
In some embodiments, after determining the segment potential value for each of the plurality of POIs, similar POIs are clustered together based on the characteristics of the footfall. The number of clusters may expand with the introduction of new parameters that are relevant to the business, and the distribution of the underlying data. Two-dimensional scatter plots that help a user of the POI clustering server 108 to create a distinction between the group of stores and make effective data-driven decisions are illustrated in
The method provides a scalable model for clustering the one or more POIs. Further, the segment opportunity value enables a person associated with the POI to strategize inventory planning among the distribution channels of the POI.
A representative hardware environment for practicing the embodiments herein is depicted in
The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify an adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of preferred embodiments, those skilled in the art will recognize that the embodiments herein can be practiced with modification within the spirit and scope.