Mobile device sighting location analytics and profiling system

The present disclosure describes systems and methods for providing enhanced location analysis and consumer insights using mobile sightings data. An approximate geographic location is useful to mobile service providers and advertisers who wish to provide targeted content to consumers based on their location. The location analysis described herein provides more depth and detail about the detected geographic location of the consumer and also insights into business locations visited by the user of the device, consumer/market segments and patterns of behavior (for an individual consumer and/or for aggregated group of consumers), retail trends and patterns, and other profile information. For example, a location profile analytics system as described herein can determine a probability that an approximate geographic location actually corresponds to a specific geographic location, such as a business location. The analysis performed by the location profile analytics system may be further refined based on a number of additional input parameters.

BACKGROUND

Consumers carry and use mobile or portable computing devices nearly everywhere. These mobile computing devices increasingly are connected to wireless networks, such as cellular service networks and the Internet. Connectivity is often provided by mobile service providers which offer vast network capability, typically implemented by a complex network of cellular towers installed in a large number of physical locations, in addition to local Wi-Fi networks connected to the Internet. When consumers use their mobile computing devices to access a network, such as to place a phone call, send a text message, use an application on their mobile device, or access the Internet, mobile service providers can often receive or detect an approximate geographic location of the mobile computing device. This geographic location data which may be of value to mobile service providers as well as businesses and advertisers, who may generate and provide targeted advertising to consumers based on the geographic location data.

SUMMARY

The present disclosure describes systems and methods for providing enhanced location analysis and consumer insights using mobile sightings data. An approximate geographic location is useful to mobile service providers and advertisers who wish to provide targeted content to consumers based on their location. However, the location analysis provided by the systems and methods described herein provide more depth and detail not just about the detected geographic location of the consumer, but also insights into business locations visited by the user of the device, consumer/market segments and patterns of behavior (for an individual consumer and/or for aggregated group of consumers), retail trends and patterns, and other profile information.

In many instances a mobile service provider can only detect an approximate geographic location associated with a mobile sighting generated by a mobile computing device used by a consumer. A location profile analytics system, such as the one described herein, can analyze data associated with the mobile sighting to determine a probability that the approximate geographic location actually corresponds to a specific geographic location, such as a business location. Thus, the location profile analytics system may determine that a mobile sighting within a certain range of a plurality of business locations is most likely to have originated from a particular business location.

The analysis performed by the location profile analytics system may be further refined and concentrated to a particular business location based on a number of input parameters in addition to the approximate geographic location. For example, a mobile sighting might include additional data regarding the time and date of the sighting, which the location profile analytics system can comparatively analyze along with other sightings (both concurrent and prior sightings) and sightings trends, in order to assess a general likelihood that the mobile sighting originated from one business location over another. For example, one business location may receive higher retail traffic than another at certain times or days of the week, and such profile information can be used to analyze a mobile sighting to determine a business location from which the mobile sighting likely occurred.

In another example, the location profile analytics system may comparatively analyze patterns of mobile sightings associated with a device or with a user of a device in order to derive a behavior profile as an input to assess a general likelihood that the mobile sighting originated from one business location over another based on, for example, the user's observed tendencies to visit different types of business location by category, time of day, etc. Further, a mobile sighting might include additional data indicating a unique identifier associated with an anonymous consumer profile, which the location profile analytics system can use to develop, access, or link to consumer attributes such as consumer behavior/trends, market segments, demographics, and so on. These “expanded” consumer attributes, linked to the mobile computing device of the consumer, may be also analyzed to assess a general likelihood that the mobile sighting originated from one business location over another. For example, a consumer profile may including sightings trend data that suggests that the consumer using the mobile computing device prefers stopping for coffee on the way to work. The location profile analytics system may in turn use this consumer profile data to analyze a new sighting which occurred nearby to several businesses, including a coffee shop, and determine that the sighting most likely occurred at the coffee shop. Additional consumer insights may also be determined based on the consumer's profile or associated attributes—for example, that the coffee-on-the-way-to-work-consumer is associated with a group of consumers who have above average incomes and generally buy a lot of books.

The location profile analytics system can provide the detailed location information, consumer profile/attributes, and/or other business location data back to the mobile service provider or other third party entity (such as business locations themselves), which can in turn use the analysis to improve marketing efforts and/or provide more targeted content to consumers associated with the mobile sightings. For example, a mobile service provider may find data indicating that a mobile sighting most likely occurred at a certain retail establishment useful in providing targeted content (such as a coupon or a special offer) related to that retail establishment for the consumer to use. Or, a business location may desire to have information regarding retail traffic trends, based on associated mobile sightings, to improve business operations and customer service or assess the attractiveness of a potential new location.

DETAILED DESCRIPTION

High Level Data Flow

FIG. 1is a block diagram which illustrates an exemplary data flow between a consumer's mobile computing device(s) (e.g., a smart phone, a tablet, or other portable electronic computing device)162, a mobile service provider(s)164, a location profile analytics system100, and business location(s)168, according to one embodiment. The data flow ofFIG. 1illustrates at a high level how a mobile sighting may be analyzed to determine a probable business location from which the mobile sighting originated or occurred, and to determine consumer insights regarding the consumer associated with the mobile sighting to improve targeted content (e.g., marketing, advertising, or similar) provided to the consumer.

Beginning at action (1), a consumer's mobile computing device162registers its location (a “sighting”) at or near locations of one or more businesses168. For example, the mobile computing device162may register its location actively (e.g., when the user of the device places a call, sends a text message, uses an application, etc.), or the mobile computing device162may register its location passively such as when an application that is running in the background periodically sends location information to a remote system, such as the mobile service provider164. The use may be any type of device usage that involves or may be detected by a mobile service provider164which provides mobile service for the consumer. For example, the consumer may place a call or send a text or SMS message over a network170in communication with the mobile service provider164. Or, the consumer may access an application (“app”) installed on her mobile computing device162in order to access, request, send, and/or receive data over the network170, such as may occur when the consumer uses the app to access services such as maps, social media, etc.

The mobile service provider may receive data (e.g., a mobile sighting) associated with the usage, such as a device identifier associated with the mobile computing device162, a consumer identifier associated with the mobile computing device162and/or with the consumer (e.g., an identifier associated with the consumer regardless of the specific mobile computing device used), data about the type of use (e.g., a voice call, a text message, an app use, etc.), location data indicating approximately where the use occurred (e.g., latitude and longitude coordinates, Global Positioning System (“GPS”) coordinates, street addresses, or other location-identifying data of any level of granularity and/or ranges), and/or a date/time at which the use occurred.

In the particular example described here with respect toFIG. 1, a single usage event may be involved. However, as will be described in more detail throughout this disclosure, in some embodiments any number of usage events may be involved, such that the mobile service provider164may receive many hundreds, thousands, millions, or more of such usage events across many hundreds, thousands, millions, or more mobile computing devices associated with consumers who subscribe to the mobile service provider164.

To provide an ongoing illustrative, non-limiting example to which will be referred throughout the description ofFIG. 1, consider a hypothetical consumer Angie using her smart phone on a typical weekday. At action (1), Angie may use her smart phone to access and check her e-mail while waiting for coffee at her favorite coffee shop on the way to work in the morning at 7:30 am. The coffee shop may be located in a retail shopping area nearby to other business and/or retail locations, such as restaurants, markets, shopping, and various other retail services. Angie's mobile service provider164may receive usage data associated with this event, for example, data indicating that the smart phone (which may be uniquely identified via an identifier as discussed above) was used at a location near the coffee shop (the location may be exact or an approximate range or radius in proximity to the coffee shop), at the particular time of day (e.g., 7:30 am), to access data over the network170(e.g., Angie's e-mail). The mobile service provider164may receive and collect mobile sighting data associated with multiple usage events for Angie throughout the day as she uses her smart phone.

At action (2), the mobile service provider164may provide mobile sighting data to a location profile analytics system100for analysis. The mobile sighting data may include data for one or more mobile sightings, for one consumer (e.g., Angie in the ongoing example) or for any number of consumers. For example, Angie's coffee stop may be provided to the location profile analytics system100in real-time for analysis so that the mobile service provider164may immediately use any generated location data, such as to provide a coupon, advertisement, or other information to Angie that may be of use while she is at the coffee shop. In other embodiments, mobile sightings data may be collected and sent to the location profile analytics system100in batches on a periodic basis (e.g., hourly, daily, weekly, monthly, etc.) for more comprehensive analysis and processing across multiple sightings and/or multiple consumers.

At action (3), the location profile analytics system100analyzes the sightings data received from the mobile service provider164. The analysis may be performed by the location/profile sightings analysis engine121and/or the consumer profile engine122, for example as discussed in more detail as illustrated and described with reference to processes300,400, and500ofFIGS. 3, 4, and 5respectively. The location profile analytics system100may access one or more data sources, including a business and/or geo-location data source166A, and/or a consumer profile and/or segmentation data source166B as part of the location analysis processes described herein. In some embodiments, such as the embodiment illustrated inFIG. 6, the mobile sightings data may be accessed directly from a mobile sightings data source166C, either in conjunction with or instead of being received from the mobile service provider164. For example, mobile sightings data source166C may be maintained by the mobile service provider164or by a third party entity, and the location profile analytics system100may be granted permission to access the mobile sightings data source166C directly.

In one embodiment, the location profile analytics system100may, as a result of the analysis performed on the mobile sighting data, determine a business location associated with one or more mobile sightings. The business location may be determined based on a variety of factors, including the date and time of the mobile sighting, the proximity of the geo-location data associated with the mobile sighting to one or more business locations, data associated with the one or more business locations, and/or consumer profile data which may be associated with a particular consumer mobile sighting or with multiple consumer mobile sightings, and other criteria discussed herein.

For example, the location profile analytics system100may receive a mobile sighting for the smart phone associated with Angie corresponding to her coffee shop usage described in the ongoing example. The mobile sighting may only include a general geo-location or approximate range, such that the mobile sighting could have occurred at another business or retail location within the area (e.g., one of the nearby restaurants, shops, or other retail services). In one embodiment, the location profile analytics system100may determine that the mobile sighting was most likely or probable to have occurred at the coffee shop based on a number of factors considered alone or in combination. For example, the location profile analytics system100may access data from the business and/or geo-location data source166A to identify one or more business locations which may be candidates based on their known location and general proximity to the geo-location data of the mobile sighting. The location profile analytics system100may determine, based on this data, that the only candidate business location open for business at 7:30 am is Angie's coffee shop, and determine that the mobile sighting most likely occurred at the coffee shop.

