Database mining techniques for generating customer-specific maps in retail applications

Techniques related to presentation of consumer-specific maps are disclosed. The techniques involve accessing, with a search engine module, from at least one database, map data defining a layout of a retail facility, product data identifying products for sale at the retail facility, location data defining a location of the products, purchase data relating to products previously purchased by a specific consumer, and promotion data identifying promotions available for the products. A processor analyzes the data and correlates promotions with the products previously purchased by the specific consumer. The processor generates a map of the layout of the retail facility that is presentable on a display of a computing device. The map indicates with respect to the layout the location of the products previously purchased by the specific consumer and the promotions correlated with the products previously purchased by the specific consumer.

FIELD OF THE DISCLOSURE

The disclosure is related to systems, methods, and computer-readable storage media that perform data requests to mine various databases for retail applications.

BACKGROUND

Retailers commonly advertise promotions, sales, discounts, and deals for products offered for sale in physical retail stores. Such advertisements come in a variety of forms from weekly print ads, weekly online ads, displays within the store, etc. Such online ads or product displays are presented to large groups of consumers who interact with the advertisement. As such, conventional ways of promoting the sale of products in physical retail stores are inefficient because they blindly present such advertisements without tailoring such promotions to the needs or desires of any one specific consumer. Moreover, the inherent practical limitations of such conventional means of advertising prevent such consumer-specific tailoring.

Furthermore, retailers commonly offer tens of thousands of products for sale to the consumers in stores. To offer such a substantial amount of products, retailers require stores of considerable size. With stores of such considerable size, consumers who are physically present in the store commonly overlook products of specific interest to them that may have promotions. For example, a promoted product of specific interest to the consumer may be located at an opposing end of the store where the consumer had no intention of approaching. Unless the consumer was to manually investigate every store aisle, one by one, the consumer would have no idea that such product of interest was subject to a promotion. Moreover, consumers may not know that they even need such products of interest and may be unaware of the location of such promoted product of interest in the store. Accordingly, conventional techniques of advertising within the physical store cause a loss of potential sales because the consumer is not made aware, on an individual basis, of the identity, location and promotions available to products of interest to the specific consumer.

The present invention is aimed at least one or more of the problems identified above.

SUMMARY

In one embodiment, a system is provided comprising at least one database. The at least one database comprises map data defining a layout of a retail facility, product data identifying products for sale at the retail facility, location data defining a location of products for sale at the retail facility, purchase data relating to at least one product previously purchased by a specific consumer, and promotion data identifying at least one promotion available for the products at the retail facility. A search engine module is configured to access the map data, location data, purchase data, and promotion data. A processor is configured to correlate, using the product data, purchase data and promotion data, the at least one promotion with the at least one product previously purchased by the specific consumer. The processor generates for presentation on a display of a computing device a map of the layout of the retail facility. The map indicates with respect to the layout the location of the at least one product previously purchased by the specific consumer and the at least one promotion correlated with the at least one product previously purchased by the specific consumer.

In other embodiments, a computer-implemented method is provided. The computer-implemented method includes the step of accessing, with a search engine module, from at least one database, map data defining a layout of a retail facility, product data identifying products for sale at the retail facility, location data defining a location of products for sale at the retail facility, purchase data relating to at least one product previously purchased by a specific consumer, and promotion data identifying at least one promotion available for the products at the retail facility. The computer-implemented method includes the step of analyzing, using a processor, the map data, the location data, the product data, the purchase data and the promotion data. The processor correlates the at least one promotion with the at least one product previously purchased by the specific consumer. The computer-implemented method includes the step of generating, using the processor, a map of the layout of the retail facility that is presentable on a display of a computing device. The map indicates with respect to the layout the location of the at least one product previously purchased by the specific consumer and the at least one promotion correlated with the at least one product previously purchased by the specific consumer.

In still other embodiments, one or more non-transitory computer-readable storage media have computer-executable instructions embodied thereon. When executed by at least one processor, the computer-executable instructions cause the processor to access from at least one database, map data defining a layout of a retail facility, product data identifying products for sale at the retail facility, location data defining a location of products for sale at the retail facility, purchase data relating to at least one product previously purchased by a specific consumer, and promotion data identifying at least one promotion available for the products at the retail facility. The computer-executable instructions cause the processor to analyze the map data, the location data, the product data, the purchase data and the promotion data. The computer-executable instructions cause the processor to correlate the at least one promotion with the at least one product previously purchased by the specific consumer. The processor generates a map of the layout of the retail facility that is presentable on a display of a computing device. The map indicates with respect to the layout the location of the at least one product previously purchased by the specific consumer and the at least one promotion correlated with the at least one product previously purchased by the specific consumer.

The system, computer-implemented method, and non-transitory computer-readable storage media are configured to use data mining techniques to provide a map indicating the location of the product previously purchased by the specific consumer with respect to the layout of the retail store. This revolutionizes conventional methods of advertising products for sale physically within the retail store. The techniques described herein reduce the need for advertising techniques that are presented to large groups of consumers. Instead, the promotion is specifically correlated with the at least one product previously purchased by the specific consumer, thereby promoting the sale of products that the consumer is more likely to consider purchasing. Thus, the system, computer-implemented method, and non-transitory computer-readable storage media provide efficient promotion of the sale of products in physical retail stores because such promotions are specifically tailored to the needs or desires of specific consumer.

