US20160125500A1 - Profit maximization recommender system for retail businesses - Google Patents
Profit maximization recommender system for retail businesses Download PDFInfo
- Publication number
- US20160125500A1 US20160125500A1 US14/528,763 US201414528763A US2016125500A1 US 20160125500 A1 US20160125500 A1 US 20160125500A1 US 201414528763 A US201414528763 A US 201414528763A US 2016125500 A1 US2016125500 A1 US 2016125500A1
- Authority
- US
- United States
- Prior art keywords
- item
- customer
- sale
- value
- similar
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G06F17/30386—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/12—Accounting
Abstract
A method includes receiving an identification code for an item selected for purchase by a customer in a retail store, identifying at least one item similar to the customer-selected item, identifying at least one item related to the customer-selected item, calculating a value for a first expected profit for a first sale of the customer-selected item and the similar item, calculating a value for a second expected profit for a second sale of the customer-selected item and the related item, sorting the first sale and the second sale in an order based on the value for the first expected profit and the value for the second expected profit, and providing information associated with the first sale and the second sale, the information for use in recommending the similar item or the related item for purchase by the customer in the retail store.
Description
- This description relates to cross-selling and up-selling to a customer in a retail store.
- Traditional retail stores (retailers) continue to look for ways to improve profit and revenue when selling items (goods or products) to customers. For example, cross-selling and up-selling can be ways a retailer can improve profits and revenue. Cross-selling can recommend items that are similar or related to an item the customer is interested in buying in the hope that the customer will purchase the additional item. Up-selling can recommend one or more items to a customer that are more expensive than the item the customer originally planned to purchase, in hopes that the customer will choose to buy the more expensive item.
- In some situations, the retailer can hire skilled assistants that can make product recommendations to customers. The skilled assistants can have experience with the product and the retailer's systems and businesses. A retail store, however, can inventory thousands of items where the price of each item can change daily, making it difficult for the assistant to make an appropriate recommendation to a customer. In addition, hiring skilled assistants can be difficult and expensive.
- A retailer is faced with the challenge of having an efficient, easy to use, and cost-effective mechanism for an assistant (or retail associate) to provide an appropriate recommendation to a customer that fulfills the customer's needs and requirements while maximizing the retailer's profits and revenue. Having a mechanism that helps an assistant provide appropriate cross-selling and upselling recommendations to customers can result in having satisfied customers and a happy retailer.
- According to one general aspect, a method includes receiving an identification code for an item selected for purchase by a customer in a retail store, identifying at least one item similar to the customer-selected item, identifying at least one item related to the customer-selected item, calculating a value for a first expected profit for a first sale of the customer-selected item and the similar item, calculating a value for a second expected profit for a second sale of the customer-selected item and the related item, sorting the first sale and the second sale in an order based on the value for the first expected profit and the value for the second expected profit, and providing, for display on a display device of a portable computing device, information associated with the first sale and the second sale in a manner representative of the sorted order of the first sale and the second sale, the information for use in recommending the similar item or the related item for purchase by the customer in the retail store.
- Implementations may include one or more of the following features. For example, identifying at least one item similar to the customer-selected item can include identifying at least one feature associated with the similar item that is the same as at least one feature associated with the customer-selected item. Identifying at least one item similar to the customer-selected item can include calculating a value representative of the similarity between the at least one similar item and the customer-selected item. Identifying at least one item similar to the customer-selected item further can include determining that the calculated value representative of the similarity between the at least one similar item and the customer-selected item meets or exceeds a threshold value. Calculating a value representative of the similarity between the at least one similar item and the customer-selected item can include calculating one of a cosine similarity, a squared Euclidean distance, and a Jaccard index. Identifying the at least one item related to the customer-selected item can include following an association rule mining algorithm that determines a value for a support factor and a value for a confidence factor for a relationship between a candidate item and the customer-selected item. Identifying the at least one item related to the customer-selected item can further include, based on determining that the value for the support factor meets or exceeds a threshold value, identifying the candidate item as the at least one item related to the customer-selected item. Identifying the at least one item related to the customer-selected item can further include, based on determining that the value for the support factor meets or exceeds a first threshold value and based on determining that the value for the confidence factor meets or exceeds a second threshold value, identifying the candidate item as the at least one item related to the customer-selected item. Calculating a value for a first expected profit for a first sale of the customer-selected item and the similar item can include determining a value associated with a probability that the customer will purchase the similar item based on the selection of the customer-selected item for purchase by the customer. The calculated value for the first expected profit can be based on an expected profit associated with the sale of the customer-selected item, an expected profit associated with the sale of the similar item, and the value associated with the probability that the customer will purchase the similar item. Calculating a value for a second expected profit for a second sale of the customer-selected item and the related item can include determining a value associated with a probability that the customer will purchase the related item based on the selection of the customer-selected item for purchase by the customer. The calculated value for the second expected profit can be based on an expected profit associated with the sale of the customer-selected item, an expected profit associated with the sale of the related item, and the value associated with the probability that the customer will purchase the related item. The sorted order can be a descending order of the value for the first expected profit and the value for the second expected profit.
- In another general aspect, a system includes a portable computing device including a display device, a recommendation system including a candidate item generation module, an association rule mining module, and a maximum profit recommendation module, and means for entering identification data for association with an item. The means for entering identification data for association with an item include means for entering an identification code for an item selected for purchase by a customer in a retail store. The candidate item generation module is configured to identify at least one item similar to the customer-selected item. The association rule mining module is configured to identify at least one item related to the customer-selected item. The maximum profit recommendation module is configured to calculate a value for a first expected profit for a first sale of the customer-selected item and the similar item, calculate a value for a second expected profit for a second sale of the customer-selected item and the related item, and sort the first sale and the second sale in an order based on the value for the first expected profit and the value of the second expected profit. The display device is configured to display information associated with the first sale and the second sale in a manner representative of the sorted order of the first sale and the second sale.
- Implementations may include one or more of the following features. For example, identifying at least one item similar to the customer-selected item can include the candidate item generation module being configured to access a plurality of records for items available for sale by a retailer, calculate a value representative of a similarity between a record for a candidate item and a record for the customer-selected item, and identify the candidate item as the similar item based on determining that the calculated value meets or exceeds a threshold value. Identifying at least one item related to the customer-selected item can include the association rule mining module being configured to access a plurality of records for items available for sale by a retailer, calculate a value for a support factor and a value for a confidence factor for a relationship between a record for a candidate item and a record for the customer-selected item, and identify the candidate item as the related item based on determining that the calculated value for the support factor meets or exceeds a first threshold value and that the calculated value for the confidence factor meets or exceeds a second threshold value. Calculating a value for a first expected profit for a first sale of the customer-selected item and the similar item can include the maximum profit recommendation module being configured to determine a value associated with a probability that the customer will purchase the similar item based on the selection of the customer-selected item for purchase by the customer. The calculated value for the first expected profit can be based on an expected profit associated with the sale of the customer-selected item, an expected profit associated with the sale of the similar item, and the value associated with the probability that the customer will purchase the similar item. Calculating a value for a second expected profit for a second sale of the customer-selected item and the related item can include the maximum profit recommendation module being configured to determine a value associated with a probability that the customer will purchase the related item based on the selection of the customer-selected item for purchase by the customer. The calculated value for the second expected profit can be based on an expected profit associated with the sale of the customer-selected item, an expected profit associated with the sale of the related item, and the value associated with the probability that the customer will purchase the related item. The portable computing device can further include a bar code scanner. The means for entering identification data can include the bar code scanner. The portable computing device can further include a keyboard. The means for entering identification data can include the keyboard.
- In yet another general aspect, a computer program product is tangibly embodied on a non-transitory computer-readable storage medium and includes instructions that, when executed by at least one computing device, are configured to cause the at least one computing device to receive an identification code for an item selected for purchase by a customer in a retail store, identify at least one item similar to the customer-selected item, identify at least one item related to the customer-selected item, calculate a value for a first expected profit for a first sale of the customer-selected item and the similar item, calculate a value for a second expected profit for a second sale of the customer-selected item and the related item, sort the first sale and the second sale in descending order based on the value for the first expected profit and the value for the second expected profit, and provide for display on a display device included in the at least one computing device, information associated with the first sale and the second sale in a manner representative of the sorted order of the first sale and the second sale, the information for use in recommending the similar item or the related item for purchase by the customer in the retail store.
- Implementations may include one or more of the following features. For example, the instructions that are configured to cause the at least one computing device to identify at least one item similar to the customer-selected item can include instructions that are configured to cause the at least one computing device to identify at least one feature associated with the similar item that is the same as at least one feature associated with the customer-selected item, calculate a value representative of the similarity between the at least one similar item and the customer-selected item, and determine that the calculated value representative of the similarity between the at least one similar item and the customer-selected item meets or exceeds a threshold value.
- The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.
-
FIG. 1 is a diagram of an example system that includes a recommendation system installed on a centralized computer system. -
FIG. 2 is a diagram of an example system that includes a recommendation system installed on a computer system. -
FIG. 3 is a diagram of an example system that includes a copy of a recommendation system installed on multiple computing devices. -
FIG. 4A is a diagram showing a 2D bar code included on an item. -
FIG. 4B is a diagram showing a 3D bar code included on an item. -
FIG. 4C is a diagram showing a product identification included on an item. -
FIG. 5 is an illustration of an example computing device that shows appropriate recommendations for up-selling or cross-selling to a customer. -
FIG. 6 is an illustration showing modules that are included in a recommendation system. -
FIG. 7 is a flowchart that illustrates a method for identifying cross-selling and/or upselling recommendations. - The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims.
- This document describes recommendation systems and techniques for use by an assistant (a sales assistant, a sales associate, a store assistant, or a shopping assistant) in a retail store (a retail location) that can help the assistant make recommendations to customers. In some implementations, the recommendation system can be installed on a portable computing device of an assistant. Examples of the computing device can include, but are not limited to, a laptop computer, a notebook computer, a tablet, a mobile phone, a smartphone, or a personal digital assistant. In some implementations, the recommendation system can be installed on a centralized computing system and an assistant can connect to or otherwise interface with the centralized computing system using a portable computing device.
- The recommendation system can interface with a centralized transaction database and with a display device included in the portable computing device. The recommendation system can access data included in the centralized transaction database for the retailer that includes information about items the retailer offers for sale. The recommendation system can identify items that the retailer sells that are similar to the item selected by the customer for purchase using a similarity algorithm that can calculate a similarity between the features of the candidate items and the selected item. The recommendation system can find items that the retailer sells that are related to the item selected by the customer for purchase using a related-items algorithm that can calculate a support factor and confidence factor for the relationship between the selected item and a candidate related item. The recommendation system can take the recommended candidate similar and/or related items and determine an average expected profit for various combinations of possible customer purchases. The recommendation system can sort or rank the average expected profits and present each sales combination along with its associated average expected profit to the assistant on a display device included in the portable computing device.
- Using the recommendation system, the assistant can make appropriate recommendations to the customer for other items the customer may also be interested in purchasing. The appropriate recommendations can fulfil the needs of the customer while maximizing a profit for the retail store for the sale. The centralized transaction database for the retailer can store data and information for a large number of items whose prices may change frequently. A recommendation system can handle a large number of items when determining the appropriate recommendations. The use of a recommendation system reduces the need for a skilled assistant. Example retail stores/locations that can benefit from the use of a recommendation system can be chain pharmacies, supermarkets, shopping malls and other large retailers that have for sale a large number of items.
-
FIG. 1 is a diagram of anexample system 100 that includes arecommendation system 138 installed on acentralized computer system 130. In some implementations, thecentralized computer system 130 can be located remotely from a retail store. In these implementations, a retailer may have multiple locations (stores) that can access the remotecentralized computer system 130. - The
example system 100 includes computing devices 102 a-c. An assistant located in a retail store can connect to or otherwise interface with thecentralized computing system 130 by way of anetwork 116 using the computing devices 102 a-c (e.g., a portable computing device). For example,computing device 102 a can be a mobile phone, a smartphone, a personal digital assistant, or other type of mobile computing device. Thecomputing device 102 a includes adisplay device 120. For example,computing device 102 b can be a laptop or notebook computer. Thecomputing device 102 b includes adisplay device 124. For example,computing device 102 c can be a tablet computer. Thecomputing device 102 c includes adisplay device 122. A user of the computing devices 102 a-c can use/interface with thedisplay devices - In some implementations, the
network 116 can be a public communications network (e.g., the Internet, cellular data network, dialup modems over a telephone network) or a private communications network (e.g., private LAN, leased lines). In some implementations, the computing devices 102 a-c can communicate with thenetwork 116 using one or more high-speed wired and/or wireless communications protocols (e.g., 802.11 variations, WiFi, Bluetooth, Transmission Control Protocol/Internet Protocol (TCP/IP), Ethernet, IEEE 802.3, etc.). - The
centralized computer system 130 can include one or more computing devices (e.g., aserver 142 a) and one or more computer-readable storage devices (e.g., atransaction database 142 b). Thetransaction database 142 b can include transaction records 143. Theserver 142 a can include one or more processors (e.g., server CPU 132), and one or more memory devices (e.g., server memory 134). The computing devices 102 a-c can communicate with the computer system 130 (and thecomputer system 130 can communicate with the computing devices 102 a-c) using thenetwork 116. Theserver 142 a can execute a server O/S 136, and one or more applications included in therecommendation system 138. In some implementations, thecomputer system 130 can represent multiple computing devices (e.g., servers) and multiple computer-readable storage devices (e.g., databases) working together to perform server-side operations. - A
transaction database 142 b includes records for items available for sale by the retailer. Each record includes data and information associated with a specific item. The data and information can include, but is not limited to, an item identification number (e.g., a Universal Product Code (UPC)), a description of features of the item, a general description of the item, and the current cost of the item. - In the
example system 100, an assistant located in the retail store can connect to or otherwise interface with thecomputing system 130 by way of thenetwork 116 using the computing devices 102 a-c (e.g., a portable computing device). The assistant can run therecommendation system 138 on theserver 142 a. Theserver 142 a can access thetransaction database 142 b obtain the transaction data needed by therecommendation system 138. Therecommendation system 138 can process the transaction data and provide the assistant with one or more appropriate recommendations for the customer for other items the customer may also be interested in purchasing. -
FIG. 2 is a diagram of anexample system 200 that includes arecommendation system 238 installed on acomputer system 250. In some implementations, thecomputer system 250 can be located in a specific location (e.g., an office, a storeroom) of a retail store. In addition, thecomputer system 250 can communicate with a remote computer system 230 (and theremote computer system 230 can communicate with the computer system 250) using anetwork 216. - The
computer system 250 can include one or more computing devices (e.g., aserver 252 a) and one or more computer-readable storage devices (e.g., adatabase 252 b). Theserver 252 a can include one or more processors (e.g., server CPU 233), and one or more memory devices (e.g., server memory 235). Computing devices 202 a-c can communicate with the computer system 250 (and thecomputer system 250 can communicate with the computing devices 202 a-c) using anetwork device 270. Thenetwork device 270 can be capable of communications with theremote computer system 230 using thenetwork 216. For example, thenetwork device 270 can be a router, a cable modem, a digital subscriber loop (DSL) modem or other type of modem. Theserver 252 a can execute a server O/S 237, and one or more applications included in therecommendation system 238. - The
remote computer system 230 can include one or more computing devices (e.g., aserver 262 a) and one or more computer-readable storage devices (e.g., atransaction database 262 b). Thetransaction database 262 b can include transaction records 263. Theserver 262 a can include one or more processors (e.g., server CPU 232), and one or more memory devices (e.g., server memory 234). Theserver 262 a can execute a server O/S 236, and one ormore server applications 240. In some implementations, thecomputer system 230 can represent multiple computing devices (e.g., servers) and multiple computer-readable storage devices (e.g., databases) working together to perform server-side operations. - In some implementations, the
network 216 can be a public communications network (e.g., the Internet, cellular data network, dialup modems over a telephone network) or a private communications network (e.g., private LAN, leased lines). In some implementations, thecomputer system 250 can communicate with thenetwork 216 by way of thenetwork device 270. Thenetwork device 270 can communicate with/interface to thenetwork 216 using one or more high-speed communications protocols (e.g., Transmission Control Protocol/Internet Protocol (TCP/IP), Ethernet, IEEE 802.3, etc.). - For example,
computing device 202 a can be a mobile phone, a smartphone, a personal digital assistant, or other type of mobile computing device. Thecomputing device 202 a includes adisplay device 220. For example,computing device 202 b can be a laptop or notebook computer. Thecomputing device 202 b includes adisplay device 224. For example,computing device 202 c can be a tablet computer. Thecomputing device 202 c includes adisplay device 222. A user of the computing devices 202 a-c can use/interface with thedisplay devices - The computing devices 202 a-c can communicate wirelessly with the
network device 270 using at least one type of wireless interface. Types of wireless interfaces can include, but are not limited to, WiFi (IEEE 802.11), Bluetooth, Bluetooth Low Energy (LE), and wireless infrared communications (IrDA). The type of wireless interface used can be based on a proximity of the computing device 202 a-c to thenetwork device 270. - A
transaction database 262 b includes records for items available for sale by the retailer. Each record includes data and information associated with a specific item. The data and information can include, but is not limited to, an item identification number (e.g., a UPC), a description of features of the item, a general description of the item, and the current cost of the item. - In the
example system 200, an assistant located in the retail store can connect to or otherwise interface with thecomputing system 250 by way of thenetwork device 270 using the computing devices 202 a-c (e.g., a portable computing device). The assistant can run therecommendation system 138 on theserver 252 a. Theserver 252 a can access thetransaction database 262 b included in theremote computer system 230 by way of thenetwork device 270 and thenetwork 216 in order to obtain the transaction data needed by therecommendation system 238. Therecommendation system 138 can process the transaction data and provide the assistant with one or more appropriate recommendations for the customer for other items the customer may also be interested in purchasing. -
FIG. 3 is a diagram of anexample system 300 that includes a copy of a recommendation system installed on each computing device 302 a-c (recommendation system 338 a-c, respectively). The computing devices 302 a-c can be used by assistants in a retail store. In addition, thesystem 300 includes acentralized computer system 330 that can be located remotely from the retail store. - An assistant located in the retail store can connect to or otherwise interface with the
centralized computing system 330 by way of anetwork 316 using any of the computing devices 302 a-c (e.g., a portable computing device). For example,computing device 302 a can be a mobile phone, a smartphone, a personal digital assistant, or other type of mobile computing device. Thecomputing device 302 a includes a display device 320. For example,computing device 302 b can be a laptop or notebook computer. Thecomputing device 302 b includes adisplay device 324. For example,computing device 302 c can be a tablet computer. Thecomputing device 302 c includes adisplay device 322. A user of the computing devices 302 a-c can use/interface with thedisplay devices - In some implementations, the
network 316 can be a public communications network (e.g., the Internet, cellular data network, dialup modems over a telephone network) or a private communications network (e.g., private LAN, leased lines). In some implementations, the computing devices 302 a-c can communicate with thenetwork 316 using one or more high-speed wired and/or wireless communications protocols (e.g., 802.11 variations, WiFi, Bluetooth, Transmission Control Protocol/Internet Protocol (TCP/IP), Ethernet, IEEE 802.3, etc.). - The
centralized computer system 330 can include one or more computing devices (e.g., aserver 342 a) and one or more computer-readable storage devices (e.g., atransaction database 342 b). Thetransaction database 342 b can include transaction records 343. Theserver 342 a can include one or more processors (e.g., server CPU 332), and one or more memory devices (e.g., server memory 334). The computing devices 302 a-c can communicate with the computer system 330 (and thecomputer system 330 can communicate with the computing devices 302 a-c) using thenetwork 316. Theserver 342 a can execute a server O/S 336, and one ormore applications 340. In some implementations, thecomputer system 330 can represent multiple computing devices (e.g., servers) and multiple computer-readable storage devices (e.g., databases) working together to perform server-side operations. - A
transaction database 342 b includes records for items available for sale by the retailer. Each record includes data and information associated with a specific item. The data and information can include, but is not limited to, an item identification number (e.g., a UPC), a description of features of the item, a general description of the item, and the current cost of the item. - In the
example system 300, an assistant located in the retail store can connect to or otherwise interface with thecomputing system 330 by way of thenetwork 316 using the computing devices 302 a-c (e.g., a portable computing device). The assistant can run a local version of a recommendation system on the computing device 302 a-c (recommendation system 338 a-c, respectively). The computing device 302 a-c can access theserver 342 a in order to gain access to thetransaction database 342 b to obtain the transaction data needed by the local version of the recommendation system. The recommendation system (e.g.,recommendation system 338 a,recommendation system 3 338 b, orrecommendation system 338 c) can process the transaction data and provide the assistant with one or more appropriate recommendations for the customer for other items the customer may also be interested in purchasing. -
FIGS. 4A-C are diagrams showing example ways information associated with an item can be entered into a computing device for use by a recommendation system. Though certain means are shown with respect to particular computing devices, the means for entering the information for the item can be performed on a number of different computing devices as described herein. -
FIG. 4A is a diagram showing a 2D bar code 404 (e.g., a UPC) included on anitem 406. A customer decides to purchase theitem 406. An assistant, using thecomputing device 402 c, can scan the2D bar code 404. In some implementations, thecomputing device 402 c can include a bar code scanner and bar code scanning software that are capable of scanning bar codes and interpreting the bar code data. In some implementations, thecomputing device 402 c can include bar code software that operates in conjunction with hardware already included on thecomputing device 402 c such as a camera and auxiliary strobe or other source of auxiliary lighting. Adisplay device 422 included in thecomputing device 402 a can display anindicator 417. While thecomputing device 402 c is in a scanning mode of operation, a user can hold/place thecomputing device 402 c over the2D bar code 404 while viewing the 2D bar code on thedisplay device 422, aligning theindicator 417 over the2D bar code 404. The user can interact with thecomputing device 402 c (e.g., press a button, touch an icon on a touch-sensitive surface of the display device 422) to initiate the capture of the 2D bar code data on thecomputing device 402 c. - The
2D bar code 404 can include an identification number for theitem 406. Referring toFIG. 1 , for example, thecomputing device 102 c can provide the data representative of the scanned2D bar code 404 to thecomputer system 130. Theserver 142 a can access thetransaction database 142 b using the identification number for theitem 406 encoded in the data representative of the scanned2D bar code 404 to determine additional information and data associated with theitem 406. The additional information and data can include, but is not limited to, a cost associated with theitem 406, identification numbers (or other type of identifier) for one or more items for possible cross-selling, and identification numbers (or other type of identifier) for one or more items for possible up-selling. The additional information and data can be provided to therecommendation system 138 for use in determining one or more appropriate recommendations for the customer for other items the customer may also be interested in purchasing. - Referring to
FIG. 2 , thecomputing device 202 c can provide the data representative of the scanned2D bar code 404 to thecomputer system 250. Theserver 252 a can access thecomputing system 230. Theserver 262 a can access thetransaction database 262 b using the identification number for theitem 406 encoded in the data representative of the scanned2D bar code 404 to determine additional information and data associated with theitem 406. The additional information and data can be provided to thecomputing system 250 for use by therecommendation system 238 when determining one or more appropriate recommendations for the customer for other items the customer may also be interested in purchasing. - Referring to
FIG. 3 , thecomputing device 302 c can provide the data representative of the scanned2D bar code 404 to thecomputer system 330. Theserver 342 a can access thetransaction database 342 b using the identification number for theitem 406 encoded in the data representative of the scanned2D bar code 404 to determine additional information and data associated with theitem 406. The additional information and data can be provided to therecommendation system 338 b for use in determining one or more appropriate recommendations for the customer for other items the customer may also be interested in purchasing. -
FIG. 4B is a diagram showing a 3D bar code 408 (e.g., a QR code) included on anitem 410. A customer decides to purchase theitem 410. An assistant, using thecomputing device 402 b, can scan the3D bar code 408. In some implementations, thecomputing device 402 b can include a bar code scanner and bar code scanning software that are capable of scanning bar codes and interpreting the bar code data. In some implementations, thecomputing device 402 b can include bar code software that operates in conjunction with hardware already included on thecomputing device 402 b such as a camera and auxiliary strobe or other source of auxiliary lighting. Adisplay device 424 included in thecomputing device 402 b can display anindicator 419. While thecomputing device 402 b is in a scanning mode of operation, a user can hold/place thecomputing device 402 b over the3D bar code 408 while viewing the 3D bar code on thedisplay device 424, aligning theindicator 419 over the3D bar code 408. The user can interact with thecomputing device 402 b (e.g., press a button, touch an icon on a touch-sensitive surface of the display device 424) to initiate the capture of the 3D bar code data on thecomputing device 402 b. - The
3D bar code 408 can include an identification number for theitem 410. Referring toFIG. 1 , for example, thecomputing device 102 b can provide the data representative of the scanned3D bar code 408 to thecomputer system 130. Theserver 142 a can access thetransaction database 142 b using the identification number for theitem 410 encoded in the data representative of the scanned3D bar code 408 to determine additional information and data associated with theitem 406. The additional information and data can include, but is not limited to, a cost associated with theitem 410, identification numbers (or other type of identifier) for one or more items for possible cross-selling, and identification numbers (or other type of identifier) for one or more items for possible up-selling. The additional information and data can be provided to therecommendation system 138 for use in determining one or more appropriate recommendations for the customer for other items the customer may also be interested in purchasing. - Referring to
FIG. 2 , thecomputing device 202 b can provide the data representative of the scanned3D bar code 408 to thecomputer system 250. Theserver 252 a can access thecomputing system 230. Theserver 262 a can access thetransaction database 262 b using the identification number for theitem 410 encoded in the data representative of the scanned3D bar code 408 to determine additional information and data associated with theitem 410. The additional information and data can be provided to thecomputing system 250 for use by therecommendation system 238 when determining one or more appropriate recommendations for the customer for other items the customer may also be interested in purchasing. - Referring to
FIG. 3 , thecomputing device 302 b can provide the data representative of the scanned3D bar code 408 to thecomputer system 330. Theserver 342 a can access thetransaction database 342 b using the identification number for theitem 406 encoded in the data representative of the scanned3D bar code 408 to determine additional information and data associated with theitem 410. The additional information and data can be provided to therecommendation system 338 b for use in determining one or more appropriate recommendations for the customer for other items the customer may also be interested in purchasing. - Referring to
FIGS. 4A and 4B , an application running on thecomputing device 402 b and on thecomputing device 402 c can provide the functionality and interface for enabling the scanning of the2D bar code 404 an the3D bar code 408, respectively. In some implementations, the same application may be capable of scanning both the2D bar code 404 and the3D bar code 408. In some implementations, a different application may be used to scan the2D bar code 404 and the3D bar code 408. In some implementations, a camera included in thecomputing device 402 b and a camera included in thecomputing device 402 c can be used to scan the2D bar code 404 and the3D bar code 408, respectively. In some implementations, one or both of thecomputing device 402 b and on thecomputing device 402 c can include hardware for scanning bar codes. -
FIG. 4C is a diagram showing a product identification (ID) 414 included on anitem 416. A customer decides to purchase theitem 416. An assistant, using thecomputing device 402 a, can enter theproduct ID 414 using akeyboard 428 included in thecomputing device 402 a. The example inFIG. 4C shows a numerical product ID, however, in some implementations the product ID can include both alpha and numeric characters. In some implementations, the product ID can be alpha characters. Referring toFIG. 1 , for example, thecomputing device 102 a can provide the enteredproduct ID 414 to thecomputer system 130. Theserver 142 a can access thetransaction database 142 b using the product ID 414 (an identification number for the item 416) to determine additional information and data associated with theitem 416. The additional information and data can include, but is not limited to, a cost associated with theitem 416, identification numbers (or other type of identifier) for one or more items for possible cross-selling, and identification numbers (or other type of identifier) for one or more items for possible up-selling. The additional information and data can be provided to therecommendation system 138 for use in determining one or more appropriate recommendations for the customer for other items the customer may also be interested in purchasing. - Referring to
FIG. 2 , thecomputing device 202 a can provide the enteredproduct ID 414 to thecomputer system 250. Theserver 252 a can access thecomputing system 230. Theserver 262 a can access thetransaction database 262 b using theproduct ID 414 to determine additional information and data associated with theitem 416. The additional information and data can be provided to thecomputing system 250 for use by therecommendation system 238 when determining one or more appropriate recommendations for the customer for other items the customer may also be interested in purchasing. - Referring to
FIG. 3 , thecomputing device 302 b can provide the enteredproduct ID 414 to thecomputer system 330. Theserver 342 a can access thetransaction database 342 b using theproduct ID 414 to determine additional information and data associated with theitem 416. The additional information and data can be provided to therecommendation system 338 b for use in determining one or more appropriate recommendations for the customer for other items the customer may also be interested in purchasing. -
FIG. 5 is an illustration of anexample computing device 502 that shows appropriate recommendations 505 a-c for up-selling or cross-selling to a customer. As described herein, a recommendation system can provide an assistant in a retail store with one or more appropriate recommendations for a customer for other items the customer may also be interested in purchasing. In the example ofFIG. 5 , adisplay device 522 included in thecomputing device 502 displays information (e.g., an item 507 that the customer is interested in purchasing and recommendations 505 a-c) for use by the assistant when making cross-selling and/or up-selling recommendations to a customer. - The
example computing device 502 can be any of the computing devices discussed herein. For example, thecomputing device 502 can be used in thesystems FIG. 5 , the recommendations 505 a-c are displayed as an ordered list, where the best/preferred recommendation 505 a is first on the list. In other implementations, the recommendations 505 a-c can be displayed in a different format, such as a table or chart. In some implementations, the recommendations can be included in/presented in a report. In some implementations, the presentation of the recommendations can include pictures. -
FIG. 6 is anillustration showing modules recommendation system 638. Therecommendation system 638 can be any of the recommendation systems described herein. As described with reference toFIG. 1 , therecommendation system 638 can be included in a centralized computer system (e.g., therecommendation system 138 included in theserver 142 a). As described with reference toFIG. 2 , therecommendation system 638 can be included in a computer system located within a retail store (e.g., therecommendation system 238 included in theserver 252 a). As described with reference toFIG. 3 , a recommendation system (e.g., the recommendation system 638) can be included in each computing device 302 a-c (e.g., in each portable handheld device for use by an assistant). - The
recommendation system 638 includes a candidateitem generation module 631, an associationrule mining module 633, and a maximumprofit recommendation module 635. Therecommendation system 638 receives transaction information and data from atransaction database 642 b included in acomputer system 630 that also includes aserver 642 a. Therecommendation system 638 provides appropriate recommendations for the customer for other items the customer may also be interested in purchasing for output in a format for display on adisplay device 622 included in acomputing device 602. - In some implementations, the
transaction database 642 b can be an in-memory, column orientated, relational database. In some implementations, thetransaction database 642 b can be a relational database. - For example, an assistant located in a retail store can try to cross-sell or up-sell an item selected by a customer. The assistant can use the
computing device 602 to access and run therecommendation system 638. Examples of such interactions were described with reference toFIGS. 1, 2, and 3 . The assistant can enter a product code (e.g., a UPC) for an item selected for purchase by a customer into thecomputing device 602. - With reference to
FIGS. 4A-C , in some implementations, thecomputing device 602 can be configured to scan a bar code included on the item. The bar code provides an optical representation of data (a product number) related to/associated with the item. In these implementations, an assistant can hold a portable computing device in a hand or can otherwise easily carry the portable computing device with them as they walk the sales floor of a retail store, interacting with customers. When a customer selects an item to purchase, the assistant can enter data identifying the selected item (e.g., a bar code, a product identification number) into the portable computing device using one or more input devices included in the portable computing device. For example, the portable computing device can scan the bar code on the selected item. In another example, the assistant can manually enter a bar code or other type of product identification number or code into the portable computing device using a keyboard or touchscreen included in the portable computing device. In addition or in the alternative, the assistant can manually enter the name of the product along with any other pertinent information about the item (e.g., weight, color, size). In yet another example, the assistant may be able to speak the information about the product into a speaker included in the portable computing device. Using voice recognition software, the portable computing device can identify (or otherwise generate information/data that can be used by the recommendation system to identify) the selected item. - The
recommendation system 638 can access data included in thecentralized transaction database 642 b for a retailer that includes information about items the retailer offers for sale. The candidateitem generation module 631 included in therecommendation system 638 can identify items that the retailer sells that are similar to the item selected by the customer for purchase using a similarity algorithm that can calculate a similarity between the features of the candidate items and the selected item. For example, if a customer wants to purchase a particular mobile phone, the recommendation system can identify other mobile phones with similar features. - In a first implementation, a cosine similarity can be used as a measure of similarity between two items.
Equation 1 can be used to calculate a cosine similarity, s (p1, p2), between items p1 and p2. -
- where i is the number of features, fi p
1 is the ith feature of item p1, and fi p2 is the ith feature of item p2. - In a second implementation, a squared Euclidean distance can be used as a measure of similarity between two items.
Equation 2 can be used to calculate a squared Euclidean distance, d (p1, p2), between items p1 and P2. -
d(p 1 ,p 2)=√{square root over (Σi=1 n(f i p1 −f i p2 )2)} Equation 2: - where i is the number of features, fi p
1 is the ith feature of item pi, and fi p2 is the ith feature of item p2. - In a third implementation, a Jaccard index can be used as a measure of similarity between two items.
Equation 3 can be used to calculate a Jaccard index, d(p1,p2), between items p1 and P2. -
- where i is the number of features, Fp
1 is the feature set of item p1, and Fp2 is the feature set of item p2. - A retailer can select one of the three implementations to use to determine a measured similarity between two items. The selection of the implementation can be made based on which implementation produces the best results for the retailer. For example, the first implementation uses a cosine similarity to determine a measured similarity between two items. The first implementation may produce the best results for the retailer, however, calculating a cosine similarity can be time and computationally intensive. In this case, the selection of the second or third implementation may be a better choice.
- For example, a cold medication can be used to treat multiple cold symptoms, such as a cough, a fever, and a runny nose. Each symptom a cold medication can treat can be considered a feature of the medication. The symptoms can be a cough, a runny nose, and a fever. The symptoms can be considered features of the cold medication item.
- Table 1 shows four different cold medications:
Medicine 1,Medicine 2,Medicine 3, and Medicine 4, their associated features: cough, fever, and runny nose, and a cost for each medicine. -
TABLE 1 Cough Fever Runny Nose Price Medicine 1 ✓ ✓ ✓ $15 Medicine 2✓ ✓ $9 Medicine 3✓ ✓ $10 Medicine 4 ✓ $12 - Based on its features (or functions), each medicine can be represented as a vector with a binary value for each feature. For example, a binary vector value equal to “1” indicates the medicine includes (provides) the feature. A binary vector value equal to “0” indicates the medicine does not include (provide) the feature. Based on the information in Table 1, Medicine 1 (mi) can be represented as m1=(1,1,1). Similarly,
Medicine 2 can be represented as m2=(1,1,0),Medicine 3 can be represented as m3=(0,1,1), and Medicine 4 can be represented as m2=(1,0,0). A calculated cosine similarity betweenMedicine 1 andMedicine 2 is equal to 0.8165. Table 2 shows calculated cosine similarities between the medicines:Medicine 1,Medicine 2,Medicine 3, and Medicine 4. Table 2 shows a cosine similarity matrix between themedicines Medicine 1,Medicine 2,Medicine 3, and Medicine 4. -
TABLE 2 Medicine 1Medicine 2Medicine 3Medicine 4 Medicine 11 0.8165 0.8165 0.5774 Medicine 20.8165 1 0.5 0.7071 Medicine 30.8165 0.5 1 0 Medicine 4 0.5774 0.7071 0 1 - The candidate
item generation module 631 can use a selected one of the implementations for calculating a similarity between items: the first implementation that calculates a cosine similarity matrix as a measure of similarity between items, the second implementation that calculates a squared Euclidean distance as a measure of similarity between items, or the third implementation that calculates a Jaccard index as a measure of similarity between items. The calculated measures of similarity between items can result in, as shown in the example of Table 2, candidate pairs of similar items. - A minimum threshold can be applied to each calculated similarity for each candidate pair in order to determine a similarity level that above which two items will be considered “similar”. For example, applying a minimum threshold of 0.7 to the similarity results in Table 2 results in determining that
Medicine 1 andMedicine 2 are similar,Medicine 1 andMedicine 3 are similar, andMedicine 2 and Medicine 4 can be considered similar items. As shown in the example in Table 2, increasing the threshold level (e.g., setting the threshold level to 0.8) can decrease the number of pairs of similar items. As shown in the example in Table 2, decreasing the threshold level (e.g., setting the threshold level to 0.5) can increase the number of pairs of similar items. A retailer, therefore, by adjusting the threshold level can adjust the number of pairs of items included in a set of similar items. - The
recommendation system 638 can find items that the retailer sells that are related to the item selected by the customer for purchase. The associationrule mining module 633 can use (follow) one or more association rule mining algorithms (related-items algorithms) to calculate a support factor (a support score) and a confidence factor (a confidence score) for a relationship between the selected item and a candidate related item. The association rule mining algorithms can identify interesting relationships between items included in thetransaction database 642 b. For example, if a customer wants to purchase a particular mobile phone, therecommendation system 638 can identify one or more related items (e.g., a car charger, ear buds, an external case) that the customer may be interested in purchasing along with the purchase of the mobile phone. - Example association rule mining algorithms (related-items algorithms) that can be used can include, but are not limited to, Apriori algorithms, Equivalent Class Transformation (Eclat) algorithms, and Frequent Pattern growth (FP-Growth) algorithms.
- Table 3 shows five transactions (Transaction ID1 to Transaction ID5). Each transaction (Transaction ID1 to Transaction ID5) can be stored as a transaction record 643 a-e in the
transaction database 642 b. -
TABLE 3 Transaction Orange Cream ID Juice Bagels Cheese Wine 1 1 1 0 0 2 0 0 1 0 3 0 0 0 1 4 1 1 1 0 5 0 1 0 0 - An association rule between bagels and orange juice as shown in Table 3 can be expressed in a format shown in Example 1.
- {bagels}=>{orange juice} with support=⅖=0.4 and confidence=0.67
- Referring to Table 3, for the five transactions ID1 to ID5, for two of the five transactions (⅖ths, 0.4, or 40% of the transactions) a customer bought orange juice and bagels together (at the same time, in the same transaction). In addition, if a customer buys orange juice, 67% of the customers will also buy bagels in the same transaction. Referring to Table 3, three transactions involved a customer purchasing bagels and two of the three transactions (67% of the transactions) where a customer bought bagels they also bought orange juice in the same transaction.
- Below are examples of other association rules that can be mined by the association
rule mining module 633. - {orange juice, bagels}=>{cream cheese} with support=⅕=0.2 and confidence=½=0.5
- Referring to Table 3, for the five transactions ID1 to ID5, a customer bought both orange juice and bagels in two of the transactions (transaction ID1 and transaction ID 4). In the transaction ID 4, the customer also bought cream cheese. In one of the five total transactions the customer bought orange juice, bagels and cream cheese.
- {orange juice, bagels}=>{wine} with support=0 and confidence=0
- Referring to Table 3, for the five transactions ID1 to ID5, a customer bought both orange juice and bagels in two of the transactions (transaction ID1 and transaction ID 4). In none of the
transactions ID 1 to ID 5 did the customer also buy wine. In none of the five total transactions did the customer buy orange juice, bagels and wine. - A threshold level can be applied to a calculated value for the support factor and a calculated value for the confidence factor for each association rule to identify related items. For example, referring to Table 3 and the transactions ID1 to ID5, a minimum support (min_support) threshold value can be set equal to 0.3 and a minimum confidence (min_confidence) threshold value can be set equal to 0.5. In this case, orange juice would be considered a related item to bagels. A customer that buys bagels would be interested in also buying orange juice.
- Calculated values for support factors and calculated values for confidence factors can be different when calculated in a reverse relationship between the items. Example 4 shows the reverse relationship of bread and milk as shown in Example 1 above and the calculated value for the support factor and the calculated value for the confidence factor.
- {orange juice}=>{bagels} with support=⅖=0.4 and confidence=1.00
- Referring to Table 3, for the five transactions ID1 to ID5, for two of the five transactions (⅖ths, 0.4, or 40% of the transactions) a customer bought orange juice and bagels together (at the same time, in the same transaction). In addition, if a customer buys orange juice, 100% of the customers will also buy bagels in the same transaction. Referring to Table 3, two transactions involved a customer purchasing orange juice and in the two transactions (100% of the transactions) a customer bought both orange juice and bagels in the same transaction.
- The
recommendation system 638 can take the recommended candidate similar and/or related items and, using the maximumprofit recommendation module 635, can determine an average expected profit for various combinations of possible customer purchases. Therecommendation system 638 can sort or rank the average expected profits and present each sales combination along with its associated average expected profit to the assistant on thedisplay device 622 included in thecomputing device 602. Using therecommendation system 638, the assistant can make appropriate recommendations to the customer for other items the customer may also be interested in purchasing. - In determining a maximum profit recommendation, the maximum
profit recommendation module 635 can determine a probability of a customer buying a second item after choosing to buy a first item. In general, the probability can be a measurement of (or a value associated with) the likelihood of a customer buying a second item after choosing to buy a first item. The probability can be used when determining an expected profit value in a proposed up-selling recommendation to a customer (recommend selling a similar item to the customer) or in a proposed cross-selling recommendation to a customer (recommend selling a related item to the customer). - A customer who would like to/is planning to purchase an item (I) has an associated probability pI→A that the customer will also purchase item A and an associated probability pI→B that the customer will also purchase item B. For example, assume that the customer will either buy item A with item I or will buy item B with item (I). In addition, assume the profit of selling item A is cA and the profit of selling item B is cB. An expected profit of recommending selling item A with item I is E(I→A)=cI+pI→A*cA. An expected profit of recommending selling item B with item I is E(I→B)=cI+pI→B*cB. In general, Equation 4 can be used to calculate the expected profit of a sales recommendation as the sum of a profit that can be made from the sale of the item selected by a customer and profit(s) made by the sale of the recommended item(s).
-
E(I t →I iεŝi≠t)=c I +Σ*p It →Ii *c i Equation 4: - where It is the item selected by the customer for purchase and Iiεŝi≠t is a set of items that can be recommended to the customer for purchase.
- Information and data included in the
transaction database 642 b can be used to calculate a probability that a customer who bought a particular item (e.g., item A) would also be interest in buying a recommended item (e.g., item B). Referring to Table 3 as an example, the probability that a customer who buys orange juice will also buy bagels is equal to 1. The probability that a customer who buys orange juice will also buy cream cheese is 0.5. The probability that a customer who buys orange juice will also buy wine is 0. The probability that a customer who buys wine will also buy bagels is 0. The probability that a customer who buys bagels will also buy orange juice is 0.67. - Based on the above probabilities, recommendations for selling identified similar and/or related items to the item selected by the customer can be made based on an expected profit for the sale. Sales with the highest profits can be recommended. The recommended sales can be presented to an assistant in an order related to the amount of the expected profit for the sale.
- An example of pseudo code for determining/calculating the expected profit is shown below in Example 5. An expected additional profit of selling a recommended similar and/or related item is determined by multiply a profit for selling the item by a probability associated with the cross-selling/upselling of the recommended item with the selected item. In addition, the pseudo code includes a step to sort the expected profit values in descending order before presenting them to the assistant.
-
-
/* P1: the profit of the item that customer has selected for purchase */ /* C: the set of recommendation candidates */ /* EP : the set of average expected profit values */ /* PROB: the set of probability values */ Initialization: EP <- 0 // all the values in EP will be set equal to zero FOR EACH candidate in candidate set C EP[candidate] = P1 FOR EACH item in candidate EP[candidate] = PROB[candidate]*PROFIT[item] END FOR END FOR EP <- SORT(EP) // sort the average expected profit values in EP in descending order RETURN EP - For example, a customer selects to purchase item A. If a customer is interested in purchasing item A, the probability of the customer also being interested in purchasing item B is 30%, the probability of the customer also being interested in purchasing item C is 50%, and the probability of the customer also being interested in purchasing both item D and item E is 30%. The probabilities can be determined from data and information associated with the items that is included in the
transaction database 642 b. - For example, assume that the expected profit from selling item A is $15, the expected profit from selling item B is $30, the expected profit from selling item C is $20, the expected profit from selling item D is $10, and the expected profit from selling item E is $15. The expected profits from the sale of each item can be determined from information and data associated with the items that is included in the
transaction database 642 b. The expected profits from the sale of each recommendation is listed below. Note that the expected profit includes the profit from the sale of item A along with the profit(s) from the sale of the recommended additional item(s) multiplied by the probability of actually cross-selling/up-selling the item with the selected item. - Table 4 shows the recommendation and the expected profit from the sale of the selected item and the recommended item(s).
-
TABLE 4 Item A Item B Item C Item D Item E EP EP EP EP EP Total Prob Prob Prob Prob Prob EP Item A => Item B $15 30% × $24 $30 Item A => Item C $15 50% × $25 $20 Item A => Item B $15 30% × 30% × $22.50 & Item E $10 $15 - As shown in
FIG. 5 , and referring to Table 4, the appropriate recommendations 505 a-c are displayed on thedisplay device 522 in an ordered list (in order of descending profit) with thefirst recommendation 505 a being the sale with the highest profit. -
FIG. 7 is a flowchart that illustrates amethod 700 for identifying cross-selling and/or upselling recommendations. In some implementations, the systems described herein can implement themethod 700. For example, themethod 700 can be described referring toFIGS. 1, 2, 3, 4A -C, 5, and 6. - An identification code for an item selected for purchase by a customer in a retail store is received (block 702). For example, referring to
FIGS. 4A-C , an assistant can scan the2D bar code 404 or the3D bar code 408 using thecomputing device 402 c and/or thecomputing device 402 b. In another example, an assistant can enter aproduct ID 414 into thecomputing device 402 a using thekeyboard 428. At least one item similar to the customer-selected item is identified (block 704). For example, referring toFIG. 6 , the candidateitem generation module 631 performing operations using equations described herein can determine/calculate a similarity between a candidate item and the customer-selected item. At least one item related to the customer-selected item is identified (block 706). For example, referring toFIG. 6 , the associationrule mining module 633 can use association rule mining algorithms described herein that can determine/calculate a value for a support factor and a value for a confidence factor between a candidate item and the customer-selected item. - A value for a first expected profit for a first sale of the customer-selected item and the similar item is calculated (block 708). For example, referring to
FIG. 6 , the maximumprofit recommendation module 635 can determine a probability of a customer buying the similar item after choosing to buy the customer-selected item. A value for a second expected profit for a second sale of the customer-selected item and the related item is calculated (block 710). For example, referring toFIG. 6 , the maximumprofit recommendation module 635 can determine a probability of a customer buying the related item after choosing to buy the customer-selected item. The first sale and the second sale are sorted in an order based on the value for the first expected profit and the value for the second expected profit (block 712). For example, the sale that generates the most profit can be displayed first in a list of recommended sales. Information associated with the first sale and the second sale are provided for display on a display device of a portable computing device in a manner representative of the sorted order of the first sale and the second sale (block 714). The information can be for use in recommending the similar item or the related item for purchase by the customer in the retail store. For example, referring toFIG. 5 , the appropriate recommendations 505 a-c are sorted such that the sale that generates the largest profit (recommendation 505 a) is placed first in the list of recommendations displayed on thedisplay device 522 included in thecomputing device 502. - Implementations of the various techniques described herein may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Implementations may be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program, such as the computer program(s) described above, can be written in any form of programming language, including compiled or interpreted languages, and can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
- Method steps may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method steps also may be performed by, and an apparatus may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer also may include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory may be supplemented by, or incorporated in special purpose logic circuitry.
- To provide for interaction with a user, implementations may be implemented on a computer having a display device, e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any form, including acoustic, speech, or tactile input.
- Implementations may be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front-end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation, or any combination of such back-end, middleware, or front-end components. Components may be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN) and a wide area network (WAN), e.g., the Internet.
- While certain features of the described implementations have been illustrated as described herein, many modifications, substitutions, changes and equivalents will now occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the scope of the embodiments.
Claims (20)
1. A method comprising:
receiving an identification code for an item selected for purchase by a customer in a retail store;
identifying at least one item similar to the customer-selected item;
identifying at least one item related to the customer-selected item;
calculating a value for a first expected profit for a first sale of the customer-selected item and the similar item;
calculating a value for a second expected profit for a second sale of the customer-selected item and the related item;
sorting the first sale and the second sale in an order based on the value for the first expected profit and the value for the second expected profit; and
providing, for display on a display device of a portable computing device, information associated with the first sale and the second sale in a manner representative of the sorted order of the first sale and the second sale, the information for use in recommending the similar item or the related item for purchase by the customer in the retail store.
2. The method of claim 1 , wherein identifying at least one item similar to the customer-selected item includes identifying at least one feature associated with the similar item that is the same as at least one feature associated with the customer-selected item.
3. The method of claim 1 , wherein identifying at least one item similar to the customer-selected item includes calculating a value representative of the similarity between the at least one similar item and the customer-selected item.
4. The method of claim 3 , wherein identifying at least one item similar to the customer-selected item further includes determining that the calculated value representative of the similarity between the at least one similar item and the customer-selected item meets or exceeds a threshold value.
5. The method of claim 3 , wherein calculating a value representative of the similarity between the at least one similar item and the customer-selected item includes calculating one of a cosine similarity, a squared Euclidean distance, and a Jaccard index.
6. The method of claim 1 , wherein identifying the at least one item related to the customer-selected item includes following an association rule mining algorithm that determines a value for a support factor and a value for a confidence factor for a relationship between a candidate item and the customer-selected item.
7. The method of claim 6 , wherein identifying the at least one item related to the customer-selected item further includes, based on determining that the value for the support factor meets or exceeds a threshold value, identifying the candidate item as the at least one item related to the customer-selected item.
8. The method of claim 6 , wherein identifying the at least one item related to the customer-selected item further includes, based on determining that the value for the support factor meets or exceeds a first threshold value and based on determining that the value for the confidence factor meets or exceeds a second threshold value, identifying the candidate item as the at least one item related to the customer-selected item.
9. The method of claim 1 , wherein calculating a value for a first expected profit for a first sale of the customer-selected item and the similar item includes determining a value associated with a probability that the customer will purchase the similar item based on the selection of the customer-selected item for purchase by the customer, wherein the calculated value for the first expected profit is based on an expected profit associated with the sale of the customer-selected item, an expected profit associated with the sale of the similar item, and the value associated with the probability that the customer will purchase the similar item.
10. The method of claim 1 , wherein calculating a value for a second expected profit for a second sale of the customer-selected item and the related item includes determining a value associated with a probability that the customer will purchase the related item based on the selection of the customer-selected item for purchase by the customer, wherein the calculated value for the second expected profit is based on an expected profit associated with the sale of the customer-selected item, an expected profit associated with the sale of the related item, and the value associated with the probability that the customer will purchase the related item.
11. The method of claim 1 , wherein the sorted order is a descending order of the value for the first expected profit and the value for the second expected profit.
12. A system comprising:
a portable computing device including:
a display device;
a recommendation system including a candidate item generation module, an association rule mining module, and a maximum profit recommendation module; and
means for entering identification data for association with an item;
wherein the means for entering identification data for association with an item include means for entering an identification code for an item selected for purchase by a customer in a retail store;
wherein the candidate item generation module is configured to identify at least one item similar to the customer-selected item;
wherein the association rule mining module is configured to identify at least one item related to the customer-selected item;
wherein the maximum profit recommendation module is configured to:
calculate a value for a first expected profit for a first sale of the customer-selected item and the similar item;
calculate a value for a second expected profit for a second sale of the customer-selected item and the related item; and
sort the first sale and the second sale in an order based on the value for the first expected profit and the value of the second expected profit; and
wherein the display device is configured to display information associated with the first sale and the second sale in a manner representative of the sorted order of the first sale and the second sale.
13. The system of claim 12 ,
wherein identifying at least one item similar to the customer-selected item includes the candidate item generation module being configured to:
access a plurality of records for items available for sale by a retailer;
calculate a value representative of a similarity between a record for a candidate item and a record for the customer-selected item; and
identify the candidate item as the similar item based on determining that the calculated value meets or exceeds a threshold value.
14. The system of claim 12 ,
wherein identifying at least one item related to the customer-selected item includes the association rule mining module being configured to:
access a plurality of records for items available for sale by a retailer;
calculate a value for a support factor and a value for a confidence factor for a relationship between a record for a candidate item and a record for the customer-selected item; and
identify the candidate item as the related item based on determining that the calculated value for the support factor meets or exceeds a first threshold value and that the calculated value for the confidence factor meets or exceeds a second threshold value.
15. The system of claim 12 , wherein calculating a value for a first expected profit for a first sale of the customer-selected item and the similar item includes the maximum profit recommendation module being configured to:
determine a value associated with a probability that the customer will purchase the similar item based on the selection of the customer-selected item for purchase by the customer, wherein the calculated value for the first expected profit is based on an expected profit associated with the sale of the customer-selected item, an expected profit associated with the sale of the similar item, and the value associated with the probability that the customer will purchase the similar item.
16. The system of claim 12 , wherein calculating a value for a second expected profit for a second sale of the customer-selected item and the related item includes the maximum profit recommendation module being configured to:
determine a value associated with a probability that the customer will purchase the related item based on the selection of the customer-selected item for purchase by the customer, wherein the calculated value for the second expected profit is based on an expected profit associated with the sale of the customer-selected item, an expected profit associated with the sale of the related item, and the value associated with the probability that the customer will purchase the related item.
17. The system of claim 12 , wherein the portable computing device further includes:
a bar code scanner; and
wherein the means for entering identification data include the bar code scanner.
18. The system of claim 12 , wherein the portable computing device further includes:
a keyboard; and
wherein the means for entering identification data include the keyboard.
19. A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and comprising instructions that, when executed by at least one computing device, are configured to cause the at least one computing device to:
receive an identification code for an item selected for purchase by a customer in a retail store;
identify at least one item similar to the customer-selected item;
identify at least one item related to the customer-selected item;
calculate a value for a first expected profit for a first sale of the customer-selected item and the similar item;
calculate a value for a second expected profit for a second sale of the customer-selected item and the related item;
sort the first sale and the second sale in descending order based on the value for the first expected profit and the value for the second expected profit; and
provide for display on a display device included in the at least one computing device, information associated with the first sale and the second sale in a manner representative of the sorted order of the first sale and the second sale, the information for use in recommending the similar item or the related item for purchase by the customer in the retail store.
20. The computer program product of claim 19 ,
wherein the instructions that are configured to cause the at least one computing device to identify at least one item similar to the customer-selected item include instructions that are configured to cause the at least one computing device to:
identify at least one feature associated with the similar item that is the same as at least one feature associated with the customer-selected item;
calculate a value representative of the similarity between the at least one similar item and the customer-selected item; and
determine that the calculated value representative of the similarity between the at least one similar item and the customer-selected item meets or exceeds a threshold value.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/528,763 US20160125500A1 (en) | 2014-10-30 | 2014-10-30 | Profit maximization recommender system for retail businesses |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/528,763 US20160125500A1 (en) | 2014-10-30 | 2014-10-30 | Profit maximization recommender system for retail businesses |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160125500A1 true US20160125500A1 (en) | 2016-05-05 |
Family
ID=55853141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/528,763 Abandoned US20160125500A1 (en) | 2014-10-30 | 2014-10-30 | Profit maximization recommender system for retail businesses |
Country Status (1)
Country | Link |
---|---|
US (1) | US20160125500A1 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170046707A1 (en) * | 2015-08-13 | 2017-02-16 | NewStore | System and Method for Mobile Device Self-Checkout for Retail Transactions with Loss Protection |
US20180103063A1 (en) * | 2016-10-07 | 2018-04-12 | Brent William Thurgood | Security access |
JP2019144951A (en) * | 2018-02-22 | 2019-08-29 | オムロン株式会社 | Recommendation information specifying apparatus, recommendation information specifying system, recommendation information specifying method, and program |
CN110503226A (en) * | 2018-05-17 | 2019-11-26 | 北京京东尚科信息技术有限公司 | Determine the methods, devices and systems of commodity to be placed |
JP2021093216A (en) * | 2021-03-11 | 2021-06-17 | オムロン株式会社 | Recommendation information specification device, recommendation information specification system, recommendation information specification method, terminal device, and program |
US20210358022A1 (en) * | 2020-05-12 | 2021-11-18 | International Business Machines Corporation | Machine learning based tiered graphical user interface (gui) |
JP2022031901A (en) * | 2021-03-11 | 2022-02-22 | オムロン株式会社 | Recommendation information specification device, recommendation information specification system, recommendation information specification method, terminal device, and program |
JP2022058960A (en) * | 2021-12-09 | 2022-04-12 | オムロン株式会社 | Recommendation information specification apparatus, recommendation information specification system, recommendation information specification method, and program |
US11308412B2 (en) | 2017-04-14 | 2022-04-19 | International Business Machines Corporation | Estimation of similarity of items |
JP2022062220A (en) * | 2021-12-09 | 2022-04-19 | オムロン株式会社 | Recommendation information specification apparatus, recommendation information specification system, recommendation information specification method, and program |
US20220138830A1 (en) * | 2020-10-30 | 2022-05-05 | Ncr Corporation | Alternative Item Booster Service |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020138481A1 (en) * | 2001-03-23 | 2002-09-26 | International Business Machines Corporation | Searching product catalogs |
US20090292605A1 (en) * | 2008-05-21 | 2009-11-26 | Kniaz Robert | Determining complementary product content from primary product document information and providing such complementary product content in association with the primary product document, in an online environment |
US7720720B1 (en) * | 2004-08-05 | 2010-05-18 | Versata Development Group, Inc. | System and method for generating effective recommendations |
US20130013372A1 (en) * | 2011-07-08 | 2013-01-10 | Gomez Uribe Carlos Alberto | Identifying Similar Items Based on Interaction History |
US20130212105A1 (en) * | 2012-02-10 | 2013-08-15 | Sony Corporation | Information processing apparatus, information processing method, and program |
US20130339182A1 (en) * | 1997-03-21 | 2013-12-19 | Walker Digital, Llc | Method and apparatus for selecting a supplemental product to offer for sale during a transaction |
US20150149468A1 (en) * | 2013-11-27 | 2015-05-28 | Adobe Systems Incorporated | Hierarchy Similarity Measure |
-
2014
- 2014-10-30 US US14/528,763 patent/US20160125500A1/en not_active Abandoned
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130339182A1 (en) * | 1997-03-21 | 2013-12-19 | Walker Digital, Llc | Method and apparatus for selecting a supplemental product to offer for sale during a transaction |
US20020138481A1 (en) * | 2001-03-23 | 2002-09-26 | International Business Machines Corporation | Searching product catalogs |
US7720720B1 (en) * | 2004-08-05 | 2010-05-18 | Versata Development Group, Inc. | System and method for generating effective recommendations |
US20090292605A1 (en) * | 2008-05-21 | 2009-11-26 | Kniaz Robert | Determining complementary product content from primary product document information and providing such complementary product content in association with the primary product document, in an online environment |
US20130013372A1 (en) * | 2011-07-08 | 2013-01-10 | Gomez Uribe Carlos Alberto | Identifying Similar Items Based on Interaction History |
US20130212105A1 (en) * | 2012-02-10 | 2013-08-15 | Sony Corporation | Information processing apparatus, information processing method, and program |
US20150149468A1 (en) * | 2013-11-27 | 2015-05-28 | Adobe Systems Incorporated | Hierarchy Similarity Measure |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10332117B2 (en) * | 2015-08-13 | 2019-06-25 | Newstore, Inc. | System and method for mobile device self-checkout for retail transactions with loss protection |
US20170046707A1 (en) * | 2015-08-13 | 2017-02-16 | NewStore | System and Method for Mobile Device Self-Checkout for Retail Transactions with Loss Protection |
US20180103063A1 (en) * | 2016-10-07 | 2018-04-12 | Brent William Thurgood | Security access |
US11308412B2 (en) | 2017-04-14 | 2022-04-19 | International Business Machines Corporation | Estimation of similarity of items |
JP2019144951A (en) * | 2018-02-22 | 2019-08-29 | オムロン株式会社 | Recommendation information specifying apparatus, recommendation information specifying system, recommendation information specifying method, and program |
CN110503226A (en) * | 2018-05-17 | 2019-11-26 | 北京京东尚科信息技术有限公司 | Determine the methods, devices and systems of commodity to be placed |
US20210358022A1 (en) * | 2020-05-12 | 2021-11-18 | International Business Machines Corporation | Machine learning based tiered graphical user interface (gui) |
US20220138830A1 (en) * | 2020-10-30 | 2022-05-05 | Ncr Corporation | Alternative Item Booster Service |
US11922478B2 (en) * | 2020-10-30 | 2024-03-05 | Ncr Voyix Corporation | Alternative item booster service |
JP7052897B2 (en) | 2021-03-11 | 2022-04-12 | オムロン株式会社 | Recommended information identification device, recommended information identification system, recommended information identification method, terminal device, and program |
JP2022031901A (en) * | 2021-03-11 | 2022-02-22 | オムロン株式会社 | Recommendation information specification device, recommendation information specification system, recommendation information specification method, terminal device, and program |
JP2021093216A (en) * | 2021-03-11 | 2021-06-17 | オムロン株式会社 | Recommendation information specification device, recommendation information specification system, recommendation information specification method, terminal device, and program |
JP7127728B2 (en) | 2021-03-11 | 2022-08-30 | オムロン株式会社 | Recommended information identifying device, recommended information identifying system, recommended information identifying method, terminal device, and program |
JP2022058960A (en) * | 2021-12-09 | 2022-04-12 | オムロン株式会社 | Recommendation information specification apparatus, recommendation information specification system, recommendation information specification method, and program |
JP2022062220A (en) * | 2021-12-09 | 2022-04-19 | オムロン株式会社 | Recommendation information specification apparatus, recommendation information specification system, recommendation information specification method, and program |
JP7115655B2 (en) | 2021-12-09 | 2022-08-09 | オムロン株式会社 | Recommended information identifying device, recommended information identifying system, recommended information identifying method, and program |
JP7127749B2 (en) | 2021-12-09 | 2022-08-30 | オムロン株式会社 | Recommended information identifying device, recommended information identifying system, recommended information identifying method, and program |
JP7355181B2 (en) | 2021-12-09 | 2023-10-03 | オムロン株式会社 | Recommended information identification device, recommended information identification system, recommended information identification method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20160125500A1 (en) | Profit maximization recommender system for retail businesses | |
US20230073396A1 (en) | Method and system for generating purchase recommendations based on purchase category associations | |
US9846885B1 (en) | Method and system for comparing commercial entities based on purchase patterns | |
US20150379609A1 (en) | Generating recommendations for unfamiliar users by utilizing social side information | |
US20160350832A1 (en) | Method and system for automatically generating recommendations for a client shopping list | |
US20220012768A1 (en) | Iteratively improving an advertisement response model | |
US10402840B2 (en) | Systems and methods for setting product prices | |
JP6976207B2 (en) | Information processing equipment, information processing methods, and programs | |
US20220108374A1 (en) | Smart Basket for Online Shopping | |
Tan et al. | Development and evaluation of an RFID-based e-restaurant system for customer-centric service | |
US20220222728A1 (en) | Systems and methods for providing personalized recommendations | |
US11455655B2 (en) | Methods and apparatus for electronically providing item recommendations for advertisement | |
JP2020027522A (en) | server | |
CN113039567A (en) | Natural language processing system | |
US20170221123A1 (en) | System, method, and non-transitory computer-readable storage media for endless aisle of products in retail store | |
US20170249684A1 (en) | Systems and methods for search term prioritization | |
EP3992880A1 (en) | Platform-based cross-retail product categorization | |
US20220051271A1 (en) | Receipt processing apparatus, control method, and program | |
US20230186328A1 (en) | Systems and methods for digital shelf display | |
US20140172648A1 (en) | Consumer activity management | |
US20200410547A1 (en) | Methods and apparatus for automatically providing digital advertisements | |
US20210166278A1 (en) | Methods and apparatus for electronically providing diversified item advertisement recommendations | |
JP2017134800A (en) | Work undertaking order reception determination method and commodity selling determination method | |
JP6809148B2 (en) | Program and combination extraction system | |
JP6970527B2 (en) | Content selection method and content selection program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAP SE, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WANG, MENGJIAO;CHENG, YU;LI, WEN-SYAN;SIGNING DATES FROM 20141021 TO 20141022;REEL/FRAME:035054/0222 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |