LOCATION TYPE CONFIDENCE OPTIMIZATION

Methods, computer program products, and systems are presented. The methods include, for instance: obtaining, by one or more processor, a geographical coordinate of a mobile device according to a location event, as a user carrying the mobile device travels. An address corresponding to the geographical coordinates is ascertained and the address is searched against a location database. Based on contents searched from the location database, a confidence score for the type of the location is determined and a notification corresponding to the type is generated and sent to the user.

TECHNICAL FIELD

The present disclosure relates to mobile marketing technology, and more particularly to methods, computer program products, and systems for optimizing confidence score on a type of a location.

BACKGROUND

In conventional geofencing, a geometric boundary around a geographical point is defined by a pair of latitudinal and longitudinal coordinates, and a range. The geofencing may be utilized as a kind of location marketing, for marketing campaigns based on characterization of the geographical point. The effectiveness of location marketing campaigns depends on accurate classification of the geographical point for each user, as measured in getting more responses and getting accepted with more suggestions made in notifications.

SUMMARY

The shortcomings of the prior art are overcome, and additional advantages are provided, through the provision, in one aspect, of a method. The method for optimizing a confidence score for a location visited by a user carrying a mobile device, includes, for instance: obtaining, by one or more processor, a geographical coordinates of the mobile device, where the geographical coordinates indicating a location event in relation with the location and the mobile device; acquiring an address from the geographical coordinates of the location event; searching a location database for the address; analyzing one or more result from the searching; determining a confidence score indicating a likelihood on a type of the location, based on the analyzing; and sending a notification for the location to the user, where the notification is generated based on the confidence score on the type of the location.

Additional features are realized through the techniques set forth herein. Other embodiments and aspects, including but not limited to computer program product and system, are described in detail herein and are considered a part of the claimed invention.

DETAILED DESCRIPTION

FIG. 1depicts a system100for improving accuracy in assessing individual interest in certain locations, in accordance with one or more embodiments set forth herein.

The system100includes a location marketing system120runs in a venue. The location marketing system120receives a location event141from a mobile device110of a user101, as the user101moves around and generates location events.

The location marketing system120includes a confidence optimization engine130. The location marketing system120is coupled to a marketing campaign database150, a location database155, and one or more external tool170. The location database155includes a plurality of Point of Interest (POI) descriptions, including addresses and respectively corresponding types of business. Examples of the location database155may include, but are not limited to, a business directory of a digitized phone book, Internet map and various shop review data. The location database155may be automatically established by machine learning, based on various directory databases. The marketing campaign database150stores predefined geofences per venue, predefined marketing campaign strategies, notification templates, and various control parameters for marketing campaigns per venue classes, per target user groups, etc. Based on the location event141, application content from the marketing campaign database150, and lookup results from the location database155, the location marketing system120creates a location-based notification.

The confidence optimization engine130includes a location database lookup process135and a confidence adjustment process137. The confidence optimization engine130converts coordinates of the location event141to an address, looks up the address from the location database155, determines a confidence score of a type of the location based on information discovered in the location database155, and adjusts dynamically the confidence score based on update from the location database155.

The location marketing system120keeps the marketing campaign database150up to date, accordingly with the adjusted confidence scores for respective locations. The location marketing system120generates and sends the confidence-optimized notification161to the mobile device110, when conditions for notification as set forth in the marketing campaign database150are satisfied. Detailed operations of the confidence optimization engine130are presented inFIG. 2and corresponding description.

FIG. 2depicts a flowchart of operations performed by the confidence optimization engine130ofFIG. 1, in accordance with one or more embodiments set forth herein.

In block210, the confidence optimization engine130obtains the location event141on the mobile device110of the user101. The location event141is generated by the mobile device upon detecting a certain condition, including interacting with a venue running the location marketing system120. The location marketing system120monitors traffics of mobile devices in relation with a venue boundary, or a geofence, for a location event. An example of the location marketing system may include, but are not limited to, IBM Marketing Cloud. As in certain examples of existing location marketing systems, the location marketing system120supports detection for places of interest for respective users with the location event141. Then the confidence optimization engine130proceeds with block220.