Additionally, the techniques described herein advantageously inform the specific consumer of the promotion correlated with the product as well as location of the product within the store. Considering the size of stores and the amount of products offered, consumers who are physically present in the store are less likely to overlook products of specific interest to them that may have promotions because the computing device displays such promotions on the map according to the techniques described herein. For example, by displaying on the map, the location and promotion associated with a specific product of interest to the consumer, based at least on the consumers past purchase history, the consumer is more likely to approach such product. This is true even if the consumer had no previous intention of approaching that region of the physical store and even if the consumer had no previous intention of purchasing that product before entering the store. Accordingly, the techniques described herein are likely to increase potential sales because the consumer is made aware, on an individual basis, of the identity, location and promotions available to products of interest to the specific consumer as the consumer navigates the physical store.

DETAILED DESCRIPTION

A. System and Method Overview

Referring to the Figures, wherein like parts or components are identified using like numerals throughout the several views, one example of a system10is provided inFIG. 1. The system10is utilized for aiding in promotion of products offered for sale at a retail facility that are tailored to a specific consumer.

Other features of the system10can be found in commonly owned U.S. patent application Ser. No. 15/010,354, filed on Jan. 29, 2016 and commonly owned U.S. patent application Ser. No. 15/010,449, filed on Jan. 29, 2016, which are hereby incorporated by reference in their entirety.

As used herein, the term “retail facility” may refer to any store, business or a combination of businesses that sells and/or offers to sell products or services to a consumer. Examples of a retail store include grocery stores, malls, department stores, convenient stores, etc. The retail facility may be representative of a larger corporate environment, which may provide many avenues of interface with the consumer. A retailer operates the retail facility. The retail facility is typically a brick and mortar type store. In other words, the retail facility is a physical store rather than a purely online store.

The system10includes a computing device12, a processor14, a data composition module, or hereinafter, search engine module15, and at least one database16. The computing device12is configured to access data from the database(s)16via a network18using, in one embodiment, the search engine module15. In some embodiments, a server20may communicate with the computing device12, and vice-versa. The term “search engine” module is not intended to limit the functionality of the module to merely searching. Instead, the search engine module15may perform a variety of tasks, including processing, capturing, compiling, analyzing, and/or making determinations about data. The search engine module15may be implemented at a composition layer, data layer, or the like.

The computing device12is operated or possessed by a consumer. The consumer is preferably any individual who shops at the retail facility. However, the individual may be any other individual capable of using the techniques described herein. For example, the individual may be any employee contractor, service provider, or the like.

The computing device12comprises, or is in communication with, a display22. The display22allows the presentation of information to make the consumer aware of at least the location and the promotions correlated with products offered for sale at the retail facility.

The processor14may be implemented by the computing device12, the server20, or both. When implemented by both, the computing device12may comprise at least one processor14a, and the server20may implement at least another processor14b, as shown inFIG. 1. Those skilled in the art appreciate that various other configurations are possible without departing from the scope of the invention.

As shown inFIG. 5, the retail facility comprises a layout24, such a floor plan, defining, to approximate scale, the position and location of any suitable structures, areas, and objects at the facility. InFIG. 5, the layout24is presented in the form of a map26that is presented on the display22of the computing device12. The map26provides, among other things, a digital representation of the layout24of the facility, in part, or in whole.

The layout24may define the position and location of aisles, departments, restrooms, exits, entrances, parking areas, restaurants, and the like. These structures, areas, and objects are defined within a perimeter of the layout24, which represents the exterior wall of the facility. Typically, each retail facility comprises its own layout24. In some instances, retail facilities may include common layouts24. The layout24of the facility is stored in an electronic format and in mediums, such as the database(s)16for example, to facilitate the techniques herein.

As shown inFIG. 2, the database(s)16are configured to store map data30relating to24layout of the retail facility. The map data30is utilized to generate the map26such that the map26is presentable on the display22of the computing device12. The database(s)16are configured to store location data32. The location data32defines a location of products for sale at the retail facility. The database(s)16are further configured to store purchase data34. The purchase data34relates to at least one product previously purchased by a specific consumer. The database(s)16are further configured to store promotional data36. The promotional data36relates to at least one promotion available for the products at the retail facility. The database(s)16are further configured to store product data38. The product data38provides identifications, titles, descriptions, attributes, properties, images, etc., relating to the products offered for sale at the retail facility.

As shown inFIG. 6, the system10implements a computer-implemented method500. At operation500, at least one of the processor(s)14a,14band/or the search engine module15, are configured to the access the map data30, location data32, purchase history data34, promotional data36, and product data38. The processor14afrom the computing device30, the processor14bfrom the server20and/or the search module15may access the data30,32,34,36,38in order to read, analyze, and make determinations about the contents of the data30,32,34,36,38in furtherance of generating the map26. The processor(s)14a,14band/or search module15may access the data30,32,34,36,38using any suitable means.

Using at least the purchase history data34, promotional data36, and product data38, the processor(s)14a,14band/or search engine module15correlate the at least one promotion with the at least one product previously purchased by the specific consumer, at operation504. In other words, the processor(s)14a,14band/or search modules15analyze the purchase history data34, promotional data36, and product data38to link current promotions for products that currently offered for sale at the facility based on past purchases of products made by the consumer.

After the promotion is correlated with the at least one product, the processor(s)14a,14b, generate for presentation on the display22of the computing device12the map26of the layout24of the retail facility. As shown inFIG. 5, the map26indicates with respect to the layout24, at least, the location of specific product(s) product previously purchased by the specific consumer and the correlated promotion(s) affiliated with the specific product(s). By indicating the location and promotions for the products of interest to the consumer on the map26, the map26provides significant advantages to consumers and retailers. The map26provides an automated technique to make consumers aware of what products the consumer may need, and whether such products, if needed, are on sale. The map26digitally, quickly, and clearly identifies where products of interest to the specific consumer are particularly located with respect to the specific layout24for the retail facility.

Various aspects and embodiments of the techniques, methods, and components summarized in this section are explained in detail below.

B. Computing Device

Various embodiments, components, and techniques related to the computing device12are described herein. The computing device12is utilized at the retail facility. For example, the consumer may carry the computing device12during shopping for products at the retail store.

Computing device12may be a portable device, wherein at least some or all of its components are formed together in a single device, which can be carried around by the individual. The computing device12may include any suitable device, including, but not limited to, a portable computer, a laptop or notebook computer, personal desktop assistant (PDA), a tablet, a handheld mobile device including a cellular telephone, Smartphone, Netbook, and the like.

FIG. 4illustrates one embodiment of the computing device12. The computing device12may include a user interface60, a communication device62, the processing device14a(processor), and a memory device66. Computing device12includes any portable electronic device having the processor14afor executing applications on the user interface60displaying information connected with the processor14a.

On example of the user interface60is the aforementioned display22, which can use any of a variety of types of display technologies, such as a liquid crystal display (LCD), a cathode-ray tube type display, an electronic ink display, a light emitting diode (LED) type display such as an OLED display, a plasma display, or the like.

Computing device12may include a graphical user interface (GUI)68, as shown inFIG. 5, for interactively displaying the map60. GUI68may include a plurality of input objects, which allow the consumer to provide commands to the computing device12. GUI68may include an input to determine the style or settings of the map26that the user desires to display on GUI68. Alternatively, the style and settings of map26may be predetermined without any input from the user. GUI68may also include input to select the desired retail facility for which the map26corresponds. Alternatively, the computing device12and/or server20may automatically detect the retail facility based on, for example, tracking information related to the location of the computing device12, or the like.

FIG. 5illustrates one example of the computing device12presenting the map26on the display22. InFIG. 5, the GUI68overlays any suitable contextual information relating to the retail facility on the map26. Such contextual information may include, for example, the location of goods, entrances and exits, registers, restrooms, and/or departments, relative to the layout24of the facility. Other examples of contextual information include, but are not limited to, position/location, directional or orientation data relating to the computing device12in relation to the layout24. Other contextual information may also include indicators associated with the route taken by the individual through the facility and/or the length of time the computing device12was at different locations within the retail facility. Any of the aforementioned contextual information may be presented according to any suitable color, style, shape, and the like. The GUI68may overlay any suitable contextual information or data on one the map26.

In general, the GUI68is embodied in a software application (“app”)72that is run by the computing device12. The app72is any suitable type of software program that facilitates performance of the techniques described herein. The app72may be a mobile app, if the app72is implemented on a mobile device. The app72may be pre-installed on the computing device12or downloaded to the computing device12using the internet. In one embodiment, the app72is developed, administered, and provided by the retailer of the facility. The app72utilizes the native components of the computing device12, such as the user interface60, the communication device62, the processor14a, and the memory device66.

In some embodiments, the app72is hosted by the server20. The app72may receive content for presentation to the user on the display22of computing device12, or use such content in other functionality performed by app72on computing device12. Those skilled in the art appreciate that the app72may have any suitable configuration without departing from the scope of the invention.

The communication device62is in communication with the processor14aand is capable of sending and receiving information between one or more other computers in communication with the computing device12. Preferably, the communication device62is capable of wirelessly transmitting signals to another computer, such as the server20using a radio transmitter and a receiver63connected with an antenna. This allows the computing device12to be used throughout the facility in mobile implementations.

The computing device12is in communication with the server20via any suitable network18. In some embodiments, the computing device12may communicate with the server20over a cellular data network.

In some embodiments, the communication device62communicates with a wireless communications unit such as, e.g., a wireless router or wireless access point that provides a wireless network (wireless network or Wi-Fi). Communication device62allows computing device12to communicate with another device, e.g., tracking system, via the network18. Communication device62can include one or more wireless transceivers for performing wireless communication and/or one or more communication ports for performing wired communication. The communication device62allows the computing device12to receive/send information or data to facilitate generation of the map26.

Memory device66is a device that stores data generated or received by the computing device12. Memory device66can include, but is not limited to, a hard disc drive, an optical disc drive, and/or a flash memory drive. Memory device66may be a file store, memory or some other storage medium configured to store physical components to support the app72, such as components associated with a graphical user interface, map data, tracking data, and the like. The memory device66may include memory, e.g., read only memory (ROM) and random access memory (RAM), storing processor-executable instructions.

The computing device12may include any other suitable drives and associated computer readable memory medium to provide storage of computer readable instructions, data structures, program modules and other data for the computing device12. Drives can include an operating system, application programs, program modules, and program data.

In some embodiments, the processor(s)14a,14b, as described herein, include any programmable system including systems and microcontrollers, reduced instruction set circuits (RISC), application specific integrated circuits (ASIC), programmable logic circuits (PLC), and any other circuit or processors capable of executing the functions described herein. The above examples are exemplary only, and thus are not intended to limit in any way the definition and/or meaning of the term processor. In embodiments where there are two or more processors14a,14binstead of one, the processors can operate in a parallel or distributed manner.

The computing device12further comprises any suitable input devices through which data may enter the computing device12, either automatically or by a user who enters commands and data. Input devices can include an electronic digitizer, a barcode reader, a microphone, a camera, a video camera, a keyboard and a pointing device, commonly referred to as a mouse, a trackball or a touch pad, a pin pad, any USB device, any Bluetooth enabled device, an RFID or NFC device, and a card reader. Other input devices may include a joystick, game pad, scanner, touch screen and the like. In one or more embodiments, input devices are portable devices that can direct display or instantiation of applications running on processor14a. The computing device12may further include any suitable sensors for facilitating tracking of the location, movement, direction or orientation of the computing device12. Such sensors may include gyro-sensors, accelerometers, or the like. Additionally, processor14a,14bmay execute any suitable modules74for facilitating generation of the map26. Various embodiments of the modules74are described in detail below.

In one embodiment, as shown inFIG. 2, the computing device12, and more specifically, the app72, is configured to access at least one of the map data30, location data32, purchase data34, promotion data36, and product data38using at least one application programming interface (API)80. The API80is a set of routines, protocols, callable methods, or tools specifying how software components should interact. The API80may allow embedding of information (e.g., images, video, data) relating to the data30,32,34,36,38or other functionality of the app72. The API80may utilize any suitable interface, such as a JavaScript/JSON, XML, or Flash interface. The API80is configured to accesses any of the database(s)16or computer hardware like hard disk drives or video cards. The API80is used with GUI68and can facilitate integration of features into the app72, thereby implementing a “plug-in API”. The API80can also assist with sharing data, which can help to integrate and enhance the functionalities of the app72. In one embodiment, any of the APIs80may be linked to internet-based sources that are operated by the retailer, such as an online retail store, or the like.

The computing device12may utilize a plurality of APIs80. The APIs80may be in communication with and/or controlled by the app72to facilitate generation of the map26. The APIs80may be stored in the memory device66of the computing device12and/or on the server20. In one embodiment, the processor14aof the computing device12is configured to execute the APIs80.

As shown inFIG. 2, each source of data may be accessed by a different one of the APIs80a-80e. For example, a map API80amay access the map data30, a location API80bmay access the location data32, an purchase history API80cmay facilitate access and analysis of the purchase data34, a promotion API80dmay access the promotion data36, a product API80emay access the product data38, and the like. The APIs80a-80emay be implemented, in part, by the app72running on the processor14aof the computing device12and/or the processor14bof the server20. To manage the APIs80a-80d, an API management protocol or API orchestration layer, such as an API gateway82may be utilized. The API gateway82may have any suitable configuration, such as an on-premise proprietary gateway that may be locally installed, a cloud-hosted gateway that re-directs traffic through other servers or data APIs, a plug-in/agent gateway that provides software modules implemented within the application72, open source gateways, or the like.

Those skilled in the art appreciate that the computing device12may have various other configurations not specifically described herein for implementing any of the techniques described herein. Additionally, the API(s)80and/or gateway82may have other configurations not specially recited herein without departing from the scope of the invention.

C. Server and Database(s)

Various embodiments, components, and techniques related to the server20and database(s)16are described herein. The system10may include the server20to facilitate generation of the map26. In one embodiment, the server20is operated by the retailer. Alternatively, the server20may be operated by a third party on behalf of, or employed by, the retailer. The server20may be physically located at the retail facility. Alternatively, the server20may be physically located at a site that is remote from the retail facility.

With reference toFIG. 3, the server20, according to one embodiment, comprises the processing device14b, which can communicate with a memory device92and a communication device94implemented by the server20.

The server processing device14bcan include memory, e.g., read only memory (ROM) and random access memory (RAM), storing processor-executable instructions and one or more processors that execute the processor-executable instructions. In embodiments where the server processing device14bincludes two or more processors, the processors can operate in a parallel or distributed manner. The server processing device14b, as described herein, includes any programmable system including systems and microcontrollers, reduced instruction set circuits (RISC), application specific integrated circuits (ASIC), programmable logic circuits (PLC), and any other circuit or processor capable of executing the functions described herein. The above examples are exemplary only, and thus are not intended to limit in any way the definition and/or meaning of the term processor. In an example, the server processing device14bmay host the app72provided on the computing device12.

The server communication device94allows the server20to communicate with another device, e.g., the computing device12, and the like, via the network18. The server communication device94can include one or more network interfaces and/or wireless transceivers for performing wireless communication and/or one or more communication ports for performing wired communication. Any of the data30,32,34,36,38may be transmitted by or received with the communication device94.

The server memory device92stores data generated or received by the server20. For example, the server memory device92may store any of the data30,32,34,36,38. The server memory device92can include, but is not limited to a hard disc drive, an optical disc drive, and/or a flash memory drive. Further, the server memory device92may be distributed and located at multiple locations. The server memory device92is accessible to the processing device14b. In some embodiments, the server memory device92stores the data in the database(s)16.

The server20may include any suitable modules for retrieving and processing the data. For example, the server20may include a map module96configured to obtain maps corresponding to the layout24of any one of a plurality of retail facilities. The map module96is configured to access the map database16, and any of the other data30,32,34,38, if needed, and analyze the same for facilitating generation of the map26. Map module96may receive the layout24from a plurality of sources such as the retail facility itself, a partner of a retail facility, the internet, a blueprint, a database of WKT (well known text) objects, or any other source of map information. In some embodiments, map module96generates maps that include the layout24of the desired retail facility including product placement indicators, size of different departments, and/or aisles of the retail facility. Map module96may also be configured to receive map data30comprising only a limited layout24of the retail store including the positioning of the walls of the retail store.

Map module96may be configured to enable presentation of map data30associated with the retail facility on GUI68. Map module96may query the map database16ausing tracking data associated with the computing device12, e.g., RTLS coordinates, or a general location, e.g., postal zip code or city/state, and automatically determine where computing device12is located in relation to the layout24of the retail facility. Map module96may be configured to overlay contextual information on the layout24.

The processing device14bin the server20may additionally implement and a purchase history module97, a product module98, a promotion module99, and a location module100.

The purchase history module97may access the purchase data34, and any of the other data30,32,36,38, if needed, and analyze such data to determine observations, inferences, remarks, trends, and/or patterns from past purchase history for the specific consumer and any other consumers.

The product module98may access and analyze the product data38, and any of the other data30,32,34,36, if needed, and analyze such data to determine the identity and/or attributes of the products offered for sale at the retail facility and/or the identity or attributes of products previously purchased by the specific consumer.

The promotion module99may access and analyze the promotion data36, and any of the other data30,32,34,38, if needed, and analyze such data to determine promotions that are currently available for products offered for sale at the retail facility and/or promotions for products previously purchased by the specific consumer.

The location module100may access and analyze the location data32, and any of the other data30,34,36,38, if needed, and analyze such data to determine to determine the specific location of the products offered for sale at the retail facility in relation to the layout24. Such locations may be locations of products previously purchased by the specific consumer.

Any of the modules96-100may work in conjunction with one another collectively to make the determinations of the techniques described herein. The modules96-100in the server20are optional and may not be necessary in view of the API architecture described above relating to the computing device12. In other words, the computing device12may make such determinations independent of the server20. Furthermore, in some embodiments, the data composition module or search engine module15may replace any one or all of the modules96-100. Furthermore, any of the modules96-100may be one of the modules72in the computing device12.

Any of the database(s)16may be operated by the retailer. Alternatively, the database(s)16may be operated by a third party on behalf of, or employed by, the retailer. The database(s)16may be physically located at the retail facility. Alternatively, the database(s)16may be physically located at a site that is remote from the retail facility.

The database(s)16may store any of the data30,32,34,36,38. In one embodiment, as shown inFIG. 2, the system10comprises a plurality of databases16a-16e. Each source of data is stored in a separate database16a-16e. That is, the map data30is stored in a database16adedicated to the map data30, the location data32is stored in a database16bdedicated to the location data32, the purchase data34is stored in a database16cdedicated to the purchase data34, the promotion data36is stored in a database16ddedicated to the promotion data36, and the product data38is stored in a database16ededicated to the product data38. Additionally, each API80a-80ecan communicate directly with the database(s)16a-16dto access the respective data from that database16. Alternatively, any or all of the data30,32,34,36,38may be shared between any one or all of the databases16a-16e.

The database(s)16can additionally store information associated with any individual or computing device12. For example, the database(s)16can store information associated with a user account and may include account preferences and user contact information. The database16may be queried by the processor(s)14a,14bto provide information for facilitating generation of the map26. For example, the consumer may enter login information using the app72and the GUI68. This way, the identity and data of the specific consumer can be retrieved and accessed securely. The system10may utilize any suitable mechanism or technique to ensure privacy of the specific consumer.

The map data30stored in the database(s)16acomprises data relating to24layout of the retail facility. As used herein, the term “map data” refers to map information defining the layout24of the retail facility or information otherwise relating generally to the layout24. For example, the map data30may define any of the structures, areas, and objects relating to the layout24. The map data30is utilized to generate the map26such that the map26is presentable on the display22of the computing device12. One embodiment of the map26, as displayed inFIG. 5, comprises boundaries for aisles, walls, and departments. The map data30may be generated and/or provided by the retailer or a source relating to the retailer. Those skilled in the art appreciate that the map26may be displayed according to any suitable configuration. For example, the map26may comprise a grid reference system, a Cartesian coordinate system with geospatial reference points, any suitable 2-D or 3-D virtual or real images, and the like. The map data30may comprise other information not specifically described herein.

The location data32stored in the database(s)16bdefines the location of products at the facility, and more specifically, the location of products of potential interest to the consumer on the map26of the layout24. The location data32may define a general location (e.g., Department A), and/or a precise location (e.g., aisle7, bin8) where the retailer has decided to place the product for sale. The location data32may be generated and/or provided by the retailer or a source relating to the retailer. The location data32may comprise other information not specifically described herein. In some embodiments, the product data38may be incorporated into the location data32. Ideally, the location data32is maintained or updated in real-time to maximize accuracy of the map26and to maximize productivity and accuracy of the map26.

Additionally, the location data32may comprise the location of the computing device12at the retail facility.

The product data38stored in the database(s)16comprises product information about products offered for sale at the retail facility. Such product data38may comprise attributes of the product, including, but not limited to, the title, description, nutrition information, brand name, price of the product, or like. The product data38may additionally define the identity of the product, e.g., using an item name/number, identification codes, UPC codes, as well as other information associated with the products or the like. The product data38may also include expiration date information for perishable type goods, such as meat and dairy, or the like. Those skilled in the art appreciate that product data38may comprise any other suitable type of information about the product not specifically recited herein.

The purchase data34stored in the database(s)16cmay comprise information associated the previous purchase by the specific consumer of products offered for sale at the retail facility. For example, the purchase data34may identity how many times the specific consumer previously purchased a product, how many units of the product were purchased, the date/time of such purchases, and the like. The purchase data34may be compiled from any suitable source, such as by point-of-sale (POS) systems at the retail facility or by e-receipts that are saved and parsed by the server20. The purchase data34may be generated and/or provided by the retailer or a source relating to the retailer. That is, once products are sold, the purchase data34may be immediately updated to reflect the loss of units offered for sale. Conversely, once products are re-stocked, the purchase data34may be immediately updated to reflect the addition of units offered for sale. Such updating may be based on input from sales systems at the retail facility or the computing device(s)12. For example, such sales systems may send data from e-receipts to the server20such that the information from the products purchased on the e-receipts may be digitally extracted and inputted into the purchase data34. In other embodiments, the purchase data34may be extracted based on a consumer's intent to purchase a good, rather than a good previously or already purchased. For example, the purchase data34may be extracted from a list of products inputted into a consumer's digital shopping cart on a webpage or within a mobile app. Furthermore, purchase data34may be extracted from various other sources or behaviors relating to the consumer, such as the search history, user preferences like “organic”, “gluten-free”, “dairy-free”, and the like.