In another instance, the location profile analytics system100may access consumer profile data associated with Angie's smart phone (e.g., linked to an identifier associated with Angie's smart phone) which indicates that historically Angie visits coffee shops more frequently than the average consumer, or typically visits the particular coffee shop at around the same time of day (or within a range, such as between 7 am-8 am), from which the location profile analytics system100may determine that the mobile sighting most likely occurred at the coffee shop.

In yet another instance, the location profile analytics system100may access consumer profile or segment data associated with multiple consumers and business locations which may indicate that the relative frequency of sightings within a certain geographic and/or time of day range of the mobile sighting by business category or specific business location. (e.g., perhaps sightings at or near coffee shops are 5 times as likely between 6 am and 9 am). Thus, the location profile analytics system100may determine that another sighting within range of the coffee shop in the morning most likely did occur at the coffee shop.

Continuing to action (4), the location profile analytics system100provides consumer attributes and/or business location data back to the mobile service provider. The mobile service provider164may then provide targeted content to the device and/or user such as marketing offers, personalized news feeds, personalized traffic alerts, etc.

At action (5), the mobile service provider164provides targeted content to the consumer's mobile computing device162, based on the received consumer attributes and/or business location data. Targeted content may be generated and provided in a number of ways based on the business location profiles and/or consumer profiles. For example, a business location profile provided by the location profile analytics system100may indicate that a mobile sighting for hypothetical Angie most likely originated from a coffee shop, and in response the mobile service provider may provide a coupon or special offer for Angie to use at the coffee shop. Or, a consumer profile provided by the location profile analytics system100may indicate that hypothetical Angie is associated with a certain consumer profile or segment of consumers which typically go to the supermarket after the coffee shop, and in response the mobile service provider may provide a coupon or special offer for Angie to use at the supermarket after her coffee shop stop.

At action (6), in some embodiments, the location profile analytics system100may provide consumer attributes and/or business location data (including business profiles) to the business(es)168. Such data may be of use or value to a business168for use in customer service, marketing efforts, supply chain management, and other business management decisions. For example, targeted content for a customer of a business may be generated in a number of ways based on the business location data. For example, a business location profile provided by the location profile analytics system100may indicate for a hypothetical coffee shop (e.g., based on aggregated mobile sightings) what proportion of its 6 am to 9 am customer volume is from mobile device users who work nearby, which might then inform whether or not to run a promotion for a mid-afternoon break. The business168may also use business location profiles and/or consumer profiles in other ways, such as to measure overall retail traffic in its area and the proportion of that traffic visiting that business, inform employee staffing decisions (e.g., the coffee shop might need more employees working during peak hours in order to provide better customer service), inventory and demand forecasting (e.g., the coffee shop might be able to forecast when it will run out of coffee based on trends indicated by the business location profiles and/or consumer profiles, and preemptively order more to avoid out-of-stock situations), and so on.

Examples of Data Utilized by a Location Profile Analytics System

FIG. 2is an example of a mobile sighting, sighting data, and business data that may be analyzed and profiled according to the processes described herein, using the location profile analytics system100ofFIG. 1orFIG. 6. In the example, a mobile sighting is shown which includes at least a deviceID and geo-location data which may comprise latitude-longitude coordinates, as well as an associated accuracy range (e.g., a 300 meter radius, as shown inFIG. 2, or any other radius or range of accuracy). The mobile sighting may also include other data as described elsewhere in the present disclosure. The mobile sighting of a consumer's mobile computing device162may be registered by mobile service provider164, which in turn may be sent or provided to (or otherwise accessed by) the location profile analytics system100.

The location profile analytics system100may use the geo-location data associated with the mobile sighting in order to access, from a business location data source166A, data regarding one or more candidate business locations which may be at or near the geo-location of the mobile sighting. For example, one or more businesses at or near the latitude-longitude coordinates, or within the associated distance range, may be considered as candidate business locations. AsFIG. 2illustrates, for the particular mobile sighting shown, the location profile analytics system100may identify an Italian food restaurant, a sandwich shop, a coffee shop, and a supermarket within range of the sighting. Other business and/or retail locations may also be identified.

As will be further described with reference toFIGS. 3, 4, and 5herein, the location profile analytics system100may analyze the sighting data and/or the business data to determine, among other things, the most probable location of the mobile device sighting. For example, if the sighting data further indicates that the sighting occurred at 7:30 am, and the business data indicates that the Italian food restaurant does not open until 11:00 am, the location profile analytics system100may determine that the Italian food restaurant is probably not the actual location of the mobile device sighting. Other data and criteria may similarly be analyzed, including consumer profile and/or segmentation data which may indicate consumer visitation patterns and trends for various business locations within a given area or radius. Thus for example, for business locations within a given distance range, consumer patterns may indicate that the coffee shop receives the most traffic between 6 am to 8 am and 2 pm to 5 pm, the sandwich shop receives the most traffic between 11 am and 2 pm, the Italian food restaurant receives the most traffic after 6 pm, and the supermarket receives a steady flow of traffic throughout the day (or more traffic on a weekend day relative to a weekday). These patterns may be generated by the location profile analytics system100over time and stored for later access in analyzing subsequent mobile sightings in proximity to those business locations having associated consumer traffic patterns.

The probability of one location being the true location of a mobile sighting may depend on many factors which can vary depending on the particular embodiment. For example, proximity to the location may be given a greater weighting in all instances regardless of other factors, or the proximity may be given a lower weighting depending upon the time of day. Thus, in some instances a sighting that appears directly adjacent to the coffee shop may give a greater weighting to the coffee shop as being the true location, no matter what time of day the sighting occurred. Or, in some instances, the time of day may be given a greater weighting, such that a sighting that appears directly adjacent to the coffee shop may give a lower weighting to the coffee shop as being the true location if it occurred at 11 pm—in such a case it may be determined that the true location is much more likely to be the Italian restaurant, even though both business locations may be open for business at 11 pm and the sighting may appear farther from the Italian restaurant than the coffee shop, based on other factors (e.g., the Italian restaurant may be much more popular at 11 pm than the coffee shop, or a consumer identifier associated with the mobile sighting may indicate that the consumer rarely goes to a coffee shop, and so on).

Examples of Methods Performed by a Location Profile Analytics System

FIGS. 3, 4, and 5are flowcharts for various embodiments of location profile analytics system processes. In some implementations, the processes are performed by embodiments of the location profile analytics system100described with reference toFIG. 1orFIG. 6, or by one or more of its components, such as the location profile/sightings analysis engine121, consumer profile engine122, and/or user interface module123. The example scenarios are intended to illustrate, but not to limit, various aspects of these systems and/or services. In one embodiment, the processes can be dynamic, with some procedures omitted and others added. In one example, multiple instances of the processes may occur concurrently, for different location profile analytics systems. Depending on the embodiment, the methods may include fewer or additional blocks and/or the blocks may be performed in an order different than illustrated.

FIG. 3is a flowchart illustrating one embodiment of a high-level process300for analyzing sightings data and developing related location profiles and/or consumer profiles. The process300may be executed, for example, by the location profile/sightings analysis engine121and/or the consumer profile engine122of the location profile analytics system100ofFIG. 1orFIG. 6.

At block305, the location profile analytics system100accesses or receives sighting data indicating one or more sightings for respective mobile devices. Sighting data may be accessed from, for example, the mobile sightings data sources166C, and may include data for one or more sightings. Each sighting may include a unique identifier the sighting, a unique identifier for a mobile computing device which generated the sighting, a unique and anonymous identifier for a consumer associated with the mobile computing device which generated the sighting, geo-location data for the sighting (e.g., latitude and longitude coordinates, GPS coordinates, data from towers, antennae or other network infrastructure, etc.), a date and time for the sighting, and/or a range or other indication of the accuracy of the sighting.

At block310, the location profile analytics system100accesses business location data for one or more businesses that may be near the sightings (e.g., based on the geo-location data associated with a respective sighting). Business location data may be accessed from, for example, the business location data sources166A, and may include attributes, profiles, and other data descriptive of or related to the respective business locations. For example, attributes might include a name, a type of business (e.g., food, retail/shopping, service, etc.), hours of operation (e.g., hours during which the business location is open), geo-location information (including street addresses, latitude and longitude coordinates, GPS coordinates, etc.), phone number(s), and any other information available for the business location. Profiles might include, for example, data describing consumer traffic patterns/trends for the business (e.g., which time(s) the business location appears to have a high (or low) level of traffic, which may be based in part on aggregated sightings data) and/or other businesses in the same category (e.g. coffee shops, in general). Profiles might also include ratings and related consumer feedback data, which may be accessed or gathered from popular consumer ratings websites (such as Yelp.com or similar services). The business location data may be used by the location profile analytics system100in order to identify one or more businesses that may be associated with the sightings data accessed at block305, and/or to generate, improve, or enhance profiles for the business locations based at least in part on any relevant new sightings.

At block315, the location profile analytics system100accesses consumer data for consumers associated with the respective mobile devices which generated or provided the mobile sightings data (e.g., based on the unique identifiers associated with a respective sighting). Consumer data may be accessed from, for example, the consumer data sources166B, and may include attributes, profiles, and other data descriptive of or related to the respective consumers. Consumer data may also include data such as socio-economic attributes, demographics, age, lifestyle segments, behavioral/attitudinal, financial attributes including income and credit data-related attributes, and so on. Consumer data may also include profiles, segmentation or other attributes derived from historical patterns in the mobile sightings data, as determined at block330, below. The consumer data may be used by the location profile analytics system100in order to identify one or more businesses that may be associated with the sightings data accessed at block305, and/or to generate, improve, or enhance profiles for the business locations based at least in part on any relevant new sightings.

At block320, the location profile analytics system100may optionally apply location filters to remove and/or exclude sightings matching certain locations, types, or other criteria. For example, location filters may be applied in order to resolve or remove sightings which may be associated with a consumer's home and/or work. Location filters may also be applied in order to resolve or remove sightings which may correspond to “in transit” or “in between sightings” which may not correspond to any business locations, in order to reduce the sightings to key times and/or waypoints. This type of filtering may also be based on analyzing differentials in speed data (e.g., a miles-per-hour (“mph”) that may be associated with a sighting) between sightings. In some embodiments, sightings which are removed during the filtering process at block320may be saved or stored for later use. For example, “in transit” sightings might be provided for use in automotive insurance underwriting, such as to validate commute distances and approximated miles driven per year to assess proper or more accurate insurance premium calculations. One example of how the filtering at block320may be performed is illustrated and discussed in further detail herein with respect to process400ofFIG. 4.

At block325, the location profile analytics system100analyzes the (filtered) sightings data to determine associated trends and/or probabilities that particular sightings correspond to particular business locations. For example, the analysis may be based on a weighted average based on multiple factors or inputs, such as: a distance from a center point of a sighting to a particular business location; prior sightings, trends, or patterns based on a particular business type or time of day; prior sightings, trends, or patterns based on consumer segments, profiles, or attributes; and so on. One example of how the sightings analysis at block325may be performed is illustrated and discussed in further detail herein with respect to process500ofFIG. 5. In some embodiments, after analyzing the sightings data at block325, the process300may return to block310and repeat the processes performed at blocks310through325in order to further refine the trends and probabilities associated with the respective sightings and business locations.

At block330, the location profile analytics system100generates and/or updates business location profiles and/or the consumer profiles based on the results of the sightings analysis performed at block325and/or process500ofFIG. 5. For example, business location profiles may be updated to reflect better or more accurate time of day and/or consumer segment profiles over time as more sightings data are aggregated and analyzed. Business location profiles may include location traffic counts and related data, including a number of sightings per unit time (e.g., by hour/time of day, by day, by week, by month, etc.); a number of sightings per consumer segment, profile, or attributes (e.g., an “X” number of sightings may be associated with consumers of a certain age group, income level, or other consumer data attribute variable); a number of sightings per type of trip (e.g., commuting, shopping, etc.); and so on. Business location profiles may also include approximated or exact lengths of stay at (or near) the business location, as well as information about previous and/or next destinations associated with sightings which occur before and/or after sightings at or near the business location. For example, a first business location may develop a profile over time that indicates a high number of consumers visit a second business location immediately following a visit to the first business location—e.g., some consumers may go to the coffee shop and then the supermarket.

Similarly, consumer profiles may be updated to reflect better or more accurate segment profiles or consumer-specific profiles over time as more sightings data are aggregated and analyzed. Consumer profiles may be generated based on or using various clustering techniques in order to determine certain segment characteristics, such as commute distance, frequencies of visiting various retail and other locations which may be organized by categories and subcategories, demographic and socioeconomic profiles, and so on. Consumer profiles may also include aggregated segment prevalence data such as micro-geographic aggregation based on home and/or work location sightings. For example, the percentage of consumers who work in a given area might be tabulated according to the area in which they live, the length of their commute, the proportion that routinely stop for coffee on the way to work, etc. One possible result of the consumer profile analysis would be to link or associate an anonymous consumer identifier with particular consumer segments and/or behaviors, such that sightings associated with the consumer identifier may be mapped to the particular consumer segments. In some embodiments, after generating the business location and/or consumer profiles at block330, the process300may return to block315and repeat the processes performed at blocks315through330in order to further refine the profiles associated with the respective sightings and business locations.

At block335, the location profile analytics system100provides the business location profiles and/or consumer profiles to a requesting entity. The business location profiles and/or consumer profiles may then be used by the requesting entity to provide targeted content to consumers, such as targeted advertising, coupons, special offers, customized news feeds, personalized traffic alerts, and the like.

For example, as discussed in more detail with respect toFIG. 1, in one embodiment the business location profiles and/or consumer profiles may be provided to a mobile service provider164(e.g., the mobile service provider which provided or otherwise made available to the location profile analytics system100the mobile sightings data analyzed during the process300). The mobile service provider164may then provide targeted content such as marketing offers to its subscribers, such that the targeted content may be generated in a number of ways based on the business location profiles and/or consumer profiles. For example, a business location profile provided by the location profile analytics system100may indicate that a mobile sighting for hypothetical Angie most likely originated from a coffee shop, and in response the mobile service provider may provide a coupon or special offer for Angie to use at the coffee shop. Or, a consumer profile provided by the location profile analytics system100may indicate that hypothetical Angie is associated with a certain consumer profile or segment of consumers which typically go to the supermarket after the coffee shop, and in response the mobile service provider may provide a coupon or special offer for Angie to use at the supermarket after her coffee shop stop.

In another embodiment, the business location profiles and/or consumer profiles may be provided to a business168. The business168may then provide targeted content such as marketing offers to its customers, such that the targeted content may be generated in a number of ways based on the business location profiles and/or consumer profiles. For example, a business location profile provided by the location profile analytics system100may indicate for a hypothetical coffee shop (e.g., based on aggregated mobile sightings) what proportion of its 6 am to 9 am customer volume is from mobile device users who work nearby, which might then inform whether or not to run a promotion for a mid-afternoon break. The business168may also use business location profiles and/or consumer profiles in other ways, such as to measure overall retail traffic in its area and the proportion of that traffic visiting that business, inform employee staffing decisions (e.g., the coffee shop might need more employees working during peak hours in order to provide better customer service), inventory and demand forecasting (e.g., the coffee shop might be able to forecast when it will run out of coffee based on trends indicated by the business location profiles and/or consumer profiles, and preemptively order more to avoid out-of-stock situations), and so.

In another embodiment, the business location profiles and/or consumer profiles may be provided to other types of third party entities. For example, lenders or lending institutions may be provided with business location profiles in order to determine or assess and associated level of credit risk or fraud which may be associated with a business location. For example, a lender may wish to compare financial or earnings reports from a business location to the business location profile in order to determine or assess whether the earnings reports appear to be accurate: reported high earnings coupled with relatively low traffic counts from the business location profile may signal to the lender that the business location may be fraudulently reporting its earnings. The lender may also wish to measure traffic counts at a business location in relation to those of other comparable businesses in order to gauge relative market share, or measure trends in traffic counts at a business location as part of an assessment of the business location's future prospects. Or, a lender may wish to view business location profiles for areas near a newly proposed business location in order to assess the credit risk of the new venture: high traffic counts for a given area (such as retail shopping mall), particularly among desired consumer segments, may signal a much lower credit risk for a proposed new business location in the given area that caters to those consumer segments.

FIG. 4is a flowchart illustrating one embodiment of a high-level process400for processing and/or filtering sightings data. The process400may be executed, for example, by the consumer profile engine122of the location profile analytics system100ofFIG. 1orFIG. 6. For ease of illustration the example described throughout the description of the process400involves one or more sightings associated with one mobile device, but the process may be applied to multiple sightings associated with multiple mobile devices being analyzed in parallel.

At block405, the location profile analytics system100accesses or receives initial sighting data for a mobile device. The initial sighting data may be accessed from, for example, the mobile sightings data sources166C, and may include data for one or more sightings for the mobile device. In one embodiment the initial sighting data may be accessed as part of the process300(e.g., at block305), or otherwise provided to the location profile analytics system100or one of its components in conjunction with the process300.

At block410, the location profile analytics system100identifies one or more locations which may correspond to a residence (e.g., home) or place of employment (e.g., work) for a consumer associated with the mobile device associated with a sighting. For example, the location profile analytics system100may access consumer profile data from the consumer data sources166B, based at least in part on a unique identifier associated with the sighting for the mobile device. The consumer profile data may include residence location data and/or employment location data for the consumer, which the location profile analytics system100can analyze and compare to the geo-location data associated with the sighting (e.g., determine if either (1) the residence location data and/or (2) the employment location data matches, or is in close proximity to, the geo-location data associated with the sighting). Mobile sightings associated with estimated residence and/or employment locations may be excluded from further location analysis in order to improve the efficiency and accuracy of the overall sightings analysis process, for example when millions of sightings are being analyzed substantially in parallel and in real time.

At block415, the location profile analytics system100may optionally identify one or more locations which may correspond to in-transit sightings (e.g., sightings which appear to not be associated with any particular location of interest, or that appear to correspond to locations in-between business locations). For example, one set of sightings data for a mobile device may include twenty hypothetical sightings: three sightings at or near a coffee shop, five sightings at or near a supermarket 2 miles away, and twelve sightings at or near a highway between the coffee shop and the supermarket. The twelve sightings at or near the highway may be identified as in-transit sightings that may be excluded from further analysis (unless, perhaps, those sightings might correspond to other business locations along the highway). Removing in-transit sightings can improve the efficiency and accuracy of the overall sightings analysis process, for example when millions of sightings are being analyzed substantially in parallel and in real time.

At block420, the location profile analytics system100may optionally identify or access location filters indicating one or more locations and/or location types which may be excluded or removed from the sightings analysis. In some embodiments, location filters may be associated with a requesting entity (e.g., a mobile service provider, a business location, or other third party) that is interested in analysis related only to sightings for particular locations or types. For example, a coffee shop may only interested in retail sightings and thus desire to have non-retail business locations excluded from the sightings analysis. Other entities may have their own business-specific rules or reasons for excluding certain locations or location types, and the location profile analytics system100may store or otherwise have access to customized filters which reflect those business rules or reasons, and apply the filters to sightings data when a request is received from those particular entities which have customized filters.

At block425, the location profile analytics system100removes one or more sightings from the initial sightings data which correspond to any of the identified locations at blocks410,415, and420in order to generate a set of filtered sightings data. In some instances, none of the identified locations may need to be excluded or removed from the sightings analysis (e.g., no locations are identified at blocks410,415, and420), and thus the filtered sightings data may include all of the sightings in the initial sightings data (e.g. none of the sightings may be removed).

At block430, the location profile analytics system100provides the filtered sightings data. The filtered sightings data may be provided to another process performed by the location profile analytics system100, such as the process300ofFIG. 3(e.g., after block320). In some embodiments the filtered sightings data may be provided to a requesting entity or a third party for further analysis and data processing similar to the process300ofFIG. 3.

FIG. 5is a flowchart illustrating one embodiment of a process500for determining probable locations associated with sightings data. The process500may be executed, for example, by the consumer profile engine122of the location profile analytics system100ofFIG. 1orFIG. 6. The process500may be for example a sub-routine which is invoked as part of the process300ofFIG. 3, for example at block320, to determine a probable location associated with a mobile sighting.

At block505, the location profile analytics system100determines an initial list of candidate business locations potentially associated with a sighting. The initial list of candidate business locations may be determined based on proximity to the sighting. In one embodiment, the initial list of candidate business locations might include all business locations within a certain radial distance of the sighting or within a certain radial distance of the range of the sighting, based on the geo-location data associated with the sighting). For example, the initial list of candidate business locations might include all business locations within 1000 feet of the geo-location of the sighting.

In another embodiment, the initial list of candidate business locations might include all business locations within a geographic unit or area (e.g., one or more ZIP codes, ZIP+4 codes, or any size of geographic unit) that is at or near the sighting. For example, the location profile analytics system100might determine that the sighting occurred in a certain ZIP+4 code, and the initial list of candidate business locations may be determined to include any business locations sharing the same or nearby ZIP+4 codes.

In another embodiment, the initial list of candidate business locations might include all business locations sharing a common geographic attribute that is also shared or associated with the geo-location of the sighting. For example, the location profile analytics system100might determine that the sighting occurred in a retail shopping center, and the initial list of candidate business locations may be determined to include any business locations located within the retail shopping center.

At block510, the location profile analytics system100determines, for each candidate business location, distances (either actual or approximated) from a center point associated with the sighting. As previously described, a sighting may correspond to a range or area of geographic coordinates (e.g., within U distance of a point {X, Y, Z}). Thus, the location profile analytics system100may initially calculate an associated center point to approximate the location of the sighting (in some instances the center point may be the geographic coordinates, if known). Using location data associated with each of the business locations on the initial candidate list, the location profile analytics system100can determine the distance between each business location and the sighting. One example of this is illustrated and described with reference toFIG. 2herein. The determined distances may then be used, for example, as one factor in the probabilistic location determination performed at block525, described below. For example, the location profile analytics system100may determine that a first business location within a closer distance of the sighting is more likely the business location of the sighting than a second business location farther from the sighting.

At block515, the location profile analytics system100analyzes business location profiles for each candidate business location to identify related prior sightings (e.g., based on time, location, trends, etc.). Business location profiles might include information indicating, for example, a certain time or times at which sightings have previously occurred a given business location and/or other comparable business locations in the same category. Business location profiles may also include specific attributes of the business location such as hours of operation. Thus, the hypothetical coffee shop might have more sightings at 7 am than at 10 am, while a hypothetical night club or bar might have more sightings at 11 pm than at 11 am. However, the hypothetical coffee shop might also have more sightings at 11 am than the bar at 11 am. These profiles and trends can be analyzed and compared to the time of the sighting as one factor the probabilistic location determination performed at block525, described below. For example, if the sighting occurred at 7 am or 11 am the location profile analytics system100may determine that the sighting more likely occurred at the coffee shop than the bar.

At block520, the location profile analytics system100analyzes consumer profiles for each candidate business location to identify related prior sightings. For example, consumer data may indicate that consumers associated with a particular market segment, demographic, or other attribute tend to visit certain business locations more than others. The sighting might include an identifier for the consumer which the location profile analytics system100can use to look up or determine an associated consumer profile. Each candidate business location can then be compared to the associated consumer profile to determine a probability (or a factor weighing in a probability determination) that the consumer associated with the sighting would visit the candidate business location. For example, hypothetical Angie might be associated with a consumer profile or segment of commuters who tend to frequent coffee shops often, or relatively more often than other establishments such as bars. This profile data may then be compared with the candidate business locations to determine that a particular sighting for Angie (or for an anonymous individual with similar attributes to Angie's profile) is more likely to have occurred at a nearby coffee shop than a nearby bar.

At block525, the location profile analytics system100determines, for each candidate business location, a probability that the sighting corresponds to the business location. The determination may be based at least in part on the distances determined at block510, the business profiles (and related prior sightings) analyzed at block515, and/or the consumer profiles (and related prior sightings) analyzed at block520as discussed above. The probability may be determined in any number of ways, with each of the three example variables described above receiving different weights depending upon the embodiment or based on the actual data involved. For example, distance may be given a higher relative weight if one candidate business location is in very close proximity (e.g., 50 feet) to a sighting and a second candidate business location is relatively farther away (e.g., 500 feet, relative to a sighting with a range of certainty of plus or minus 10 feet). Or, business profiles may be given a higher relative weight if a sighting occurred at a certain time (e.g., 7 am) at which only one or two candidate business locations are actually open for business (e.g., at 7 am the coffee shop is open, but the bar is closed). Or, consumer profiles may be given a higher relative weight if a sighting is associated with a segment of consumers who favor one business candidate location on the list (e.g. coffee shops, book stores), but few or none of the others (e.g., bars, night clubs).

At block530, once a probability has been determined for each business location the location profile analytics system100selects a business location with the highest determined probability and/or assigns fractional shares of the sighting to the business locations in proportion to their calculated probabilities. The allocation of the sighting to business location(s) may then be provided or used by another process performed by the location profile analytics system100, such as the process300ofFIG. 3(e.g., after block325). In some embodiments the allocation of the sighting to business location(s) may be provided to a requesting entity or a third party for further analysis and data processing similar to the process300ofFIG. 3.

System Implementation and Architecture

FIG. 6is a block diagram of an example implementation of a location profile analytics system100in communication with a network160and various systems, such as mobile computing device(s)162, mobile service provider systems(s)164, business(es)168, business location data source(s)166A, consumer data source(s)166B, and mobile sightings data source(s)166C. The location profile analytics system100may be used to implement systems and methods described herein, including but not limited to the processes300,400, and500ofFIGS. 3, 4, and5, respectively.

The location profile analytics system100includes, for example, a personal computer that is IBM, Macintosh, or Linux/Unix compatible or a server or workstation. In one embodiment, the location profile analytics system100comprises a server, a laptop computer, a smart phone, a personal digital assistant, a kiosk, or an media player, for example. In one embodiment, the exemplary location profile analytics system100includes one or more central processing unit (“CPU”)105, which may each include a conventional or proprietary microprocessor. The location profile analytics system100further includes one or more memory130, such as random access memory (“RAM”) for temporary storage of information, one or more read only memory (“ROM”) for permanent storage of information, and one or more mass storage device120, such as a hard drive, diskette, solid state drive, or optical media storage device. Typically, the modules of the location profile analytics system100are connected to the computer using a standard based bus system180. In different embodiments, the standard based bus system could be implemented in Peripheral Component Interconnect (“PCI”), Microchannel, Small Computer System Interface (“SCSI”), Industrial Standard Architecture (“ISA”) and Extended ISA (“EISA”) architectures, for example. In addition, the functionality provided for in the components and modules of location profile analytics system100may be combined into fewer components and modules or further separated into additional components and modules.

The location profile analytics system100is generally controlled and coordinated by operating system software, such as Windows XP, Windows Vista, Windows 7, Windows 8, Windows Server, Unix, Linux, SunOS, Solaris, iOS, Blackberry OS, or other compatible operating systems. In Macintosh systems, the operating system may be any available operating system, such as MAC OS X. In other embodiments, the location profile analytics system100may be controlled by a proprietary operating system. Conventional operating systems control and schedule computer processes for execution, perform memory management, provide file system, networking, I/O services, and provide a user interface, such as a graphical user interface (“GUI”), among other things.

The exemplary location profile analytics system100may include one or more commonly available input/output (I/O) devices and interfaces110, such as a keyboard, mouse, touchpad, and printer. In one embodiment, the I/O devices and interfaces110include one or more display devices, such as a monitor, that allows the visual presentation of data to a user. More particularly, a display device provides for the presentation of GUIs, application software data, and multimedia presentations, for example. The location profile analytics system100may also include one or more multimedia devices140, such as speakers, video cards, graphics accelerators, and microphones, for example.

In the embodiment ofFIG. 6, the I/O devices and interfaces110provide a communication interface to various external devices. In the embodiment ofFIG. 6, the location profile analytics system100is electronically coupled to a network160, which comprises one or more of a LAN, WAN, and/or the Internet, for example, via a wired, wireless, or combination of wired and wireless, communication link115. The network160communicates with various computing devices and/or other electronic devices via wired or wireless communication links.

According toFIG. 6, in some embodiments information may be provided to the location profile analytics system100over the network160from one or more business location data sources166A, consumer data source(s)166B, and/or mobile sightings data source(s)166C. The business location data source(s)166A consumer data source(s)166B, and/or mobile sightings data source(s)166C may include one or more internal and/or external data sources. In some embodiments, one or more of the databases or data sources may be implemented using a relational database, such as Sybase, Oracle, CodeBase and Microsoft® SQL Server as well as other types of databases such as, for example, a flat file database, an entity-relationship database, and object-oriented database, and/or a record-based database.

The business location data source(s)166A may store, for example, attributes, profiles, and other data descriptive of or related to respective business locations. For example, attributes might include a name, a type of business (e.g., food, retail/shopping, service, etc.), hours of operation (e.g., hours during which the business location is open), geo-location information (including street addresses, latitude longitude coordinates, GPS coordinates, etc.), phone number(s), and any other information available for the business location. Business location profiles might include, for example, data describing consumer traffic patterns/trends for the business (e.g., which time(s) the business location appears to have a high (or low) level of traffic, which may be based in part on aggregated sightings data). Business location profiles might also include ratings and related consumer feedback data, which may be accessed or gathered from popular consumer ratings websites (such as Yelp.com or similar services).

The consumer data source(s)166B may store, for example, credit bureau data (for example, credit bureau data from File Ones℠) and/or other consumer data. Consumer data source(s)166B may also store geographic level demographics that include one or more models, such as models that identify lifestyle and/or socio-economic attributes associated with a geographic location (e.g., MOSAIC® segmentation and/or codes) and/or behavioral/attitudinal/psychographic attributes associated with a geographic location (e.g., TrueTouch℠ Touch Points segmentation).

The mobile sightings data source(s)166C may store, for example, data for one or more sightings for respective mobile devices. Each sighting may include a unique identifier the sighting, a unique identifier for a mobile computing device which generated the sighting, a unique and anonymous identifier for a consumer associated with the mobile computing device which generated the sighting, geo-location data for the sighting (e.g., latitude and longitude coordinates, GPS coordinates, etc.), a date and time for the sighting, and/or a range or other indication of the accuracy of the sighting.

In the embodiment ofFIG. 6, the location profile analytics system100includes a location profile/sightings analysis engine121, a consumer profile engine122, and a user interface module123that may be stored in the mass storage device120as executable software codes that are executed by the CPU105. These and other modules in the location profile analytics system100may include, by way of example, components, such as software components, object-oriented software components, class components and task components, processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. In the embodiment shown inFIG. 6, the location profile analytics system100is configured to execute the location profile/sightings analysis engine121, the consumer profile engine122, and/or the user interface module123to perform the various methods and/or processes for mobile sightings data analysis as described herein (such as the processes described with respect toFIGS. 3, 4, and 5herein).

Other Embodiments

Each of the processes, methods, and algorithms described in the preceding sections may be embodied in, and fully or partially automated by, code modules executed by one or more computer systems or computer processors comprising computer hardware. The code modules may be stored on any type of non-transitory computer-readable medium or computer storage device, such as hard drives, solid state memory, optical disc, and/or the like. The systems and modules may also be transmitted as generated data signals (e.g., as part of a carrier wave or other analog or digital propagated signal) on a variety of computer-readable transmission mediums, including wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). The processes and algorithms may be implemented partially or wholly in application-specific circuitry. The results of the disclosed processes and process steps may be stored, persistently or otherwise, in any type of non-transitory computer storage such as, e.g., volatile or non-volatile storage.