WO2020145935A1 - Systèmes et procédés de sélection de magasins physiques pour satisfaire des commandes - Google Patents
Systèmes et procédés de sélection de magasins physiques pour satisfaire des commandes Download PDFInfo
- Publication number
- WO2020145935A1 WO2020145935A1 PCT/US2019/012499 US2019012499W WO2020145935A1 WO 2020145935 A1 WO2020145935 A1 WO 2020145935A1 US 2019012499 W US2019012499 W US 2019012499W WO 2020145935 A1 WO2020145935 A1 WO 2020145935A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- physical
- store
- shipping
- physical stores
- stores
- Prior art date
Links
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
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- 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
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
Definitions
- B&M brick and mortar
- aspects of the present disclosure relate generally to a fulfillment of an online order, and more particularly, to optimally selecting one of a number of physical stores of a merchant to fulfill an online order.
- One implementation disclosed herein is a method for optimally selecting a physical store for filling online customer orders using a virtual fulfillment center.
- the method includes receiving, by one or more data processors, a list of a number of physical stores associated with a merchant, the list including respective locations of the number physical stores.
- the method includes transmitting, by the one or more data processors, a request to each of the physical stores for store status information.
- the request can cause each of the physical stores to generate inventory information by detecting, via one or more cameras, a presence of one or more product items on one or more shelves, and transmit store status information to the one or more data processors.
- the store status information including the inventory information.
- the method includes receiving, by the one or more data processors, an identification to an online customer order of one or more product items for delivery to a shipping address.
- the method includes determining, by the one or more data processors, respective shipping costs and shipping delays to ship the one or more product items from the number of physical stores to the shipping address.
- the method include selecting, by the one or more data processors, a first physical store from the number of physical stores by comparing the respective shipping costs and shipping delays associated with the number of physical stores.
- the method includes causing, by the one or more data processors, the one or more product items of the online customer order to be shipped from the first physical store.
- selecting a first physical store from the plurality of physical stores further includes determining a least shipping cost and a shortest shipping delay, associated with the first physical store, from the respective shipping costs and shipping delays of the plurality of physical stores.
- the store status information includes at least one of staffing information, calendar information, and operation information of each of the plurality of physical stores.
- the method further includes in response to receiving the inventory information of the plurality of physical stores, calculating respective fill rates of the one or more product items for the plurality of physical stores.
- the calculation of the fill rates is based on one or more previous online customer orders including ordering more than 1 of the product item.
- the fill rate information indicates a percentage of time that each of the plurality of physical stores can fulfill each of the one or more previous online customer orders.
- selecting a first physical store from the plurality of physical stores further includes determining whether respective fill rates of the one or more product items for the plurality of physical stores are greater than a predefined threshold.
- the selection step further includes disregarding one or more of the plurality of physical stores that are associated with fill rates not greater than the predefined threshold.
- the selection step further includes determining a highest fill rate to select the first physical store.
- a first distance between the shipping address and the location corresponding to the first physical store is greater than a second distance between the shipping address and the location corresponding to a second physical store of the plurality of physical stores.
- the method further includes periodically receiving the inventory information from each of the plurality of physical stores.
- the present disclosure is directed to a system for optimally selecting a physical store for filling online customer orders.
- the system includes a virtual fulfillment center.
- the virtual fulfillment center can receive, from a merchant, a list of a plurality of physical stores associated with the merchant, the list including respective locations of the plurality of physical stores.
- the virtual fulfillment center can transmit a request to each of the plurality of physical stores for store status information.
- the request can cause each of plurality of physical stores to generate inventory information by detecting, via one or more cameras, a presence of one or more product items on one or more shelves; and transmit store status information to the one or more data processors, the store status information including the inventory information.
- the virtual fulfillment center can receive, from an e-commerce application, an identification to an online customer order of one or more product items for delivery to a shipping address.
- the virtual fulfillment center can determine respective shipping costs and shipping delays to ship the one or more product items from the plurality of physical stores to the shipping address.
- the virtual fulfillment center can select a first physical store from the plurality of physical stores by comparing the respective shipping costs and shipping delays associated with the plurality of physical stores.
- the virtual fulfillment center can cause the one or more product items of the online customer order to be shipped from the first physical store.
- the virtual fulfillment center can further determine a least shipping cost and a shortest shipping delay, associated with the first physical store, from the respective shipping costs and shipping delays of the plurality of physical stores.
- the store status information includes at least one of staffing information, calendar information, and operation information of each of the plurality of physical stores.
- the virtual fulfillment center can calculate respective fill rates of the one or more product items for the plurality of physical stores based on one or more previous online customer orders including ordering more than 1 of the product item, responsive to receiving the inventory information of the plurality of physical stores.
- the fill rate information indicates a percentage of time that each of the plurality of physical stores can fulfill each of the one or more previous online customer orders.
- the virtual fulfillment center can further determine whether respective fill rates of the one or more product items for the plurality of physical stores are greater than a predefined threshold.
- the virtual fulfillment center can further disregard one or more of the plurality of physical stores that are associated with fill rates not greater than the predefined threshold.
- the virtual fulfillment center can further determine a highest fill rate to select the first physical store.
- a first distance between the shipping address and the location corresponding to the first physical store is greater than a second distance between the shipping address and the location corresponding to a second physical store of the plurality of physical stores.
- the virtual fulfillment center can further periodically receive the inventory information from each of the plurality of physical stores.
- the present disclosure is directed to a method for optimally selecting a physical store for filling online customer orders.
- the method includes maintaining, by one or more data processors, a physical store repository.
- the physical store repository includes respective locations of a plurality of physical stores associated with one or more merchants and respective store status information of the plurality of physical stores.
- the method includes receiving, by the one or more data processors, an identification to an online customer order of a plurality of product items for delivery to a shipping address.
- the method includes determining, by the one or more data processors, respective shipping costs and shipping delays to ship the plurality of product items from the plurality of physical stores to the shipping address.
- the method include comparing, by the one or more data processors, the respective shipping costs and shipping delays associated with the plurality of physical stores.
- the method includes causing, by the one or more data processors, the one or more product items of the online customer order to be shipped from a first physical store of the plurality of physical stores, responsive to determining that the first physical store is in association with a least shipping cost and a shortest shipping delay among the respective shipping costs and shipping delays of the plurality of physical stores.
- maintaining a physical store repository further includes transmitting, by the one or more data processors, a request to each of the plurality of physical stores for store status information.
- the request can cause each of plurality of physical stores to generate inventory information by detecting, via one or more cameras, a presence of one or more product items on one or more shelves; and transmit store status information to the one or more data processors.
- the store status information includes the inventory information.
- the store status information includes at least one of staffing information, calendar information, and operation information of each of the plurality of physical stores.
- the method further includes responsive to receiving the store status information of the plurality of physical stores, calculating respective fill rates of the one or more product items for the plurality of physical stores based on one or more previous online customer orders including ordering more than 1 of the product item.
- the fill rate information indicates a percentage of time that each of the plurality of physical stores can fulfill each of the one or more previous online customer orders.
- causing the one or more product items of the online customer order to be shipped from a first physical store of the plurality of physical stores further includes determining whether respective fill rates of the one or more product items for the plurality of physical stores are greater than a predefined threshold. Such a step further includes disregarding one or more of the plurality of physical stores that are associated with fill rates not greater than the predefined threshold, and determining a highest fill rate to select the first physical store.
- a first distance between the shipping address and the location corresponding to the first physical store is greater than a second distance between the shipping address and the location corresponding to a second physical store of the plurality of physical stores.
- FIG. 1 is a block diagram of a shopping system, according to one implementation.
- FIG. 2A is a block diagram of a client device of the shopping system of FIG. 1, according to one implementation;
- FIG. 2B is a block diagram of a virtual fulfillment center of the shopping system of FIG. 1, according to one implementation;
- FIG. 2C is a block diagram of an inventory management system deployed in a physical store of the shopping system of FIG. 1, according to one implementation
- FIG. 3 is a flow chart of an exemplary method used by the virtual fulfillment center of FIG. 2B to optimally select a physical store to fulfill an online order, according to one implementation.
- FIG. 4 is a flow diagram of an exemplary method used by the inventory management system of FIG. 2C to manage the inventory of a physical store, according to one implementation.
- a customer places an order through an e-commerce website of a merchant (e.g., Target, Walmart, Amazon)
- the order gets routed to an e-commerce fulfillment center, which is a physical warehouse dedicated to receiving e-commerce orders.
- a merchant e.g., Target, Walmart, Amazon
- the order gets routed to an e-commerce fulfillment center, which is a physical warehouse dedicated to receiving e-commerce orders.
- e-commerce fulfillment center which is a physical warehouse dedicated to receiving e-commerce orders.
- a retailer or merchant may deploy many physical stores, sometimes referred to as brick and mortar (“B&M”) stores, throughout a geographic area (e.g., across the United States), but only have a few physical fulfillment centers to fill the e-commerce orders. Therefore, when a customer places an order on an e- commerce website, the order is rarely routed to the nearest B&M store in his/her
- the order is often routed to one of the merchant’s few physical fulfillment centers distant from the customer, which results in long shipping delays to the customer and/or high shipping cost to the merchant (or passed to the customer).
- the fulfillment selection process is not optimized to select the best (e.g., geographically closest, most suited/equipped to fulfill the order, etc.) fulfillment center for a particular customer. Rather, a system, used by the merchant, just randomly sends the order to any of the physical fulfillment centers without taking in consideration that there may exists a B&M store owned by the merchant that is closer to the customer, which explains why it may take 5 days to get an item to a customer even though there may be a B&M store just a couple miles down the street from the customer.
- the present disclosure provides various embodiments of a shopping system that includes a virtual fulfillment center (VFC) for one or more merchant members.
- VFC virtual fulfillment center
- the VFC can allow a best store from a number of physical stores (e.g.,
- B&M stores physical fulfillment centers of each of the one or more merchant members to be selected to receive the customer’s order, which can result in the least shipping delay and lowest shipping cost when distributing product items to customers.
- a merchant provides the disclosed VFC with a list of 50 (or any subset size of stores) of their B&M stores dispersed around the country (this is a small number because Walmart and Target each have -1500 stores).
- the VFC can make these 50 stores look like one giant fulfillment center that is located optimally to almost everybody in the country, so that a customer can get their items with the least shipping delay (in many instance, the customer receives their items overnight) and the merchant incurs the least shipping cost, without trading-off one or the other.
- the VFC can be optimized to achieve the least shipping delay to the customer and lowest shipping cost to the merchant by adjusting and accounting for a variety of parameters.
- the VFC may take into account: a physical store’s inventory; a physical store’s average“fill rate” over a certain period of time; a geographic distance between the customer and one of the physical stores; whether a physical store has optimal man-power/staffmg (e.g., labor capacity to fill the order); whether a physical store operations are running smoothly; whether a physical store has a calendar event/holiday that may interrupt normal store hours, etc. It is understood that the listing of parameters are not limiting, and can include any of various other store status information while remaining within the scope of the present disclosure.
- the fill rate can be the percentage of time that a store was able to fill a customer’s entire order. For example, a customer orders 3 bottles of shampoo. If the physical store that receives the order has enough inventory to ship all 3 bottles to the customer at the same time, i.e., without breaking up the order into multiple shipments, the VFC may score such a fulfillment with a relatively high fill rate. On the other hand, if the physical store cannot ship all 3 bottles to the customer at the same time, the VFC may score the fulfillment with a relatively low fill rate.
- the inventory of the physical store may be required to be up-to-date.
- a merchant of a physical store may have difficulty in accurately tracking the inventory in real-time or keeping the inventory up-to-date.
- a merchant may have a general idea of their inventory, but tracking/updating their inventory in real-time is difficult because customers are entering in a front door of the physical store to purchase product items and vendors (e.g., Coke, Johnson & Johnson) are delivering product items in a back door of the physical store. Therefore, the product items are constantly moving in and out of the physical store, but merchants only consolidate their inventory 1-2 times per day - generally after store hours.
- the disclosed shopping system include one or more inventory manager systems deployed in each of the physical stores of the one or more merchants.
- the inventory manager system can include one or more cameras placed in front of the shelf at a merchant’s physical store. The camera can first read the barcode of a product item on a shelf to determine what product items are reserved for that particular shelf - this can be done by reading the barcode of a product item at a time when the shelf has the product item. After identifying the product item, for example, the camera can then determine if at least one product item is on the shelf by determining the physical dimensions of the empty shelf (maybe the camera scans the shelf and calculates the dimensions when the shelf is empty, and/or receives dimension information from the merchant ahead of time).
- the camera can then determine if at least one product item is on the shelf by determining that the physical dimensions have changed by the presence of at least one product item on the shelf. In some implementations, the camera does not count the inventory. Instead, the camera may determine if the merchant has the product item or does not have the product item.
- a shopping system 100 to optimally select a physical store for filling online customer orders is shown, in accordance with some implementations.
- the shopping system 100 can be associated with (e.g., used by) a merchant.
- the shopping system 100 can be associated with any number of merchants while remaining within the scope of the present disclosure.
- the merchant(s) may sell product items through brick and mortar (B&M) stores, through telephone or catalog sales, and may also sell product items online via a presence on the Internet or other network, which shall be described below.
- B&M brick and mortar
- the shopping system 100 includes one or more servers 102 upon which various applications can be executed such as, for example, one or more e- commerce applications 104, one or more web server applications 106, and a database 108.
- One or more client devices 110 can access, communicate with, or otherwise interact with the server 102 via one or more networks 111.
- the network 111 may include, for example, the Internet, intranets, wide area networks (WANs), local area networks, wireless networks, or other suitable networks, etc., or any combination of two or more such networks.
- the e-commerce application 104 can be executed in order to facilitate an online purchase of product items over various networks such as, for example, the Internet or other network as can be appreciated.
- the e-commerce application 104 can also perform various back-end functions associated with the online presence of a merchant in order to facilitate the online purchase of items.
- the e-commerce application 104 may generate network pages such as web pages or other types of network content that is provided to a client device 110.
- the Web server application 106 can include various applications that facilitate access to the e-commerce application 104 on behalf of the client device 110.
- Web server application 106 may facilitate browser access to the e-commerce application 104.
- other applications may be employed beyond a web application.
- the e-commerce application 104 can provide the client device 110 with network content in response to requests received from the client device 110 in the server 102 when interaction occurs between the e-commerce application 104 and the client device 110, for example, when the client device 110 navigates through the various pages of a network site associated with the online presence of a merchant.
- the e-commerce application 104 may dynamically generate such network pages using information in the database 108 or information obtained from other locations as can be appreciated.
- the Web server application 106 can be an example of a server application that acts as a portal through which the client device 110 sends requests that are processed by the e-commerce application 104.
- the responses to the client requests generated by the e-commerce application 104 can be received by the client device 110 from the e-commerce application 104 through the Web server application 106.
- the database 108 may store various data such as, for example, information relating to product items offered for sale to those who would manipulate the client device 110 such as, for example, product item information, product item pricing, the availability of the product item (in terms of quantities available), the lead times within which such items can be shipped or otherwise made available to the purchaser, and other information. Further, the database 108 may include various store status information stored in the store repository of a virtual fulfillment center, which shall be discussed in further detail below.
- the shopping system 100 further include a virtual fulfillment center 120, and one or more physical stores or centers, for example, a physical fulfillment center 130, and physical stores 134, 138, and 142.
- the virtual fulfillment center 120 can communicate with the server 102 (e.g., the e-commerce application 104) to receive the identification of an online order from the client device 110, provide various store status information to the e-commerce application 104 for presenting to the client device 110, etc., via a network 121.
- the network 121 may include, for example, the Internet, intranets, wide area networks (WANs), local area networks, wireless networks, or other suitable networks, etc., or any combination of two or more such networks.
- the physical stores 130-142 may be managed (e.g., owned) by one or more merchants that manage or use the server 102.
- each of the physical stores 130-142 may have a capability to deliver one or more product items to a physical address designated by an online order from the client device 110 (e.g., physical address 150) upon interacting with the virtual fulfillment center 120, which shall be discussed in further detail below.
- the physical fulfillment center 130 and the physical stores 134- 142 may each have facilities to pack and ship items to a destination address via a public carrier.
- the physical fulfillment center 130 may be one of a number of warehouses, which are distributed over a certain geographic area relatively sparsely; and the physical stores 134-142 may be B&M stores, which are distributed over the geographic area relatively densely.
- the shopping system 100 includes a number of inventory management systems 144 deployed in respective physical stores 130- 142, in accordance with some implementations.
- an inventory management system 144 can communicate with the virtual fulfillment center 120 to update the store status information of respective physical store via a respective network (not shown).
- a network may include, for example, the Internet, intranets, wide area networks (WANs), local area networks, wireless networks, or other suitable networks, etc., or any combination of two or more such networks.
- Client device 110 may be any number of different types of user electronic devices configured to communicate via a network, including without limitation, a laptop computer, a desktop computer, a tablet computer, a smartphone, a digital video recorder, a set-top box for a television, a video game console, or any other type and form of computing device or combinations of devices.
- the type of client device 110 may be categorized as a mobile device, a desktop device or a device intended to remain stationary or configured to primarily access a network via a local area network, or another category of electronic devices such as a media consumption device.
- client device 110 includes a processor 202 and a memory 204.
- Memory 204 may store machine instructions that, when executed by processor 202 cause processor 202 to perform one or more of the operations described herein.
- Processor 202 may include a microprocessor, ASIC, FPGA, etc., or combinations thereof. In many implementations, processor 202 may be a multi-core processor or an array of processors. Memory 202 may include, but is not limited to, electronic, optical, magnetic, or any other storage devices capable of providing processor 202 with program instructions. Memory 202 may include a floppy disk, CD-ROM, DVD, magnetic disk, memory chip, ROM, RAM, EEPROM, EPROM, flash memory, optical media, or any other suitable memory from which processor 202 can read instructions. The instructions may include code from any suitable computer programming language such as, but not limited to, C, C++, C#, Java, JavaScript, Perl, HTML, XML, Python and Visual Basic.
- Client device 110 may include one or more network interfaces 206.
- a network interface 206 may include any type and form of interface, including Ethernet including 10 Base T, 100 Base T, or 1000 Base T (“Gigabit”); any of the varieties of 802.11 wireless, such as 802.11a, 802.11b, 802. l lg, 802.11h, or 802.11ac; cellular, including CDMA, LTE, 3G, or 4G cellular; Bluetooth or other short range wireless connections; or any combination of these or other interfaces for communicating with a network or other computing devices.
- client device 110 may include a plurality of network interfaces 206 of different types, allowing for connections to a variety of networks, such as local area networks or wide area networks including the Internet, via different sub-networks.
- Client device 110 may include one or more user interface or input/output devices 208.
- a user interface device 208 may be any electronic device that conveys data to a user by generating sensory information (e.g., a visualization on a display 102, 102’, one or more sounds, tactile feedback, etc.) and/or converts received sensory information from a user into electronic signals (e.g., a keyboard, a mouse, a pointing device, a touch screen display, a microphone, etc.).
- the one or more user interface devices may be internal to the housing of client device 110, such as a built-in display, touch screen, microphone, etc., or external to the housing of client device 110, such as a monitor connected to client device 110, a speaker connected to client device 110, etc., according to various implementations.
- Client device 110 may include in memory 204 an application 210 or may execute an application 210 with a processor 202.
- Application 210 may be an application, applet, script, service, daemon, routine, or other executable logic for receiving content and for transmitting responses, commands, or other data.
- application 210 may be a web browser, while in another implementation, application 210 may be media presentation application.
- Application 210 may include functionality for displaying content received via network interface 206 and/or generated locally by processor 202, and for transmitting interactions received via a user interface device 208, such as requests for websites, selections of survey response options, input text strings, etc.
- application 210 may include a client agent 212.
- Client agent 212 may include an application plug-in, application extension, subroutine, browser toolbar, daemon, or other executable logic for collecting data processed by application 210 and/or monitoring interactions of a user with an interface 208.
- client agent 212 may be a separate application, service, daemon, routine, or other executable logic separate from application 210 but configured for intercepting and/or collecting data processed by application 210, such as a screen scraper, packet interceptor, API hooking process, or other such application.
- Client agent 212 may be configured for intercepting or receiving data input via user interface device 208, including mouse clicks, scroll wheel movements, gestures such as swipes, pinches, or touches, or any other such interactions; as well as data received and processed by application 210 including content displayed or media played, duration of playback, as well as interactions with playback controls including pausing, resetting or restarting, fast forwarding, muting, or any other such interactions.
- Client agent 212 may identify streamed multimedia content received by a client device, such as a television show, movie, song, music video, or other such content. Content may be identified based on identifier tags including ID3 tags or other such metadata, uniform resource locators (URLs) or uniform resource identifiers (URIs), filenames, captions, titles, or any other type and form of data accompanying the content. Client agent 212 may identify or track playback or view time durations or cumulative playback times of content items 110. Client agent 212 may compare the durations or playback times to predetermined thresholds and determine what content item 110 to insert at a next position 107 based on the comparison.
- a client device such as a television show, movie, song, music video, or other such content.
- Content may be identified based on identifier tags including ID3 tags or other such metadata, uniform resource locators (URLs) or uniform resource identifiers (URIs), filenames, captions, titles, or any other type and form of data accompanying the content.
- Client 110 may include or be identified with a device identifier 214.
- Device identifier 214 may include any type and form of identification, including without limitation a MAC address, text and/or numerical data string, a username, a cryptographic public key, cookies, device serial numbers, user profile data, network addresses, or any other such identifier that may be used to distinguish the client 110 from other clients 110.
- a device identifier 214 may be associated with one or more other device identifiers 214 (e.g., a device identifier for a mobile device, a device identifier for a home computer, etc.).
- the device identifier 214 may be cryptographically generated, encrypted, or otherwise obfuscated. In some
- client 110 may include a session identifier 216, which may be similar to a device identifier 214 but generated more frequently, such as hourly, daily, upon activation of application 210, or any other such period.
- Session identifiers 216 may be generated by a client device 110 or received from a server, content provider, or other device. Session identifiers 216 may be used in place of device identifiers 214 to increase anonymity, or may be used in connection with device identifiers 214 to distinguish interactions of one session from those of another session.
- the virtual fulfillment center 120 may include one or more processors 202, memories 204, network interfaces 206, and user interfaces 208.
- the virtual fulfillment center 120 may not include a user interface 208, but may communicate with another device with user interfaces 208 via a network.
- the virtual fulfillment center 120 may include a store management engine 210, an e-commerce management engine 212, a shipping management engine 214, and a store repository 216 in memory 204.
- the store management engine 210, e-commerce management engine 212, and shipping management engine 214 may each include an application, service, routine, server, daemon, or other executable logic for optimally selecting a physical store for filling online customer orders by executing method 300 shown in FIG. 3.
- the inventory management system 144 includes one or more activity capture devices 220 and an inventory manager 222 communicatively coupled with the one or more activity capture devices 220.
- the inventory management system 144 may be deployed in a physical store for monitoring the inventory of the physical store.
- each of the one or more activity capture devices 220 may be deployed substantially adjacent to equipment storing the product items and configured to communicate with the inventory manager 222 to update the inventory in response to detecting a presence or absence of the product item, which shall be discussed in further detail below.
- the inventory manager 222 may include one or more processors 202, memories 204, network interfaces 206, and user interfaces 208. In some implementations referred to as headless servers, the inventory manager 222 may not include a user interface 208, but may communicate with another device with user interfaces 208 via a network.
- the inventory manager 222 may include a product activity monitor 224, an activity analysis engine 226, and an inventory repository 228 in memory 204.
- the product activity monitor 224 and activity analysis engine 226 may each include an application, service, routine, server, daemon, or other executable logic for optimally selecting a physical store for filling online customer orders by executing method 400 shown in FIG. 4.
- the activity capture device 220 which may comprise a still image or video camera that can be rotated, panned, etc., may be mounted at one or more locations within the physical store such as, for example, a shelf within the store that can store one or more product items.
- the activity capture device may comprise a relatively mobile still image or video camera (e.g., a wireless camera) mounted on any of a number of movable objects including, but not limited to, fixed tracks that guide movement of the activity capture device, shopping or stocking carts, or even persons moving around the physical store.
- a relatively mobile still image or video camera e.g., a wireless camera
- FIG. 3 depicted is a flow diagram of one embodiment of a method 300 for optimally selecting a physical store to fulfill an online order, in accordance with some implementations.
- the functionalities of the method 300 can be implemented using, or performed by, the components detailed herein in connection with FIGs. 1-2C.
- the store management engine of a virtual fulfillment center can maintain a list of a number of physical stores associated with a merchant at 302. The list can include respective locations of the number of physical stores.
- the store management engine can receive the respective store status information, which can include the respective inventory information, from the number of physical stores.
- an e-commerce management engine of the virtual fulfillment center can receive the identification of an online order.
- a shipping management engine of the virtual fulfillment center can calculate the respective fill rates of the number of physical stores.
- the shipping management engine can determine whether any store present a fill rate that is lower than a threshold.
- the shipping management engine can disregard the store(s) that present a fill rate lower than the threshold at 312, and proceed to 314 to compare the respective shopping costs, shipping delays, and/or fill rates of the remaining stores.
- the shipping management engine can select a physical store to fulfill the online order.
- the store management engine of the virtual fulfillment center can maintain, monitor, or store a list of a respective number of physical stores associated with one or more merchants at 302.
- the physical stores can include any of a variety of stores that are capable of delivering the product items specified in an online order, which can include a warehouse (e.g., 130) and a B&M store (e.g., 134-142).
- the merchant may periodically provide (e.g., update) such a list to the store management engine, e.g., every month, every quarter, every year, etc. Or the merchant may update the list in response to an event that the merchant has newly opened or closed a physical store. Additionally or alternatively, the store management engine may periodically send a request to the merchant to update the list.
- the list can include various information regarding each of the physical stores such as, for example, the location (e.g., addresses) of each of the physical stores, the nearby traffic information of each of the physical stores, the number of carriers available to each of the physical stores, the respective distances between the available carrier facilities and each of the physical stores, etc.
- the store management engine 210 can store the list in the store repository 216, and/or communicate with the server 102 to store the list in the database 108.
- the store management engine can receive, maintain, or retrieve the respective store status information from the number of physical stores.
- the store status information can include the respective inventory information of the physical stores.
- the physical stores may periodically provide (e.g., update) such inventory information to the store management engine, e.g., every hour, every day, every week, etc. Additionally or alternatively, the store management engine may periodically send a request to each of the physical stores to retrieve the inventory information, e.g., every hour, every day, every week, etc.
- each of the physical stores may use at least one inventory management system (e.g., 144) to provide the respective inventory information, which shall be discussed in further detail below with respect to FIG. 4.
- the e-commerce management engine (e.g., 212) can receive the identification of an online order.
- the e-commerce management engine may receive the identification of the online order from the client device 110 and through the server 102 that specifies one or more product items, the respective number of the one or more product items, one or more destination addresses (e.g., 150) to which the one or more product items are to be delivered, etc.
- the shipping management engine (e.g., 214) can calculate the respective fill rates of the number of physical stores.
- the e-commerce management engine may communicate with the shipping management engine to calculate the respective fill rates of the number of physical stores based on the online order.
- the shipping management engine can communicate with the store repository (e.g., 216) to retrieve the respective inventory information to calculate each store’s fill rate.
- the fill rate may be defined as the percentage of time that a store has been able to fill or fulfill a customer’s entire order, in accordance with some implementations.
- the shipping management engine can calculate a respective fill rate of the one or more product items for each of the stores based on one or more previous online orders that include ordering of more than one of the similar product item, or calculate a respective fill rate based on whether each of the stores is capable of fulfilling the one or more product items in one shipment (e.g., has a enough number of the product items in the inventory).
- an online order specifies 3 bottles of shampoo.
- the shipping management engine can retrieve respective inventory information of the physical stores from the store repository to determine whether each of the physical stores has enough inventory to ship all 3 bottles of shampoo to the customer at the same time, i.e., without breaking up the order into multiple shipments. If a first store can do so, the shipping management engine may score the first store with a relatively high fill rate. On the other hand, if a second store cannot ship all 3 bottles to the customer at the same time, the shipping management engine may score the second store with a relatively low fill rate.
- the shipping management engine may use multiple previous orders that have ordering of multiple similar or identical product items to periodically update each store’s fill rate for that particular product item.
- the shipping management engine may update such a fill rate by averaging the respective fill rates of the multiple previous orders.
- each store’s respective fill rate for the particular product item can be readily available.
- the shipping management engine may rank the physical stores, in accordance with some implementations. If the shipping management engine determines that one or more stores that each presents a fill rate lower than a predefined threshold (310), the shipping management engine may disregard such store(s) at 312; if the shipping management engine determines that one or more stores that each presents a fill rate equal to or higher than the predefined threshold (310), the shipping management engine may keep such store(s) for further comparison at 314. In some implementations, the shipping management engine may recycle to use the disregarded store(s) after the comparison at 314, which shall be discussed in further detail below.
- the shipping management engine can calculate, estimate, or predict the respective shipping costs and shipping delays of the remaining stores and further compare the shopping costs, shipping delays, and/or fill rates of the remaining stores.
- the shipping management engine can communicate with the store repository to calculate the shipping costs and delays of the remaining stores based on the destination address and various information that the store management engine 210 stores in the store repository.
- the shipping management engine can communicate with the store repository to calculate the shipping costs and delays of all the stores and disregard those stores presenting fill rates lower than the threshold.
- the shipping management engine can retrieve from the store repository various information such as, for example, information regarding the location of each of the physical stores, information regarding the traffic near each of the physical stores, information regarding the weather near each of the physical stores, information regarding one or more upcoming and/or happening events (e.g., a festival, a construction event, a closed road, etc.) near each of the physical stores, information regarding the number of carriers available to each of the physical stores, and information regarding the respective distances between the available carrier facilities and each of the physical stores.
- the shipping management engine can estimate the shipping cost and shipping delay to deliver the product items specified in the online order from each of the stores to the destination address.
- the shipping management engine may compare the stores’ shipping costs and delays to select one store to fulfill the online order.
- the shipping management engine may select the store that presents the least shopping cost and shortest shipping delay.
- the shipping management store may select a physical store that can present the least shipping cost and shortest shipping delay among the physical stores but is not necessarily closet to the destination address.
- the shipping management engine may of the virtual fulfillment center 120 can select the physical store 134 to fulfill an online order specifying the destination address 150 because the physical store 134 presents the least shipping cost and shortest shipping delay even though the physical store 142 is closer to the physical address 150.
- the shipping management engine may select the store by prioritizing the shopping cost over shipping delay, or the shipping delay over the shopping cost. Such a preference may be specified in the online order prior to the shipping
- the shipping management engine calculating the shipping delays and costs, or may presented to the client device (e.g., 110) through the e-commerce application subsequently to the shipping management engine calculating the shipping delays and costs. In some cases, the shipping management engine may also reuse the disregarded stores to calculate respective shipping costs and delays for making a selection.
- the shipping management engine may filter out store A because the fill rate even is less than a threshold (e.g., 50%) even though store A presents the lowest shopping cost and shortest shipping delay. As such, the shipping management engine may select store B, which presents the lowest shopping cost and shortest shipping delay among the remaining stores, to fulfill the order. In another example, even though the shipping management engine filters out store A, the shipping management engine may reuse and select store A to fulfill the order because store A presents the lowest shopping cost and shortest shipping delay across all the stores. In some implementations, the shipping management engine may use these three parameters (the shipping cost, the shipping delay, and the fill rate) to calculate a normalized score for all the stores using a predefined algorithm. Specifically, such an algorithm can have a weight for each of the parameters.
- a threshold e.g. 50%
- the shipping management engine may select store B, which presents the lowest shopping cost and shortest shipping delay among the remaining stores, to fulfill the order.
- the shipping management engine may reuse and select store A to fulfill the order because store A presents the lowest shopping cost and
- the shipping management engine may use various other parameters that can dynamically change over time to select a store to fulfill the order.
- the store management engine may monitor, detect, or otherwise manage such dynamically changing parameters of each communicatively coupled stores.
- the dynamically changing parameter of a store can include at least one of the following: whether an order assigned to the store for fulfilling needs to be reassigned to another store, a frequency by which such a reassignment occurs to the store, and real-time changing capacities (e.g., a shipping capacity, a human resource capacity, etc.) of the store.
- the shipping management engine can additionally or alternatively use the parameters to select a store to fulfill the order.
- the shipping management engine may concurrently receive a number of orders.
- the shipping management engine may use one or more of the above-described parameters to optimally select a respective store to fulfill each of the orders. For example, when the shipping management engine receives two orders (e.g., order 1 and order 2) to be fulfilled, the shipping management engine may first determine stores (e.g., store A and store B) from a number of candidate stores to fulfill order 1 and order 2, respectively, based on the respective parameters of shipping costs, shipping delays, and fill rate of the candidate stores. Further, the shipping management engine may take into account the dynamically changing parameters, as mentioned above, of store A and store B to replace store A with store B to fulfill order 1, and replace store B with store A to fulfill order 2.
- stores e.g., store A and store B
- the activity capture device of an inventory management system can identify a shelf at 402.
- the activity capture device can identify an item to be placed on the shelf.
- the activity capture device can capture an image of the item and/or shelf.
- an activity analysis engine of the inventory management system can compare the dimensions of the captured image and pre-calibrated dimensions of the shelf. If dimensions have been changed at 410, the activity analysis engine can update inventory information of the physical store; and if dimensions have not been changed at 410, the activity analysis engine may maintain the current inventory information.
- the activity capture device (e.g., 220) can identify a shelf within a physical store at 402.
- the activity capture device may be mounted at one or more locations within the physical store such as, for example, a shelf within the store that can store one or more inventory items.
- the activity capture device can capture one or more images of the shelf and communicate the one or more captured images with the activity analysis engine (e.g.,
- the activity analysis engine can determine the dimensions of the shelf when the shelf is empty (e.g., when no product items are placed on the shell).
- the activity capture device can identify a product item to be placed on the shelf.
- the activity capture device may cause the activity analysis engine to identify the product item based on an identification associated with the product item such as, for example, a one- or two-dimensional bar code attached to the product item.
- the activity capture device can capture (e.g., scan) one or more images of the bar code and communicate the one or more images with the activity analysis engine to identify the product item.
- the activity analysis engine can determine the dimensions of the product item according to the one or more captured images of the product item, in accordance with some implementations.
- the activity capture device can capture one or more images of the product item and/or shelf.
- the activity analysis engine can cause the activity capture device to capture one or more images of the shelf, which may or may not have the product item placed thereon.
- the activity analysis engine can again determine the dimensions of the shelf to detect, compare, or otherwise monitor whether such later determined dimensions of the shelf are different from the dimensions of the shelf that was previously determined, for example, at 402.
- the activity analysis engine may update the inventory information in the inventory repository (410); and if the activity analysis engine determines that the dimensions of the shelf has not changed, the activity analysis engine may maintain the current inventory information in the inventory repository (412).
- the activity analysis engine may determine an absence of one or more of the product items that were placed on the shelf by detecting a change in the dimensions of the captured image(s) of the shelf. Upon determining such an absence, the activity analysis engine can update the inventory repository accordingly.
- the activity analysis engine may periodically cause the activity capture device to capture the images of the shelf. As such, the activity analysis engine can periodically (e.g., every 5 minutes, every hour, etc.) determine whether the inventory information needs to be updated or maintained.
- the inventory management system 144 may iteratively perform operations 406, 408, and 410 or 412. The current inventory can be provided manually by employee(s) of the physical store or automatically or semi-automatically by utilizing the inventory management system 144.
- Implementations of the subject matter and the operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them.
- Implementations of the subject matter described in this specification can be implemented as one or more computer programs, i.e., one or more modules of computer program instructions, encoded on one or more computer storage medium for execution by, or to control the operation of, data processing apparatus.
- the program instructions can be encoded on an artificially-generated propagated signal, e.g., a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a data processing apparatus.
- a computer storage medium can be, or be included in, a computer-readable storage device, a computer-readable storage substrate, a random or serial access memory array or device, or a combination of one or more of them.
- a computer storage medium is not a propagated signal, a computer storage medium can be a source or destination of computer program instructions encoded in an artificially generated propagated signal.
- the computer storage medium can also be, or be included in, one or more separate components or media (e.g., multiple CDs, disks, or other storage devices). Accordingly, the computer storage medium may be tangible.
- the term“client or“server” include all kinds of apparatus, devices, and machines for processing data, including a programmable processor, a computer, a system on a chip, or multiple ones or combinations, of the foregoing.
- the apparatus can include special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).
- the apparatus can also include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, a virtual machine, or a combination of one or more of them.
- the apparatus and execution environment can realize various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
- a computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, object, or other unit suitable for use in a computing environment.
- a computer program may, but need not, correspond to a file in a file system.
- a program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code).
- a computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.
- the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output.
- the processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., a System on a Chip (SOC), a field programmable gate array (FPGA), or an application specific integrated circuit (ASIC).
- SOC System on a Chip
- FPGA field programmable gate array
- ASIC application specific integrated circuit
- processors suitable for the execution of a computer program include both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
- a processor will receive instructions and data from a read only memory or a random access memory or both.
- the essential elements of a computer are a processor for performing actions in accordance with instructions and one or more memory devices for storing instructions and data.
- a computer will also 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.
- mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
- a computer need not have such devices.
- a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g., a universal serial bus (USB) flash drive), to name just a few.
- Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including 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 can be supplemented by, or incorporated in, special purpose logic circuitry.
- implementations of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a cathode ray tube (CRT), liquid crystal display (LCD), organic light emitting diode (OLED), thin-film transistor (TFT), plasma, other flexible configuration, or any other monitor for displaying information to the user and a keyboard, a pointing device, e.g., a mouse, trackball, etc., or a touch screen, touch pad, etc., by which the user can provide input to the computer.
- a display device e.g., a cathode ray tube (CRT), liquid crystal display (LCD), organic light emitting diode (OLED), thin-film transistor (TFT), plasma, other flexible configuration, or any other monitor for displaying information to the user and a keyboard, a pointing device, e.g., a mouse, trackball, etc., or a touch screen, touch pad, etc., by which the user can provide input to the computer.
- a computer can interact with a user by sending documents to and receiving documents from a device that is used by the user; e.g., by sending webpages to a web browser on a user’s client device in response to requests received from the web browser.
- Implementations of the subject mater described in this specification can 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 of the subject mater described in this specification, or any combination of one or more such back end, middleware, or front end components.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network.
- Communication networks can include various combinations of a local area network (“LAN”), a wide area network (“WAN”), an inter-network (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks).
- LAN local area network
- WAN wide area network
- inter-network e.g., the Internet
- peer-to-peer networks e.g., ad hoc peer-to-peer networks.
- combination may be directed to a subcombination or variation of a subcombination.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Development Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
L'invention concerne un procédé de sélection optimale d'un magasin physique pour satisfaire une commande en ligne. Le procédé consiste à maintenir un référentiel de magasins physiques qui comprend des emplacements respectifs de multiples magasins physiques associés à un ou à plusieurs marchands et des informations d'état de magasin respectives des magasins physiques. Le procédé consiste à recevoir une identification d'une commande de client en ligne d'articles à livrer à une adresse d'expédition. Le procédé consiste à déterminer des coûts d'expédition et des délais d'expédition respectifs d'expédition des articles de produits des magasins physiques à l'adresse d'expédition. Le procédé consiste à comparer les coûts d'expédition et les délais d'expédition respectifs associés aux magasins physiques. Le procédé consiste à provoquer l'expédition des articles de produit de la commande de client en ligne à partir d'un premier magasin physique, en réponse à la détermination du fait que le premier magasin physique affiche un coût d'expédition moindre et un délai d'expédition plus court parmi des magasins physiques.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/012499 WO2020145935A1 (fr) | 2019-01-07 | 2019-01-07 | Systèmes et procédés de sélection de magasins physiques pour satisfaire des commandes |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2019/012499 WO2020145935A1 (fr) | 2019-01-07 | 2019-01-07 | Systèmes et procédés de sélection de magasins physiques pour satisfaire des commandes |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020145935A1 true WO2020145935A1 (fr) | 2020-07-16 |
Family
ID=65237183
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2019/012499 WO2020145935A1 (fr) | 2019-01-07 | 2019-01-07 | Systèmes et procédés de sélection de magasins physiques pour satisfaire des commandes |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2020145935A1 (fr) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022063084A1 (fr) * | 2020-09-22 | 2022-03-31 | International Business Machines Corporation | Optimisation de conditions de traitement de commande |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9466045B1 (en) * | 2013-12-11 | 2016-10-11 | Amazon Technologies, Inc. | Shipment optimization |
US20180314999A1 (en) * | 2017-04-27 | 2018-11-01 | Walmart Apollo, Llc | Methods and systems for managing fullfillment of one or more online orders |
-
2019
- 2019-01-07 WO PCT/US2019/012499 patent/WO2020145935A1/fr active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9466045B1 (en) * | 2013-12-11 | 2016-10-11 | Amazon Technologies, Inc. | Shipment optimization |
US20180314999A1 (en) * | 2017-04-27 | 2018-11-01 | Walmart Apollo, Llc | Methods and systems for managing fullfillment of one or more online orders |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022063084A1 (fr) * | 2020-09-22 | 2022-03-31 | International Business Machines Corporation | Optimisation de conditions de traitement de commande |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230087276A1 (en) | Facilitating purchase of objects | |
US10453092B1 (en) | Content selection associated with webview browsers | |
US9129317B2 (en) | Method, medium, and system for providing location aware classified content | |
US8868689B1 (en) | Device configuration based content selection | |
CN105917332B (zh) | 基于观看简档来选择内容项 | |
JP5955286B2 (ja) | 評価算出装置、評価算出方法及び評価算出プログラム | |
US11785103B2 (en) | Systems and methods for providing location services | |
US20150134403A1 (en) | Contextual searching via a mobile computing device | |
US8954836B1 (en) | Systems and methods for directing access to products and services | |
US20140172542A1 (en) | Event based advertisement selection | |
US10430895B2 (en) | Social media and revenue generation system and method | |
CN107832409B (zh) | 访问基于位置的内容 | |
US20160055256A1 (en) | Systems and methods for directing access to products and services | |
US20150310388A1 (en) | Local couriers network in the context of an on-line trading platform | |
JP5883149B2 (ja) | ホスト型サービスイメージのための電子市場 | |
US20230237537A1 (en) | Third party customized content based on first party | |
US20140365307A1 (en) | Transmitting listings based on detected location | |
US10967258B1 (en) | Using game data for providing content items | |
US9607313B2 (en) | Targeted content streaming banners | |
US20160055133A1 (en) | Systems and methods for directing access to products and services | |
US8694496B2 (en) | Harvesting application metadata | |
US20130262494A1 (en) | System and method of providing selected content via a computer network | |
KR20230117723A (ko) | 비디오-기반 전자적 권유의 자동 생성 | |
US9043333B1 (en) | Systems and methods for directing access to products and services | |
CA2929828A1 (fr) | Systemes de recommandation de mediation pour plusieurs sources de demandes publicitaires video |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19702154 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19702154 Country of ref document: EP Kind code of ref document: A1 |