Ideally, the purchase data34is maintained or updated in real-time to maximize accuracy and productivity of the map26. The purchase data34may comprise other information not specifically described herein.

Additionally, the purchase data34may comprise purchase history information about consumers other than the specific consumer. For example, the purchase data34may identify the sell rate of certain products, how many times other consumers previously purchased a product, how many units of the product were purchased by other consumers, the date/time of such purchases, and the like. The purchase data34may also include non-intrusive and generic demographic data relating to the other consumers who made such purchases. Such demographic data may include, for example, age, sex, residence, zip code, state, and any suitable economic data derived from other consumers. Furthermore, the purchase data34may comprise transitive recommendations from other consumers, such as product recommendations derived from the behavior of other consumers who have purchased similar products as the consumer.

The promotion data36stored in the database(s)16comprises data about promotions that are currently available for products offered for sale at the retail facility and/or promotions for products previously purchased by the specific consumer. For example, the promotion data36may identify the type of promotion, i.e., deals, bargains, discounts, and/or rebates affiliated with certain products offered for sale. The promotion data36may also define the promotional price information about the product, including the original price of the product absent the promotion. Additionally, the promotion data36may indicate the expiration date, duration, or period of the promotion. Those skilled in the art appreciate that promotion data36may comprise any other suitable type of information about the product not specifically recited herein.

In some embodiments, the data30,32,34,36,38described herein need not be separated or partitioned in isolation. Rather, it is contemplated that some of the data30,32,34,36,38may be mixed or incorporated into one another. For example, the location data32or promotion data36may encompass portions of product data38, or the like.

Various embodiments, components, and techniques related to the network18are described herein. The network18may include one or a plurality of networks18for facilitating communication between any one of the computing device12, server20, and tracking system. It will be understood that network18may be a combination of multiple different kinds of wired or wireless networks.

Network18may include any type of network that is capable of sending and receiving communication signals, including signals for multimedia content, images, data and streaming video. Network18may include a data network, such as the Internet, an intranet, a local area network (LAN), a wide area network (WAN), a cable network, and other like systems that are capable of transmitting information, such as digital data, and the like. Network18may also include a telecommunications network, such as a local telephone network, long distance telephone network, cellular telephone network, satellite communications network, and other like communications systems that interact with computer systems to enable transmission of information. Network18may include a plurality of data networks, a plurality of telecommunications networks, cable systems, satellite systems and/or a combination of data and telecommunications networks and other like communication systems.

E. Mapping Techniques

As described herein, any of the processor(s)14a,14band/or search engine module15are configured to access the map data30, location data32, purchase data34, promotion data36and product data38and correlate at least one promotion with the at least one product previously purchased by the specific consumer. The processor(s)14a,14bthen generate for presentation on the display22of the computing device12the map26of the layout24of the retail facility wherein the map26indicates with respect to the layout24the location of the at least one product previously purchased by the specific consumer and the at least one promotion correlated with the at least one product previously purchased by the specific consumer.

Using the aforementioned data30,32,34,36,38, any of the processor(s)14a,14band/or the search engine module15can make intelligent determinations about what promotions should be correlated with certain products of interest to the specific consumer, and vice-versa.

Determinations about which promotions should be correlated with certain products may be made using predefined threshold values relating to attributes of the purchase data34. For example, if a product was only purchased once by the specific consumer over a two year window, the processor(s)14a,14bmay determine that the product may be of less interest to the consumer, and thereafter, determines that this particular product should not be promoted on the map26. Conversely, if a product is purchased by the specific consumer every month, the processor(s)14a,14bmay determine that the product is of more interest to the consumer, and thereafter, determines that this particular product promoted and potentially emphasized on the map26. The predefined threshold values may be any other suitable values and be based on any suitable other purchase data34metric not specially recited herein.

In this sense, the processor(s)14a,14bmay determines priorities about what products, among those previously purchased by the consumer, are most suitable to be chosen for promotion correlation, and/or what promotions, among those available from all promotions, are most suitable to be chosen for previously purchased products. Thus, the processor(s)14a,14bmay rank the product-promotion combinations based which combinations are most profitable, which products have the highest turnover, and/or which products provide the greatest ROI, and the like. In this way, such intelligent determinations by the processor(s)14a,14boptimize sales by selectively promoting products that are more likely to be sold to the consumer or generate more income/profit for the retailer.

In some embodiments, any of the processor(s)14a,14bare further configured to determine patterns or trends based on the purchase data34. For example, knowing the change in the quantity of purchase of a product by the specific consumer or other consumers over time may help to determine whether a promotion should be correlated with a product, or the like. This allows predictions to be made about what promotion correlations are likely to be most successful.

One example of the map26displayed on the computing device12is provided inFIG. 5. Although, it should be appreciate that the map26may have various other configurations other than the configuration depicted inFIG. 5. The map26comprises the layout24of the facility, in part or in whole. When provided in whole, the map26provides an overview of the whole retail facility. The layout24in the map26need not provide all information relating to the structures, areas, and objects at the facility. Any appropriate information may be omitted from the layout24for suitable reasons, such as confidentiality, safety, redundancy, or efficiency. As such, the map26need not include every detail of the layout24. Rather, the map26is provided to give the user of the computing device12context as to where the promoted products are located, and optionally where the user is generally located at the retail facility, such locating the promoted products can be easily performed.

The map26may have variable zoom such that the user of the computing device12can zoom the map26in or out. The GUI68may provide a zoom interface for allowing the user to specify the zoom level of the map26. The map26may have any suitable resolution for facilitating identification of the products.

In one embodiment, the map26is configured such that the entirety of the layout24presented in the map26is static. That is, the map26remains in a constant state and neither zooms-in, rotates, etc. In other embodiments, the map26is dynamic and is configured such that the layout24changes dependent on changes in the location of the computing device12. That is, as the computing device12moves throughout the retail facility, the map26may follow the location and/or orientation of the computing device12. For instance, the map26may be configured to automatically center based on the current location of the computing device12tracked by the tracking system. Other features of the tracking system can be found in commonly owned U.S. patent application Ser. No. 15/010,354, filed on Jan. 29, 2016 and commonly owned U.S. patent application Ser. No. 15/010,449, filed on Jan. 29, 2016, which are hereby incorporated by reference in their entirety.

Additionally, the map26may be configured to automatically rotate the layout24presented based on the orientation or direction of the computing device12, which is representative of the direction that the individual is standing at the facility.

The map26is generated, in part, based on the map data30, location data32, and purchase data34, promotional data36, and product data36. For example, the map data30is utilized to generate the layout24of the map26for the specific retail facility. The location data32is utilized to pinpoint the location of the products of interest on the map26. The purchase data34is utilized to facilitate display on the map26of the observations, remarks, or predications about the product previously purchased by the consumer. In some embodiments, the map26may use some of, but not all of the sources of data30,32,3436,38. In other embodiments, the map26uses all of the sources of data30,32,3436,38.

The map26is configured such that graphics102are overlaid thereon. The map26displays graphics102relating to products in the retail facility. For example, as shown inFIG. 5, the map26displays a product location graphic102a, which denotes the current location of the product previously purchased by the consumer at the facility. Said differently, the product location graphic102aidentifies the location of a product currently offered for sale at the retail facility that is the same as or similar to a product previously purchased by the consumer. Any of the processor(s)14a,14bare configured to generate the product location graphic102aand overlay the product location graphic102aat the location of the products on the map26. In one example, the product location graphic102ais denoted by a pin-drop. InFIG. 5, the product location graphic102afor each product is placed at specific aisles and locations within the aisle where the respective product is placed for sale.

The product location graphic102amay indicate other location information about the product, including, but not limited to, notes about where exactly the product is located. The product location graphic102amay indicate what side of the aisle, what shelf or bin the product, and/or any other information about where the product is placed. Such information can be denoted by the product location graphic102ausing visual or textual graphics. The product location graphic102acan be represented in geographic coordinates, Cartesian coordinates, e.g., an (x, y) point if the facility is divided into a Cartesian plane, a combination of coordinate system or reference points within other coordinate systems, or the like. A series of reference points allow mapping from one coordinate system, e.g., Cartesian, to another coordinate system, e.g. geographical, and the like. Those skilled in the art appreciate that the location of the product may be denoted by other graphics not specifically recited herein and that the product location graphic102amay indicate other location information about the product not specifically recited herein.

Another graphic that can be overlaid on the map26is a promotional graphic102b, which indicates promotional information correlated with the product located on the map26. As shown inFIG. 5, the promotional graphic102baccording to one example comprises a text box that is linked to the product location graphic102aof the product. The text box identifies any of the attributes of the promotion, as described herein. For example, as shown inFIG. 5, the promotional graphics102bdisplay a “buy 1 get 1 free” promotion for a specific milk product, a “20% off” sale for a specific hand soap product, and a “$1.00 off” deal for a specific pasta salad product, each of which has been previously purchased by the consumer at one point or another. Such information can be denoted by the promotional graphic102busing visual, textual, static, or animated graphics. Promotional graphic102bmay also indicate additional information, such as details derived from the product data38. For example, the promotional graphic102bmay identify specific attributes of product correlated with the promotion so that the consumer is aware of specifically what product has such promotion. Of course, it is contemplated that product data38may be displayed using a graphic independent of the promotional graphic102b.

In yet another example, the promotional graphic102bmay additionally provide a product pop-up that comprises an image or video to provide the consumer with supplemental information about the product, promotion, or the like. The pop-up may be selectively accessible via any suitable technique, such as clicking on any of the graphics102, or the like. The product images or videos may be stored in the database(s) and the clicking on the graphic102may open a hyperlink to the pop-up. In at least this way, the map26can also be interactive allowing the consumer to access layers of map data30, location data32, purchase data34, promotion data36and/or product data38hidden initially from the displayed map26. Those skilled in the art appreciate that the promotional information of the product may be denoted by other graphics not specifically recited herein and that the promotional graphic102bmay indicate other information about the product or promotion not specifically recited herein.

Another graphic102that may be overlaid on the map26is a purchase history graphic102c. The purchase history graphic102cdisplays information derived from the purchase data34. As mentioned, the processor(s)14a,14bare further configured to generate, using the purchase data34, observations, inferences, remarks, trends, and/or patterns from past purchase history for the specific consumer and any other consumers. The purchase history graphic102cmay be presented to display such observations, inferences, remarks, trends, and/or patterns for the knowledge of the consumer and for supplemental promotion of the sale of the product. For example, as shown inFIG. 5, one purchase history graphic102ccomprises a text box indicating, “You previously purchased 8 times.” This purchase history graphic102cis based on an observation made about the previous number of units of product purchased. This signifies to the consumer that the promoted product is one that has been repeatedly purchased by the consumer, thereby potentially reminding the consumer that this product should be purchased again. Another purchase history graphic102cinFIG. 5indicates that the promoted product was “last purchased 2 weeks ago.” This purchase history graphic102cis based on an observation made about the frequency of purchase. This signifies to the consumer to think about whether the promoted product is in need of purchase given the last date of purchase. Yet another example of a purchase history graphic102cinFIG. 5displays that “your pasta salad at home expires tomorrow.” This purchase history graphic102cis based on an inference made knowing the expiration date of the product from the product data38in conjunction with date of purchase from the purchase data34. This signifies to the consumer that the promoted product is one that should be purchased to replace the previously existing purchased product.