A geofence around a geographical point is often used to define a boundary of a venue. Geofences are used to enhance mobile applications, in determining when to push a marketing notification to a user by monitoring when the user is near a store, and/or in turning home lights on and off when a family is away by tracking device location in home automation/security systems. In e-commerce applications, tracking respective mobile devices as each user travels may be utilized as a dynamic personalized geofence, for the purpose of when and what kind of marketing notifications may be pushed to the mobile devices for maximum marketing responses.

Examples of location events with respect to a geofence may be: Dwell in; Entry into; and Exit from, for example, a 1-mile radius boundary from a train station. In certain embodiments of the present invention, the location events may be generates based on intersecting venue geofences and a personal geofence around the mobile device of the user. A size of the personal geofence may be dynamically adjusted according to various parameters, such as a text message, a location specified for a calendar event, etc.

The places of interest for an individual user may be determined based on preconfigured parameter, based on patterns of hours spent on the location, hourly patterns indicating the time of the day, and frequencies of visits, etc., respective to types of locations. The places of interest subject to adjustment of a confidence score may be locations the user frequently visits but not dwells for hours such as stores of various categories, restaurants, coffee shops, banks, gyms, cleaners, daycares, etc.

In certain embodiments of the present invention, a personalized geofence around the mobile device may be set and a reach of the mobile device may be recorded to establish a historical travel pattern of the user101.

Other certain embodiments of the present invention, the places of interest may be identified by interrelating the location of the mobile device with message contents in order to adjust a size of the personalized geofence around the mobile device accordingly. For example, a normal radius of100feet of the personalized geofence radius may be extended to a 2-mile radius, when a text message of “On my way. 3 minutes away” is sent to a known contact while the mobile device is coupled to a moving vehicle.

In block220, the confidence optimization engine130converts a geocode of the location event from block210to a street address, or an address. Then the confidence optimization engine130proceeds with block230.

In block230, the confidence optimization engine130searches the location database for the street address of the location event. The location database may be a combination of Internet/web pages, a business directory of a digital phone book, business venue listings in web map services, etc. For example, as in Internet map searches, the confidence optimization engine130searches the street address of the location event and discovers that the street address corresponds to an apartment complex. Then the confidence optimization engine130proceeds with block240.

In identifying places of interest, existing mobile device location utilities analyze location event patterns such as, a daytime dwelling location is work, and a nighttime dwelling location is home. The existing mobile device location utilities fail to register locations the user frequently visits but not dwells for hours, such as stores, restaurants, shops, banks, gyms, cleaners, daycares. Because such places may be where the most commercial activities are conducted, and because the users may be interested in push notifications from such locations, identifying places visited for a short time as customized places of interest for the user would contribute to the efficiency of the location marketing system120. The confidence optimization engine130accurately classify types of such shortly visited locations by searching the location database for the respective addresses of such locations.

In block240, the confidence optimization engine130determine a confidence score on a type of a location corresponding to the street address, by analyzing search results from block230. Then the confidence optimization engine130proceeds with block250.

In block250, the confidence optimization engine130dynamically adjusts the confidence score from block240based on updates of the location database search results. Then the confidence optimization engine130proceeds with block260.

The confidence optimization engine130may register shortly visited locations as favorite places for the user101, keeps the latest information on the favorite places for the user101, and keeps track of location event patterns for such favorite places. As a result, upon being consented by the user101, the location marketing system120may send notifications engaging the user101with activities offered at the favorite places with respect to location events regarding home and/or work.

In block260, the confidence optimization engine130updates a confidence score and a location type corresponding to the location as stored in the marketing campaign database150. The confidence optimization engine130generates a notification for the location as a personalized marketing campaign based on a dynamic confidence score, and send the notification to the user. Then the confidence optimization engine130terminates processing the location event obtained in block220.

Certain embodiments of the present invention may offer various technical computing advantages, including contextual analysis on a location event of a mobile device. A geographical coordinate, or a geocode, associated with the location event of the mobile device is converted to a street address. The confidence optimization engine looks up the address from the location database, and based on a search result for the address, determines a confidence score on a type of the location. The confidence score for the location may be dynamically updated according to updates in content of the location database. The location database may be maintained by use of machine learning. The confidence optimization may identify certain places preferred by a user of the mobile device, and accordingly, may provide opportunities for targeted marketing campaign for respective locations. By use of multithreading and/or multiprocessing, the confidence optimization service may be concurrently rendered for any number of users in the serviced environment. Certain embodiments of the present invention may be implemented by use of a cloud platform/data center in various types including a Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), Database-as-a-Service (DBaaS), and combinations thereof based on types of subscription. The confidence optimization service may be provided for subscribed business entities in need from any location in the world.

