Systems and methods for optimizing product feeds for price comparison shopping websites and non-transitory computer readable medium
Patent Information
- Application Number
- TW112147168
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2023-09-01
- Filing Date
- 2023-12-05
- Publication Date
- 2026-08-11
- Estimated Expiration
- 2043-12-04
Smart Images

Figure TWG2TB001905279_001 
Figure TWG2TB001905279_002 
Figure TWG2TB001905279_003
Abstract
Description
System and method for optimizing product feeds for a product price comparison shopping website The present disclosure generally relates to computerized systems and methods for optimizing data feeds based on machine learning models trained on data. Specifically, embodiments of the present disclosure relate to innovative and non-traditional systems for optimizing data feeds for transmission to remote systems. Data transmission between remote systems can be limited by technical challenges, including the size of the data being transmitted. Specifically, generating a data feed and sending the data feed to a remote system for consumption or display of the data feed can be limited by the size of the data feed or the number of items in the data feed. For example, in online marketing, a retailer may upload one or more product data feeds to a comparison shopping website, which can help the retailer reach a wider audience and increase sales. The products in the data feed then appear on a comparison shopping engine along with similar products from other retailers. The challenging technical problem to be solved is how to determine which products to upload to maximize sales, given that comparison shopping websites often have limitations on the size of the product feed. Traditionally, marketers have implemented some business rules, such as selecting products that have been viewed in the past 90 days or sold in the last year or clicked on previously. These rules are typically based on a one-time analysis, and the process of picking the final list that meets the size requirements often involves making selections based on randomness or intuition. This results in a manual sub-optimal product feed selection strategy based on human-driven specific rules and tactics. In addition, the data for products listed on retail websites exists in various formats, and there is a large amount of data available for different products and different users. Extracting meaningful information for prediction based on this data is also a technically challenging problem. Therefore, there is a need for improved methods and systems for optimizing product feeds based on machine learning models trained on product data. One aspect of the present disclosure relates to a system for optimizing product feeds based on a machine learning model trained on product data. One aspect of the present disclosure relates to obtaining historical product data corresponding to a first set of products, the first set of products including one or more products for display on a web page associated with the system. One aspect of the present disclosure relates to determining capacity constraints associated with a second system configured to display information associated with the one or more products. One aspect of the present disclosure relates to using a machine learning model trained on the historical product data to generate a predicted interaction volume corresponding to at least one product in the first set of products. One aspect of the present disclosure relates to selecting a second set of products based on the predicted interaction volume, wherein the second set of products includes a subset of the one or more products from the first set of products based on the capacity constraints. One aspect of the present disclosure relates to presenting the second set of products to the second system. Another aspect of the present disclosure relates to generating aggregated product data on a daily basis based on the historical product data corresponding to a historical duration. Another aspect of the present disclosure relates to: applying one or more calculations to the historical product data; combining the historical product data into a unified record; storing the unified record in a database; and inputting the aggregated product data into the machine learning model on a daily basis. Another aspect of the present disclosure relates to tuning one or more hyperparameters by applying Bayesian optimization to the one or more hyperparameters associated with the machine learning model. Another aspect of the present disclosure relates to generating the predicted interaction volume based on at least one of historical product data or new product data. Another aspect of the present disclosure relates to: obtaining a product feed and a product feed click count from the second system; providing at least one of the product feed or the product feed click count to the machine learning model; and updating one or more weights in the machine learning model by training the machine learning model based on at least one of the product feed or the product feed click count. In some embodiments, the machine learning model is updated on a daily basis. In some embodiments, the historical product data includes at least one of supplier information, rating information, product review information, customer information, sales information, or interactions corresponding to a retail website. In some embodiments, the total quantity of products in the second set of products is not greater than the capacity constraints. Another aspect of the present disclosure relates to associating each product in the first set of products with a product feed keyword, the product feed keyword including a product identifier and a price; and mapping the product feed keyword to a product in the second system. In some embodiments, the generated predicted interaction volume corresponds to a future time period. Another aspect of the present disclosure relates to a non-transitory computer-readable medium including instructions that can be executed by one or more processors to cause a system to implement a method for optimizing product feeds based on a machine learning model trained on product data. Another aspect of the present disclosure relates to obtaining historical product data corresponding to a first set of products, where the first set of products includes one or more products for display on a web page associated with the system. Another aspect of the present disclosure relates to determining a capacity constraint associated with a second system configured to display information associated with the one or more products; where the capacity constraint includes a numerical limit. Another aspect of the present disclosure relates to generating a gradient boosting machine regression model configured to generate a predicted interaction volume corresponding to at least one product in the first set of products. Another aspect of the present disclosure relates to training the gradient boosting machine regression model daily by: generating aggregated product data based on the historical product data; inputting the aggregated product data into the gradient boosting machine; obtaining product feeds and product feed click counts from the second system; providing at least one of the product feeds or the product feed click counts to the machine learning model; and optimizing the trained gradient boosting machine model by applying Bayesian optimization to one or more hyperparameters associated with the trained gradient boosting machine model. Another aspect of the present disclosure relates to using the optimized gradient boosting machine model to generate the predicted interaction volume; where the predicted interaction volume corresponds to a future time interval. Another aspect of the present disclosure relates to selecting a second set of products based on the predicted interaction volume, where the second set of products includes a subset of the one or more products from the first set of products based on the capacity constraint; and presenting the second set of products to the second system for display during the future time interval. Other systems, methods, and computer-readable media are also discussed herein. The disclosed embodiments can include any of the above aspects either alone or in combination with one or more aspects, whether implemented as a method by at least one processor and / or as executable instructions stored on a non-transitory computer-readable medium. The following detailed description refers to the accompanying drawings. As much as possible, the same reference numbers are used in the drawings and the following description to refer to the same or similar components. Although several exemplary embodiments are set forth herein, various modifications, adaptations, and other embodiments are possible. For example, components and steps shown in the drawings may be replaced, added, or modified, and the exemplary methods described herein may be modified by replacing, reordering, removing, or adding steps of the disclosed methods. Accordingly, the following detailed description is not limited to the disclosed embodiments and examples. Instead, the proper scope of the invention is defined by the appended claims. Embodiments of the present disclosure relate to systems and methods configured to optimize data feeds based on a machine learning model. Referring to FIG. 1A, FIG. 1A shows a schematic block diagram 100, which shows an exemplary embodiment of a system including a computerized system for enabling communication in shipping, transportation, and logistics operations. As shown in FIG. 1A, system 100 may include various systems, each of which may be connected to each other via one or more networks. The systems may also be connected to each other via a direct connection (e.g., using a cable). The illustrated systems include a Shipment Authority Technology (SAT) system 101, an external front-end system 103, an internal front-end system 105, a transportation system 107, mobile devices 107A, 107B, and 107C, a seller portal 109, a Shipment and Order Tracking (SOT) system 111, a Fulfillment Optimization (FO) system 113, a Fulfillment Messaging Gateway (FMG) 115, a Supply Chain Management (SCM) system 117, a Warehouse Management System (WMS) 119, mobile devices 119A, 119B, and 119C (shown as being inside a Fulfillment Center (FC) 200), third-party fulfillment (3 rd party fulfillment, 3PL) systems 121A, 121B, and 121C, a Fulfillment Center Authorization System (FC Auth) 123, and a Labor Management System (LMS) 125. In some embodiments, the SAT system 101 may be implemented as a computer system that monitors order status and delivery status. For example, the SAT system 101 can determine whether an order has exceeded its Promised Delivery Date (PDD), and can take appropriate actions including initiating a new order, re-shipping items in an undelivered order, canceling an undelivered order, initiating contact with the ordering customer, or similar actions. The SAT system 101 can also monitor other data including outputs (such as the number of packages shipped during a specific time period) and inputs (such as the number of empty cartons received for shipping). The SAT system 101 can also act as a gateway between different devices in the system 100, enabling communication (e.g., using store-and-forward or other techniques) between devices such as the external front-end system 103 and the FO system 113. In some embodiments, the external front-end system 103 may be implemented as a computer system that enables an external user to interact with one or more systems in the system 100. For example, in embodiments where the system 100 enables presenting a system for a user to place an order for items, the external front-end system 103 may be implemented as a website server that receives search requests, presents item pages, and solicits payment information. For example, the external front-end system 103 may be implemented as one or more computers running software such as the Apache Hypertext Transfer Protocol (HTTP) server, Microsoft Internet Information Services (IIS), NGINX, or similar software. In other embodiments, the external front-end system 103 may run custom website server software that is designed to receive and process requests from external devices (such as the mobile device 102A or the computer 102B), obtain information from databases and other data stores based on those requests, and provide a response to the received requests based on the obtained information. In some embodiments, the external front-end system 103 may include one or more of a web caching system, a database, a search system, or a payment system. In one aspect, the external front-end system 103 may include one or more of these systems, and in another aspect, the external front-end system 103 may include an interface (e.g., server-to-server, database-to-database, or other network connection) connected to one or more of these systems. A set of exemplary steps shown in FIGS. 1B, 1C, 1D, and 1E will help to illustrate some operations of the external front-end system 103. The external front-end system 103 may receive information for presentation and / or display from systems or devices in the system 100. For example, the external front-end system 103 may host or provide one or more web pages, which include a Search Result Page (SRP) (e.g., FIG. 1B), a Single Detail Page (SDP) (e.g., FIG. 1C), a Cart page (e.g., FIG. 1D), or an Order page (e.g., FIG. 1E). A user device (e.g., using the mobile device 102A or the computer 102B) may navigate to the external front-end system 103 and request a search by entering information in a search box. The external front-end system 103 may request information from one or more systems in the system 100. For example, the external front-end system 103 may request information from the FO system 113 that satisfies the search request. The external front-end system 103 may also request and receive (from the FO system 113) the promised delivery date or "PDD" for each product included in the search results. In some embodiments, the PDD may represent an estimate of when the package containing the product will arrive at the location desired by the user, or the date on which the product is promised to be delivered to the location desired by the user if ordered within a specific time period (e.g., before the end of the day (11:59 p.m.)). (PDD is further discussed below with respect to the FO system 113.) The external front-end system 103 may prepare the SRP (e.g., FIG. 1B) based on the information. The SRP may include information that satisfies the search request. For example, this may include pictures of products that satisfy the search request. The SRP may also include the corresponding price of each product, or information related to enhanced delivery options, PDD, weight, size, offers, discounts, or similar elements for each product. The external front-end system 103 may send the SRP to the requesting user device (e.g., via the network). The user device can then select a product from the SRP, for example, by clicking or tapping on the user interface (or using another input device) to select a product presented on the SRP. The user device can formulate a request for information about the selected product and send it to the external front-end system 103. In response, the external front-end system 103 can request information related to the selected product. For example, the information may include additional information in addition to the information presented for the product on the corresponding SRP. This additional information may include, for example, shelf life, country of origin, weight, size, number of items in the package, handling instructions, or other information about the product. The information may also include recommendations for similar products (e.g., based on big data and / or machine learning analysis of customers who purchased this product and at least one other product), answers to frequently asked questions, comments from customers, manufacturer information, pictures, or similar information. The external front-end system 103 can prepare a single detail page (SDP) (e.g., Figure 1C) based on the received product information. The SDP may also include other interactive elements such as, for example, a "Buy Now" button, an "Add to Cart" button, a quantity field, an item picture, or similar elements. The SDP may further include a list of the sellers offering the product. The list can be sorted based on the price offered by each seller, such that the seller offering to sell the product at the lowest price can be listed at the top. The list can also be sorted based on the seller ranking, such that the highest-ranked seller can be listed at the top. The seller ranking can be formulated based on multiple factors including, for example, the past tracking record of the seller meeting the promised PDD. The external front-end system 103 can deliver the SDP to the requesting user device (e.g., via the network). The requesting user device can receive the SDP listing the product information. After receiving the SDP, the user device can then interact with the SDP. For example, the user of the requesting user device can click on the "Add to Cart" button on the SDP or otherwise interact with the "Add to Cart" button on the SDP. This adds the product to the shopping cart associated with the user. The user device can send a request to the external front-end system 103 to add the product to the shopping cart. The external front-end system 103 can generate a shopping cart page (e.g., FIG. 1D). In some embodiments, the shopping cart page lists the products that have been added by the user to the virtual "shopping cart". The user device can request the shopping cart page by clicking on an icon on the SRP, SDP, or other page or otherwise interacting with the icon on the SRP, SDP, or other page. In some embodiments, the shopping cart page can list all the products that have been added by the user to the shopping cart and information about the products in the shopping cart, such as the quantity of each product, the unit price of each product, the price of each product based on the associated quantity, information about the PDD, the delivery method, the shipping cost, user interface elements for modifying the products in the shopping cart (e.g., deletion or modification of quantity), options for ordering other products or setting up recurring delivery of products, options for setting up interest payments, user interface elements for continuing the purchase, or similar information. The user at the user device can click on a user interface element (e.g., a button labeled "Buy Now") or otherwise interact with a user interface element (e.g., a button labeled "Buy Now") to initiate the purchase of the products in the shopping cart. When performing such an operation, the user device can send a request to initiate the purchase to the external front-end system 103. The external front-end system 103 can generate an order page (e.g., FIG. 1E) in response to receiving a request to initiate a purchase. In some embodiments, the order page relists the items from the shopping cart and requests the entry of payment and shipping information. For example, the order page can include sections that request information about the purchaser of the items in the shopping cart (e.g., name, address, email address, phone number), information about the recipient (e.g., name, address, phone number, delivery information), shipping information (e.g., speed / method of delivery and / or pickup), payment information (e.g., credit card, bank transfer, check, stored credit), user interface elements for requesting a cash receipt (e.g., for tax purposes), or similar information. The external front-end system 103 can send the order page to the user device. The user device can enter information on the order page and click on a user interface element that sends the information to the external front-end system 103 or otherwise interact with a user interface element that sends the information to the external front-end system 103. The external front-end system 103 can send the information from the user interface element to different systems in the system 100 to enable the creation and processing of a new order using the products in the shopping cart. In some embodiments, the external front-end system 103 can be further configured to enable the seller to send and receive information related to the order. In some embodiments, the internal front-end system 105 may be implemented as a computer system that enables internal users (e.g., employees of an organization that owns, operates, or leases system 100) to interact with one or more systems in system 100. For example, in an embodiment where system 100 enables presenting the system such that a user can place an order for an item, the internal front-end system 105 may be implemented as a web server that enables internal users to view diagnostic and statistical information about orders, modify item information, or check statistics related to orders. For example, the internal front-end system 105 may be implemented as one or more computers running software such as the Apache HTTP Server, Microsoft Internet Information Services (IIS), NGINX, or similar software. In other embodiments, the internal front-end system 105 may run custom web server software that is designed to receive and process requests from systems or devices depicted in system 100 (and other devices not depicted), obtain information from databases and other data stores based on those requests, and provide a response to the received requests based on the obtained information. In some embodiments, the internal front-end system 105 may include one or more of a web cache system, a database, a search system, a payment system, an analytics system, an order monitoring system, or similar systems. In one aspect, the internal front-end system 105 may include one or more of these systems, and in another aspect, the internal front-end system 105 may include an interface (e.g., server-to-server, database-to-database, or other network connection) connected to one or more of these systems. In some embodiments, the transportation system 107 may be implemented as a computer system that enables communication between systems or devices in system 100 and mobile devices 107A to 107C. In some embodiments, the transportation system 107 may receive information from one or more of the mobile devices 107A to 107C (e.g., a mobile phone, a smartphone, a personal digital assistant (PDA), or a similar device). For example, in some embodiments, the mobile devices 107A to 107C may include devices operated by delivery workers. Delivery workers (who may be permanent, temporary, or shift employees) may use the mobile devices 107A to 107C to accomplish the delivery of packages containing products ordered by users. For example, for package delivery, the delivery worker may receive on the mobile device a notification indicating which package to deliver and where to deliver the package. Upon arriving at the delivery location, the delivery worker may use the mobile device to locate the package (e.g., in the back of a truck or in a crate of packages), scan or otherwise capture data associated with an identifier on the package (e.g., a barcode, an image, an alphanumeric string, a radio frequency identification (RFID) tag, or a similar identifier), and deliver the package (e.g., by leaving the package at the front door, leaving the package with a security guard, handing the package to the recipient, or the like). In some embodiments, the delivery worker may use the mobile device to capture a photo of the package and / or may use the mobile device to obtain a signature. The mobile device may send information including information about the delivery, such as time, date, Global Positioning System (GPS) location, photo, an identifier associated with the delivery worker, an identifier associated with the mobile device, or similar information, to the transportation system 107. The transportation system 107 may store this information in a database (not shown) for access by other systems in system 100. In some embodiments, the transportation system 107 may use this information to prepare tracking data and send the tracking data to other systems indicating the location of a particular package. In some embodiments, certain users may use one type of mobile device (e.g., a permanent worker may use a dedicated PDA with custom hardware such as a barcode scanner, a stylus, and other devices), while other users may use other types of mobile devices (e.g., a temporary worker or a shift worker may utilize an off-the-shelf mobile phone and / or smartphone). In some embodiments, the transportation system 107 may associate a user with each device. For example, the transportation system 107 may store an association between a user (represented by, for example, a user identifier, an employee identifier, or a phone number) and a mobile device (represented by, for example, an International Mobile Equipment Identity (IMEI), an International Mobile Subscription Identifier (IMSI), a phone number, a Universal Unique Identifier (UUID), or a Globally Unique Identifier (GUID)). The transportation system 107 may use such an association in combination with data received at the time of delivery to analyze data stored in the database in order to determine, among other information, the location of a worker, the efficiency of a worker, or the speed of a worker. In some embodiments, the seller portal 109 may be implemented as a computer system that enables a seller or other external entity to communicate electronically with one or more systems in the system 100. For example, a seller may use a computer system (not shown) to upload or provide product information, order information, contact information, or similar information for products that the seller wishes to sell using the seller portal 109 via the system 100. In some embodiments, the shipping and order tracking system 111 may be implemented as a computer system that receives, stores, and forwards information regarding the location of a package containing products ordered by a customer (e.g., a user using devices 102A to 102B). In some embodiments, the shipping and order tracking system 111 may request or store information from a website server (not shown) operated by a shipping company that delivers a package containing products ordered by a customer. In some embodiments, the shipping and order tracking system 111 may request and store information from the systems illustrated in system 100. For example, the shipping and order tracking system 111 may request information from the transportation system 107. As discussed above, the transportation system 107 may receive information from one or more mobile devices 107A to 107C (e.g., mobile phone, smartphone, PDA, or similar device) associated with one or more of a user (e.g., a delivery worker) or a vehicle (e.g., a delivery truck). In some embodiments, the shipping and order tracking system 111 may also request information from a warehouse management system (WMS) 119 to determine the location of individual products within a fulfillment center (e.g., fulfillment center 200). The shipping and order tracking system 111 may request data from one or more of the transportation system 107 or WMS 119, process the data, and present the data to a device (e.g., user devices 102A and 102B) according to the request. In some embodiments, the fulfillment optimization (FO) system 113 may be implemented as a computer system that stores information about customer orders from other systems (e.g., the external front-end system 103 and / or the shipping and order tracking system 111). The FO system 113 may also store information that describes where specific items are housed or stored. For example, some items may be stored in only one fulfillment center, while some other items may be stored in multiple fulfillment centers. In still some other embodiments, some fulfillment centers may be designed to store only a specific set of items (e.g., fresh produce or frozen product). The FO system 113 stores such information and associated information (e.g., quantity, size, receipt date, expiration date, etc.). The FO system 113 may also calculate a corresponding promised delivery date (PDD) for each product. In some embodiments, the PDD may be based on one or more factors. For example, the FO system 113 may calculate the PDD for a product based on: the product's past demand (e.g., how many times this product has been ordered over a period of time), the product's expected demand (e.g., a forecast of how many customers will order the product during an upcoming period of time), the全网路以往需求 indicating how many products have been ordered over a period of time, the全网路預期需求 indicating how many products are expected to be ordered during an upcoming period of time, one or more counts of the product stored in each fulfillment center 200, which fulfillment center stores this product, the product's expected or current order, or similar factors. It should be noted that there are some Chinese terms in the original text that seem to be incorrect or incomplete in the "全网路以往需求" and "全网路預期需求" parts. I've translated them as literally as possible based on the context, but they might need to be corrected for a more accurate meaning.In some embodiments, the FO system 113 may periodically (e.g., hourly) determine the PDD for each product and store the PDD in a database for retrieval or transmission to other systems (e.g., the external front-end system 103, the SAT system 101, the shipping and order tracking system 111). In other embodiments, the FO system 113 may receive an electronic request from one or more systems (e.g., the external front-end system 103, the SAT system 101, the shipping and order tracking system 111) and calculate the PDD on demand. In some embodiments, the fulfillment messaging gateway (FMG) 115 may be implemented as a computer system that receives a request or response in one format or protocol from one or more systems (e.g., the FO system 113) in the system 100, converts the request or response into another format or protocol, and transmits the request or response in the converted format or protocol to other systems such as the WMS 119 or third-party fulfillment systems 121A, 121B, or 121C, and vice versa. In some embodiments, the supply chain management (SCM) system 117 may be implemented as a computer system that performs a forecasting function. For example, the SCM system 117 may forecast the demand level for a particular product based on, for example, the product's past demand, the product's expected demand, the network-wide past demand, the network-wide expected demand, the product count stored in each fulfillment center 200, the expected or current orders for each product, or similar factors. In response to such a forecast level and the quantity of each product at all fulfillment centers, the SCM system 117 may generate one or more purchase orders to purchase and store sufficient quantities to meet the forecast demand for the particular product. In some embodiments, the warehouse management system (WMS) 119 may be implemented as a computer system that monitors a workflow. For example, the WMS 119 may receive event data from individual devices (e.g., devices 107A to 107C or 119A to 119C) that indicate discrete events. For example, the WMS 119 may receive event data indicating the use of one of these devices to scan a package. As discussed below with respect to the fulfillment center 200 and FIG. 2, during the fulfillment process, a package identifier (e.g., barcode or RFID tag data) may be scanned or read at a particular stage by a machine (e.g., an automated barcode scanner or a handheld barcode scanner, an RFID reader, a high-speed camera, devices such as a tablet 119A, a mobile device / PDA 119B, a computer 119C, or similar machines). The WMS 119 may store each event indicating the scanning or reading of the package identifier, along with the package identifier, time, date, location, user identifier, or other information, in a corresponding database (not shown) and may provide this information to other systems (e.g., the shipping and order tracking system 111). In some embodiments, the WMS 119 may store information associating one or more devices (e.g., devices 107A to 107C or 119A to 119C) with one or more users associated with the system 100. For example, in some cases, the association of a user (e.g., a part-time or full-time employee) with a mobile device may be that the user owns the mobile device (e.g., the mobile device is a smartphone). In other cases, the association of a user with a mobile device may be that the user temporarily holds the mobile device (e.g., the user checks out the mobile device at the start of the day, will use the mobile device during the day, and will return the mobile device at the end of the day). In some embodiments, the WMS 119 may maintain a work log for each user associated with the system 100. For example, the WMS 119 may store information associated with each employee, including any assigned processes (e.g., unloading a truck, picking items from a pick area, rebin wall work, packing items), user identifiers, locations (e.g., floors or zones in the fulfillment center 200), the number of units the employee has moved through the system (e.g., the number of items picked, the number of items packed), identifiers associated with devices (e.g., devices 119A to 119C), or similar information. In some embodiments, the WMS 119 may receive check-in and check-out information from a timing system, such as a timing system operating on devices 119A to 119C. In some embodiments, the third-party logistics (3PL) systems 121A to 121C represent computer systems associated with third-party providers of logistics and products. For example, although some products are stored in the fulfillment center 200 (as discussed below with respect to FIG. 2), other products may be stored off-site, produced on demand, or otherwise not stored in the fulfillment center 200. The 3PL systems 121A to 121C may be configured to receive orders from the FO system 113 (e.g., via the FMG 115) and may directly provide products and / or services (e.g., delivery or installation) to customers. In some embodiments, one or more of the 3PL systems 121A to 121C may be part of the system 100, while in other embodiments, one or more of the 3PL systems 121A to 121C may be located external to the system 100 (e.g., owned or operated by a third-party provider). In some embodiments, the Fulfillment Center Authorization System (FC Auth) 123 can be implemented as a computer system with various functions. For example, in some embodiments, FC Auth 123 can act as a single-sign on (SSO) service for one or more other systems in System 100. For example, FC Auth 123 can enable a user to log in via the internal front-end system 105, determine that the user has similar privileges to access resources at the shipping and order tracking system 111, and enable the user to access those privileges without a second login process. In other embodiments, FC Auth 123 can enable a user (e.g., an employee) to associate themselves with a specific task. For example, some employees may not have an electronic device (e.g., Devices 119A to 119C), but instead may move between tasks and areas within the fulfillment center 200 during the course of a day. FC Auth 123 can be configured to enable these employees to indicate what tasks they are performing and what areas they are in at different times of the day. In some embodiments, the Labor Management System (LMS) 125 can be implemented as a computer system that stores attendance information and overtime information for employees (including full-time and part-time employees). For example, LMS 125 can receive information from FC Auth 123, WMS 119, Devices 119A to 119C, the transportation system 107, and / or Devices 107A to 107C. The specific configuration illustrated in FIG. 1A is only an example. For example, although FIG. 1A shows the FC Auth system 123 connected to the FO system 113, not all embodiments require this specific configuration. In fact, in some embodiments, the systems in System 100 can be connected to each other via one or more public or private networks including, but not limited to: the Internet, an Intranet, a Wide-Area Network (WAN), a Metropolitan-Area Network (MAN), a wireless network compliant with the Institute of Electrical and Electronic Engineers (IEEE) 802.11a / b / g / n standards, a leased line, or a similar network. In some embodiments, one or more of the systems in System 100 can be implemented as one or more virtual servers implemented at a data center, a server farm, or a similar location. FIG. 2 illustrates fulfillment center 200. Fulfillment center 200 is an example of a physical location that stores items to be shipped to customers upon order. Fulfillment center (FC) 200 can be divided into multiple zones, each of which is illustrated in FIG. 2. In some embodiments, these "zones" can be considered virtual divisions between different stages of the process of receiving items, storing items, retrieving items, and shipping items. Thus, although the "zones" are illustrated in FIG. 2, there can also be other divisions of the zones, and in some embodiments, the zones in FIG. 2 can be omitted, duplicated, or modified. Inbound zone 203 represents the area of FC 200 where items are received from sellers who wish to sell products using system 100 from FIG. 1A. For example, a seller can use truck 201 to deliver items 202A and 202B. Item 202A can represent a single item large enough to occupy its own shipping pallet, while item 202B can represent a group of items stacked together on the same pallet to save space. Workers will receive items in inbound zone 203 and can optionally use a computer system (not shown) to check for damage and correctness of the items. For example, a worker can use a computer system to compare the quantities of items 202A and 202B with the ordered item quantities. If the quantities do not match, the worker can reject one or more of items 202A or 202B. If the quantities match, the worker can move the items (using, for example, a trolley, handcart, forklift, or manually) to buffer zone 205. Buffer zone 205 can be a temporary storage area for items that are not currently needed in the picking zone (e.g., because there is a high enough quantity of this item in the picking zone to meet the forecast demand). In some embodiments, forklift 206 operates to move items around in buffer zone 205 and to move items between inbound zone 203 and unloading zone 207. If item 202A or 202B is needed in the picking zone (e.g., due to forecast demand), the forklift can move item 202A or 202B to unloading zone 207. Unloading zone 207 can be the area of FC 200 that stores items before they are moved to picking zone 209. Workers assigned picking tasks ("pickers") can access items 202A and 202B in the picking zone, use a mobile device (e.g., device 119B) to scan the barcodes in the picking zone and the barcodes associated with items 202A and 202B. The picker can then bring the items to picking zone 209 (e.g., by placing the items in a cart or carrying the items). The picking area 209 can be an area of the FC 200 where the item 208 is stored on the storage unit 210. In some embodiments, the storage unit 210 can include one or more of physical shelving, bookshelves, boxes, shipping containers, refrigerators, freezers, cold storage, or similar devices. In some embodiments, the picking area 209 can be organized into multiple floors. In some embodiments, workers or machines can move items into the picking area 209 in a variety of ways, such as, for example, forklifts, elevators, conveyor belts, carts, trolleys, pushcarts, automated robots or devices, or manually. For example, the picker can place items 202A and 202B on a trolley or cart in the unloading area 207 and walk the items 202A and 202B to the picking area 209. The picker can receive instructions to place (or "stow") an item in a specific location (e.g., a specific space on the storage unit 210) in the picking area 209. For example, the picker can use a mobile device (e.g., device 119B) to scan item 202A. The device can, for example, use a system indicating aisles, shelves, and locations to indicate where the picker should stow item 202A. Then, before stowing item 202A in this location, the device can prompt the picker to scan the barcode at this location. The device can send (e.g., via a wireless network) data to a computer system (e.g., the WMS 119 in FIG. 1A) to indicate that item 202A has been stowed at the location by the user using device 119B. Once the user places an order, the picker can receive instructions on device 119B to retrieve one or more items 208 from the storage unit 210. The picker can retrieve item 208, scan the barcode on item 208, and place item 208 on the transport mechanism 214. Although the transport mechanism 214 is shown as a slider, in some embodiments, the transport mechanism can be implemented as one or more of a conveyor belt, elevator, cart, forklift, trolley, pushcart, or similar tool. Then item 208 can reach the packing area 211. The packing area 211 can be an area where items are received for the self-picking area 209 of the FC 200 and the items are packed into boxes or bags for final shipment to customers. In the packing area 211, the worker assigned to receive the items (the "rebin worker") receives the item 208 from the self-picking area 209 and determines what order the item 208 corresponds to. For example, the rebin worker can use a device such as the computer 119C to scan the barcode on the item 208. The computer 119C can visually indicate which order the item 208 is associated with. For example, this can include a space or "cell" on the wall 216 corresponding to the order. Once the order is complete (e.g., since the cell contains all the items of the order), the rebin worker can indicate to the packing worker (or "packer") that the order is complete. The packer can retrieve the items from the cell and place the items into a box or bag for shipment. Then, the packer can send the box or bag to the hub zone 213, for example, by forklift, transporter, cart, handcart, conveyor belt, manually, or other means. The hub zone 213 can be an area where all boxes or bags (the "packaging") are received from the self-packing area 211 of the FC 200. The workers and / or machines in the hub zone 213 can retrieve the package 218 and determine which part of the delivery area each package is going to, and route the package to the appropriate camp area 215. For example, if the delivery area has two smaller sub-areas, the package will go to one of the two camp areas 215. In some embodiments, the worker or machine can scan the package (e.g., using one of the devices 119A to 119C) to determine the final destination of the package. Routing the package to the camp area 215 can include, for example, determining a part of the geographical area that is the destination of the package (e.g., based on the postal code) and determining the camp area 215 associated with that part of the geographical area. In some embodiments, the camp area 215 can include one or more buildings, one or more physical spaces, or one or more areas where the packages are received from the hub zone 213 for storage into the route and / or sub-route. In some embodiments, the camp area 215 is physically separated from the FC 200, while in other embodiments, the camp area 215 can form part of the FC 200. Workers and / or machines in the yard area 215 can determine which route and / or sub-route a package 220 should be associated with, for example, based on a comparison of the destination with existing routes and / or sub-routes, calculation of the workload for each route and / or sub-route, time of day, shipping method, cost of the shipping packaging 220, PDD or similar factors associated with the items in the packaging 220. In some embodiments, a worker or machine can scan the package (e.g., using one of devices 119A to 119C) to determine the final destination of the package. Once the package 220 is assigned to a specific route and / or sub-route, the worker and / or machine can move the package 220 to be shipped. In the exemplary FIG. 2, the yard area 215 includes a truck 222, a car 226, and delivery workers 224A and 224B. In some embodiments, the truck 222 can be driven by the delivery worker 224A, where the delivery worker 224A is a full-time employee who delivers packages for FC 200, and the truck 222 is owned, leased, or operated by the same company that owns, leases, or operates FC 200. In some embodiments, the car 226 can be driven by the delivery worker 224B, where the delivery worker 224B is a "flex" or occasional worker who makes deliveries as needed (e.g., seasonally). The car 226 can be owned, leased, or operated by the delivery worker 224B. The disclosed embodiments can relate to optimizing data feeds. A data feed can include any list of information that can be displayed on a system. A data feed can include information that is related in some way, such as information related by a certain field, category, or type, and different data. For example, a data feed can include a list, a directory, a catalog, or a similar data feed that can have certain restrictions on the information available for use or display. The disclosed embodiments may relate to products associated with one or more systems. A product may refer to any goods or services available for sale or purchase. As a non-limiting example, a product may include any item that a consumer can purchase, such as food, clothing, software, or furniture. In some instances, a system may be associated with a product by storing, displaying, or generating information corresponding to one or more products. A retailer, distributor, manufacturer, or third party may provide product information to the system to display information about the product. For example, the system 100 described with reference to FIG. 1 may store or display information corresponding to one or more products. In some embodiments, the system may display product information at a front end (e.g., on a website or application). For example, the product information may be displayed by the system 100 on an external front-end system 103 or an internal front-end system 105 of the computer 102B. The system 100 may present the product information on a web page or user interface of the computer 102B. In some embodiments, the system 100 may correspond to a retailer that sells products from various manufacturers or sources. In some embodiments, products may be displayed by one or more systems. For example, the systems may correspond to the same or different retailers, distributors, or manufacturers. A product associated with a first system may be electronically linked or communicate with a second system such that the product displayed on the first system may be displayed on the second system. The second system may be configured to receive product information from multiple other systems and present the product information to a user. In some embodiments, a system may refer to any website configured to aggregate multiple product sources and display product information on a single website. Such a system may refer to a search engine, a comparison shopping website, or a similar system. A comparison shopping website may refer to a website that can compare products according to any criteria, such as price, features, customer reviews, popularity, or similar criteria. A comparison shopping website may present similar or identical products from different retailers to a user. As used herein, a comparison shopping website may enable a user to search for products based on a user query, such as by entering a product name via a user interface or a search bar. A comparison shopping website may refer to a comparison shopping website, a price comparison shopping engine, a price analysis tool, a comparison shopping agent, a shopbot, an aggregator, or any vertical search engine that a consumer can use to filter and compare products. For example, a price comparison website may present various product options from different retailers based on a user search. In an example, a search for a specific product, such as a shirt, may result in the display of results from various retailers for the searched product. In an example, a comparison shopping website may present results from different retailers of the same brand or manufacturer of the searched product. In another example, the website may display results from different brands or manufacturers of products similar to the searched product, such as results of different brands of jeans in the case where the searched product is jeans. It should be appreciated that the websites described herein may also refer to applications and websites that can be accessed via a mobile phone. In some examples, a comparison shopping website may include any website that presents advertisements, such as shopping advertisements or search advertisements. Some of the disclosed embodiments relate to obtaining product data corresponding to a product set. The product data can relate to any metric used to measure product demand, and the product data includes data from suppliers, manufacturers, retailers, and / or consumers. In some embodiments, the product data can include any one of supplier information, pictures, prices, rating information, product review information, customer information, sales information, or interactions corresponding to a retail website. For example, the product data can include data from a retail website, and the data from the retail website includes retail website product reviews, search history, and sales history. The product data can include customer product purchase history, customer browsing and search behavior, product delivery history, customer inquiries, and customer reviews. The product data can include supplier information, and the supplier information includes delivery information, cancellation situations, and supplier risks. The product data can also include product popularity, product seasonality, brand information, and data corresponding to the performance of the product in its category. In some examples, the product data can include data corresponding to: geographical sales information of the product, number of reviews, quantity purchased within a given time frame, number of orders within a given time frame, number of clicks during an observation period, number of orders during an observation period, gross merchandise weight value, number of reviews, average review rating, number of exposures, number of purchases, number of times added to the shopping cart, and / or number of times added to the wish list. In some embodiments, historical product data can refer to past data, information, or statistical data associated with one or more products. For example, historical product data can refer to the product data corresponding to sales that have been made as described herein or to product data that has been stored in memory (such as the memory 532 described with reference to FIG. 5). In some examples, the historical product data can include data starting from the time when the product was first listed on the website. In an example, the historical product data can refer to product data from a past specific time period (such as a specific season of the year or a specific month period in different years). In some embodiments, obtaining a product history can refer to receiving, retrieving, or creating a product history. For example, the system 100 can query the memory 532 to retrieve historical product data. The historical product data can correspond to product data from one product or a product set. The product sets described herein can include any set, group, or collection of products. The product set can include one or more products that can be displayed on a system such as the system 100. It should be recognized that a comparison shopping website may include restrictions on products displayed on the website. For example, a comparison shopping website may be affected by factors such as speed, memory usage, efficiency, storage, user requirements, or network traffic, which may impose restrictions on the management of the comparison shopping website. In an example, since the display space for advertisements can be limited, a website including advertisements may impose restrictions on the products displayed in the advertisements. In some embodiments, a comparison shopping website may include capacity constraints. A capacity constraint may refer to a restriction on products displayed on the system. In some embodiments, a capacity constraint may refer to a constraint on products from different retailers that display products on the comparison shopping website. In some embodiments, a capacity constraint may be a memory allocation for different retailers presented on the comparison shopping website. For example, a comparison shopping website may have 1000 gigabytes of available data storage, and the comparison shopping website may allocate each part of 100 gigabytes of data storage to different retailers. In some embodiments, a capacity constraint may include the numerical number of products. For example, a comparison shopping website may allocate a maximum of 1000 products for each retailer to display on the website. Such capacity constraints described herein may be appropriate to meet the desired efficiency, speed, or memory requirements. It should be recognized that the amount of products that a retailer can present to a comparison shopping website may be restricted. As such, a retailer may select the desired products to present to the comparison shopping website such that the desired products meet the capacity constraints. For example, a retailer may select products that the retailer wishes to draw customers' attention to, such as currently demanded products or products that the retailer wishes to increase sales volume, to display on the comparison shopping website. In some embodiments, a capacity constraint may be dynamic. A dynamic capacity constraint may refer to a capacity constraint that can change or vary. A dynamic capacity constraint may include a capacity constraint that changes over time, such as a capacity constraint that can increase during a specific time frame. In an example, a capacity constraint may be dynamic such that the constraint increases within a predetermined duration (e.g., during a predicted time frame of high consumer shopping). In another example, a capacity constraint may automatically increase or decrease due to feedback from the website (e.g., a change in user requirements observed on the comparison shopping website). In an example, a capacity constraint may correspond to the data size, display size, or character limit of an advertisement. In some embodiments, a capacity constraint may include a constraint on the amount of new products that can be accommodated per day. For example, in an example where the comparison shopping website is unaware of new product data, a new product may refer to a product or product data that can be transmitted to the comparison shopping website for the first time. In some examples, a capacity constraint may be a restriction on the number of new products in addition to previously presented products, or a capacity constraint may include a specific allocation or quota for new products, and the specific allocation or quota for new products may be different or the same as the quota for previously presented products. In an example, a capacity constraint may include a separate capacity constraint specifically for new products. It will be recognized that a user's interaction with a comparison shopping website can indicate the user's attention to or interest in the products displayed. In some embodiments, the user's interaction with the comparison shopping website can be clicking on a specific product. In some embodiments, the user interaction can refer to the tracked interaction between the user and the website or display interface. For example, the tracked interaction can include scrolling, mouse hovering, long pressing, or product search popularity. The tracked interaction can also include shopping cart interactions, such as the number of times added to the shopping cart or the number of times a product is discarded in the shopping cart, searches for products or models, or similar interactions. It should be understood that the interaction with the products displayed on the comparison shopping website can indicate that the user is interested in purchasing products from the comparison shopping website or from the listed retailers. For example, the user can click on a product and be redirected to the retailer's website. Therefore, it should be understood that retailers may expect to present products to the comparison shopping website based on products that can correspond to a specific amount of interaction, such as selecting products that have more interactions compared to other products. FIG. 3 shows an exemplary retail website and a comparison shopping website according to an embodiment of the present disclosure. The first system described herein may include a retail website 302, and the second system may include a comparison shopping website 304. The retail website 302 may display a number of products that may include a product set, such as a first product 305, a second product 307, a third product 316, and a fourth product 309. The retail website 302 described herein may include various features, such as price, picture, product identifier, review, and product information. In some examples, the product information may be displayed on the retail website 302. For example, the retail website 302 may display a product identifier 308 and a price 306 corresponding to the first product 304, as well as a product identifier 318 and a price 320 corresponding to the price 316. In some examples, the product information may not be displayed on the retail website 302. The comparison shopping website 304 may also display one or more products. A user may use the search bar 303 to search for products or product categories in the comparison shopping website 304. For example, if the user uses the search bar 303 to search for clothes, the comparison shopping website 304 may display products corresponding to clothes. The comparison shopping website 304 may display one or more products from various retailers or suppliers. In some embodiments, the comparison shopping website 304 may display products from the retail website 302 and other products that are not from the retail website 302. For example, the first product 310 displayed on the comparison shopping website 304 may refer to the first product 305 displayed on the retail website 302. Similarly, the second product 322 and the third product 324 displayed on the comparison shopping website 304 may correspond to the second product 307 and the fourth product 309 displayed on the retail website 302. In some examples, not all products displayed on the retail website 302 need to be displayed on the comparison shopping website 304, and vice versa. For example, the comparison shopping website 304 may display a fourth product 326, which may correspond to a second retail website other than the retail website 302. Some embodiments may relate to transferring or transmitting information from the first system to the second system, such as transmitting data from the retail website 302 to the comparison shopping website 304. Transmitting data may involve mapping data from one system to another system. For example, product information and product data may be sent from the retail website 302 to the comparison shopping website 304. The retailer described herein may select products for display on the comparison shopping website based on factors such as business requirements or predicted sales demand. For example, the fourth product 309 displayed on the retail website 302 may not be displayed on the comparison shopping website 304. In some embodiments, transmitting information between systems may include using product feed keywords. A product feed keyword may refer to any piece of information used to retrieve data. For example, a product feed keyword may associate product data with a product name, a display name, or a display identifier. As such, a product feed keyword may include a product identifier and a price, such as a first product identifier 308 and a first product price 306 corresponding to a first product 305. A product feed keyword may associate a product with information stored in a memory or a database, and a product feed keyword may be used to retrieve or query a database or to transmit or store information on a database. For example, a product feed keyword corresponding to a first product 305 may be used to query a database to retrieve product information (including historical product information) from the database. The disclosed embodiments may relate to mapping product feed keywords of products from a first product set to products in a second product set. For example, a product feed keyword including a product identifier 308 and a price 306 corresponding to a first product 305 may be mapped to a comparison shopping website 304, and the comparison shopping website 304 may display the first product 310 and a corresponding product feed keyword including a product identifier 312 and a price 314. In some embodiments, the transmission 332 between a retail website 302 and a comparison shopping website 304 may involve using a document or a tool that can store and present data. The system may generate a file (such as a spreadsheet) including product data and transmit the file to other systems. For example, the retail website 302 may generate a spreadsheet and send the spreadsheet to the comparison shopping website 304. The spreadsheet may include product data and product feed keywords, such as a product identifier 308 and a price 306. A product feed keyword may be used to query the spreadsheet and retrieve information corresponding to a product (including product data). For example, the comparison shopping website 304 may receive the spreadsheet and use the product feed keyword to extract product information from the spreadsheet and display the product on the comparison shopping website 304. Some of the disclosed embodiments may relate to a capacity constraint associated with a second system configured to display information associated with one or more products. As described herein, products may be selected for display such that the capacity constraint can be met. For example, the number of products displayed on the comparison shopping website 304 described with reference to FIG. 3 may be determined by the capacity constraint. The capacity constraint may limit the number of products from a retail website (such as the retail website 302) that can be displayed on the comparison shopping website 304. It will be appreciated that a machine learning model may be used to optimize the products transmitted from the retail website 302 and displayed on the comparison shopping website 304. As discussed herein, the disclosed embodiments may relate to optimizing product feeds based on a machine learning model trained on product data. It will be appreciated that providing data to a machine learning model may involve data aggregation. For example, historical product data of different locations, formats, scales, or file extensions may not be usable as input to an existing form of a machine learning model (such as product data in different tables stored in a database). Data processing including data aggregation and / or normalization may refer to combining data from various sources into a consistent unified format. Data aggregation may involve applying various calculations to the data so that the data can be combined in a useful format. It will be appreciated that without data normalization, some machine learning models may not be able to receive product data input because the unnormalized features may be incompatible with each other. Some of the disclosed embodiments involve applying one or more calculations to historical product data. For example, the calculations may involve matrix operations, linear combinations, and scaling by various factors (such as taking the logarithm of the data). The logarithm may be taken at various levels of historical product data, including at the individual data classification levels (such as brand ratings or category names). Some of the disclosed embodiments involve combining historical product data into a unified record. A unified record may refer to any information storage system. The unified record may be a storage and retrieval system implemented on system 100. Some of the disclosed embodiments include storing the unified record in a database. For example, a unified record of aggregated product data may be stored in a database. It will be appreciated that product data may include a large number of features, such as millions of features. The features may include various attributes of the product data, such as different attributes stored in memory 532. It should also be appreciated that the systems described herein may involve many users, such as millions of users and billions of products in some instances, thereby creating a large amount of data to optimize product feeds. Therefore, it should be understood that traditional systems, including the human brain, cannot optimize the system based on product data and cannot aggregate data for this purpose. FIG. 4 shows an example diagram for training and using a machine learning model according to an embodiment of the present disclosure. For ease of explanation, method 400 may be described herein as being implemented by a computer such as computer 102B. However, the disclosed embodiments are not limited thereto. In some embodiments, method 400 may be implemented by one or more processors, microprocessors, or computing systems. For example, method 400 may be implemented by processor 530. Additionally, the computer used to train the machine learning model may be different from or independent of the computer used to obtain training data, the computer used to generate a training data set, or the computer that may use the machine learning model for inference. Method 400 may involve step 402 of obtaining data from a first product set, such as obtaining historical product data from products displayed on retail website 302 described herein. For example, step 402 may involve obtaining the number of sales or searches of a given item in an item collection displayed on retail website 302. The obtained data may be aggregated in step 404. Step 404 may involve aggregating the obtained data by combining the data into a consistent format, including applying various calculations to the data. Aggregating the data as described herein may involve applying a scaling function (such as a logarithm) to different data. For example, sales data, review data, or delivery data may exist in different formats, and aggregating the data may involve combining the data to make the formats of the data compatible with each other. In some embodiments, data aggregation may be performed before machine learning is performed in step 406. Performing machine learning may involve generating a prediction based on the input of a machine learning model. As described herein, the machine learning model may be trained on past data (such as historical product data). As shown in step 404, the aggregated data may be the input to the machine learning model in step 406. Some of the disclosed embodiments may involve a machine learning model trained on historical product data. Performing machine learning may involve model training 408 as described with reference to FIG. 4. In some embodiments, training the machine learning model includes generating aggregated product data based on historical product data. Generating the aggregated data as described herein may be performed at various time intervals. For example, historical product data may be collected and aggregated daily, weekly, or monthly. By generating aggregation daily, the machine learning model can capture daily changes in trends (such as customer purchase trends). In some embodiments, the historical product data corresponds to a historical duration. The historical duration may refer to a past time frame or time period. For example, the historical time frame may refer to a day, a week, a month, a quarter, or a year or any combination thereof. The historical product data may include data that occurred during the duration, such as data that occurred in the most recent month. Some of the disclosed embodiments may involve inputting the aggregated product data into the machine learning model daily. It should be appreciated that the machine learning model may be trained at various time intervals. For example, system 100 may retrain the model by providing new inputs or updated inputs hourly, weekly, or monthly. Based on the daily update of the aggregated product data, the model may be retrained again. It should be understood that different time intervals between model trainings may have various advantages. For example, the aggregated input to the model may be renewed daily, which may illustrate new patterns of product popularity and new products available in the product feed, thereby enabling a better model and more accurate predictions. In some embodiments, a machine learning model can be configured to generate predictions that can be used to optimize a product offering. Optimizing a product offering can refer to selecting products included in a product offering (e.g., a comparison shopping website). Products to be displayed on the product offering of a comparison shopping website can be selected such that higher sales volume and customer traffic can be achieved while meeting the requirements of the comparison shopping website (e.g., capacity constraints). Thus, the machine learning model can be configured to generate various predictions that can determine the selection of products to be displayed on a comparison shopping website. Some disclosed embodiments can involve using a machine learning model trained on historical product data to generate predicted interaction volumes corresponding to at least one product in a first product set. The model prediction 410 described with reference to FIG. 4 can include generating predicted interaction volumes of a trained machine learning model. A predicted interaction volume can refer to a prediction of the amount of interaction a user will have with a particular product. In some embodiments, the predicted number of interactions can be the number of interactions within a future time period. For example, the predicted number of interactions can refer to the number of clicks, hovers, or long presses a user makes with respect to a particular product displayed on a product offering such as a comparison shopping website. The predicted number of interactions can be the total number of interactions within a given future time period (e.g., a particular day, week, month, quarter, or year). Thus, the generated interaction predictions shown in step 412 can provide insights into the future popularity of one or more products among consumers. In this way, a comparison shopping website can be customized to display products predicted to be in demand during a future time period, as indicated by the interaction predictions. FIG. 5 is an illustration of a user interacting with a system for optimizing product feeds according to an embodiment of the present disclosure. User 502 may interact with retail website 502 and / or comparison shopping website 504 via mouse 510. In an example, user 506 establishes an interaction with product 508 by clicking on product 508 using mouse 510. The machine learning model 528 discussed herein may generate a prediction of the amount of interaction between the user and comparison shopping website 504. In some embodiments, the machine learning model 528 may include any model configured to generate predictions of values, classify data, categorize data, rank data, or optimize results. The machine learning model 528 may be any model configured to generate predictions of values such as capacity constraints. In some examples, the machine learning model 528 may include classifiers such as logistic regression, random forest, nearest neighbor model, decision tree, or clustering models (e.g., k-means model). In some examples, the machine learning model 528 may include data generation or optimization models (e.g., hidden Markov model), generative adversarial network, or linear programming model. In some examples, the machine learning model 528 may include regression models (e.g., linear regression model), neural networks, or gradient boosting machines. Some of the disclosed embodiments relate to optimizing a machine learning model. Performing machine learning as shown in step 406 of method 400 may involve optimizing the model during model training 408 and / or model prediction 410. Model optimization may refer to iterative adjustment or improvement of a machine learning model. Optimization may include optimizing the input, weights, parameters, nodes, and output of a machine learning model. Parameters may include hyperparameters, which may be parameters external to the machine learning process. Hyperparameters may include values that can be adjusted to obtain a desired model performance. Hyperparameters may be set before training the model or adjusted between trainings. For example, an operator may select the values of hyperparameters before the start of training and tune the hyperparameters while the model is learning. As a non-limiting example, hyperparameters may include factors such as learning rate, iteration, random seed, training-test split, dataset size, neural network nodes or layers, kernel, regularization, optimization type, activation function, cost function, loss function, or objective function, drop-out rate, batch size, pooling size, number of clusters, etc. It will be recognized that by adjusting hyperparameters, the model may have improved prediction accuracy and speed. Adjusting hyperparameters may involve hyperparameter optimization, such as tuning one or more hyperparameters at a time. Hyperparameter optimization may involve any method of adjusting hyperparameters to achieve a desired goal. For example, hyperparameter optimization may be performed by manual tuning, such as changing hyperparameter values by a trial-and-error method. Hyperparameter optimization may also involve grid search or random search methods. Some of the disclosed embodiments relate to tuning one or more hyperparameters by applying Bayesian optimization to the one or more hyperparameters associated with a machine learning model. Bayesian optimization may involve finding the desired hyperparameter values by building a probability model of the objective function. Bayesian optimization may learn from the evaluation of previous pairs of hyperparameter combinations to optimize the next pair. It should be understood that Bayesian optimization may reduce the number of iterations used to tune hyperparameters, thereby minimizing the optimization time. For example, Bayesian optimization may be used to tune hyperparameters such as bagging fraction, bagging frequency, feature fraction, learning rate, maximum depth, minimum data in decision tree leaves, and number of decision tree leaves. It will be recognized that for large amounts of data, Bayesian optimization may reduce the optimization time. For example, using grid search for hyperparameter tuning may take one day, while Bayesian optimization may take 30 minutes. Additionally, it should be understood that hyperparameter optimization may help reduce model overfitting and / or model underfitting situations. The method 400 described herein may include a step 412 of generating an interaction prediction. Generating an interaction prediction may refer to generating an interaction prediction for one or more products listed on a retail website (such as the retail website 502 described with reference to FIG. 5). In some embodiments, the machine learning model 528 may generate a predicted interaction volume for each product displayed on the retail website 502. For example, billions of products may be displayed on the retail website 502, and one iteration of the machine learning model 528 may generate a predicted interaction count for each product. In some embodiments, the machine learning model 528 may generate a predicted interaction volume for one type of product displayed on the retail website 502. For example, the machine learning model 528 may be run one or more times and each time generate an interaction prediction. In some embodiments, the method 400 may include a step 414 of selecting a set of predicted products. Some of the disclosed embodiments relate to selecting a second set of products based on the predicted interaction volume. The second set of products may be selected based on the output of the machine learning model. For example, the second set of products may be selected such that the selected products correspond to the products with the highest predicted interaction volume. In some embodiments, the second set of products includes a subset of products from the first set of products based on a capacity constraint. The second set of products may include one or more products from the first set of products, such as the products displayed on the retail website 302. Depending on the capacity constraint, various quantities of products may be selected from the first set of products to form the second set of products in an instance of a numerical capacity constraint, where the number of selected products in the second set of products may be less than or equal to the value of the capacity constraint. For example, if the capacity constraint is a number such as 100, then the products with the 100 highest predicted interactions may be selected from the first set of products to form the second set of products. In some embodiments, the model output may be a label, such as a classification label. For example, the model may be configured to generate a label output for the predicted interaction, such as "no interaction", "low interaction", or "high interaction". Some of the disclosed embodiments relate to presenting a second product set to a second system. Referring to FIG. 4, method 400 may involve step 416 of presenting a predicted product set to a comparison shopping website. Communication between the first system and the second system as discussed herein (e.g., data transfer between retail website 302 and comparison shopping website 304) may involve using a document or tool (including a spreadsheet) that can store and present data. The machine learning model 528 described with reference to FIG. 5 may generate predicted interaction amounts for products in retail website 502. For example, the machine learning model 528 may generate predictions of click-through rates for each of the first product 505, the second product 507, the third product 516, and the fourth product 509. The processor 530 may store in the memory 532 data corresponding to the machine learning model, including the generated predictions, product data, and product feed keywords. The processor 530 may select products from the retail website 502 to be presented on the comparison shopping website 504. For example, a capacity constraint of the comparison shopping website 504 may be established to limit the display of three products per system on the comparison shopping website 504. In an example where the three products listed on the retail website 302 with the highest interaction predictions are the first product 505, the second product 507, and the fourth product 509, those products may be stored in the memory 532 and / or presented to the comparison shopping website 504. For example, the first product 505, the second product 507, and the fourth product 509 may be stored in a spreadsheet including corresponding product data and product identifiers, and the spreadsheet may be presented to the comparison shopping website 504. The comparison shopping website 504 may represent a second system configured to receive a spreadsheet with product information, and then the comparison shopping website 504 may display the selected products. For example, the comparison shopping website 504 may display the first product 511, the second product 522, and the fourth product 526. It should be understood that since the foregoing products correspond to those with the highest interaction predictions, those products may be more likely to be selected by consumers (e.g., user 506), thereby improving the efficiency of web page delivery by guiding the consumers' attention to the most likely desired product set. As an additional example, the foregoing products may be presented on shopping advertisements such that products with the highest predicted interactions are displayed on the advertisements, thereby improving the efficiency of the displayed advertisements by guiding the consumers' attention to a limited number of products in the advertisements. In some embodiments, method 400 may include step 418 of updating a machine learning model. It will be appreciated that the machine learning model may be trained and updated to account for new data and improve the accuracy of the model output. In some embodiments, the machine learning model may be updated and retrained based on a first system, including training the machine learning model on historical product data corresponding to a first product set and training the machine learning model based on a second system. In some embodiments, the machine learning model is updated by obtaining product feeds and product feed interaction counts from a second system. Obtaining product feeds may refer to receiving data from one or more products displayed on a product feed, including receiving product data and product feed keywords. Obtaining product feed interaction counts may refer to receiving data corresponding to the amount of interaction a product has, including the number of times the product has been clicked. For example, the product feed interaction count may include the number of clicks on a product on a comparison shopping website 504 by a consumer such as user 506. Some embodiments relate to providing at least one of a product feed or a product feed interaction count to the machine learning model. For example, data corresponding to a product such as a first product 511, a second product 522, or a fourth product 508 may be new product data or updated product data that can be transmitted to the machine learning model 508. The machine learning model 508 may receive new product data, such as data corresponding to a product that has not been previously trained or a product that does not yet have historical product data. New product data may refer to data of a product that has been added to a product feed between model refreshes or prediction generations. For example, new product data may include products that have been added to the comparison shopping website 504 that are not yet included in the first product set corresponding to products on the retail website 502. In some embodiments, updating or training the model includes updating one or more weights in the machine learning model by training the machine learning model based on the product feed and / or product feed interaction count. It will be appreciated that the machine learning model described herein may include weights that assign relative importance to parameters or variables. By updating one or more weights in the machine learning model, the machine learning model may be retrained based on different data sets or updated data sets. For example, the machine learning model 528 may consider the input and determine which variables (such as different product data) may be more important by determining which features contribute to the minimum error in minimizing a loss function (such as minimum error, least squares error, absolute loss, root mean square error, or similar errors). It should be understood that step 418 of updating the model may be performed at various intervals (such as weekly) to ensure that the model is updated and retrained to capture new trends and new products. FIG. 6 shows a block diagram of the input of a machine learning model according to an embodiment of the present disclosure. FIG. 600 may include clickstream data and sales data 602. The derived feature product 604 may include features derived from the clickstream data and sales data 602, such as category seasonality index, brand score, category score, trend score, and supplier score. The clickstream data 602 may include analysis and data corresponding to the user behavior on the web page, including records of user clicks and user accesses on the web page or similar data. The sales data 602 may include analysis and data corresponding to product sales information (profit, gross amount, number of units per month, or similar information). The supplier score 608 may include features derived from the query history 606, such as delivery score, supplier cancellation score, and risk score or similar scores. The product score 610 may include any product data, such as product search history, product reviews, and product sales data or similar product data. The derived feature product 604, the supplier score 608, the product score 610, and the historical product data 612 may each be inputs to the decision engine 614, which may include a machine learning model (such as the machine learning model 528). The decision engine 614 may output the predicted product selection to the comparison shopping website 616. The data from the comparison shopping website 616 may include the historical product data 612, new product data, and product feed interactions that can be used as inputs to the decision engine to update and retrain the model. FIG. 7 shows a table displaying the test results of a machine learning model according to an embodiment of the present disclosure. Embodiments of the present disclosure are implemented using an A / B testing scheme to determine the efficiency and advantages of the disclosed embodiments. Table 700 shows the A / B test results of the product demand data on the product supply system displaying the second product set. For example, Table 700 may display data for a two-week period of a comparison shopping website. The product demand data may include indicators of how much consumer attention a product has received, such as user interactions represented by clicks in row 702, user sessions in column 704, total orders in column 706, and merchandise gross weight values in column 708. The data in column 710 shows data corresponding to traditional methods of selecting products for the product feed (including the manual methods described herein), while the data in column 712 shows data corresponding to methods of optimizing the product feed based on a machine learning model trained on product data. The data in column 714 represents the percentage change in the product demand data. As shown in Table 700, the machine learning-based product feed optimization results in a 3.8% increase in user clicks, a 3.8% increase in user sessions, a 3.2% increase in orders, and a 3.4% increase in the merchandise gross weight value (in Korean won). It should thus be understood that the disclosed embodiments of the machine learning-based optimization method provide an improvement over manual and traditional methods (such as random selection) for selecting products to be displayed on a comparison shopping website. FIG. 8 is an illustration of a flowchart of a method for optimizing product feeds based on a machine learning model according to the disclosed embodiments. In some instances, method 800 may be executed by computer 102B. In some embodiments, method 800 may include step 802 of obtaining historical product data corresponding to a first product set, the first product set including one or more products for display on a web page associated with the system. Method 800 may include step 804 of determining a capacity constraint associated with a second system, the second system being configured to display information associated with the one or more products. In some instances, the capacity constraint may be a numerical limit on the number of items that can be displayed on the second system, such as a limit on the number of products that can be displayed on a comparison shopping website. In some instances, the capacity constraint may include a limit on data size, such as a limit on the maximum storage or memory amount that the data corresponding to the product set can occupy. Method 800 may include step 806 of using a machine learning model trained on the historical product data to generate a predicted interaction volume corresponding to at least one product in the first product set. The generation using the machine learning model as discussed herein may involve outputting a prediction from the machine learning model. In some instances, the input to the machine learning model may include aggregated product data corresponding to one or more products in the product set. By training on the historical product data, the machine learning model may generate predicted interaction volumes for the products in the product set for a future time period. In an instance, the machine learning model may generate predicted interaction volumes for multiple products in the product set. Method 800 may include step 808 of selecting a second product set based on the predicted interaction volumes, wherein the second product set includes a subset of products from the first product set based on the capacity constraint. It will be appreciated that in some instances, not all products in the first product set may be able to be displayed on the second system. For example, it may be desirable to select only products that meet an interaction prediction threshold value (such as a determined minimum number of interactions) and select as many of those satisfactory products as possible as part of the second product set, while also ensuring that the total number of those satisfactory products is equal to or less than a given capacity constraint. Method 800 may include step 810 of presenting the second product set to the second system. By presenting the second product set to the second system, the second product set may become available for display on the second system. Thus, the products displayed may correspond to products having a particular interaction prediction (such as predicted by the machine learning model), and thereby may be more likely to interact with the retail website and drive user traffic to the retail website. In some instances, since the product data corresponding to the second system may be used to train and update the machine learning model, presenting the second product set to the second system may enable further refinement of the machine learning model, thereby improving the prediction accuracy of the model. Although the present disclosure has been shown and described with reference to specific embodiments thereof, it is to be understood that the disclosure may be practiced in other environments without modification. The foregoing description is presented for purposes of illustration. The foregoing description is not exhaustive and is not limited to the precise forms or embodiments disclosed. Various modifications and adaptations will be apparent to those skilled in the art by considering the description and practice of the disclosed embodiments. Additionally, although aspects of the disclosed embodiments are described as being stored in memory, those skilled in the art will appreciate that such aspects may also be stored on other types of computer-readable media, such as secondary storage devices (e.g., hard disks or compact disk read-only memory (CD ROM)), or other forms of random access memory (RAM) or read-only memory (ROM), universal serial bus (USB) media, digital versatile disk (DVD), Blu-ray or other optical drive media. Computer programs based on the written description and the disclosed methods are within the skill of an experienced developer. Any of the techniques known to those skilled in the art may be used to create the various programs or program modules, or existing software may be combined to design the various programs or program modules. For example, the.Net Framework,.Net Compact Framework (and related languages such as Visual Basic, C, etc.), Java, C++, Objective-C, Hypertext Markup Language (HTML), HTML / AJAX combinations, Extensible Markup Language (XML), or HTML including Java applets may be employed or leveraged to design program segments or program modules. Additionally, although exemplary embodiments have been set forth herein, those skilled in the art will envision the scope of any and all embodiments having equivalent elements, modifications, omissions, combinations (e.g., combinations of aspects between various embodiments), adaptations, and / or alterations based on the present disclosure. The limitations in the claims should be construed broadly based on the language employed in the claims and not limited to the examples set forth in this specification or the examples set forth during the prosecution of the application. The examples are to be considered non-exclusive. Further, the steps of the disclosed methods may be modified in any manner, including by reordering the steps and / or inserting or deleting steps. Accordingly, this specification and the examples are intended to be considered illustrative only, and the true scope and spirit are indicated by the full scope of the following claims and their equivalents. 100: System / Block Diagram 101: Shipping Authorization Technology (SAT) System 102A: Using Device / User Device / Mobile Device 102B: Using Device / User Device / Computer 103: External Front-End System 105: Internal Front-End System 107: Transportation System 107A, 107B, 107C: Device / Mobile Device 109: Seller Entrance 111: Shipping and Order Tracking (SOT) System 113: Fulfillment Optimization (FO) System 115: Fulfillment Message Transfer Gateway (FMG) 117: Supply Chain Management (SCM) System 119: Warehouse Management System (WMS) 119A: Device / Using Device / Mobile Device / Tablet Computer 119B: Device / Using Device / Mobile Device / PDA 119C: Device / Using Device / Mobile Device / Computer 121A, 121B, 121C: Third-Party Fulfillment (3PL) System 123: Fulfillment Center Authorization System (FC Auth) 125: Labor Management System (LMS) 200: Fulfillment Center (FC) 201, 222: Truck 202A, 202B, 208: Item 203: Inbound Area 205: Buffer Zone 206: Forklift 207: Unloading Area 209: Picking Area 210: Storage Unit 211: Packaging Area 213: Central Area 214: Transportation Agency 215: Camp Area 216: Wall 218, 220 Packaging 224A, 224B: Delivery Worker 226: Automobile 302, 502: Retail Website 303: Search Bar 304, 504, 616: Comparison Shopping Website 305, 310, 505, 511: First Product 306, 314, 320: Price 307, 322, 507, 522: Second Product 308: Product Identifier / First Product Identifier 309, 326, 526: Fourth Product 312, 318: Product Identifier 316, 324, 516 Third Product 332: Transmit 400, 800: Method 402, 404, 406, 412, 414, 416, 418, 802, 804, 806, 808, 810: Step 408: Model Training 410: Model Prediction 506: User 508: Product 510: Mouse 528: Machine Learning Model 530: Processor 532: Memory 600: Diagram 602: Sales Data / Clickstream Data 604: Derived Feature Product 606: Query History 608: Supplier Rating 610: Product Rating 612: Historical Product Data 614: Decision Engine 700: Table 702, 704, 706, 708, 710, 712: Row FIG. 1A is a schematic block diagram showing an exemplary embodiment of a network according to the disclosed embodiments, the network including a computerized system for enabling communication for shipping, transportation, and logistics operations. FIG. 1B depicts a sample search result page (SRP) according to the disclosed embodiments, which includes one or more search results satisfying a search request and interactive user interface elements. FIG. 1C depicts a sample single detail page (SDP) according to the disclosed embodiments, which includes a product and information about the product and interactive user interface elements. FIG. 1D depicts a sample shopping cart page according to the disclosed embodiments, which includes items in a virtual shopping cart and interactive user interface elements. FIG. 1E depicts a sample order page according to the disclosed embodiments, which includes items from the virtual shopping cart and information about procurement and shipping and interactive user interface elements. FIG. 2 is an illustration of an exemplary fulfillment center configured to utilize the disclosed computerized system according to the disclosed embodiments. FIG. 3 is an illustration of an exemplary retail website and a comparison shopping website according to the present disclosure embodiments. FIG. 4 is an illustration of an example diagram for training and using a machine learning model according to the present disclosure embodiments. FIG. 5 is an illustration of a user interacting with a system for optimizing product feed according to the present disclosure embodiments. FIG. 6 is an illustration of a block diagram of inputs to a machine learning model according to the present disclosure embodiments. FIG. 7 is an illustration of a table showing test results of a machine learning model according to the present disclosure embodiments. FIG. 8 is an illustration of a flowchart of a method for optimizing product feed based on a machine learning model according to the disclosed embodiments. 502: Retail website 504: Comparison shopping website 505, 511: First product 506: User 507, 522: Second product 508: Product 510: Mouse 516: Third product 526: Fourth product 528: Machine learning model 530: Processor 532: Memory
Claims
1. A system for optimizing product feed, the system comprising: At least one memory unit stores instructions; At least one processor is configured to execute the instructions to perform operations for optimizing product feed based on a machine learning model trained on product data, the operations including: obtaining historical product data corresponding to a first product set, the first product set including one or more products for display on a webpage associated with the system; determining a capacity constraint associated with a second system, the second system being configured to display information associated with the one or more products, and receiving the capacity constraint from the second system, wherein the capacity constraint is based on the memory constraint of the second system; using the machine learning model trained on the historical product data to generate a predicted interaction amount corresponding to at least one product in the first product set; selecting a second product set based on the predicted interaction amount, wherein the second product set includes a subset of the one or more products from the first product set based on the capacity constraint, wherein the memory consumption corresponding to the total number of products in the second product set is not greater than the capacity constraint; and presenting the second product set to the second system.
2. The system as described in claim 1, wherein training the machine learning model comprises: Aggregated product data is generated daily based on the historical product data, which corresponds to a historical duration, by: applying one or more calculations to the historical product data; combining the historical product data into a unified record; storing the unified record in a database; and inputting the aggregated product data into the machine learning model daily.
3. The system as described in claim 2 further includes optimizing the machine learning model; wherein optimization includes tuning the one or more hyperparameters by applying Bayesian optimization to the one or more hyperparameters associated with the machine learning model.
4. The system as claimed in claim 2, wherein the machine learning model is configured to generate the predicted interaction amount based on at least one of historical product data or new product data.
5. The system of claim 2 further includes updating the machine learning model by: obtaining from the second system: a product feed; and a product feed click count; providing at least one of the product feed or the product feed click count to the machine learning model; and updating one or more weights in the machine learning model by training the machine learning model based on the at least one of the product feed or the product feed click count.
6. The system as described in claim 5, wherein the machine learning model is updated daily.
7. The system as described in claim 1, wherein the historical product data includes at least one of supplier information, rating information, product review information, customer information, sales information, or interactions corresponding to a retail website.
8. The system as described in claim 1, further comprising: Associate each product in the first product set with a product input keyword, wherein the product input keyword includes a product identifier and a price; And to map the product to the product in the second system using keywords.
9. The system as described in claim 1, wherein the generated predicted interaction quantity corresponds to a future time period.
10. A method for optimizing product feed based on a machine learning model trained on product data, comprising: Obtain historical product data corresponding to a first product set, which includes one or more products for display on a webpage associated with the system; The process involves: determining a capacity constraint associated with a second system configured to display information associated with the one or more products; receiving the capacity constraint from the second system, wherein the capacity constraint is based on the memory constraint of the second system; using a machine learning model trained on the historical product data to generate a predicted interaction volume corresponding to at least one product in the first product set; selecting a second product set based on the predicted interaction volume, wherein the second product set includes a subset of the one or more products from the first product set based on the capacity constraint, wherein the memory consumption corresponding to the total number of products in the second product set is not greater than the capacity constraint; and presenting the second product set to the second system.
11. The method of claim 10, wherein training the machine learning model comprises: Aggregated product data is generated daily based on the historical product data, which corresponds to a historical duration, by: applying one or more calculations to the historical product data; combining the historical product data into a unified record; storing the unified record in a database; and inputting the aggregated product data into the machine learning model daily.
12. The method of claim 11 further includes optimizing the machine learning model; wherein optimization includes tuning the one or more hyperparameters by applying Bayesian optimization to one or more hyperparameters associated with the machine learning model.
13. The method of claim 11, wherein the machine learning model is configured to generate the predicted interaction amount based on at least one of historical product data or new product data.
14. The method of claim 11 further comprises updating the machine learning model by: obtaining from the second system: a product feed; and a product feed click count; providing at least one of the product feed or the product feed click count to the machine learning model; and updating one or more weights in the machine learning model by training the machine learning model based on the at least one of the product feed or the product feed click count.
15. The method as described in request item 14, wherein the machine learning model is updated daily.
16. The method of claim 10, wherein the historical product data includes at least one of supplier information, rating information, product review information, customer information, sales information, or interactions corresponding to a retail website.
17. The method as described in claim 10, further comprising: Associate each product in the first product set with a product input keyword, wherein the product input keyword includes a product identifier and a price; And to map the product to the product in the second system using keywords.
18. A non-transitory computer-readable medium, comprising instructions executable by one or more processors to cause a system to perform a method for optimizing product feed, the method comprising: Obtain historical product data corresponding to a first product set, wherein the first product set includes one or more products for display on a webpage associated with the system; determine a capacity constraint associated with a second system, the second system being configured to display information associated with the one or more products, and to receive the capacity constraint from the second system; wherein the capacity constraint includes a numerical limit based on the memory constraint of the second system; generate a gradient boosting machine regression model, the gradient boosting machine regression model being configured to generate predicted interaction amounts corresponding to at least one product in the first product set; The gradient boosting machine regression model is trained daily by: generating aggregated product data based on the historical product data; inputting the aggregated product data into the gradient boosting machine regression model; obtaining from the second system: product feeds; and product feed click counts; providing at least one of the product feeds or the product feed click counts to the gradient boosting machine regression model; updating one or more weights in the gradient boosting machine regression model based on the at least one of the product feeds or the product feed click counts; and optimizing the trained gradient boosting machine regression model by applying Bayesian optimization to one or more hyperparameters associated with the trained gradient boosting machine regression model; and using the optimized gradient boosting machine regression model to generate the predicted interaction amount, wherein the predicted interaction amount corresponds to a future time interval. Selecting a second product set based on the predicted interaction volume, wherein the second product set includes a subset of one or more products from the first product set based on the capacity constraint, wherein the memory consumption corresponding to the total number of products in the second product set is not greater than the capacity constraint; and presenting the second product set to the second system for display during the future time interval.
Citation Information
Patent Citations
An intelligent prediction method of search advertisement conversion based on big data
CN109255651A
Associated commodity recommendation method and device, medium and electronic equipment
CN113362141A
Business management method and system based on big data
CN113516534A
Computerized systems and methods for artificial intelligence basedproduct recommendation generation
TW202232413A
Training data routing and prediction ensembling at time series prediction system
US11120361B1