Additionally, the purchase history graphic102cmay be based on a prediction derived from any of the sources of data30,32,34,36,38. For example, the purchase history graphic102cmay indicate, “You probably need milk,” or the like. In yet another example, the purchase history graphic102cis based on the purchase history of other consumers. For example, the purchase history graphic102cmay indicate, “This is the most purchased product this week,” “This is a hot product in your community,” and the like. Any suitable algorithm may be utilized to determine the content and style of the phrasing provided purchase history graphics102c, if utilized. Such purchase history graphics102cmay have any other suitable form, such as a chart, graph, or the like. Those skilled in the art appreciate that the purchase data34may be denoted by other graphics not specifically recited herein and that the purchase history graphics102cmay indicate other information about the product or purchase history not specifically recited herein.

In one embodiment, any of the processor(s)14a,14band/or search engine module15are configured to access purchase data34, and any of the other sources of data30,32,36,38and correlate observations, inferences, remarks, trends, and/or patterns from past purchase history for the specific consumer and any other consumers with a product offered for sale by the retail facility. The processor(s)14a,14bmay then generate for presentation on the display22of the computing device12the map26of the layout24of the retail facility wherein the map26indicates with respect to the layout24the location of the product and the at least one correlated observation, inference, remark, trend, and/or pattern determined from the purchase data34. For example, processor(s)14a,14band/or search engine module15may analyze the consumer's purchase history and determine the consumer is “due or nearly due to purchase this product” based on their buying history and that specific product history and last purchase date. This technique may be performed independent of, and in lieu of, presenting promotional data on the map26. Accordingly, presenting such information based on the purchase data34may be persuasive enough, in some circumstances, to promote the sale of the products without relying on promotion data36.

In some embodiments, another graphic102that may be overlaid on the map26is a consumer tracking graphic102d. The consumer tracking graphic102dindicates the location of the computing device at the retail facility. In the example, as shown inFIG. 5, the consumer tracking graphic102dis denoted by a star that is positioned at the location of the facility where the computing device12is located. Of course, other graphics styles may be used, such as a compass, a pin-point, an arrow, and or the like. The system10may utilize the tracking system to determine where the computing device12is located.

In one embodiment, processor(s)14a,14bare further configured to present the location of the previously purchased product on the map26using the product location graphic102aonly if the location of the computing device12is within a predetermined proximity to the location of the product. For example, the predetermined proximity may be 20 ft, 50 ft, 100 ft, or the like. Conversely, processor(s)14a,14bmay be further configured to hide the product location graphics102aon the map if the location of the computing device12is beyond the predetermined proximity to the location of the product. If the consumer is distant from the promoted product, or if there are a significant amount of product location graphics102apresented on the map26thereby making the map26more difficult to read, this feature may help the consumer focus on certain promoted products within the predetermined proximity. Of course, similar techniques may be applied with the promotional graphics102band/or purchase history graphics102cas described herein.

Those skilled in the art appreciate that other objects, items, or features at the retail facility may be represented by overlaying graphics102. Additionally, any of the graphics102described herein may have other suitable shapes, forms, styles, colors, and the like, without departing from the scope of the invention. For instance, any of the graphics102may be animated or static. In addition, the graphics102may be overlaid according to any suitable method, including, but not limited to layering, image overlay, video overlay, or the like.

A computing device, server or computer, such as described herein, includes at least one or more processors or processing units and a system memory (see above). Any of the aforementioned devices may include form of computer readable media. By way of example and not limitation, computer readable media may include computer storage media and communication media. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology that enables storage of information, such as computer readable instructions, data structures, program modules, or other data. Communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media. Those skilled in the art should be familiar with the modulated data signal, which has one or more of its characteristics set or changed in such a manner as to encode information in the signal. Combinations of any of the above are also included within the scope of computer readable media.

Any combination of one or more computer-usable or computer-readable media (or medium) may be utilized. For example, a computer-readable media may include one or more of a portable computer diskette, a hard disk, a random access memory (RAM) device, a read-only memory (ROM) device, an erasable programmable read-only memory (EPROM or Flash memory) device, a portable compact disc read-only memory (CDROM), an optical storage device, and a magnetic storage device. Computer program code for carrying out operations of the present invention may be written in any combination of one or more programming languages.

Several (or different) elements discussed below, and/or claimed, are described as being “coupled”, “in communication with”, or “configured to be in communication with”. This terminology is intended to be non-limiting, and where appropriate, be interpreted to include without limitation, wired and wireless communication using any one or a plurality of a suitable protocols, as well as communication methods that are constantly maintained, are made on a periodic basis, and/or made or initiated on an as needed basis.

The above description of illustrated examples of the present disclosure, including what is described in the Abstract, are not intended to be exhaustive or to be limitation to the precise forms disclosed. While specific embodiments of, and examples for, the disclosure are described herein for illustrative purposes, various equivalent modifications are possible without departing from the broader spirit and scope of the present disclosure. Indeed, it is appreciated that the specific examples are provided for explanation purposes and that other techniques may also be employed in other embodiments and examples in accordance with the teachings of the present disclosure.