FIGS. 3-5depict various aspects of computing, including a computer system and cloud computing, in accordance with one or more aspects set forth herein.

Characteristics are as follows:

Measured service: cloud systems automatically control and optimize resource use by leveraging a metering capability at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage may be monitored, controlled, and reported providing transparency for both the provider and consumer of the utilized service.

Service Models are as follows:

Deployment Models are as follows:

Referring now toFIG. 3, a schematic of an example of a computing node is shown. Computing node10is only one example of a computing node suitable for use as a cloud computing node and is not intended to suggest any limitation as to the scope of use or functionality of embodiments of the invention described herein. Regardless, computing node10is capable of being implemented and/or performing any of the functionality set forth hereinabove. Computing node10may be implemented as a cloud computing node in a cloud computing environment, or may be implemented as a computing node in a computing environment other than a cloud computing environment.

Computer system12may be described in the general context of computer system-executable instructions, such as program processes, being executed by a computer system. Generally, program processes may include routines, programs, objects, components, logic, data structures, and so on that perform particular tasks or implement particular abstract data types. Computer system12may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed cloud computing environment, program processes may be located in both local and remote computer system storage media including memory storage devices.

As shown inFIG. 3, computer system12in computing node10is shown in the form of a general-purpose computing device. The components of computer system12may include, but are not limited to, one or more processor16, a system memory28, and a bus18that couples various system components including system memory28to processor16. In one embodiment, computing node10is a computing node of a non-cloud computing environment. In one embodiment, computing node10is a computing node of a cloud computing environment as set forth herein in connection withFIGS. 4-5.

One or more program40, having a set (at least one) of program processes42, may be stored in memory28by way of example, and not limitation, as well as an operating system, one or more application programs, other program processes, and program data. One or more program40including program processes42can generally carry out the functions set forth herein. In one embodiment, the location marketing system120can include one or more computing node10and can include one or more program40for performing functions described with reference to various methods as are set forth herein such as the method described in connection with the flowchart ofFIG. 2. In one embodiment, the respective components ofFIG. 1that are referenced with differentiated reference numerals may each be computing node based devices and each may include one or more computing node10and may include one or more program40for performing functions described herein with reference to the respective components.

Computer system12may also communicate with one or more external devices14such as a keyboard, a pointing device, a display24, etc.; one or more devices that enable a user to interact with computer system12; and/or any devices (e.g., network card, modem, etc.) that enable computer system12to communicate with one or more other computing devices. Such communication can occur via Input/Output (I/O) interfaces22. Still yet, computer system12can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter20. As depicted, network adapter20communicates with the other components of computer system12via bus18. It should be understood that although not shown, other hardware and/or software components could be used in conjunction with computer system12. Examples, include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems, etc. In addition to or in place of having external devices14and display24, which may be configured to provide user interface functionality, computing node10in one embodiment can include display25connected to bus18. In one embodiment, display25may be configured as a touch screen display and may be configured to provide user interface functionality, e.g. can facilitate virtual keyboard functionality and input of total data. Computer system12in one embodiment can also include one or more sensor device27connected to bus18. One or more sensor device27can alternatively be connected through I/O interface(s)22. One or more sensor device27can include a Global Positioning Sensor (GPS) device in one embodiment and may be configured to provide a location of computing node10. In one embodiment, one or more sensor device27can alternatively or in addition include, e.g., one or more of a camera, a gyroscope, a temperature sensor, a humidity sensor, a pulse sensor, a blood pressure (bp) sensor or an audio input device. Computer system12can include one or more network adapter20. InFIG. 4computing node10is described as being implemented in a cloud computing environment and accordingly is referred to as a cloud computing node in the context ofFIG. 4.

Workloads layer90provides examples of functionality for which the cloud computing environment may be utilized. Examples of workloads and functions which may be provided from this layer include: mapping and navigation91; software development and lifecycle management92; virtual classroom education delivery93; data analytics processing94; transaction processing95; and processing components96for confidence optimization as set forth herein. The processing components96may be implemented with use of one or more program40described inFIG. 3.