WO2024177951A1 - Management of food supply chain - Google Patents
Management of food supply chain Download PDFInfo
- Publication number
- WO2024177951A1 WO2024177951A1 PCT/US2024/016427 US2024016427W WO2024177951A1 WO 2024177951 A1 WO2024177951 A1 WO 2024177951A1 US 2024016427 W US2024016427 W US 2024016427W WO 2024177951 A1 WO2024177951 A1 WO 2024177951A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- food
- food items
- waste
- inputs
- source
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/087—Inventory or stock management, e.g. order filling, procurement or balancing against orders
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
- G06Q10/0834—Choice of carriers
- G06Q10/08345—Pricing
Definitions
- the present disclosure relates generally to food supply chain, and more particularly to predicting and managing food waste in the food supply chain.
- Supply chain for the food industry may include multiple stakeholders, including for example, producers, distributors or suppliers, retailers, customers, and transportation providers. Fluctuations in demand, supply, recalls, damaged product, poor shelf-life expiration management, etc. by one or more of the stakeholders may lead to food waste. Food waste leads to loss in product value, increased cost of waste management, lost opportunity cost of space and labor, as well as increased greenhouse gas and methane emissions.
- a system in some aspects of the present disclosure, includes a memory having computer-readable instructions stored thereon and a processor that executes the computer-readable instructions to receive, from a first source, a first set of inputs associated with each of one or more food items, predict, using a first machine learning model and based on the first set of inputs, a first set of the one or more food items expected to go to waste within a predetermined time period, match, using a second machine learning model, the first set of the one or more food items with a second source based on a second set of inputs received from the second source to identify a second set of the one or more food items from the first set of the one or more food items, add the second set of the one or more food items to a database for purchase by the second source to reduce food waste, receive a request from the second source to purchase at least one of the second set of the one or more food items, and update the database responsive to the purchase.
- a non-transitory computer-readable media comprising computer-readable instructions stored thereon.
- the computer-readable instructions when executed by a processor causes the processor to receive, from a first source, a first set of inputs associated with each of one or more food items, predict, using a first machine learning model and based on the first set of inputs, a first set of the one or more food items expected to go to waste within a predetermined time period, match, using a second machine learning model, the first set of the one or more food items with a second source based on a second set of inputs received from the second source to identify a second set of the one or more food items from the first set of the one or more food items, add the second set of the one or more food items to a database for purchase by the second source to reduce food waste, receive a request from the second source to purchase at least one of the second set of the one or more food items, and update the database responsive to the purchase.
- a method includes receiving, from a first source, a first set of inputs associated with each of one or more food items, predicting, using a first machine learning model and based on the first set of inputs, a first set of the one or more food items expected to go to waste within a predetermined time period, matching, using a second machine learning model, the first set of the one or more food items with a second source based on a second set of inputs received from the second source to identify a second set of the one or more food items from the first set of the one or more food items, adding the second set of the one or more food items to a database for purchase by the second source to reduce food waste, receiving a request from the second source to purchase at least one of the second set of the one or more food items, and updating the database responsive to the purchase.
- FIG. 1 is an example block diagram of a computing system implementing a food management application, in accordance with some embodiments of the present disclosure.
- FIG. 2 is an example block diagram showing additional details of the food management application of FIG. 1, in accordance with some embodiments of the present disclosure.
- FIG. 3 is an example flow chart outlining operations of the food management application of FIG. 1, in accordance with some embodiments of the present disclosure.
- FIG. 4 is an example flow chart outlining waste prediction operations of the process of FIG. 3 in greater detail, in accordance with some embodiments of the present disclosure.
- FIG. 5 is an example flow chart outlining channel analysis operations of the process of FIG. 3 in greater detail, in accordance with some embodiments of the present disclosure.
- FIG. 6 is an example flow chart outlining delivery logistics operations of the process of FIG. 3 in greater detail, in accordance with some embodiments of the present disclosure.
- FIG. 7 is an example flow chart outlining operations for managing a marketplace provided by the food management application of FIG. 2, in accordance with some embodiments of the present disclosure.
- FIG. 8 is an example flow chart outlining analytics operations of the process of FIG. 3 in greater detail, in accordance with some embodiments of the present disclosure.
- FIGS. 9-13 provide example user interfaces of the food management application of FIG. 2 available to a supplier, in accordance with some embodiments of the present disclosure.
- FIGS. 14-20 provide example user interfaces of the food management application of FIG. 2 available to a customer, in accordance with some embodiments of the present disclosure.
- Food waste may lead to billions of dollars in lost revenue each year. Food waste also contributes to the climate change crisis. It has been estimated that food waste, in the United States alone, each year contributes to around one hundred and seventy million metric tons of carbon dioxide equivalent greenhouse gas emissions, not including the methane emissions from rotting food in landfills. Reducing food waste may improve food security, reduce loss of revenue, address climate change, and promote energy and resource conservation. [0022] Although a circular food movement is emerging, where for example, surplus food is brought to local food markets (e.g., local restaurants, food trucks, chefs, and community food groups), significant gaps and friction exists in the food supply chain in relation to food waste. For example, conventionally food waste is identified posteriori.
- local food markets e.g., local restaurants, food trucks, chefs, and community food groups
- Another problem that exists with conventional mechanisms of reducing food waste is that the various stakeholders are not connected with each other in any seamless fashion.
- a supplier that produces or supplies food may maintain its own warehouse or order management systems to maintain and track orders and inventory.
- customers such as retailers or upcyclers such as restaurants, food banks, etc. may have their own order management systems that do not communicate with the supplier systems.
- transportation providers may have their own transportation logistics systems that are completely uncoupled with the systems of the suppliers and customers.
- food waste is hard to identify. When a supplier identifies food waste, there is no way for a customer to know that surplus food is available that they may be able to purchase.
- computing resources are wasted by having dis-jointed computing systems.
- Sending information across such dis-jointed systems increases network traffic (e.g., amount of data that moves across a network between the systems of the suppliers, customers, and transportation providers).
- Increased network traffic can increase operation latency (e.g., due to delay in data transmission), increase processor utilization (e.g., CPU utilization), increase errors in data transmission (e.g., data packet transmission failures), and increase susceptibility to network failures and fraudulent activity from unauthorized network snooping, among others.
- Facilitating communication between such dis-jointed systems also requires maintaining expensive and complicated network hardware and configurations such as routers, modems, buses, links, etc. Further, no current technical solutions exist that are able to predict food waste before the food actually becomes waste.
- the present disclosure provides technical solutions that create a connectivity between various parties such as suppliers, customers, and transportation providers in a food supply chain.
- the present disclosure provides a single, central interface (e.g., computing system) to suppliers, customers, and transportation providers.
- Each stakeholder may be provided their own dashboard to view, input, and manage their side of the information without interfering with the information of the other stakeholders.
- the interface may support a machine learning platform that is configured to predict food waste in advance.
- the interface also provides a mechanism using machine learning to automatically match the predicted food waste to customers, send alerts to customers when matches are found, provide a marketplace for the customers to view and place orders, make the orders available to suppliers in real-time (or almost real-time), optimize transportation logistics, as well as run analytics and generate reports to quantity the impact of food waste reduction.
- the present disclosure provides a single platform that may be used by multiple stakeholders in an easy, convenient, and efficient way. Such an integrated interface reduces technical problems faced by dis-jointed systems of conventional designs.
- the interface of the present disclosure reduces network traffic, thereby reducing the amount of data being sent across the network between multiple systems and reducing network latency, reducing the amount of memory needed to receive and store information from multiple stakeholders, reduce processor utilization, reduce loss in data packets during transmission, reduce susceptibility to network failures, hacks, fraudulent activity, and network snooping, as well as need for maintaining complicated network hardware.
- the machine learning enhanced platform of the present disclosure leverages historical data and trends to accurately predict food waste, manage inventory, and provide an order management system in a one-stop solution that is convenient and easy to use by all stakeholders.
- the present disclosure reduces food waste, as well as addresses climate change by keeping food out of landfills (thereby reducing methane emissions), conserving resources (e.g., energy to produce, store, manage, transport food), and reduce greenhouse gas emissions by at least reducing transportation runs to the landfills.
- the computing system 100 may be used for managing a food supply chain.
- the computing system 100 includes a host device 105 associated with a memory device 110.
- the host device 105 may be configured to receive input from one or more input devices 115 and provide output to one or more output devices 120.
- the host device 105 may be configured to communicate with the memory device 110, the input devices 115, and the output devices 120 via appropriate interfaces 125A, 125B, and 125C, respectively.
- the computing system 100 may be implemented in a variety of computing devices such as computers (e.g., desktop, laptop, servers, data centers, etc.), tablets, personal digital assistants, mobile devices, other handheld or portable devices, or any other computing unit suitable for performing standard cell layout using the host device 105.
- computers e.g., desktop, laptop, servers, data centers, etc.
- tablets personal digital assistants
- mobile devices other handheld or portable devices, or any other computing unit suitable for performing standard cell layout using the host device 105.
- the input devices 115 may include any of a variety of input technologies such as a keyboard, stylus, touch screen, mouse, track ball, keypad, microphone, voice recognition, motion recognition, remote controllers, input ports, one or more buttons, dials, joysticks, and any other input peripheral that is associated with the host device 105 and that allows an external source, such as a user to enter information (e.g., data) into the host device and send instructions to the host device.
- the output devices 120 may include a variety of output technologies such as external memories, printers, speakers, displays, microphones, light emitting diodes, headphones, video devices, camera devices, and any other output peripherals that are configured to receive information (e.g., data) from the host device 105.
- the “data” that is either input into the host device 105 and/or output from the host device may include any of a variety of textual data, signal data, graphical data, optical data, combinations thereof, or other types of analog and/or digital data that is suitable for processing using the computing system 100.
- the host device 105 includes or is associated with one or more processing units/processors, such as Central Processing Unit (“CPU”) cores 130A-130N.
- the CPU core 130A-130N may be implemented as an Application Specific Integrated Circuit (“ASIC”), Field Programmable Gate Array (“FPGA”), or any other type of processing unit.
- ASIC Application Specific Integrated Circuit
- FPGA Field Programmable Gate Array
- Each of the CPU cores 130A-130N may be configured to execute instructions for running one or more applications of the host device 105.
- One such application that the host device 105 may be configured to run is a food management application 135.
- the food management application 135 may be used by a user of the host device 105 to manage food waste.
- the food management application 135 may be configured to predict food waste by identifying food items expected to go waste, perform channel analysis to match the food items expected to go waste to customers who can use the food items before becoming waste, send alerts to customers when matches are found, optimize transportation logistics to at least minimize carbon emissions, operate a marketplace to allow customers to purchase food items expected to go waste, and quantify impact of reduction of food waste.
- the food management application 135 may be executed by one or more of the CPU cores 130A-130N using the instructions associated with the food management application from the memory device 110.
- the food management application 135 may include or be associated with other types of software, hardware, firmware, or combinations thereof that may be needed or considered desirable to have for performing the functions described herein.
- the instructions and data/databases needed to run the food management application 135 may be stored within the memory device 110.
- the host device 105 may also be configured to store the results of running the food management application 135 within the memory device 110.
- the host device 105 may be configured to communicate with the memory device 110 to perform a variety of operations. For example, the host device 105 may request the memory device 110 to read data, write data, update or delete data, and/or perform management or other operations.
- the memory device 110 includes a memory controller 140 that is configured to read data from or write data to a memory array 145.
- the memory array 145 may include types of volatile and/or non-volatile memories.
- the memory array 145 may also include NAND flash memory cores, NOR flash memory cores, Static Random Access Memory (SRAM) cores, Dynamic Random Access Memory (DRAM) cores, Magnetoresistive Random Access Memory (MRAM) cores, Phase Change Memory (PCM) cores, Resistive Random Access Memory (ReRAM) cores, 3D XPoint memory cores, ferroelectric random-access memory (FeRAM) cores, and other types of memory cores that are suitable for use within the memory array.
- SRAM Static Random Access Memory
- DRAM Dynamic Random Access Memory
- MRAM Magnetoresistive Random Access Memory
- PCM Phase Change Memory
- FeRAM ferroelectric random-access memory
- the memory array 145 may include any of a variety of Random Access Memory (RAM), Read-Only Memory (ROM), Programmable ROM (PROM), Erasable PROM (EPROM), Electrically EPROM (EEPROM), hard disk drives, flash drives, memory tapes, cloud memory, or any combination of primary and/or secondary memory that is suitable for performing the operations described herein.
- RAM Random Access Memory
- ROM Read-Only Memory
- PROM Programmable ROM
- EPROM Erasable PROM
- EEPROM Electrically EPROM
- the memories within the memory array 145 may be individually and independently controlled by the memory controller 140.
- the memory controller 140 may be configured to communicate with each memory within the memory array 145 individually and independently. By communicating with the memory array 145, the memory controller 140 may be configured to read data from or write data to the memory array in response to instructions received from the host device 105.
- the memory controller 140 may be part of the host device 105 or part of another component of the computing system 100 and associated with the memory device.
- the memory controller 140 may be implemented as a logic circuit in either software, hardware, firmware, or combination thereof to perform the functions described herein.
- the memory controller 140 may be configured to retrieve the instructions associated with the food management application 135 stored in the memory array 145 of the memory device 110 upon receiving a request from the host device 105.
- the computing system 100 may include other components such as various batteries and power sources, networking interfaces, routers, switches, external memory systems, controllers, etc.
- the computing system 100 may include any of a variety of hardware, software, and/or firmware components that are needed or considered desirable in performing the functions described herein.
- the host device 105, the input devices 115, the output devices 120, and the memory device 110 including the memory controller 140 and the memory array 145 may include other hardware, software, and/or firmware components that are considered necessary or desirable in performing the functions described herein.
- FIG. 2 an example block diagram of a food management application 200 is shown, in accordance with some embodiments of the present disclosure.
- the food management application 200 is an example implementation of the food management application 135 of FIG.
- the food management application 200 may be associated with a host device (e.g., the host device 105) and other elements described above in FIG. 1.
- the food management application 200 may be used to manage food waste.
- Food as used herein includes edible items including raw materials or ingredients such as vegetables, fruits, meats, dairy, eggs, beverages, water, etc., and processed food such as canned food, cooked food, etc.
- “food” or “food items” may include any carbohydrates, fats, proteins, and other solid, liquid, and fluid nutrients that may be consumed by an organism (e.g., animals, humans, etc.) to sustain growth, repair, and other vital processes, as well as provide energy.
- Food waste as used herein may include food that is suitable for consumption (e.g., by humans) but is consciously discarded for any reason (e.g., past expiration date) to end up in a landfill.
- the food management application 200 may provide a user interface 205 that serves as the front end of the food management application.
- the food management application may be accessed through the user interface 205 via an Application Programming Interface (“API”) 210.
- API Application Programming Interface
- a user may use designated devices such as laptops, desktops, tablets, mobile devices, other handheld or portable devices, and/or other types of computing devices that are configured to access the API. In some embodiments, these devices may be different from the computing device on which the food management application 200 is installed.
- the food management application 200 may be hosted on a cloud service and may be accessed through the cloud via a web or mobile application.
- the user may access the user interface 205/the food management application 200 via a web browser, upon entering a uniform resource locator (“URL”) for the API 210 such as the IP address of the food management application 200 or other designated web address.
- a uniform resource locator (“URL”) for the API 210 such as the IP address of the food management application 200 or other designated web address.
- the user interface 205/the food management application 200 may be accessed via a mobile application downloaded to a mobile device.
- the user interface 205/the food management application 200 may be configured for access in other ways.
- a user of the food management application 200 may be a food producer, food distributer or supplier, customer, transportation provider, or any other stakeholder in a food supply chain.
- the user of the food management application 200 may be any personnel, company, or entity that may be interested at least in the reducing and/or managing food waste.
- the user interface 205 facilitates human-computer interaction between the users and the food management application 200.
- the user interface 205 may present a graphical user interface (“GUI”) to a user to receive input from and provide output to the user.
- GUI graphical user interface
- the GUI may present a variety of graphical icons, windows, visual indicators, menus, visual widgets, and other indicia to facilitate user interaction.
- the user interface 205 may be configured as other types of user interfaces. Further, the user interface 205 may be configured to receive user inputs in a variety of ways.
- the user interface 205 may be configured to receive user inputs via the input devices 115. In other embodiments, the user interface 205 may be configured to receive the user inputs in other ways. The user interface 205 may also be configured to present outputs/information to the users in a variety of ways. In some embodiments, the user interface 205 may present outputs to the user via the output devices 120. In other embodiments, the user interface 205 may be configured to present the outputs in other ways (e.g., audible, tactile, or visual alarms, etc.). Generally speaking, the user interface 205 may be associated with any type of hardware, software, and/or firmware component that enables the food management application 200 to perform the functions described herein.
- the API 210 that is used to communicate with the food management application 200 via the user interface 205 may be a representational state transfer (“REST”) type of API.
- the API 210 may be any other type of web or other type of API (e.g., ASP.NET) built using any of a variety of technologies, such as Java, .Net, etc., that is suitable for facilitating communication between the food management application 200 and the users via the user interface 205.
- the API 210 may be configured to facilitate communication via a hypertext transfer protocol (“HTTP”) or hypertext transfer protocol secure (“HTTPS”) type request.
- HTTP hypertext transfer protocol
- HTTPS hypertext transfer protocol secure
- the API 210 may receive an HTTP/HTTPS request and send an HTTP/HTTPS response back.
- the API 210 may be configured to facilitate communication using other or additional types of communication protocols.
- the food management application 200 may further include a food waste prediction model 215, a channel analysis model 220, a transportation logistics model 225, a marketplace management system 230, and an analytics model 235.
- a food waste prediction model 215, the channel analysis model 220, the transportation logistics model 225, the marketplace management system 230, and the analytics model 235 are shown as separate components herein, in other embodiments, one or more of those components may be combined together and the combined component may perform the operations of the individual components that were combined.
- the processor may be implemented in hardware, firmware, software, or any combination thereof and may be configured for executing an instruction. “Executing an instruction” means that the processor performs the operations called for by that instruction.
- the processor may retrieve a set of instructions from a memory (e.g., the memory device 110) for execution.
- the processor may retrieve the instructions from a permanent memory device like a read only memory (ROM) device and copy the instructions in an executable form to a temporary memory device that is generally some form of random access memory (RAM).
- the ROM and RAM may both be part of the memory device 110.
- the processor may be a special purpose computer, and include logic circuits, hardware circuits, etc. to carry out those instructions.
- the processor may include a single stand-alone processing unit, or a plurality of processing units that use the same or different processing technology.
- the instructions may be written using one or more programming language, scripting language, assembly language, etc.
- the food waste prediction model 215 may be used to predict food waste. Prediction of food waste may include forecasting, determining, or identifying that a food item is expected to become waste before that food item actually becomes waste.
- the food waste prediction model 215 may include a machine learning or artificial intelligence engine or model that is trained to predict food waste based on a variety of inputs.
- the food waste prediction model 215 may be configured to output a list of one or more food items that are expected to become waste.
- the food waste prediction model 215 may also output a risk score indicative of a probability or likelihood that a food item will go waste. In some embodiments, a higher risk score may be associated with a greater probability that a food item will go waste compared to a lower risk score.
- the food waste prediction model 215 may be trained using training data.
- the inputs to the food waste prediction model 215 may be dependent upon the type of food item. For example, in some embodiments, a first set of inputs may be suitable for dairy products while a second set of inputs may be relevant for fruits and vegetables. In some embodiments, an initial set of inputs that may be used. As the food waste prediction model 215 is trained, additional types of inputs considered relevant may be included or previously used inputs may be removed. By using inputs relevant for each type of food item, a bias (e.g., under fit) or high variance (e.g., over fit) in the training model of the food waste prediction model 215 may be avoided.
- a bias e.g., under fit
- high variance e.g., over fit
- the food waste prediction model 215 may be continuously trained to improve accuracy.
- the food waste prediction model 215 may be trained with different set of inputs/algorithms against a training set and test set. The set of inputs/algorithm which yields the best results on test data may be selected as the food waste prediction model 215.
- the food waste prediction model 215 may be trained with different set of inputs and/or different machine learning/artificial intelligence algorithms. Specifically, to train the food waste prediction model 215, in some embodiments, the input data (described below) that is input into the food waste prediction model 215 may be split into a training set and a test set.
- the food waste prediction model 215 may be trained by applying various machine learning algorithms on the training set. After the food waste prediction model 215 is trained using a particular algorithm and the training set, the food prediction model may be applied using the particular algorithm to the corresponding test set. The algorithm that yields the best results relative to other algorithms may be selected as the algorithm for the food waste prediction model 215. Similarly, the inputs in the test /training sets that yield the best results may be selected for the food waste prediction model 215 for a particular type of food item.
- the food waste prediction model 215 may be trained using a single training set and varying the machine learning algorithms that are applied on the training set to identify the most suitable algorithm.
- a single machine learning algorithm may be applied to various training sets to identify the most suitable set of inputs for a particular type of food item.
- the food waste prediction model 215 may be trained to vary both the training set and the machine learning algorithms.
- the algorithms that may be used to train the food waste prediction model 215 may include a Feedforward Artificial Neural Network, particularly a Multi-layer Perceptron ANN (artificial neural network), other types of neural networks or machine learning algorithms, including other configurations of the Feedforward Artificial Neural Network, other neural networks, or other machine learning algorithms may be used.
- a Feedforward Artificial Neural Network particularly a Multi-layer Perceptron ANN (artificial neural network)
- ANN artificial neural network
- machine learning algorithms including other configurations of the Feedforward Artificial Neural Network, other neural networks, or other machine learning algorithms may be used.
- weights that are applied to the various inputs in the machine learning algorithm may be modified.
- the weights may be dynamic.
- some inputs may contribute more to the prediction than other inputs.
- different inputs may have a different impact on the food waste prediction. For example, in some embodiments, expiration date for perishable items (e.g., dairy) may have a higher impact on the food becoming waste relative to food items that have long shelf-lives (e.g., canned food). Thus, for perishable food items, expiration date may be accorded a higher weight.
- different weights may be assigned to each input.
- food suppliers or distributors or other users of the food waste prediction model 215 may configure weights based on business operations.
- the weights may be evenly distributed across the various inputs (e.g., the same weight may be used for each input). In other embodiments, other factors may be used to accord weights to the various inputs.
- the weights that are used during training the food waste prediction model 215 may be determined internally by the neural network (e.g., the machine learning algorithm). For example, in some embodiments, a cost function for the average difference between computed results obtained from the training set and actual outputs generated by the neural network may be defined. The neural network may be configured to optimize this cost function by tuning the weights for different layers. In other embodiments, the weights may be determined in other ways. Thus, optimized weights to be applied may be determined during training.
- data that is input into the food waste prediction model 215 may be pre-processed.
- input data may be converted from nonnumeric into numeric.
- the input data may be converted from a first format into a second format such as a standardized or normalized format.
- yet other types of pre-processing may be performed.
- the pre-processing that is performed may be based on the machine learning algorithm that is used.
- the pre-processing may be based on other factors.
- no preprocessing may be performed.
- the outputs from the food waste prediction model 215 may be post-processed.
- the post-processing operations may include numeric-non-numeric conversion, non-numeric to numeric conversion, format changes, etc. In some embodiments, no post-processing may be performed.
- the food waste prediction model 215 may be trained using a variety of training input data to predict food waste. Upon training, the food waste prediction model 215 may be used to predict food waste using actual input data.
- the input data (whether training or actual) that may be used with the food waste prediction model 215 may include data that is received from one or more suppliers 240.
- the suppliers 240 may include any persons, organizations, vendors, or entities that produce, sell, or facilitate selling of food to consumers (e.g., retailers, wholesalers, people, restaurants, food banks, pantries, organizations, entities, etc.).
- the input data may come from other sources.
- Examples of the input data (whether training or actual) that may be used for the food waste prediction model 215 may include identity of food item (e.g., strawberries, eggs, milk, etc.), product category (e.g., fruit, vegetable, dairy, canned food, etc.), total quantity of food item including current inventory of the food item and expected quantity of the food item (e.g., volume that is expected to become available for sale), sold quantity of the food item, current available quantity of the food item, expiration date of the food item (e.g., use-by date, best-by date, etc.), quality (e.g., ripe, overripe, un-ripe, etc.) of food item indicative of the food item’s taste, texture, appearance, smell, and other attributes indicative of whether the food item is consumable, seasonality data indicative of the season when the food item is typically grown and/or sold, order information such as current unfulfilled orders for the food item, past filled orders for the food item, sell rate (e.g., typical number of days in which the food item sells
- the channel analysis model 220 may be used for matching the predicted food waste with one or more customers 245, also referred to herein as rescuers.
- the customers or rescuers may be people, organizations, food banks, pantries, charities, co-operatives, restaurants, retailers, chefs, food carts, etc. that may purchase the food items predicted to go waste.
- the customers 245 may be able to purchase the food items at a lower cost relative to the retail cost.
- the channel analysis model 220 may include a machine learning or artificial intelligence engine or model that is trained to match the predicted food waste with one or more of the customers 245 based on a variety of inputs.
- the training of the channel analysis model 220 may occur in a similar way as the food waste prediction model 215, albeit with different inputs, and is therefore not described again.
- the inputs for the channel analysis model 220 may include first inputs provided by the suppliers 240 and second inputs provided by the customers 245.
- the first inputs may include a pick up location from where the customer would have to pick up the food items, an expected price for selling the food items, quantity of food item available, any operational constraints, and any other input that may be needed or considered desirable to have in matching the predicted food waste to the customers 245.
- the second inputs may include food items desired, quantity of the food item desired, time period within which the food item is desired, pick-up locations, drop-off locations, cost sensitivity (e.g., how much is the customer willing to pay for a food item), quality preference (e.g., perfect, imperfect), product categories, and any other inputs that may be needed or considered desirable to have in matching the predicted food waste to the customers 245.
- cost sensitivity e.g., how much is the customer willing to pay for a food item
- quality preference e.g., perfect, imperfect
- product categories e.g., product categories
- the transportation logistics model 225 may be configured to optimize freight and delivery logistics for delivering, by providers 250, the food items purchased by the customers 245. For example, in some embodiments, the transportation logistics model 225 may be configured to reduce a cost of delivery of the food items to the customers 245. In some embodiments, the transportation logistics model 225 may be configured to minimize greenhouse gas emissions of delivering the food items to the customers 245. For example, in some embodiments, the transportation logistics model 225 may identify the providers 250 that are located closer to the customers 245. In some embodiments, the transportation logistics model 225 may identify the providers 250 that are already headed in the direction of the customers 245 to avoid a separate trip for delivering the food items.
- the transportation logistics model 225 may optimize the frequency with which the food items are delivered to the customers 245. For example, in some embodiments, depending on one or more factors such as the type of food items purchased, the location of the customers 245, the overall cost of delivering, the volume of food being delivered, etc., the transportation logistics model 225 may postpone delivery of the food items to the customers 245, find alternate mechanisms to get the food items to the customers, or suggest other actions.
- the providers 250 may include transportation carriers such as trucking companies, food delivery companies, or other types of entities that may transport and haul food through road, air, or water between the pick-up location and the drop-off location.
- the transportation logistics model 225 may include a machine learning or artificial intelligence engine or model that is trained to match the optimize delivery and freight logistics based on a variety of inputs. The training of the transportation logistics model 225 may occur in a similar way as the food waste prediction model 215, albeit with different inputs, and is therefore not described again.
- the transportation logistics model 225 may receive one or more inputs from the suppliers 240 that are supplying the food items, the customers 245 that are receiving the food items, and/or the providers 250 that provide freight and transportation services.
- the suppliers 240 may provide the pick-up location of the food items and the customers 245 may provide the drop-off location of the food items to the transportation logistics model 225.
- the pick-up and drop-off locations may be in the form of an address, latitude and longitude coordinates, or in any other form that identifies the location from where the food items are to be picked up.
- the transportation logistics model 225 may receive the volume of food items to be delivered, the type and category of food items to be delivered, shipping requirements indicative of whether the food items have to be shipped or maintained a certain way during transportation (e.g., refrigerated, heated, etc.), cost of making the delivery (e.g., fees charged by the transportation carriers), total cost of the food to be delivered, and any other input that may be needed or considered useful to have by the transportation logistics model 225 in optimizing the delivery logistics.
- the transportation logistics model 225 may also compute the fuel costs associated with delivering the food items. For example, in some embodiments, the transportation logistics model 225 may determine the distance between the pick-up location and the drop-off location. The transportation logistics model 225 may also determine the cost of fuel (e.g., cost of each gallon of fuel). Based on the distance and the cost of fuel, the transportation logistics model 225 may compute the total cost of fuel needed to deliver the food. For example, the transportation logistics model 225 may divide the total distance between the pick-up and drop-locations by the mileage (e.g., miles per hour) of a particular vehicle (e.g., truck) transporting the food items to obtain a total amount of fuel needed (e.g., in gallons).
- the mileage e.g., miles per hour
- a particular vehicle e.g., truck
- the transportation logistics model 225 may multiple the amount of fuel needed with the price of fuel per unit (e.g., price of each gallon of fuel). Based on the total cost of fuel, the transportation logistics model 225 may decide transportation options. The transportation logistics are discussed in more detail in FIG. 6.
- the marketplace management system 230 may be configured to provide and manage a marketplace and inventory management system. For example, the marketplace management system 230 may make the food items that are identified by the channel analysis model 220 available in a marketplace for the customers 245 to purchase. In some embodiments, the marketplace management system 230 may manage inventory of the food items on the marketplace. For example, the marketplace management system 230 may update the inventory to remove the food items from the inventory when those food items are sold. The marketplace management system 230 may add newly added food items to the inventory. In some embodiments, the marketplace management system 230 may associate a variety of data with each food item that is being sold through the marketplace.
- the marketplace may also include an order management system such that the customers 245 may place orders for the food items on the marketplace and those orders may instantly (or substantially instantly) be available for handling by the suppliers 240.
- the marketplace management system 230 receive one or more inputs from the suppliers 240 regarding each food item such as a Stock Keeping Unit (SKU) number of another identifier to uniquely identify the food item, a description of the food item, a manufacture date of the food item, an expiration date of the food item (e.g., use-by date, best-by date, etc.), a volume of the food item, a price of the food item, brand and manufacturer information, condition of the food item (e.g., ripe, unripe, perfect, imperfect, etc.), country of origin, and any other details that the customers 245 may want to know before purchasing the food item.
- SKU Stock Keeping Unit
- the marketplace management system 230 may create, maintain, and update various databases.
- the marketplace management system 230 may include a database that manages the inventory of the food items being sold through the marketplace (egg food items predicted to go waste).
- the marketplace management system 230 may maintain one or more databases such that a customer is only able to view the food items that have been matched with that customer.
- the marketplace management system 230 may include a database for the suppliers 240 to maintain supplier information a database for the customers to maintain customer information, a database to store order related information, etc.
- the marketplace management system 230 may include other or additional types of databases. In some embodiments, at least some of these databases may be combined into a single database.
- the marketplace management system 230 may be configured as an isolated tenant based system such that one stakeholder is a separate tenant in the system and prevented from viewing the information of another stakeholder, thereby increasing security.
- the marketplace management system 230 may maintain one or more database to store and manage a variety of information in a variety of ways.
- the marketplace management system 230 may present a dashboard to the suppliers 240 and the customers 245.
- the dashboard that the suppliers 240 see may be different from the dashboard that the customers 245 see.
- the supplier dashboard visible to the suppliers 240 may allow the suppliers to view new and existing orders, view status of orders, manage outbound logistics, edit order information, input and edit data related to the food items, etc.
- the customer dashboard visible to the customers 245 may allow the customers to browse food items available for sale on the marketplace, add the food items to a cart for purchase, complete purchase, view the status of submitted orders, track delivery logistics, etc.
- the marketplace management system 230 is discussed in more detail in FIG. 7. Examples of various customer and supplier dashboards are shown in FIGS. 9-20.
- the analytics model 235 may be configured to analyze one or more metrics to quantify the impact of reducing food waste. For example, in some embodiments, the analytics model 235 may be used to calculate the amount of food that is rescued from going to waste, the amount of money saved by preventing food from going waste, measure climate impact in terms of reduction in carbon emissions, analyze health of the marketplace, and measure other indicia that may be desired or considered useful to measure. In some embodiments, these analytics may be used to change, shape, or impact user behavior such as encouraging more customers to purchase food that may go waste. In other embodiments, the analytics may be used for other purposes and generating one or more reports. The analytics model 235 is discussed in greater detail in FIG. 8.
- the food management application 200 may include or be associated with any of a variety of hardware, software, and/or firmware components that are needed or considered desirable in performing the functions described herein.
- FIG. 3 an example flowchart outlining operations of a process 300 is shown, in accordance with some embodiments of the present disclosure.
- the process 300 may be implemented by the food management application 200, and particularly by one or more processor associated with the food waste prediction model 215, the channel analysis model 220, the transportation logistics model 225, the marketplace management system 230, and the analytics model 235 of the food management application.
- the process 300 may include other, additional, or different operations depending on the embodiment.
- the food management application 200 predicts food waste. Specifically, the food management application 200 may identify one or more food items that are expected to go waste within a predetermined time period. For example, the food management application 200 may predict that X quantity of strawberries may go waste by Y date.
- the food management application 200 performs channel analysis to match the food items predicted to go waste at the operation 305 with one or more of the customers 245.
- the food management application 200 makes the matched food items at the operation 310 available in a marketplace to allow the customers 245 to purchase the food items of desired. In some embodiments, the food management application 200 may also send an alert or notification to the customers 245 when a match between the food items and a customer is found.
- the food management application 200 may alert the customer A that strawberries are available for purchase via the marketplace.
- the food management application 200 optimizes delivery logistics to facilitate delivery of the food items purchased by the customers 245 at the operation 315.
- the food management application 200 analyzes the impact of saving the food items that otherwise could have gone to waste.
- the process 400 may be implemented by the food management application 200, and particularly by the food waste prediction model 215 for predicting food waste (e.g., by the processor such as the CPU cores 130A-130N of the food waste prediction model).
- the process 400 may include other, additional, or different operations depending on the embodiment.
- the process 400 describes the operation 305 in greater detail.
- the process 400 may be used to predict food waste by identifying one or more of predicted sale patterns, predicted quantity, or predicted quality of food, applying variability and seasonality, and identifying pattern exceptions in one or more of the sales, quantity, and quality.
- the process 400 may predict food waste for a single food category (e.g., fruits, vegetables, dairy, meats, etc.).
- the process 400 when predicting “fruit” waste may predict that strawberries and blueberries are expected to go waste.
- the process 400 may predict food waste for a particular food type (e.g., particular type of fruit) in a food category.
- the process 400 may analyze data associated with strawberries to predict what quantity of strawberry may go waste.
- the process 400 may predict food waste from a single one of the suppliers 240. For example, the process 400 may receive inputs (whether for a particular food category or food type) from a single supplier and predict food items offered by that supplier that are expected to go waste. In some embodiments, the process 400 may determine food waste from each supplier separately and combine the identified items to determine a total food waste. For example, in some embodiments, the process 400 may determine that XI quantity of strawberry from supplier 1 is predicted to go waste within a predetermined time period and X2 quantity of strawberry from supplier 2 is predicted to go waste within the predetermined time period. Thus, the total quantity of strawberries predicted to go waste in the predetermined time period is XI + X2.
- the process 400 may receive inputs (whether for a particular food category or food type) simultaneously from multiple ones of the suppliers 240 and predict food waste from all those suppliers. In other embodiments, the process 400 may be used to predict food waste in other configurations. The process 400 below is described for predicting food waste for a particular food item (whether from a single supplier or from multiple suppliers). However, the process 400 may be used for predicting food waste in other configurations mentioned above. [0061] To predict food waste, the food management application 200 receives a first set of inputs at operation 405. The first set of inputs may include the one or more inputs described above with respect to the food waste prediction model 215. The first set of inputs may be received from one or more of the suppliers 240.
- the first set of inputs may be received via the supplier dashboard discussed in FIGS. 10 and 11. In other embodiments, the first set of inputs may be received in other ways. Generally speaking, in some embodiments, the first set of inputs may include transaction data, product data, and/or sales data.
- the first set of inputs may be stored within one or more database tables, look-up tables, or other query-able forms. These tables may be queried to identify patterns. Based on the identified patterns, artificial intelligence or business intelligence may be applied to determine expected patterns and variances from the expected patterns.
- the food management application 200 predicts a sales pattern from the first set of inputs for each food item. For example, the food management application 200 may determine a number of orders that are received to be fulfilled within the predetermined time period. The food management application 200 may also determine how likely is it that the food item may be sold within the predetermined time period. For example, if the predetermined time period is a week, the food management application 200 may determine the likelihood that the food item will be sold within the week. The food management application 200 may also consider seasonality information in determining the sales pattern.
- the food management application 200 may determine that strawberries are sold at a higher rate during summer time (e.g., between the months of May and August) than during winter months (e.g., between the months of November and February). Thus, from analyzing data from the past predetermined number of months (e.g., 13 months) to abstract from holiday s/seasonality, an expected rate-of-sale may be determined. This expected rate-of-sale may then be compared with “on hand” or available quantity to identify exceptions and outliers. [0063] At operation 415, the food management application 200 predicts a quantity of the food item predicted to be available within the predetermined time period that is expected to go waste if not sold.
- the food management application 200 may determine a first quantity of the food item that is currently available and a second quantity of the food item that is expected to become available (e.g., because food item is in transit to the supplier) within the predetermined time period.
- the food management application 200 may determine that the total quantity of the food item that may be available within the predetermined time period may be a sum of the first quantity and the second quantity.
- the food management application 200 may also determine the total quantity of the food item that is predicted to be sold within the predetermined time period. For example, in some embodiments, the food management application 200 may determine all the orders to be filled within the predetermined time period and the quantity of the food item needed for filling those orders.
- the orders to be filled may include the total number of orders placed that are to be completed (e.g., shipped out by) within the predetermined time period minus the total number of orders that were initially placed for the predetermined time period but cancelled. For example, if the food management application 200 determines that five orders were initially received to be completed by the end of one week and two of those five orders were either cancelled or pushed out to be completed by end of two weeks, the food management application may determine five minus two or three orders need to be filled by the end of the week.
- the food management application 200 may also determine the quantity of the food item requested in the orders to be filled. Continuing with the example above, if the food management application 200 determines that a first order is for Al quantity of the food item, a second order is for A2 quantity of the food item, and a third order is for A3 quantity of the food item, the food management application may determine that the total quantity of the food item needed by the end of the week is Al + A2 + A3. The food management application 200 may compare this required quantity with the total quantity of the food item that may be available within the predetermined time period to predict the available quantity of the food item at the end of the predetermined time period. For example, the food management application 200 may subtract the total quantity that is available and the total quantity expected to be sold to predict the surplus quantity of the food item that is predicted to go waste.
- the food management application 200 may also consider the expiration date and/or quality of the food item in determining the available quantity of the food item. For example, in some embodiments, the food management application 200 may identify the quantity of the food item that is expected to expire within a given time frame of the predetermined time period. For example, in some embodiments, if the predetermined time period for predicting waste is one week, the food management application 200 may identify the quantity of strawberries that may expire, for example, three days after the one week predetermined time period. In some embodiments, the food management application 200 may not count any quantity of the food item that expires after the time frame.
- the food management application 200 may also remove the quantity of food item that is already expired or within a predetermined threshold number of days of expiration. For example, in some embodiments, if the predetermined time period is one week, the food management application 200 may exclude all quantities of the food item that is expiring before the expiration of that one week. In some embodiments, the food management application 200 may also exclude all strawberries that are expiring one day after the expiration of that one week.
- the food management application 200 may also consider the quality of the food item in determining the available quantity. For example, in some embodiments, the food management application 200 may exclude any quantity of food item that is rotten or does not satisfy predefined quality criteria.
- Example quality criteria may include cosmetic imperfections, damaged packaging, incorrect description, irregular size and/or weight, near best-by date, irregularity in price or quantity (e.g., surplus or unexpected quantity). In other embodiments, other quality criteria may be used.
- the food management application 200 may predict the available quantity of a food item at the end of the predetermined time period as a function of one or more of the orders to be filled, surplus quantity of the food item available, the expiration date of the food item, or a quality of the food item.
- the food management application 200 may consider other parameters in determining the available quantity at the operation 415. [0067] At operation 420, the food management application 200 predicts the quality of the food item at the end of the predetermined time period.
- the quality of the food item may be a function of expiration date of the food item and/or a condition of the food item.
- the food management application 200 may determine the expiration date of the food item and determine what quantity of the food item is expected to expire by the end of the predetermined time period or within a predefined time frame of the predetermined time period. In some embodiments, this quality analysis based on expiration date may occur at the operation 415.
- the food management application 200 may determine the condition of the food at the end of the predetermined time period. For example, the food management application 200 may predict the likelihood that the food item would rot by the end of the predetermined time period. In some embodiments, the food management application 200 may compute a “days from expiration date” value to identify when the food item may be sold at near full cost margin value versus when the food item may need to be sold at a discount.
- the food management application 200 compares the predicted sales patterns, predicted available quantity, and predicted quality with normal or expected sales patterns, normal or expected available quantity, and normal or expected quality, respectively.
- the food management application 200 may determine the normal sales patterns, normal available quantity, and normal quality from past transactions or data and trends. For example, if the predetermined time period for which the process 400 is being executed is March 1 to March 7 of a current year for predicting strawberry waste, the food management application 200 may identify the sale patterns, the available quantity, and quality of strawberry from March 1 to March 7 of one or more prior years. When considering data from multiple prior years, in some embodiments, the food management application 200 may average the data.
- the food management application 200 may average the sales patterns from March 1 to March 7 of multiple prior years to obtain the normal sales patterns for March 1 to March 7. In other embodiments, the food management application 200 may similarly determine the normal quantity and normal quality of the food item. In other embodiments, the food management application 200 may use other mechanisms to determine the normal sales patterns, normal available quantity, and normal quality of the food item. In some embodiments, the food management application 200 may aggregate larger patterns across grocery type, region, and/or season. [0069] The food management application 200 compares the normal sales patterns, normal available quantity, and normal quality for the food item in the predetermined time period with the predicted sales patterns, the predicted available quantity, and the predicted quality, respectively, of the food item in the predetermined time period.
- the food management application 200 may determine that in the period from March 1 to March 7, the normal sales patterns is seven orders to be filled while the predicted sale patterns at the operation 410 for March 1 to March 7 in the current year is only five orders, the food management application 200 may predict that fewer quantities of the food item are needed.
- the food management application 200 may compare the available quantity of the food item determined at the operation 415 for the period of March 1 to March 7 in the current year with the normal available quantity. If a greater quantity of the food item is available in the current year than the normal quantity, the food management application 200 may determine that the likelihood of the food item going to waste is higher. Similarly, the food management application 200 may compare the predicted quality with the normal quality.
- the expected sales may be compared to quantities on hand (with a buffer quantity added) to identify what is expected surplus and may be placed on marketplace.
- the food management application 200 identifies any pattern exceptions in one or more of the sales patterns, available quantity, and quality of the food item to predict waste.
- the food management application 200 determines a risk score indicative of a likelihood that the food item goes waste.
- a lower score may be indicative of a lower likelihood that the food item goes waste relative to a higher score, or vice-versa.
- the risk score may be reflective of relative confidence in the waste prediction. For example, in some embodiments, confidence may be lower when there is less data available (e.g. less than 13 months, new SKU, etc.).
- the food management application 200 may compare the computed risk score with a threshold. If the risk score is greater than the threshold, the food management application 200 may categorize the food item as predicted food waste.
- the process 400 may output a list of one or more food items that are predicted to go waste within the predetermined time period, a quantity of each food item that is predicted to go waste, the risk score for each food item, and other information (e.g., supplier identity, SKU number, expiration date, etc.) that may be needed or considered desirable to have for the food item.
- information e.g., supplier identity, SKU number, expiration date, etc.
- FIG. 5 an example flowchart outlining operations of a process 500 is shown, in accordance with some embodiments of the present disclosure.
- the process 500 may be implemented by the food management application 200, and particularly by the channel analysis model 220 (e.g., by the processor such as the CPU cores 130A-130N of the channel analysis model) for matching the predicted food waste with one or more of the customers 245.
- the process 500 may include other, additional, or different operations depending on the embodiment.
- the process 500 describes the operation 310 in greater detail. Further, the process 500 may be performed for each food item that is predicted to go waste within a predetermined time period.
- the food management application 200 receives first inputs.
- the first inputs may include supplier inputs from the suppliers 240 mentioned above with respect to the channel analysis model 220 such as pick-up location, an expected price, any operational constraints, and any other input that may be needed or considered desirable to have in matching the predicted food waste to the customers 245.
- the food management application 200 receives second inputs.
- the food management application 200 may compare the first inputs and the second inputs, as well as the predicted food waste to identify one or more customer matches. For example, in some embodiments, the food management application 200 may identify a customer’s desired food items, a quantity of the desired food items, and a quality of the desired food items. The food management application 200 may then determine if the desired food items are available in the food items that are predicted to go waste in the process 400. For example, if the customer desires strawberries, the food management application 200 may determine if any quantity of strawberries are predicted to go waste (e.g., by the process 400) in the time period within which the customer desires to have strawberries.
- the food management application 200 may notify the customer that no strawberries are available. If the food management application 200 determines that strawberries are available within the desired time period, the food management application may determine the quantity of the food item (e.g., strawberries) that the customer desires and the quantity that is available (e.g., determined by the process 400). If the desired quantity is not available, the food management application 200 may identify the quantity of the food item that is available (e.g., desired quantity minus surplus quantity) for the customer to purchase. The food management application 200 may also determine if the food item that is available for the customer to purchase matches the desired quality of the food item. If the desired quality does not match the quality of the food item that is available, the food management application 200 may notify the customer that the food item is unavailable or that item of the specific quality is available.
- the quantity of the food item e.g., strawberries
- the food management application 200 may identify the quantity of the food item that is available (e.g., desired quantity minus surplus quantity) for the customer to purchase.
- the food management application 200 may also determine if
- the food management application 200 may also compare desired pick-up and drop-off locations. For example, if the customer desires to pick up the food item from location A and the food item is only available for pick up from location B different from location A, then the food management application 200 may notify the customer that the food item is only available for purchase from location B.
- the customer may specify the pick-up location as a particular distance from the customer’s location (e.g., the drop-off location). For example, the customer may desire to pick up the food item from no more than ten miles away. In such cases, the food management application 200 may determine if the food item is available within ten miles of the customer’s location.
- the food management application 200 may determine the cost of the food item that the customer is willing to pay (e.g., customer cost). The food management application 200 may compare the customer cost with the cost of the food item at which the supplier is willing to sell (e.g., supplier cost). If the supplier cost is higher than the customer cost, the food management application 200 may notify the customer that the food item is either not available or available to purchase at the supplier cost. If the supplier cost is lower than the customer cost, the food management application 200 may notify the customer that the food item is available to purchase (e.g., at the supplier cost or the customer cost). In some embodiments, the food management application 200 may use other mechanisms to determine a match between the predicted waste food items and the customer’s desired food items.
- the food management application 200 determines if the time to waste is greater than a predefined time threshold. Based on the comparison, the food management application 200 may present various options to the custom er/ supplier. For example, if the time to waste is greater than the predefined time threshold (e.g., the food item is not expiring within the predefined time threshold), at operation 530, the food management application 200 makes the food item available on the marketplace to allow the customer to but the food item. In some embodiments, the food management application 200 may also send an alert to the customer that the food item is ready for purchase. If the time to waste is less than or equal to the predefined time threshold, the food management application 200 does not make the food item available on the marketplace at operation 535.
- the predefined time threshold e.g., the food item is not expiring within the predefined time threshold
- the process 600 may be implemented by the food management application 200, and particularly by the transportation logistics model 225 (e.g., by the processor such as the CPU cores 130A-130N of the transportation logistics model) for identifying optimal transportation solutions for delivering the food items purchased by the customer.
- the process 600 may include other, additional, or different operations depending on the embodiment.
- the process 600 describes the operation 320 in greater detail.
- process 600 may be performed for each order placed by one or more customers within a time period (e.g., day, 2 days, one week, etc.) or orders to be fulfilled within a time period (e.g., a day, 2 days, one week, etc.).
- a time period e.g., day, 2 days, one week, etc.
- orders to be fulfilled within a time period e.g., a day, 2 days, one week, etc.
- the food management application 200 determines the pick-up location and the drop-off location of the food items purchased by the customers 245. In some embodiments, the food management application 200 may determine the pick-up location based on the pick-up location provided by the supplier providing the food items to be delivered. In some embodiments, the food management application 200 may determine the pick-up location in other ways. In some embodiments, the food management application 200 may determine the drop-off location based on the drop-off location provided by the customer. In some embodiments, the pick-up location may be the source and the drop-off location may be the final destination.
- the source and final destination there may be additional pickup and drop-off locations between the source and final destination. For example, if the supplier is delivering food items to two customers, customer 1 and customer 2, then the delivery to customer 1 may be a first drop-off location and delivery to customer 2 may be the final destination.
- the food management application 200 may determine that an order for the same customer (or another customer located within a predetermined distance of the initial customer) from another supplier may be picked up along the route between the source and the final destination. In such situations, the food management application 200 may have first pick-up location at the source, a second pick-up location at the other supplier, a first drop-off at a first customer, and a final destination at a second customer. Generally speaking, the food management application 200 may analyze all orders to determine a best route for delivery such that a maximum numbers of orders may be delivered in one round.
- the food management application 200 may identify one or more pick-up locations and one or more dropoff locations for one or more orders.
- the food management application 200 determines the total volume of all the food items to be delivered by each supplier along the route to one or more customers. By determining the volume of the food items, the food management application 200 may determine the size and type of the vehicle that may be needed for transporting the food items. For example, in some embodiments, the food management application 200 may determine that food items to be delivered include a dozen crates of eggs. In other embodiments, the food management application 200 may determine that the food items to be delivered includes a truck load of eggs. The size and type of vehicle to deliver a dozen crate of eggs may be different from delivering a truck load of eggs.
- the food management application 200 determines shipping requirements of the food items. For example, the food management application 200 may determine if the food items have to be delivered in refrigerated form for which a refrigeration capable vehicle may be needed. In some embodiments, the food management application 200 may determine if the food items have to be kept heated (e.g., cooked food) during transportation. In such embodiments, the food management application 200 may have to find a vehicle that is configured to transport food items in a heated state. In some embodiments, the food management application 200 may determine that the food items have to be transported in liquid form (e.g., molten chocolate).
- liquid form e.g., molten chocolate
- the food management application 200 may have to identify a vehicle that may be configured to transport food items in both heated (e.g., to keep chocolate molten) and in liquid form.
- the food management application 200 may also be able to determine if food items may be transported together, if all food items from a single order may be transported together, or multiple orders may be combined. For example, an order requiring certain food items to be transported in refrigerated form and other food items to be transported in heated form may not be combined together in a single delivery unless a vehicle is configured to transport food items in both refrigerated and heated form.
- the food management application 200 may determine any other shipping requirements that may be needed or considered desirable to have in determining the proper size and type of vehicle for transportation.
- the food management application 200 identifies an available one of the providers 250.
- the food management application 200 may identify the available provider based on the information obtained/determined at the operations 605-620. For example, in some embodiments, the food management application 200 may identify all providers that provide transportation of food items between the source and the final destination. In some embodiments, of all the providers that provide transportation between the source and final destination, the food management application 200 may determine which of those available providers are configured to meet the shipping requirements of the operation 615 and configured to carry the volume of food items of the operation 610. In some embodiments, the available provider may be a provider that is already heading towards the final destination and has cargo space available to carry the food items.
- the food management application 200 determines the provider cost of delivering the food items.
- the provider cost may include the total cost of delivering the food items to all the customers and picking up food items from all the suppliers on the route.
- the provider cost may be based on distance to be covered, the type and size of the transport (e.g., vehicle) provided, any company, federal, or state regulations or hours of service requirements, break/meal costs, toll fees, etc.
- the food management application 200 determines the total cost of fuel for delivering the food items.
- the food management application 200 may calculate the total cost of fuel based on the mileage of the transport (e.g., miles per hour) and the cost of fuel per unit (e.g., per gallon), as discussed above.
- the transport e.g., vehicle
- the cost of fuel may include the cost of charging the battery of the transport during delivery.
- the food management application 200 determines the total cost of delivery by adding the provider cost of the operation 625 and the cost of fuel of the operation 630.
- the food management application 200 may include any other cost (e.g., labor cost for loading and unloading, etc.) that may be incurred in delivering the food.
- the food management application 200 determines the total cost of food items to be delivered. The total cost of the food items may be computed by summing the cost of each food item being delivered. The cost of each food item may be determined based on the volume of the food item multiplied by the cost of the food item at which the food item was purchased by the customer.
- the food management application 200 compares the total cost of delivery of the operation 635 with the total cost of food items to be delivered. In some embodiments, if the food management application 200 determines that the total cost of delivery is higher than the total cost of food by a predetermined threshold, then at operation 650, the food management application 200 finds other options for delivering the food. For example, in some embodiments, depending on the expiration of food items, the food management application 200 may determine that delivery may be delayed to minimize carbon emissions and save cost. For example, if the food items being delivered include canned food with a longer shelf life, the food management application 200 may provide an option to delay the delivery. In some embodiments, the food management application 200 may attempt to find another provider with a lower cost of delivery.
- the food management application 200 may cancel the order (either fully or partially), or find other options for delivery (e.g., ask the customer to come pick up). In other embodiments, the food management application 200 may take other actions. If at the operation 645, the food management application 200 determines that the total cost of delivery from the operation 635 is less than or equal to the total cost of food items from the operation 640, the food management application selects the provider identified at the operation 625 for delivering the food items at operation 655.
- the food management application 200 may be configured to optimize transport logistics to minimize the cost of delivery and reduce carbon emissions, while ensuring that customers are able to receive their purchased food items.
- the process 700 may be implemented by the food management application 200, and particularly by the marketplace management system 230 (e.g., by the processor such as the CPU cores 130A-130N of the marketplace management system) for providing and managing a marketplace.
- the process 700 may include other, additional, or different operations depending on the embodiment.
- the process 700 describes the operation 315 in greater detail.
- the food management application 200 adds one or more items to the marketplace.
- the marketplace is on online website, portal, or e-commerce site from where the customers 245 may buy food items predicted to go waste.
- the marketplace may provide the customers 245 a dashboard through which transactions may be conducted.
- the marketplace may also provide a dashboard to the suppliers 240 to manage the placed orders and delivery logistics.
- the marketplace may connect the suppliers 240 with the customers 245 to identify, reduce, and manage food waste.
- the one or more food items added to the marketplace may be food items that the food management application 200 has predicted to go waste (e.g., in the process 400) and which have been matched with one or more of the customers 245 (e.g., in the process 500).
- the food management application 200 may add the food items to the marketplace that are predicted to go waste but have not yet been matched to any customer. [0091] In some embodiments, to add food items to the marketplace, the food management application 200 may receive an indication (e.g., input) of the food items to be added. For example, in some embodiments, the food management application 200 may receive a SKU number or other information associated with the food item to be added. At operation 710, the food management application 200 updates the inventory of the marketplace to add the one or more items. In some embodiments, the food management application 200 may maintain a current inventory of all food items that have been matched to one or more of the customers 245. As food items are matched and added to the marketplace, the inventory may be updated.
- the inventory of the food items being sold may be maintained in the form of a database.
- updating the inventory may include, for example, adding another row in the database table with the information of the food item being added.
- the information of the food item may include, for example, the SKU number, description of the food item, a manufacture date of the food item, an expiration date of the food item (e.g., use-by date, best-by date, etc.), a volume available of the food item, a price of the food item, brand and manufacturer information, condition of the food item (e.g., ripe, unripe, perfect, imperfect, etc.), country of origin, and any other details that the customers 245 may want to know before purchasing the food item.
- the food management application 200 receives an order for one or more food items.
- the marketplace may provide an order interface for allowing the customers 245 to browse the food items on the marketplace, add one or more selected food items to a shopping cart (e.g., a virtual shopping cart), and complete the order at operation 720 by providing payment information, delivery information (e.g., drop-off location), customer information, and any other information that may be needed to place an order.
- the marketplace may be configured to provide a unique shopping experience to each of the customers 245.
- the food management application 200 may be configured such that only items that are matched with a particular customer are visible to that customer only, for at least a period of time.
- the food management application 200 may assign an order number and order date to the order placed at the operation 720. In some embodiments, the food management application 200 may associate any special instructions that the customer may have provided at the time of placing the order. In some embodiments, the food management application 200 may also identify the purchased food items in the order and a total amount of the order. In some embodiments, upon receiving the order, the food management application 200 may make the order details available to the suppliers that will supply those purchased food items.
- the food management application 200 updates the inventory of the marketplace to remove the sold food items from the inventory. For example, when the inventory is maintained as a database, the food management application 200 may delete the rows associated with the sold food items. In some embodiments, the food management application 200 may update the rows to update the information of the food items. For example, if XI volume of a food item was available before the order and X2 volume was sold, the food management application 200 may update the inventory to reflect that (XI -X2) volume of the food item is still available for purchase. In some embodiments, the food management application 200 may update the inventory to remove food items when the food items have either expired or are within a predetermined number of days of expiration.
- the food management application 200 gathers order metrics from the marketplace.
- the order metrics may include order information such as the food items purchased, the identity of the customers buying the food items, the identity of the suppliers supplying the sold food items, total cost of the purchase, the number of days after being on the marketplace that the food items sold, date and time of sale, volume of the food items sold, food items not purchased, reasons for food items not purchased (e.g., identify reason why the food item is on marketplace, price, etc.), and any other information that may be needed or considered desirable to have in analyzing the impact of food waste reduction and increase accuracy of food waste prediction.
- order information such as the food items purchased, the identity of the customers buying the food items, the identity of the suppliers supplying the sold food items, total cost of the purchase, the number of days after being on the marketplace that the food items sold, date and time of sale, volume of the food items sold, food items not purchased, reasons for food items not purchased (e.g., identify reason why the food item is on marketplace, price, etc.), and any other information that may be needed
- FIG. 8 an example flowchart outlining operations of a process 800 is shown, in accordance with some embodiments of the present disclosure.
- the process 800 may be implemented by the food management application 200, and particularly by the analytics model 235 (e.g., by the processor such as the CPU cores 130A-130N of the analytics model) for providing analytics related data.
- the process 800 may include other, additional, or different operations depending on the embodiment.
- the process 800 describes the operation 325 in greater detail.
- the food management application 200 receives data from one or more sources.
- the food management application 200 may receive data from the suppliers 240.
- the food management application 200 may receive data from the customers 245.
- the food management application 200 may receive data from the providers 250. In some embodiments, the food management application 200 may receive data from one or more of the food waste prediction model 215, the channel analysis model 220, the transportation logistics model 225, or the marketplace management system 230. In some embodiments, the food management application 200 may receive data from other sources.
- Examples of the data that the food management application 200 may receive may include data such as the identity of the food items predicted to go waste, the volume of food items that are predicted to go waste, the identity of the suppliers that provide the predicted food waste food items, the quality of the food items that are predicted to go waste, the total cost of the food items if those food items are wasted, cost of transporting the wasted food items to landfill, any other cost of disposing the wasted food items, identity of customers that buy the food items predicted to go waste, the location of the suppliers 240 and the customers 245, identity and location of the providers 250 that assist with transportation of the food items, fuel cost, marketplace usage statistics, and any other information that may be needed or considered useful to have by the food management application 200.
- the food management application 200 analyzes the data received at the operation 805.
- the food management application 200 may analyze the data to determine, for example, cost savings, reduction in carbon emissions, the food items that were saved from going to waste, other types of impact on the climate from reducing food waste, diversion rate (e.g., the amount of food that was diverted from going to landfill by predicting the food waste in advance and allowing the customers to buy that food instead), optimization accuracy/utilization (e.g., how accurately the food waste was predicted, how accurately transportation logistics were determined, etc.), marketplace health such as how well is the marketplace working (e.g., number of crashes, etc.), number of orders placed on the marketplace, etc.
- diversion rate e.g., the amount of food that was diverted from going to landfill by predicting the food waste in advance and allowing the customers to buy that food instead
- optimization accuracy/utilization e.g., how accurately the food waste was predicted, how accurately transportation logistics were determined, etc.
- marketplace health such as how well is the marketplace working (e.g.
- Cost Savings reflect the costs of haulage and disposal of items that would have gone to the landfill. Reduction in carbon emissions estimates the number of trucks that would have gone to landfill and calculates gas and emissions. Diversion rate is a calculation of items placed on marketplace and sold versus not sold. Marketplace health is gathered from internal metrics such as platform stability. [0098]
- the food management application 200 generates one or more reports based on the analysis of the operation 810. These reports may be used to showcase the impact of reducing food waste (e.g., on the climate), cost savings, impact consumer behavior (e.g., encourage more customers to participate in reducing food waste, encourage more suppliers to participate in reducing food waste, etc.), helping suppliers more accurately determine demand, etc.
- FIGS. 9-20 example user interfaces of the marketplace are shown, in accordance with some embodiments of the present disclosure.
- FIGS. 9-13 show example user interfaces for the supplier dashboard to be used by the suppliers 240 and
- FIGS. 14-20 show example user interfaces for the customer dashboard to be used by the customers 245.
- the providers 250 may have a provider dashboard to plan for the transportation logistics.
- the user interfaces of FIGS. 9-20 are only an example and not intended to be limiting in any way. These user interfaces are not intended to show every detail that may be displayed on the supplier and customer dashboards. In other embodiments, other, additional, or different details may be shown on one or more of the user interfaces of FIGS. 9-20. Further, the shape, size, configuration, font size and type, and other details of how the information is displayed on the user interfaces may vary from one embodiment to another.
- the user interfaces of FIGS. 9-20 may be accessed through a marketplace website or mobile application, as discussed above with respect to FIG. 2.
- a marketplace application may be made available for access on a mobile device.
- the mobile device may include one or more circuits (e.g., one or more processors and non- transitory storage mediums housing one or more logics) that are structured to allow the mobile device to exchange data over a network (e.g., with the food management application 200), execute software applications, access websites, generate graphical user interfaces, and perform other operations described herein.
- the mobile device may include one or more of a smartphone or other cellular device, a wearable computing device (e.g., eyewear, a watch or bracelet, etc.), a tablet, a portable gaming device, a laptop, and other portable computing devices.
- the user may be required to first download a marketplace application prior to usage.
- a provider e.g., a software developer or publisher
- the executable file may be transmitted to the user’s mobile device and be installed on the mobile device.
- the marketplace application may be embodied on the mobile device as one or more processors and instructions stored in non-transitory memory that are executed by the one or more processors, along with hardware and associated logics depending on the operations performed by the marketplace application.
- the user may be taken to a home screen.
- the user upon installing the marketplace application and before allowing the user to access the home screen, the user may be presented with the terms of a “privacy policy” or other types of terms of agreement. The user may be required to accept the terms of the “privacy policy” or the other terms of agreement before proceeding to the home screen.
- the “privacy policy” or the other terms of agreement may be presented the first time the user opens the marketplace application upon installation.
- the “privacy policy” or the other terms of agreement may be presented to the user each time the user accesses (e.g., opens) the marketplace application.
- the “privacy policy” or any other terms of agreement may be presented to the user periodically.
- the user may be required to complete other actions upon installing the marketplace application before accessing the home screen.
- a home screen 900 of the supplier dashboard is shown, in accordance with some embodiments of the present disclosure.
- the user may be required to enter a username in a username field 905 and/or a password in a password field 910.
- the username to be entered in the username field 905 may be an email address or another username for a particular supplier.
- the password to be entered in the password field 910 may be a numeric, alphabetic, or alphanumeric number assigned to a particular supplier.
- other types of authentication may be used to authenticate the supplier before allowing the supplier to access additional screens of the marketplace application.
- the authentication via the username field 905 and the password field 910 may be skipped.
- the home screen 900 need not be presented. Rather, the interfaces discussed below (e.g., the interface of FIG. 10) may be presented instead.
- the usemame/password fields are used, upon entering the username and password in the username field 905 and the password field 910, respectively, the user may click on a login button 915.
- the home screen 900 may present an error message to the user on the display of the mobile device, or provide another indication (e.g., vibrate) to notify the user that the authentication information is incorrect.
- the marketplace application may be configured to allow the user to try a designated number of times to enter the correct username and password before locking the user out of the marketplace application. If the user is locked out of the marketplace application, in some embodiments, the user may be presented with contact information of an entity to unlock the marketplace application. In other embodiments, the marketplace application may present other options to the user to unlock the marketplace application or to complete the authentication process. [0105] Upon successful authentication, the marketplace application may allow the supplier to view the interfaces of FIGS. 10-13.
- FIG. 10 shows a user interface 1000 that provides a list 1005 of products 1007 that the supplier uploads for possible sale through the marketplace.
- the user interface 1000 may provide at least some of the first set of inputs of the operation 405 that the food management application 200 may use in predicting food waste.
- the list 1005 may display a variety of information such as an item number (e.g., SKU of the food item) 1010, a description 1015 of the food item, visibility 1020 indicating whether the associated food item is to be considered for predicting food waste or not, a total quantity (e.g., volume) 1025 of the associated food item initially available, promised or sold quantity 1030, currently available quantity 1035 (e.g., difference between the total quantity 1025 and the sold quantity 1030), expiration date 1040 of the associated food item, and price 1045 of the associated food item.
- the list may display other, additional, or different details than those shown for each food item in the list 1005.
- the supplier may add additional products to the list 1005 by clicking on button 1050.
- the supplier may also edit details of food items already on the list 1005 by selecting those items (e.g., by double clicking on the food item, etc.).
- the supplier may select that item to view a user interface 1100 of FIG. 11.
- the user interface 1100 may be similar to a dialog box that may open when the button 1050 is used.
- the user interface 1100 may provide one or more fields to allow the supplier to add or update the food items to be displayed on the list 1005.
- the user interface 1100 may show a description field 1105 (corresponding to the description 1015), a category of the food item 1110, an item number field 1115 (corresponding to the item number 1010), a price field 1120 (corresponding to the price 1045), an initial available quantity field 1125 (corresponding to the total quantity 1025), a sold quantity field 1130 (corresponding to the sold quantity 1030), a currently available quantity field 1135 (corresponding to the currently available quantity 1035), an expiration date field 1140, a shelf life field 1145 (e.g., expiration date minus current date), liability information 1150 (e.g., additional information related to quality, order information, and any other information that a customer may want to know before buying the food item), and supplier information 1155.
- a description field 1105 corresponding to the description 1015
- a category of the food item 1110 e.g., an item number field 1115 (corresponding to the item number 1010)
- a price field 1120 corresponding to the price 1045
- an initial available quantity field 1125 corresponding
- the food item of the user interface 1100 may be shown as visible on the list 1005.
- a hidden button 1165 the food item on the user interface 1100 may appear as invisible on the list 1005.
- the supplier may click on update button 1170 to update the listing of the food item on the list 1005.
- FIG. 12 shows an example user interface 1200 that provides the supplier information about orders 1205.
- the user interface provides a list 1210 of current orders, including when each order was placed, order details such as order number (e.g., #1000), customer name (e.g., Frodo Baggins), number of items in the order, current status of the order, and any other information that may be considered useful to show.
- order details such as order number (e.g., #1000), customer name (e.g., Frodo Baggins), number of items in the order, current status of the order, and any other information that may be considered useful to show.
- the user interface 1200 may also allow the supplier to search the orders using a search field 1215.
- the supplier may be provided with various filters 1220 by which to sort and filter the orders.
- FIG. 13 shows an example user interface 1300 where the supplier may add, delete, or update various configuration details 1305.
- the supplier may add, delete, or update liabilities information, add or change pick-up locations, etc.
- the user interface 1300 may be used to allow the supplier to add other or additional details.
- FIGS. 14-20 example user interfaces for a customer are shown, in accordance with some embodiments of the present disclosure.
- FIG. 14 shows an example home screen 1400 of the customer dashboard. Via the home screen 1400, the customer may be required to enter a username in a username field 1405 and/or a password in a password field 1410.
- the home screen 1400 may operate similar to the home screen 900 to authenticate the customer.
- the customer may access the user interfaces of FIGS. 15-20 upon successful authentication.
- FIG. 15 shows an example user interface 1500 that shows a marketplace 1505 showing a list of products 1510.
- the list of products 1510 includes those food items that the food management application 200 has determined as a match for the customer by way of channel analysis.
- the user interface 1500 may show the description of the food item, expiration date of the food item, an available quantity of the food item, and a price of the food item.
- the list of products 1510 may show additional details for each listed food item.
- the customer may purchase a food item from the list of products 1510 by clicking on a button 1515 and specifying the quantity of the food item desired, as shown in field 1520.
- the selected quantity of the food item may be added to a cart 1525 for check out and purchase.
- the user interface 1500 may also provide a search field 1530 to search, filter, and sort food items to be shown in the list of products 1510.
- the customer may also be able to view additional details of a particular food item by double clicking or selecting in another way a food item from the list of products 1510.
- An example of additional details that the customer may be able to view for a food item is shown in FIG. 16 in user interface 1600.
- User interfaces 1700-1900 of FIGS. 17-19 show how the customer may check out and complete the order purchase. After purchase, the customer may review the order on user interface 2000.
- the user interface 2000 may also be used to view past orders placed by the customer.
- control processor can synthesize a model for an FPGA.
- the control processor can synthesize a model for logical programmable gates to implement a tensor array and/or a pixel array.
- the control channel can synthesize a model to connect the tensor array and/or pixel array on an FPGA, a reconfigurable chip and/or die, and/or the like.
- a general purpose processor device can be a microprocessor, but in the alternative, the processor device can be a controller, microcontroller, or state machine, combinations of the same, or the like.
- a processor device can include electrical circuitry configured to process computer-executable instructions.
- a processor device includes an FPGA or other programmable device that performs logic operations without processing computer-executable instructions.
- a processor device can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
- a processor device may also include primarily analog components.
- some or all of the algorithms described herein may be implemented in analog circuitry or mixed analog and digital circuitry.
- a computing environment can include any type of computer system, including, but not limited to, a computer system based on a microprocessor, a mainframe computer, a digital signal processor, a portable computing device, a device controller, or a computational engine within an appliance, to name a few.
- a software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of a non-transitory computer- readable storage medium.
- An exemplary storage medium can be coupled to the processor device such that the processor device can read information from, and write information to, the storage medium.
- the storage medium can be integral to the processor device.
- the processor device and the storage medium can reside in an ASIC.
- the ASIC can reside in a user terminal.
- the processor device and the storage medium can reside as discrete components in a user terminal.
- Conditional language used herein such as, among others, “can,” “could,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without other input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment.
- any two components so associated can also be viewed as being “operably connected,” or “operably coupled,” to each other to achieve the desired functionality, and any two components capable of being so associated can also be viewed as being “operably couplable,” to each other to achieve the desired functionality.
- operably couplable include but are not limited to physically mateable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or logically interactable components.
- the phrase “A or B” will be understood to include the possibilities of “A” or “B” or “A and B.” Further, unless otherwise noted, the use of the words “approximate,” “about,” “around,” “substantially,” etc., mean plus or minus ten percent.
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- Human Resources & Organizations (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Reducing food waste includes receiving, from a first source, a first set of inputs associated with each of one or more food items, predicting, based on the first set of inputs, a first set of the one or more food items expected to go to waste within a predetermined time period, matching the first set of the one or more food items with a second source to identify a second set of the one or more food items from the first set of the one or more food items, adding the second set of the one or more food items to a database for purchase by the second source to reduce food waste, receiving a request from the second source to purchase at least one of the second set of the one or more food items, and updating the database responsive to the purchase.
Description
MANAGEMENT OF FOOD SUPPLY CHAIN
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001| This application claims the benefit of U.S. Provisional Application No. 63/486,189, filed February 21, 2023, which is incorporated by reference herein in its entirety.
FIELD
[0002] The present disclosure relates generally to food supply chain, and more particularly to predicting and managing food waste in the food supply chain.
BACKGROUND
[0003] Supply chain for the food industry may include multiple stakeholders, including for example, producers, distributors or suppliers, retailers, customers, and transportation providers. Fluctuations in demand, supply, recalls, damaged product, poor shelf-life expiration management, etc. by one or more of the stakeholders may lead to food waste. Food waste leads to loss in product value, increased cost of waste management, lost opportunity cost of space and labor, as well as increased greenhouse gas and methane emissions.
SUMMARY
[0004] Various aspects of the disclosure may now be described with regard to certain examples and embodiments, which are intended to illustrate but not limit the disclosure. Although the examples and embodiments described herein may focus on, for the purpose of illustration, specific systems and processes, one of skill in the art may appreciate the examples are illustrative only, and are not intended to be limiting.
[0005] In some aspects of the present disclosure, a system is disclosed. The system includes a memory having computer-readable instructions stored thereon and a processor that executes the computer-readable instructions to receive, from a first source, a first set of inputs associated with each of one or more food items, predict, using a first machine learning model and based on the first set of inputs, a first set of the one or more food items expected to go to waste within a predetermined time period, match, using a second machine learning model, the first set of the one or more food items with a second source based on a second set of inputs received from the second source to identify a second set of the one or more food items from the first set of the one
or more food items, add the second set of the one or more food items to a database for purchase by the second source to reduce food waste, receive a request from the second source to purchase at least one of the second set of the one or more food items, and update the database responsive to the purchase.
[0006] In some aspects of the present disclosure, a non-transitory computer-readable media comprising computer-readable instructions stored thereon is disclosed. The computer-readable instructions when executed by a processor causes the processor to receive, from a first source, a first set of inputs associated with each of one or more food items, predict, using a first machine learning model and based on the first set of inputs, a first set of the one or more food items expected to go to waste within a predetermined time period, match, using a second machine learning model, the first set of the one or more food items with a second source based on a second set of inputs received from the second source to identify a second set of the one or more food items from the first set of the one or more food items, add the second set of the one or more food items to a database for purchase by the second source to reduce food waste, receive a request from the second source to purchase at least one of the second set of the one or more food items, and update the database responsive to the purchase.
[0007] In some aspects of the present disclosure, a method is disclosed. The method includes receiving, from a first source, a first set of inputs associated with each of one or more food items, predicting, using a first machine learning model and based on the first set of inputs, a first set of the one or more food items expected to go to waste within a predetermined time period, matching, using a second machine learning model, the first set of the one or more food items with a second source based on a second set of inputs received from the second source to identify a second set of the one or more food items from the first set of the one or more food items, adding the second set of the one or more food items to a database for purchase by the second source to reduce food waste, receiving a request from the second source to purchase at least one of the second set of the one or more food items, and updating the database responsive to the purchase.
[0008] The foregoing summary is illustrative only and is not intended to be in any way limiting. In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features may become apparent by reference to the following drawings and the detailed description.
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] FIG. 1 is an example block diagram of a computing system implementing a food management application, in accordance with some embodiments of the present disclosure. [00101 FIG. 2 is an example block diagram showing additional details of the food management application of FIG. 1, in accordance with some embodiments of the present disclosure.
[0011] FIG. 3 is an example flow chart outlining operations of the food management application of FIG. 1, in accordance with some embodiments of the present disclosure.
[0012] FIG. 4 is an example flow chart outlining waste prediction operations of the process of FIG. 3 in greater detail, in accordance with some embodiments of the present disclosure.
[0013] FIG. 5 is an example flow chart outlining channel analysis operations of the process of FIG. 3 in greater detail, in accordance with some embodiments of the present disclosure.
[0014] FIG. 6 is an example flow chart outlining delivery logistics operations of the process of FIG. 3 in greater detail, in accordance with some embodiments of the present disclosure.
[0015] FIG. 7 is an example flow chart outlining operations for managing a marketplace provided by the food management application of FIG. 2, in accordance with some embodiments of the present disclosure.
[0016] FIG. 8 is an example flow chart outlining analytics operations of the process of FIG. 3 in greater detail, in accordance with some embodiments of the present disclosure.
[0017] FIGS. 9-13 provide example user interfaces of the food management application of FIG. 2 available to a supplier, in accordance with some embodiments of the present disclosure.
[0018] FIGS. 14-20 provide example user interfaces of the food management application of FIG. 2 available to a customer, in accordance with some embodiments of the present disclosure. [0019] The foregoing and other features of the present disclosure may become apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. Understanding that these drawings depict only several embodiments in accordance with the disclosure and are therefore, not to be considered limiting of its scope, the disclosure may be described with additional specificity and detail through use of the accompanying drawings.
DETAILED DESCRIPTION
[0020] In the following detailed description, reference is made to the accompanying drawings, which form a part hereof. In the drawings, similar symbols typically identify similar
components, unless context dictates otherwise. The illustrative embodiments described in the detailed description, drawings, and claims are not meant to be limiting. Other embodiments may be utilized, and other changes may be made, without departing from the spirit or scope of the subject matter presented here. It may be readily understood that the aspects of the present disclosure, as generally described herein, and illustrated in the figures, may be arranged, substituted, combined, and designed in a wide variety of different configurations, all of which are explicitly contemplated and made part of this disclosure.
[0021] The world faces a food crisis of unprecedented proportions. Despite the growing crisis, food waste continues to rise. Research has shown that approximately 30-50% of the food supply is wasted just in the United States every year. Food waste has far-reaching impacts. For example, by wasting food, food that could otherwise be consumed is sent to landfills. Precious resources such as water, labor, energy, etc. are consumed in producing, storing, transporting, and disposing off the food that ultimately goes to waste. Food waste may occur for a variety of reasons. For example, food waste may occur due to fluctuations in demand and supply. Food waste may occur because of damage caused during production, processing, storing, transporting, etc. in the food supply chain. Food waste may also occur due to poor shelf-life management or ordering surplus food. Food waste may lead to billions of dollars in lost revenue each year. Food waste also contributes to the climate change crisis. It has been estimated that food waste, in the United States alone, each year contributes to around one hundred and seventy million metric tons of carbon dioxide equivalent greenhouse gas emissions, not including the methane emissions from rotting food in landfills. Reducing food waste may improve food security, reduce loss of revenue, address climate change, and promote energy and resource conservation. [0022] Although a circular food movement is emerging, where for example, surplus food is brought to local food markets (e.g., local restaurants, food trucks, chefs, and community food groups), significant gaps and friction exists in the food supply chain in relation to food waste. For example, conventionally food waste is identified posteriori. By the time it is determined that food is likely to go waste, it may be already too late to upcycle or rescue that food. For example, because food may be too close to expiration and therefore unusable, upcyclers may be difficult to identify at the last minute, or transportation of food may be difficult to find at short notice.
[0023] Another problem that exists with conventional mechanisms of reducing food waste is that the various stakeholders are not connected with each other in any seamless fashion. For
example, a supplier that produces or supplies food may maintain its own warehouse or order management systems to maintain and track orders and inventory. Similarly, customers such as retailers or upcyclers such as restaurants, food banks, etc. may have their own order management systems that do not communicate with the supplier systems. Likewise, transportation providers may have their own transportation logistics systems that are completely uncoupled with the systems of the suppliers and customers. As a result of the disjointed systems and lack of information sharing, several inefficiencies result. For example, food waste is hard to identify. When a supplier identifies food waste, there is no way for a customer to know that surplus food is available that they may be able to purchase. Because there currently does not exist any suitable mechanism of identifying food waste, a supplier may not even be able to identify the food waste until it is too late. Likewise, the supplier and customer may be unable to timely secure transportation to transport the food items from the supplier to the customer due to invisibility in transportation provider logistics. Creating, running, and maintaining such separate computing systems by suppliers, customers, and transportation providers is inefficient, costly, and has minimal impact on food waste reduction.
[0024] From a technical standpoint, computing resources are wasted by having dis-jointed computing systems. Sending information across such dis-jointed systems increases network traffic (e.g., amount of data that moves across a network between the systems of the suppliers, customers, and transportation providers). Increased network traffic can increase operation latency (e.g., due to delay in data transmission), increase processor utilization (e.g., CPU utilization), increase errors in data transmission (e.g., data packet transmission failures), and increase susceptibility to network failures and fraudulent activity from unauthorized network snooping, among others. Facilitating communication between such dis-jointed systems also requires maintaining expensive and complicated network hardware and configurations such as routers, modems, buses, links, etc. Further, no current technical solutions exist that are able to predict food waste before the food actually becomes waste.
[0025] Thus, the present disclosure provides technical solutions that create a connectivity between various parties such as suppliers, customers, and transportation providers in a food supply chain. For example, the present disclosure provides a single, central interface (e.g., computing system) to suppliers, customers, and transportation providers. Each stakeholder may be provided their own dashboard to view, input, and manage their side of the information without interfering with the information of the other stakeholders. The interface may support a
machine learning platform that is configured to predict food waste in advance. The interface also provides a mechanism using machine learning to automatically match the predicted food waste to customers, send alerts to customers when matches are found, provide a marketplace for the customers to view and place orders, make the orders available to suppliers in real-time (or almost real-time), optimize transportation logistics, as well as run analytics and generate reports to quantity the impact of food waste reduction. Thus, the present disclosure provides a single platform that may be used by multiple stakeholders in an easy, convenient, and efficient way. Such an integrated interface reduces technical problems faced by dis-jointed systems of conventional designs. For example, the interface of the present disclosure reduces network traffic, thereby reducing the amount of data being sent across the network between multiple systems and reducing network latency, reducing the amount of memory needed to receive and store information from multiple stakeholders, reduce processor utilization, reduce loss in data packets during transmission, reduce susceptibility to network failures, hacks, fraudulent activity, and network snooping, as well as need for maintaining complicated network hardware.
[0026] The machine learning enhanced platform of the present disclosure leverages historical data and trends to accurately predict food waste, manage inventory, and provide an order management system in a one-stop solution that is convenient and easy to use by all stakeholders. By accurately predicting food waste and allowing that food to be consumed in a timely manner, the present disclosure reduces food waste, as well as addresses climate change by keeping food out of landfills (thereby reducing methane emissions), conserving resources (e.g., energy to produce, store, manage, transport food), and reduce greenhouse gas emissions by at least reducing transportation runs to the landfills.
[0027] Referring to FIG. 1, an example block diagram of a computing system 100 is shown, in accordance with embodiments of the present disclosure. The computing system 100 may be used for managing a food supply chain. The computing system 100 includes a host device 105 associated with a memory device 110. The host device 105 may be configured to receive input from one or more input devices 115 and provide output to one or more output devices 120. The host device 105 may be configured to communicate with the memory device 110, the input devices 115, and the output devices 120 via appropriate interfaces 125A, 125B, and 125C, respectively. The computing system 100 may be implemented in a variety of computing devices such as computers (e.g., desktop, laptop, servers, data centers, etc.), tablets, personal digital assistants,
mobile devices, other handheld or portable devices, or any other computing unit suitable for performing standard cell layout using the host device 105.
[00281 The input devices 115 may include any of a variety of input technologies such as a keyboard, stylus, touch screen, mouse, track ball, keypad, microphone, voice recognition, motion recognition, remote controllers, input ports, one or more buttons, dials, joysticks, and any other input peripheral that is associated with the host device 105 and that allows an external source, such as a user to enter information (e.g., data) into the host device and send instructions to the host device. Similarly, the output devices 120 may include a variety of output technologies such as external memories, printers, speakers, displays, microphones, light emitting diodes, headphones, video devices, camera devices, and any other output peripherals that are configured to receive information (e.g., data) from the host device 105. The “data” that is either input into the host device 105 and/or output from the host device may include any of a variety of textual data, signal data, graphical data, optical data, combinations thereof, or other types of analog and/or digital data that is suitable for processing using the computing system 100.
[0029[ The host device 105 includes or is associated with one or more processing units/processors, such as Central Processing Unit (“CPU”) cores 130A-130N. The CPU core 130A-130N may be implemented as an Application Specific Integrated Circuit (“ASIC”), Field Programmable Gate Array (“FPGA”), or any other type of processing unit. Each of the CPU cores 130A-130N may be configured to execute instructions for running one or more applications of the host device 105. One such application that the host device 105 may be configured to run is a food management application 135. The food management application 135 may be used by a user of the host device 105 to manage food waste. For example, the food management application 135 may be configured to predict food waste by identifying food items expected to go waste, perform channel analysis to match the food items expected to go waste to customers who can use the food items before becoming waste, send alerts to customers when matches are found, optimize transportation logistics to at least minimize carbon emissions, operate a marketplace to allow customers to purchase food items expected to go waste, and quantify impact of reduction of food waste. The food management application 135 may be executed by one or more of the CPU cores 130A-130N using the instructions associated with the food management application from the memory device 110. Although not shown, the food management application 135 may include or be associated with other types of software,
hardware, firmware, or combinations thereof that may be needed or considered desirable to have for performing the functions described herein.
[0030] In some embodiments, the instructions and data/databases needed to run the food management application 135 may be stored within the memory device 110. The host device 105 may also be configured to store the results of running the food management application 135 within the memory device 110. Thus, the host device 105 may be configured to communicate with the memory device 110 to perform a variety of operations. For example, the host device 105 may request the memory device 110 to read data, write data, update or delete data, and/or perform management or other operations.
[0031] Referring still to FIG. 1, the memory device 110 includes a memory controller 140 that is configured to read data from or write data to a memory array 145. In some embodiments, the memory array 145 may include types of volatile and/or non-volatile memories. For example, in some embodiments, the memory array 145 may also include NAND flash memory cores, NOR flash memory cores, Static Random Access Memory (SRAM) cores, Dynamic Random Access Memory (DRAM) cores, Magnetoresistive Random Access Memory (MRAM) cores, Phase Change Memory (PCM) cores, Resistive Random Access Memory (ReRAM) cores, 3D XPoint memory cores, ferroelectric random-access memory (FeRAM) cores, and other types of memory cores that are suitable for use within the memory array. Generally speaking, the memory array 145 may include any of a variety of Random Access Memory (RAM), Read-Only Memory (ROM), Programmable ROM (PROM), Erasable PROM (EPROM), Electrically EPROM (EEPROM), hard disk drives, flash drives, memory tapes, cloud memory, or any combination of primary and/or secondary memory that is suitable for performing the operations described herein. [0032] The memories within the memory array 145 may be individually and independently controlled by the memory controller 140. In other words, the memory controller 140 may be configured to communicate with each memory within the memory array 145 individually and independently. By communicating with the memory array 145, the memory controller 140 may be configured to read data from or write data to the memory array in response to instructions received from the host device 105. Although shown as being part of the memory device 110, in some embodiments, the memory controller 140 may be part of the host device 105 or part of another component of the computing system 100 and associated with the memory device. The memory controller 140 may be implemented as a logic circuit in either software, hardware, firmware, or combination thereof to perform the functions described herein. For example, in some
embodiments, the memory controller 140 may be configured to retrieve the instructions associated with the food management application 135 stored in the memory array 145 of the memory device 110 upon receiving a request from the host device 105.
[0033| It is to be understood that only some components of the computing system 100 are shown and described in FIG. 1. However, the computing system 100 may include other components such as various batteries and power sources, networking interfaces, routers, switches, external memory systems, controllers, etc. Generally speaking, the computing system 100 may include any of a variety of hardware, software, and/or firmware components that are needed or considered desirable in performing the functions described herein. Similarly, the host device 105, the input devices 115, the output devices 120, and the memory device 110 including the memory controller 140 and the memory array 145 may include other hardware, software, and/or firmware components that are considered necessary or desirable in performing the functions described herein.
[0034] Referring to FIG. 2, an example block diagram of a food management application 200 is shown, in accordance with some embodiments of the present disclosure. The food management application 200 is an example implementation of the food management application 135 of FIG.
1. Thus, although not shown, the food management application 200 may be associated with a host device (e.g., the host device 105) and other elements described above in FIG. 1. The food management application 200 may be used to manage food waste. Although this disclosure has been described in the context of food, in other embodiments, this disclosure may be applicable in non-food areas where identification/prediction of waste and management of waste is desired. “Food” as used herein includes edible items including raw materials or ingredients such as vegetables, fruits, meats, dairy, eggs, beverages, water, etc., and processed food such as canned food, cooked food, etc. In general, “food” or “food items” may include any carbohydrates, fats, proteins, and other solid, liquid, and fluid nutrients that may be consumed by an organism (e.g., animals, humans, etc.) to sustain growth, repair, and other vital processes, as well as provide energy. “Food waste” as used herein may include food that is suitable for consumption (e.g., by humans) but is consciously discarded for any reason (e.g., past expiration date) to end up in a landfill.
[0035] The food management application 200 may provide a user interface 205 that serves as the front end of the food management application. In some embodiments, the food management application may be accessed through the user interface 205 via an Application Programming
Interface (“API”) 210. Specifically, to access the food management application 200 via the user interface 205 using the API 210, a user may use designated devices such as laptops, desktops, tablets, mobile devices, other handheld or portable devices, and/or other types of computing devices that are configured to access the API. In some embodiments, these devices may be different from the computing device on which the food management application 200 is installed. In other embodiments, the food management application 200 may be hosted on a cloud service and may be accessed through the cloud via a web or mobile application.
[0036] In some embodiments, the user may access the user interface 205/the food management application 200 via a web browser, upon entering a uniform resource locator (“URL”) for the API 210 such as the IP address of the food management application 200 or other designated web address. In some embodiments, the user interface 205/the food management application 200 may be accessed via a mobile application downloaded to a mobile device. In other embodiments, the user interface 205/the food management application 200 may be configured for access in other ways. In some embodiments, a user of the food management application 200 may be a food producer, food distributer or supplier, customer, transportation provider, or any other stakeholder in a food supply chain. Generally speaking, the user of the food management application 200 may be any personnel, company, or entity that may be interested at least in the reducing and/or managing food waste.
[0037] Further, upon accessing the user interface 205/the food management application 200, users may send instructions or queries to the food management application and receive information back from the food management application via the user interface. Thus, the user interface 205 facilitates human-computer interaction between the users and the food management application 200. In some embodiments, the user interface 205 may present a graphical user interface (“GUI”) to a user to receive input from and provide output to the user. The GUI may present a variety of graphical icons, windows, visual indicators, menus, visual widgets, and other indicia to facilitate user interaction. In other embodiments, the user interface 205 may be configured as other types of user interfaces. Further, the user interface 205 may be configured to receive user inputs in a variety of ways. In some embodiments, the user interface 205 may be configured to receive user inputs via the input devices 115. In other embodiments, the user interface 205 may be configured to receive the user inputs in other ways. The user interface 205 may also be configured to present outputs/information to the users in a variety of ways. In some embodiments, the user interface 205 may present outputs to the user via the
output devices 120. In other embodiments, the user interface 205 may be configured to present the outputs in other ways (e.g., audible, tactile, or visual alarms, etc.). Generally speaking, the user interface 205 may be associated with any type of hardware, software, and/or firmware component that enables the food management application 200 to perform the functions described herein.
[0038] Further, in some embodiments, the API 210 that is used to communicate with the food management application 200 via the user interface 205 may be a representational state transfer (“REST”) type of API. In other embodiments, the API 210 may be any other type of web or other type of API (e.g., ASP.NET) built using any of a variety of technologies, such as Java, .Net, etc., that is suitable for facilitating communication between the food management application 200 and the users via the user interface 205. In some embodiments, the API 210 may be configured to facilitate communication via a hypertext transfer protocol (“HTTP”) or hypertext transfer protocol secure (“HTTPS”) type request. The API 210 may receive an HTTP/HTTPS request and send an HTTP/HTTPS response back. In other embodiments, the API 210 may be configured to facilitate communication using other or additional types of communication protocols.
[0039] The food management application 200 may further include a food waste prediction model 215, a channel analysis model 220, a transportation logistics model 225, a marketplace management system 230, and an analytics model 235. Although the food waste prediction model 215, the channel analysis model 220, the transportation logistics model 225, the marketplace management system 230, and the analytics model 235 are shown as separate components herein, in other embodiments, one or more of those components may be combined together and the combined component may perform the operations of the individual components that were combined. Further, although not shown, each of the food waste prediction model 215, the channel analysis model 220, the transportation logistics model 225, the marketplace management system 230, and the analytics model 235 may be configured as software, hardware, firmware, or combinations thereof and may be associated with a memory (e.g., the memory device 110) and a processor (e.g., the CPU cores 130A-130N) to perform the various functions described herein.
[0040] The processor may be implemented in hardware, firmware, software, or any combination thereof and may be configured for executing an instruction. “Executing an instruction” means that the processor performs the operations called for by that instruction. The processor may
retrieve a set of instructions from a memory (e.g., the memory device 110) for execution. For example, in some embodiments, the processor may retrieve the instructions from a permanent memory device like a read only memory (ROM) device and copy the instructions in an executable form to a temporary memory device that is generally some form of random access memory (RAM). The ROM and RAM may both be part of the memory device 110. The processor may be a special purpose computer, and include logic circuits, hardware circuits, etc. to carry out those instructions. The processor may include a single stand-alone processing unit, or a plurality of processing units that use the same or different processing technology. The instructions may be written using one or more programming language, scripting language, assembly language, etc.
[0041] The food waste prediction model 215 may be used to predict food waste. Prediction of food waste may include forecasting, determining, or identifying that a food item is expected to become waste before that food item actually becomes waste. The food waste prediction model 215 may include a machine learning or artificial intelligence engine or model that is trained to predict food waste based on a variety of inputs. In some embodiments, the food waste prediction model 215 may be configured to output a list of one or more food items that are expected to become waste. In some embodiments, the food waste prediction model 215 may also output a risk score indicative of a probability or likelihood that a food item will go waste. In some embodiments, a higher risk score may be associated with a greater probability that a food item will go waste compared to a lower risk score. In some embodiments, the food waste prediction model 215 may be trained using training data. In some embodiments, the inputs to the food waste prediction model 215 may be dependent upon the type of food item. For example, in some embodiments, a first set of inputs may be suitable for dairy products while a second set of inputs may be relevant for fruits and vegetables. In some embodiments, an initial set of inputs that may be used. As the food waste prediction model 215 is trained, additional types of inputs considered relevant may be included or previously used inputs may be removed. By using inputs relevant for each type of food item, a bias (e.g., under fit) or high variance (e.g., over fit) in the training model of the food waste prediction model 215 may be avoided.
[0042] In some embodiments, the food waste prediction model 215 may be continuously trained to improve accuracy. In some embodiments, the food waste prediction model 215 may be trained with different set of inputs/algorithms against a training set and test set. The set of inputs/algorithm which yields the best results on test data may be selected as the food waste
prediction model 215. Thus, in some embodiments, the food waste prediction model 215 may be trained with different set of inputs and/or different machine learning/artificial intelligence algorithms. Specifically, to train the food waste prediction model 215, in some embodiments, the input data (described below) that is input into the food waste prediction model 215 may be split into a training set and a test set. The food waste prediction model 215 may be trained by applying various machine learning algorithms on the training set. After the food waste prediction model 215 is trained using a particular algorithm and the training set, the food prediction model may be applied using the particular algorithm to the corresponding test set. The algorithm that yields the best results relative to other algorithms may be selected as the algorithm for the food waste prediction model 215. Similarly, the inputs in the test /training sets that yield the best results may be selected for the food waste prediction model 215 for a particular type of food item.
[0043| In some embodiments, the food waste prediction model 215 may be trained using a single training set and varying the machine learning algorithms that are applied on the training set to identify the most suitable algorithm. In other embodiments, a single machine learning algorithm may be applied to various training sets to identify the most suitable set of inputs for a particular type of food item. In yet other embodiments, the food waste prediction model 215 may be trained to vary both the training set and the machine learning algorithms. In some embodiments, the algorithms that may be used to train the food waste prediction model 215 may include a Feedforward Artificial Neural Network, particularly a Multi-layer Perceptron ANN (artificial neural network), other types of neural networks or machine learning algorithms, including other configurations of the Feedforward Artificial Neural Network, other neural networks, or other machine learning algorithms may be used.
[0044] Further, in some embodiments, as part of training the food waste prediction model 215, weights that are applied to the various inputs in the machine learning algorithm may be modified. In other words, the weights may be dynamic. Specifically, some inputs may contribute more to the prediction than other inputs. Depending upon the type of food item, different inputs may have a different impact on the food waste prediction. For example, in some embodiments, expiration date for perishable items (e.g., dairy) may have a higher impact on the food becoming waste relative to food items that have long shelf-lives (e.g., canned food). Thus, for perishable food items, expiration date may be accorded a higher weight. To quantify the effect of the differences in these inputs, different weights may be assigned to each input. In
some embodiments, food suppliers or distributors or other users of the food waste prediction model 215 may configure weights based on business operations. In some embodiments, the weights may be evenly distributed across the various inputs (e.g., the same weight may be used for each input). In other embodiments, other factors may be used to accord weights to the various inputs.
[0045] In some embodiments, the weights that are used during training the food waste prediction model 215 may be determined internally by the neural network (e.g., the machine learning algorithm). For example, in some embodiments, a cost function for the average difference between computed results obtained from the training set and actual outputs generated by the neural network may be defined. The neural network may be configured to optimize this cost function by tuning the weights for different layers. In other embodiments, the weights may be determined in other ways. Thus, optimized weights to be applied may be determined during training.
[0046] In some embodiments, data that is input into the food waste prediction model 215 may be pre-processed. For example, in some embodiments, input data may be converted from nonnumeric into numeric. In other embodiments, the input data may be converted from a first format into a second format such as a standardized or normalized format. In other embodiments, yet other types of pre-processing may be performed. In some embodiments, the pre-processing that is performed may be based on the machine learning algorithm that is used. In other embodiments, the pre-processing may be based on other factors. In some embodiments, no preprocessing may be performed. Similarly, in some embodiments, the outputs from the food waste prediction model 215 may be post-processed. The post-processing operations may include numeric-non-numeric conversion, non-numeric to numeric conversion, format changes, etc. In some embodiments, no post-processing may be performed.
[0047] Thus, in some embodiments, the food waste prediction model 215 may be trained using a variety of training input data to predict food waste. Upon training, the food waste prediction model 215 may be used to predict food waste using actual input data. The input data (whether training or actual) that may be used with the food waste prediction model 215 may include data that is received from one or more suppliers 240. The suppliers 240 may include any persons, organizations, vendors, or entities that produce, sell, or facilitate selling of food to consumers (e.g., retailers, wholesalers, people, restaurants, food banks, pantries, organizations, entities, etc.). In some embodiments, the input data may come from other sources. Examples of the
input data (whether training or actual) that may be used for the food waste prediction model 215 may include identity of food item (e.g., strawberries, eggs, milk, etc.), product category (e.g., fruit, vegetable, dairy, canned food, etc.), total quantity of food item including current inventory of the food item and expected quantity of the food item (e.g., volume that is expected to become available for sale), sold quantity of the food item, current available quantity of the food item, expiration date of the food item (e.g., use-by date, best-by date, etc.), quality (e.g., ripe, overripe, un-ripe, etc.) of food item indicative of the food item’s taste, texture, appearance, smell, and other attributes indicative of whether the food item is consumable, seasonality data indicative of the season when the food item is typically grown and/or sold, order information such as current unfulfilled orders for the food item, past filled orders for the food item, sell rate (e.g., typical number of days in which the food item sells, quantity of food item that sells), cancelled orders (e.g., orders that were placed but cancelled before filling), and any other food or order related data that may be needed or considered desirable to have in predicting food waste. Prediction of food waste is discussed in greater detail in FIG. 4.
[0048] The channel analysis model 220 may be used for matching the predicted food waste with one or more customers 245, also referred to herein as rescuers. The customers or rescuers may be people, organizations, food banks, pantries, charities, co-operatives, restaurants, retailers, chefs, food carts, etc. that may purchase the food items predicted to go waste. In some embodiments, the customers 245 may be able to purchase the food items at a lower cost relative to the retail cost. The channel analysis model 220 may include a machine learning or artificial intelligence engine or model that is trained to match the predicted food waste with one or more of the customers 245 based on a variety of inputs. The training of the channel analysis model 220 may occur in a similar way as the food waste prediction model 215, albeit with different inputs, and is therefore not described again. The inputs for the channel analysis model 220 may include first inputs provided by the suppliers 240 and second inputs provided by the customers 245. In some embodiments, the first inputs may include a pick up location from where the customer would have to pick up the food items, an expected price for selling the food items, quantity of food item available, any operational constraints, and any other input that may be needed or considered desirable to have in matching the predicted food waste to the customers 245. In some embodiments, the second inputs may include food items desired, quantity of the food item desired, time period within which the food item is desired, pick-up locations, drop-off locations, cost sensitivity (e.g., how much is the customer willing to pay for a food item), quality
preference (e.g., perfect, imperfect), product categories, and any other inputs that may be needed or considered desirable to have in matching the predicted food waste to the customers 245. The channel analysis is described in FIG. 5.
[0049] The transportation logistics model 225 may be configured to optimize freight and delivery logistics for delivering, by providers 250, the food items purchased by the customers 245. For example, in some embodiments, the transportation logistics model 225 may be configured to reduce a cost of delivery of the food items to the customers 245. In some embodiments, the transportation logistics model 225 may be configured to minimize greenhouse gas emissions of delivering the food items to the customers 245. For example, in some embodiments, the transportation logistics model 225 may identify the providers 250 that are located closer to the customers 245. In some embodiments, the transportation logistics model 225 may identify the providers 250 that are already headed in the direction of the customers 245 to avoid a separate trip for delivering the food items. In some embodiments, the transportation logistics model 225 may optimize the frequency with which the food items are delivered to the customers 245. For example, in some embodiments, depending on one or more factors such as the type of food items purchased, the location of the customers 245, the overall cost of delivering, the volume of food being delivered, etc., the transportation logistics model 225 may postpone delivery of the food items to the customers 245, find alternate mechanisms to get the food items to the customers, or suggest other actions. The providers 250 may include transportation carriers such as trucking companies, food delivery companies, or other types of entities that may transport and haul food through road, air, or water between the pick-up location and the drop-off location.
[0050] The transportation logistics model 225 may include a machine learning or artificial intelligence engine or model that is trained to match the optimize delivery and freight logistics based on a variety of inputs. The training of the transportation logistics model 225 may occur in a similar way as the food waste prediction model 215, albeit with different inputs, and is therefore not described again. To optimize delivery and freight logistics, the transportation logistics model 225 may receive one or more inputs from the suppliers 240 that are supplying the food items, the customers 245 that are receiving the food items, and/or the providers 250 that provide freight and transportation services. For example, the suppliers 240 may provide the pick-up location of the food items and the customers 245 may provide the drop-off location of the food items to the transportation logistics model 225. The pick-up and drop-off locations
may be in the form of an address, latitude and longitude coordinates, or in any other form that identifies the location from where the food items are to be picked up. The transportation logistics model 225 may receive the volume of food items to be delivered, the type and category of food items to be delivered, shipping requirements indicative of whether the food items have to be shipped or maintained a certain way during transportation (e.g., refrigerated, heated, etc.), cost of making the delivery (e.g., fees charged by the transportation carriers), total cost of the food to be delivered, and any other input that may be needed or considered useful to have by the transportation logistics model 225 in optimizing the delivery logistics.
[0051] In some embodiments, the transportation logistics model 225 may also compute the fuel costs associated with delivering the food items. For example, in some embodiments, the transportation logistics model 225 may determine the distance between the pick-up location and the drop-off location. The transportation logistics model 225 may also determine the cost of fuel (e.g., cost of each gallon of fuel). Based on the distance and the cost of fuel, the transportation logistics model 225 may compute the total cost of fuel needed to deliver the food. For example, the transportation logistics model 225 may divide the total distance between the pick-up and drop-locations by the mileage (e.g., miles per hour) of a particular vehicle (e.g., truck) transporting the food items to obtain a total amount of fuel needed (e.g., in gallons). Then the transportation logistics model 225 may multiple the amount of fuel needed with the price of fuel per unit (e.g., price of each gallon of fuel). Based on the total cost of fuel, the transportation logistics model 225 may decide transportation options. The transportation logistics are discussed in more detail in FIG. 6.
[0052] The marketplace management system 230 may be configured to provide and manage a marketplace and inventory management system. For example, the marketplace management system 230 may make the food items that are identified by the channel analysis model 220 available in a marketplace for the customers 245 to purchase. In some embodiments, the marketplace management system 230 may manage inventory of the food items on the marketplace. For example, the marketplace management system 230 may update the inventory to remove the food items from the inventory when those food items are sold. The marketplace management system 230 may add newly added food items to the inventory. In some embodiments, the marketplace management system 230 may associate a variety of data with each food item that is being sold through the marketplace. The marketplace may also include an order management system such that the customers 245 may place orders for the food items on
the marketplace and those orders may instantly (or substantially instantly) be available for handling by the suppliers 240. In some embodiments, the marketplace management system 230 receive one or more inputs from the suppliers 240 regarding each food item such as a Stock Keeping Unit (SKU) number of another identifier to uniquely identify the food item, a description of the food item, a manufacture date of the food item, an expiration date of the food item (e.g., use-by date, best-by date, etc.), a volume of the food item, a price of the food item, brand and manufacturer information, condition of the food item (e.g., ripe, unripe, perfect, imperfect, etc.), country of origin, and any other details that the customers 245 may want to know before purchasing the food item.
[0053] The marketplace management system 230 may create, maintain, and update various databases. For example, the marketplace management system 230 may include a database that manages the inventory of the food items being sold through the marketplace (egg food items predicted to go waste). In some embodiments, the marketplace management system 230 may maintain one or more databases such that a customer is only able to view the food items that have been matched with that customer. In some embodiments, the marketplace management system 230 may include a database for the suppliers 240 to maintain supplier information a database for the customers to maintain customer information, a database to store order related information, etc. In some embodiments, the marketplace management system 230 may include other or additional types of databases. In some embodiments, at least some of these databases may be combined into a single database. In some embodiments, the marketplace management system 230 may be configured as an isolated tenant based system such that one stakeholder is a separate tenant in the system and prevented from viewing the information of another stakeholder, thereby increasing security. Thus, in some embodiments, the marketplace management system 230 may maintain one or more database to store and manage a variety of information in a variety of ways.
[0054] The marketplace management system 230 may present a dashboard to the suppliers 240 and the customers 245. The dashboard that the suppliers 240 see may be different from the dashboard that the customers 245 see. For example, the supplier dashboard visible to the suppliers 240 may allow the suppliers to view new and existing orders, view status of orders, manage outbound logistics, edit order information, input and edit data related to the food items, etc. The customer dashboard visible to the customers 245 may allow the customers to browse food items available for sale on the marketplace, add the food items to a cart for purchase,
complete purchase, view the status of submitted orders, track delivery logistics, etc. The marketplace management system 230 is discussed in more detail in FIG. 7. Examples of various customer and supplier dashboards are shown in FIGS. 9-20.
[0055] The analytics model 235 may be configured to analyze one or more metrics to quantify the impact of reducing food waste. For example, in some embodiments, the analytics model 235 may be used to calculate the amount of food that is rescued from going to waste, the amount of money saved by preventing food from going waste, measure climate impact in terms of reduction in carbon emissions, analyze health of the marketplace, and measure other indicia that may be desired or considered useful to measure. In some embodiments, these analytics may be used to change, shape, or impact user behavior such as encouraging more customers to purchase food that may go waste. In other embodiments, the analytics may be used for other purposes and generating one or more reports. The analytics model 235 is discussed in greater detail in FIG. 8.
[0056] It is to be understood that only some components of the food management application 200 are shown and described in FIG. 2. However, the food management application 200 may include or be associated with any of a variety of hardware, software, and/or firmware components that are needed or considered desirable in performing the functions described herein.
[0057] Turning to FIG. 3, an example flowchart outlining operations of a process 300 is shown, in accordance with some embodiments of the present disclosure. The process 300 may be implemented by the food management application 200, and particularly by one or more processor associated with the food waste prediction model 215, the channel analysis model 220, the transportation logistics model 225, the marketplace management system 230, and the analytics model 235 of the food management application. The process 300 may include other, additional, or different operations depending on the embodiment.
[0058] At operation 305, the food management application 200 predicts food waste. Specifically, the food management application 200 may identify one or more food items that are expected to go waste within a predetermined time period. For example, the food management application 200 may predict that X quantity of strawberries may go waste by Y date. At operation 310, the food management application 200 performs channel analysis to match the food items predicted to go waste at the operation 305 with one or more of the customers 245. At operation 315, the food management application 200 makes the matched food items at the
operation 310 available in a marketplace to allow the customers 245 to purchase the food items of desired. In some embodiments, the food management application 200 may also send an alert or notification to the customers 245 when a match between the food items and a customer is found. For example, when the food management application 200 determines that customer A is looking for strawberries and food management application has identified strawberries that are predicted to go waste, the food management application may alert the customer A that strawberries are available for purchase via the marketplace. At operation 320, the food management application 200 optimizes delivery logistics to facilitate delivery of the food items purchased by the customers 245 at the operation 315. At operation 325, the food management application 200 analyzes the impact of saving the food items that otherwise could have gone to waste. Each operation of the process 300 is described in greater detail in FIGS. 4-8 below. [0059] Turning now to FIG. 4, an example flowchart outlining operations of a process 400 is shown, in accordance with some embodiments of the present disclosure. The process 400 may be implemented by the food management application 200, and particularly by the food waste prediction model 215 for predicting food waste (e.g., by the processor such as the CPU cores 130A-130N of the food waste prediction model). The process 400 may include other, additional, or different operations depending on the embodiment. The process 400 describes the operation 305 in greater detail.
[0060] The process 400 may be used to predict food waste by identifying one or more of predicted sale patterns, predicted quantity, or predicted quality of food, applying variability and seasonality, and identifying pattern exceptions in one or more of the sales, quantity, and quality. In some embodiments, the process 400 may predict food waste for a single food category (e.g., fruits, vegetables, dairy, meats, etc.). For example, the process 400 when predicting “fruit” waste may predict that strawberries and blueberries are expected to go waste. In some embodiments, the process 400 may predict food waste for a particular food type (e.g., particular type of fruit) in a food category. For example, the process 400 may analyze data associated with strawberries to predict what quantity of strawberry may go waste. In some embodiments, the process 400 may predict food waste from a single one of the suppliers 240. For example, the process 400 may receive inputs (whether for a particular food category or food type) from a single supplier and predict food items offered by that supplier that are expected to go waste. In some embodiments, the process 400 may determine food waste from each supplier separately and combine the identified items to determine a total food waste. For example, in some
embodiments, the process 400 may determine that XI quantity of strawberry from supplier 1 is predicted to go waste within a predetermined time period and X2 quantity of strawberry from supplier 2 is predicted to go waste within the predetermined time period. Thus, the total quantity of strawberries predicted to go waste in the predetermined time period is XI + X2. In some embodiments, the process 400 may receive inputs (whether for a particular food category or food type) simultaneously from multiple ones of the suppliers 240 and predict food waste from all those suppliers. In other embodiments, the process 400 may be used to predict food waste in other configurations. The process 400 below is described for predicting food waste for a particular food item (whether from a single supplier or from multiple suppliers). However, the process 400 may be used for predicting food waste in other configurations mentioned above. [0061] To predict food waste, the food management application 200 receives a first set of inputs at operation 405. The first set of inputs may include the one or more inputs described above with respect to the food waste prediction model 215. The first set of inputs may be received from one or more of the suppliers 240. In some embodiments, the first set of inputs may be received via the supplier dashboard discussed in FIGS. 10 and 11. In other embodiments, the first set of inputs may be received in other ways. Generally speaking, in some embodiments, the first set of inputs may include transaction data, product data, and/or sales data. The first set of inputs may be stored within one or more database tables, look-up tables, or other query-able forms. These tables may be queried to identify patterns. Based on the identified patterns, artificial intelligence or business intelligence may be applied to determine expected patterns and variances from the expected patterns.
[0062] At operation 410, the food management application 200 predicts a sales pattern from the first set of inputs for each food item. For example, the food management application 200 may determine a number of orders that are received to be fulfilled within the predetermined time period. The food management application 200 may also determine how likely is it that the food item may be sold within the predetermined time period. For example, if the predetermined time period is a week, the food management application 200 may determine the likelihood that the food item will be sold within the week. The food management application 200 may also consider seasonality information in determining the sales pattern. For example, in some embodiments, the food management application 200 may determine that strawberries are sold at a higher rate during summer time (e.g., between the months of May and August) than during winter months (e.g., between the months of November and February). Thus, from analyzing
data from the past predetermined number of months (e.g., 13 months) to abstract from holiday s/seasonality, an expected rate-of-sale may be determined. This expected rate-of-sale may then be compared with “on hand” or available quantity to identify exceptions and outliers. [0063] At operation 415, the food management application 200 predicts a quantity of the food item predicted to be available within the predetermined time period that is expected to go waste if not sold. For example, in some embodiments, the food management application 200 may determine a first quantity of the food item that is currently available and a second quantity of the food item that is expected to become available (e.g., because food item is in transit to the supplier) within the predetermined time period. Thus, the food management application 200 may determine that the total quantity of the food item that may be available within the predetermined time period may be a sum of the first quantity and the second quantity. The food management application 200 may also determine the total quantity of the food item that is predicted to be sold within the predetermined time period. For example, in some embodiments, the food management application 200 may determine all the orders to be filled within the predetermined time period and the quantity of the food item needed for filling those orders. In some embodiments, the orders to be filled may include the total number of orders placed that are to be completed (e.g., shipped out by) within the predetermined time period minus the total number of orders that were initially placed for the predetermined time period but cancelled. For example, if the food management application 200 determines that five orders were initially received to be completed by the end of one week and two of those five orders were either cancelled or pushed out to be completed by end of two weeks, the food management application may determine five minus two or three orders need to be filled by the end of the week.
[0064] The food management application 200 may also determine the quantity of the food item requested in the orders to be filled. Continuing with the example above, if the food management application 200 determines that a first order is for Al quantity of the food item, a second order is for A2 quantity of the food item, and a third order is for A3 quantity of the food item, the food management application may determine that the total quantity of the food item needed by the end of the week is Al + A2 + A3. The food management application 200 may compare this required quantity with the total quantity of the food item that may be available within the predetermined time period to predict the available quantity of the food item at the end of the predetermined time period. For example, the food management application 200 may subtract
the total quantity that is available and the total quantity expected to be sold to predict the surplus quantity of the food item that is predicted to go waste.
[00651 In other embodiments, the food management application 200 may also consider the expiration date and/or quality of the food item in determining the available quantity of the food item. For example, in some embodiments, the food management application 200 may identify the quantity of the food item that is expected to expire within a given time frame of the predetermined time period. For example, in some embodiments, if the predetermined time period for predicting waste is one week, the food management application 200 may identify the quantity of strawberries that may expire, for example, three days after the one week predetermined time period. In some embodiments, the food management application 200 may not count any quantity of the food item that expires after the time frame. For example, any quantity of strawberries that expires five days after the week may be excluded from the available quantity since that quantity of strawberry may still be sold. In some embodiments, the food management application 200 may also remove the quantity of food item that is already expired or within a predetermined threshold number of days of expiration. For example, in some embodiments, if the predetermined time period is one week, the food management application 200 may exclude all quantities of the food item that is expiring before the expiration of that one week. In some embodiments, the food management application 200 may also exclude all strawberries that are expiring one day after the expiration of that one week.
[0066] In some embodiments, the food management application 200 may also consider the quality of the food item in determining the available quantity. For example, in some embodiments, the food management application 200 may exclude any quantity of food item that is rotten or does not satisfy predefined quality criteria. Example quality criteria may include cosmetic imperfections, damaged packaging, incorrect description, irregular size and/or weight, near best-by date, irregularity in price or quantity (e.g., surplus or unexpected quantity). In other embodiments, other quality criteria may be used. Thus, in some embodiments, the food management application 200 may predict the available quantity of a food item at the end of the predetermined time period as a function of one or more of the orders to be filled, surplus quantity of the food item available, the expiration date of the food item, or a quality of the food item. The food management application 200 may consider other parameters in determining the available quantity at the operation 415.
[0067] At operation 420, the food management application 200 predicts the quality of the food item at the end of the predetermined time period. For example, in some embodiments, the quality of the food item may be a function of expiration date of the food item and/or a condition of the food item. When the quality is based on the expiration date, the food management application 200 may determine the expiration date of the food item and determine what quantity of the food item is expected to expire by the end of the predetermined time period or within a predefined time frame of the predetermined time period. In some embodiments, this quality analysis based on expiration date may occur at the operation 415. In some embodiments, the food management application 200 may determine the condition of the food at the end of the predetermined time period. For example, the food management application 200 may predict the likelihood that the food item would rot by the end of the predetermined time period. In some embodiments, the food management application 200 may compute a “days from expiration date” value to identify when the food item may be sold at near full cost margin value versus when the food item may need to be sold at a discount.
[0068] At operation 425, the food management application 200 compares the predicted sales patterns, predicted available quantity, and predicted quality with normal or expected sales patterns, normal or expected available quantity, and normal or expected quality, respectively. In some embodiments, the food management application 200 may determine the normal sales patterns, normal available quantity, and normal quality from past transactions or data and trends. For example, if the predetermined time period for which the process 400 is being executed is March 1 to March 7 of a current year for predicting strawberry waste, the food management application 200 may identify the sale patterns, the available quantity, and quality of strawberry from March 1 to March 7 of one or more prior years. When considering data from multiple prior years, in some embodiments, the food management application 200 may average the data. For example, the food management application 200 may average the sales patterns from March 1 to March 7 of multiple prior years to obtain the normal sales patterns for March 1 to March 7. In other embodiments, the food management application 200 may similarly determine the normal quantity and normal quality of the food item. In other embodiments, the food management application 200 may use other mechanisms to determine the normal sales patterns, normal available quantity, and normal quality of the food item. In some embodiments, the food management application 200 may aggregate larger patterns across grocery type, region, and/or season.
[0069] The food management application 200 compares the normal sales patterns, normal available quantity, and normal quality for the food item in the predetermined time period with the predicted sales patterns, the predicted available quantity, and the predicted quality, respectively, of the food item in the predetermined time period. For example, the food management application 200 may determine that in the period from March 1 to March 7, the normal sales patterns is seven orders to be filled while the predicted sale patterns at the operation 410 for March 1 to March 7 in the current year is only five orders, the food management application 200 may predict that fewer quantities of the food item are needed. The food management application 200 may compare the available quantity of the food item determined at the operation 415 for the period of March 1 to March 7 in the current year with the normal available quantity. If a greater quantity of the food item is available in the current year than the normal quantity, the food management application 200 may determine that the likelihood of the food item going to waste is higher. Similarly, the food management application 200 may compare the predicted quality with the normal quality. For example, for any “surplus” food items (e.g., food items that do not have cosmetic imperfections, irregular weight, etc.), the expected sales may be compared to quantities on hand (with a buffer quantity added) to identify what is expected surplus and may be placed on marketplace.
[0070] Thus, the food management application 200 identifies any pattern exceptions in one or more of the sales patterns, available quantity, and quality of the food item to predict waste. At operation 430, the food management application 200 determines a risk score indicative of a likelihood that the food item goes waste. In some embodiments, a lower score may be indicative of a lower likelihood that the food item goes waste relative to a higher score, or vice-versa. In some embodiments, the risk score may be reflective of relative confidence in the waste prediction. For example, in some embodiments, confidence may be lower when there is less data available (e.g. less than 13 months, new SKU, etc.). In some embodiments, the food management application 200 may compare the computed risk score with a threshold. If the risk score is greater than the threshold, the food management application 200 may categorize the food item as predicted food waste.
[0071] The process 400 may output a list of one or more food items that are predicted to go waste within the predetermined time period, a quantity of each food item that is predicted to go waste, the risk score for each food item, and other information (e.g., supplier identity, SKU
number, expiration date, etc.) that may be needed or considered desirable to have for the food item.
[0072] Turning to FIG. 5, an example flowchart outlining operations of a process 500 is shown, in accordance with some embodiments of the present disclosure. The process 500 may be implemented by the food management application 200, and particularly by the channel analysis model 220 (e.g., by the processor such as the CPU cores 130A-130N of the channel analysis model) for matching the predicted food waste with one or more of the customers 245. The process 500 may include other, additional, or different operations depending on the embodiment. The process 500 describes the operation 310 in greater detail. Further, the process 500 may be performed for each food item that is predicted to go waste within a predetermined time period. [0073] At operation 505, the food management application 200 receives first inputs. The first inputs may include supplier inputs from the suppliers 240 mentioned above with respect to the channel analysis model 220 such as pick-up location, an expected price, any operational constraints, and any other input that may be needed or considered desirable to have in matching the predicted food waste to the customers 245. At operation 510, the food management application 200 receives second inputs. In some embodiments, the second inputs may include customer inputs from the customers 245 such as food items desired, quantity of the food item desired, desired pick-up locations, desired drop-off locations, time period within which the food item is desired, cost sensitivity (e.g., how much is the customer willing to pay for a food item), quality preference (e.g., perfect, imperfect), product categories, and any other inputs that may be needed or considered desirable to have in matching the predicted food waste to the customers 245.
[0074] At operation 515, the food management application 200 may compare the first inputs and the second inputs, as well as the predicted food waste to identify one or more customer matches. For example, in some embodiments, the food management application 200 may identify a customer’s desired food items, a quantity of the desired food items, and a quality of the desired food items. The food management application 200 may then determine if the desired food items are available in the food items that are predicted to go waste in the process 400. For example, if the customer desires strawberries, the food management application 200 may determine if any quantity of strawberries are predicted to go waste (e.g., by the process 400) in the time period within which the customer desires to have strawberries. If the food management application 200 does not identify strawberries expected to go waste within the desired time period, the food
management application may notify the customer that no strawberries are available. If the food management application 200 determines that strawberries are available within the desired time period, the food management application may determine the quantity of the food item (e.g., strawberries) that the customer desires and the quantity that is available (e.g., determined by the process 400). If the desired quantity is not available, the food management application 200 may identify the quantity of the food item that is available (e.g., desired quantity minus surplus quantity) for the customer to purchase. The food management application 200 may also determine if the food item that is available for the customer to purchase matches the desired quality of the food item. If the desired quality does not match the quality of the food item that is available, the food management application 200 may notify the customer that the food item is unavailable or that item of the specific quality is available.
[0075] The food management application 200 may also compare desired pick-up and drop-off locations. For example, if the customer desires to pick up the food item from location A and the food item is only available for pick up from location B different from location A, then the food management application 200 may notify the customer that the food item is only available for purchase from location B. In some embodiments, the customer may specify the pick-up location as a particular distance from the customer’s location (e.g., the drop-off location). For example, the customer may desire to pick up the food item from no more than ten miles away. In such cases, the food management application 200 may determine if the food item is available within ten miles of the customer’s location. In some embodiments, the food management application 200 may determine the cost of the food item that the customer is willing to pay (e.g., customer cost). The food management application 200 may compare the customer cost with the cost of the food item at which the supplier is willing to sell (e.g., supplier cost). If the supplier cost is higher than the customer cost, the food management application 200 may notify the customer that the food item is either not available or available to purchase at the supplier cost. If the supplier cost is lower than the customer cost, the food management application 200 may notify the customer that the food item is available to purchase (e.g., at the supplier cost or the customer cost). In some embodiments, the food management application 200 may use other mechanisms to determine a match between the predicted waste food items and the customer’s desired food items.
[0076] At operation 520, for any food item that is a match, the food management application 200 determines the time to waste for that food item. For example, the food management
application 200 may determine how soon the matched item is going to expire. For example, in some embodiments, the food management application 200 may have determined during the process 400 that the expiration date of the food item was in, say, five days. By the time customer is ready to purchase the food item, let’s say, on the third day, the food management application 200 may determine that the food item is expected to expire in two days. Thus, based on the expiration date of the food item and the time by when the customer is ready to purchase the food item, the food management application 200 may determine the time to waste.
[0077] At operation 525, the food management application 200 determines if the time to waste is greater than a predefined time threshold. Based on the comparison, the food management application 200 may present various options to the custom er/ supplier. For example, if the time to waste is greater than the predefined time threshold (e.g., the food item is not expiring within the predefined time threshold), at operation 530, the food management application 200 makes the food item available on the marketplace to allow the customer to but the food item. In some embodiments, the food management application 200 may also send an alert to the customer that the food item is ready for purchase. If the time to waste is less than or equal to the predefined time threshold, the food management application 200 does not make the food item available on the marketplace at operation 535. Instead, the food management application 200 may present other options to the customer/supplier. For example, in some embodiments, the food management application 200 may suggest to the supplier that a tax credit may be the best option for the food item given the time to waste. In some embodiments, the food management application 200 may suggest to the supplier using the food item for other purposes such as animal feed, fertilizer, other industry use, etc. Thus, based on the time to waste, the food management application 200 may present best scenarios to the customer and supplier for using the food item.
[0078] Referring now to FIG. 6, an example flowchart outlining operations of a process 600 is shown, in accordance with some embodiments of the present disclosure. The process 600 may be implemented by the food management application 200, and particularly by the transportation logistics model 225 (e.g., by the processor such as the CPU cores 130A-130N of the transportation logistics model) for identifying optimal transportation solutions for delivering the food items purchased by the customer. The process 600 may include other, additional, or different operations depending on the embodiment. The process 600 describes the operation 320 in greater detail. Further, the process 600 may be performed for each order placed by one or
more customers within a time period (e.g., day, 2 days, one week, etc.) or orders to be fulfilled within a time period (e.g., a day, 2 days, one week, etc.).
[0079] At operation 605, the food management application 200 determines the pick-up location and the drop-off location of the food items purchased by the customers 245. In some embodiments, the food management application 200 may determine the pick-up location based on the pick-up location provided by the supplier providing the food items to be delivered. In some embodiments, the food management application 200 may determine the pick-up location in other ways. In some embodiments, the food management application 200 may determine the drop-off location based on the drop-off location provided by the customer. In some embodiments, the pick-up location may be the source and the drop-off location may be the final destination. In some embodiments, as discussed below, based on provider availability and number of customers to which the food items are to be delivered, there may be additional pickup and drop-off locations between the source and final destination. For example, if the supplier is delivering food items to two customers, customer 1 and customer 2, then the delivery to customer 1 may be a first drop-off location and delivery to customer 2 may be the final destination.
[0080] In some embodiments, the food management application 200 may determine that an order for the same customer (or another customer located within a predetermined distance of the initial customer) from another supplier may be picked up along the route between the source and the final destination. In such situations, the food management application 200 may have first pick-up location at the source, a second pick-up location at the other supplier, a first drop-off at a first customer, and a final destination at a second customer. Generally speaking, the food management application 200 may analyze all orders to determine a best route for delivery such that a maximum numbers of orders may be delivered in one round. This may entail identifying orders from customers within a pre-determined distance of each other and/or identifying suppliers within a pre-determined distance of each other, as well as planning a route that includes the identified suppliers and customers. Thus, in some embodiments, the food management application 200 may identify one or more pick-up locations and one or more dropoff locations for one or more orders.
[0081] At operation 610, the food management application 200 determines the total volume of all the food items to be delivered by each supplier along the route to one or more customers. By determining the volume of the food items, the food management application 200 may determine
the size and type of the vehicle that may be needed for transporting the food items. For example, in some embodiments, the food management application 200 may determine that food items to be delivered include a dozen crates of eggs. In other embodiments, the food management application 200 may determine that the food items to be delivered includes a truck load of eggs. The size and type of vehicle to deliver a dozen crate of eggs may be different from delivering a truck load of eggs.
[0082] At operation 615, the food management application 200 determines shipping requirements of the food items. For example, the food management application 200 may determine if the food items have to be delivered in refrigerated form for which a refrigeration capable vehicle may be needed. In some embodiments, the food management application 200 may determine if the food items have to be kept heated (e.g., cooked food) during transportation. In such embodiments, the food management application 200 may have to find a vehicle that is configured to transport food items in a heated state. In some embodiments, the food management application 200 may determine that the food items have to be transported in liquid form (e.g., molten chocolate). In such embodiments, the food management application 200 may have to identify a vehicle that may be configured to transport food items in both heated (e.g., to keep chocolate molten) and in liquid form. In some embodiments, by determining shipping requirements, the food management application 200 may also be able to determine if food items may be transported together, if all food items from a single order may be transported together, or multiple orders may be combined. For example, an order requiring certain food items to be transported in refrigerated form and other food items to be transported in heated form may not be combined together in a single delivery unless a vehicle is configured to transport food items in both refrigerated and heated form. The food management application 200 may determine any other shipping requirements that may be needed or considered desirable to have in determining the proper size and type of vehicle for transportation.
[0083] At operation 620, the food management application 200 identifies an available one of the providers 250. The food management application 200 may identify the available provider based on the information obtained/determined at the operations 605-620. For example, in some embodiments, the food management application 200 may identify all providers that provide transportation of food items between the source and the final destination. In some embodiments, of all the providers that provide transportation between the source and final destination, the food management application 200 may determine which of those available providers are configured
to meet the shipping requirements of the operation 615 and configured to carry the volume of food items of the operation 610. In some embodiments, the available provider may be a provider that is already heading towards the final destination and has cargo space available to carry the food items.
[0084] At operation 625, the food management application 200 determines the provider cost of delivering the food items. The provider cost may include the total cost of delivering the food items to all the customers and picking up food items from all the suppliers on the route. In some embodiments, the provider cost may be based on distance to be covered, the type and size of the transport (e.g., vehicle) provided, any company, federal, or state regulations or hours of service requirements, break/meal costs, toll fees, etc.
[0085] At operation 630, the food management application 200 determines the total cost of fuel for delivering the food items. In some embodiments, the food management application 200 may calculate the total cost of fuel based on the mileage of the transport (e.g., miles per hour) and the cost of fuel per unit (e.g., per gallon), as discussed above. In some embodiments, if the transport (e.g., vehicle) is an electric vehicle, the cost of fuel may include the cost of charging the battery of the transport during delivery.
[0086] At operation 635, the food management application 200 determines the total cost of delivery by adding the provider cost of the operation 625 and the cost of fuel of the operation 630. In other embodiments, the food management application 200 may include any other cost (e.g., labor cost for loading and unloading, etc.) that may be incurred in delivering the food. At operation 640, the food management application 200 determines the total cost of food items to be delivered. The total cost of the food items may be computed by summing the cost of each food item being delivered. The cost of each food item may be determined based on the volume of the food item multiplied by the cost of the food item at which the food item was purchased by the customer.
[0087] At operation 645, the food management application 200 compares the total cost of delivery of the operation 635 with the total cost of food items to be delivered. In some embodiments, if the food management application 200 determines that the total cost of delivery is higher than the total cost of food by a predetermined threshold, then at operation 650, the food management application 200 finds other options for delivering the food. For example, in some embodiments, depending on the expiration of food items, the food management application 200 may determine that delivery may be delayed to minimize carbon emissions and save cost. For
example, if the food items being delivered include canned food with a longer shelf life, the food management application 200 may provide an option to delay the delivery. In some embodiments, the food management application 200 may attempt to find another provider with a lower cost of delivery. In other embodiments, the food management application 200 may cancel the order (either fully or partially), or find other options for delivery (e.g., ask the customer to come pick up). In other embodiments, the food management application 200 may take other actions. If at the operation 645, the food management application 200 determines that the total cost of delivery from the operation 635 is less than or equal to the total cost of food items from the operation 640, the food management application selects the provider identified at the operation 625 for delivering the food items at operation 655.
[0088] Thus, the food management application 200 may be configured to optimize transport logistics to minimize the cost of delivery and reduce carbon emissions, while ensuring that customers are able to receive their purchased food items.
[0089] Referring now to FIG. 7, an example flowchart outlining operations of a process 700 is shown, in accordance with some embodiments of the present disclosure. The process 700 may be implemented by the food management application 200, and particularly by the marketplace management system 230 (e.g., by the processor such as the CPU cores 130A-130N of the marketplace management system) for providing and managing a marketplace. The process 700 may include other, additional, or different operations depending on the embodiment. The process 700 describes the operation 315 in greater detail.
[0090] At operation 705, the food management application 200 adds one or more items to the marketplace. The marketplace is on online website, portal, or e-commerce site from where the customers 245 may buy food items predicted to go waste. The marketplace may provide the customers 245 a dashboard through which transactions may be conducted. The marketplace may also provide a dashboard to the suppliers 240 to manage the placed orders and delivery logistics. The marketplace may connect the suppliers 240 with the customers 245 to identify, reduce, and manage food waste. The one or more food items added to the marketplace may be food items that the food management application 200 has predicted to go waste (e.g., in the process 400) and which have been matched with one or more of the customers 245 (e.g., in the process 500). In some embodiments, the food management application 200 may add the food items to the marketplace that are predicted to go waste but have not yet been matched to any customer.
[0091] In some embodiments, to add food items to the marketplace, the food management application 200 may receive an indication (e.g., input) of the food items to be added. For example, in some embodiments, the food management application 200 may receive a SKU number or other information associated with the food item to be added. At operation 710, the food management application 200 updates the inventory of the marketplace to add the one or more items. In some embodiments, the food management application 200 may maintain a current inventory of all food items that have been matched to one or more of the customers 245. As food items are matched and added to the marketplace, the inventory may be updated. In some embodiments, the inventory of the food items being sold may be maintained in the form of a database. In some embodiments, updating the inventory may include, for example, adding another row in the database table with the information of the food item being added. The information of the food item may include, for example, the SKU number, description of the food item, a manufacture date of the food item, an expiration date of the food item (e.g., use-by date, best-by date, etc.), a volume available of the food item, a price of the food item, brand and manufacturer information, condition of the food item (e.g., ripe, unripe, perfect, imperfect, etc.), country of origin, and any other details that the customers 245 may want to know before purchasing the food item.
[0092] At operation 715, the food management application 200 receives an order for one or more food items. In some embodiments, the marketplace may provide an order interface for allowing the customers 245 to browse the food items on the marketplace, add one or more selected food items to a shopping cart (e.g., a virtual shopping cart), and complete the order at operation 720 by providing payment information, delivery information (e.g., drop-off location), customer information, and any other information that may be needed to place an order. In some embodiments, the marketplace may be configured to provide a unique shopping experience to each of the customers 245. For example, in some embodiments, the food management application 200 may be configured such that only items that are matched with a particular customer are visible to that customer only, for at least a period of time. After the lapse of the period of time (or within a designated number of days of expiration date of a food item), that food item may be made available for purchase to other customers. In some embodiments, the food management application 200 may assign an order number and order date to the order placed at the operation 720. In some embodiments, the food management application 200 may associate any special instructions that the customer may have provided at the time of placing the
order. In some embodiments, the food management application 200 may also identify the purchased food items in the order and a total amount of the order. In some embodiments, upon receiving the order, the food management application 200 may make the order details available to the suppliers that will supply those purchased food items.
[0093] At operation 725, in response to selling the food items at the operation 720, the food management application 200 updates the inventory of the marketplace to remove the sold food items from the inventory. For example, when the inventory is maintained as a database, the food management application 200 may delete the rows associated with the sold food items. In some embodiments, the food management application 200 may update the rows to update the information of the food items. For example, if XI volume of a food item was available before the order and X2 volume was sold, the food management application 200 may update the inventory to reflect that (XI -X2) volume of the food item is still available for purchase. In some embodiments, the food management application 200 may update the inventory to remove food items when the food items have either expired or are within a predetermined number of days of expiration.
[0094] At operation 730, the food management application 200 gathers order metrics from the marketplace. The order metrics may include order information such as the food items purchased, the identity of the customers buying the food items, the identity of the suppliers supplying the sold food items, total cost of the purchase, the number of days after being on the marketplace that the food items sold, date and time of sale, volume of the food items sold, food items not purchased, reasons for food items not purchased (e.g., identify reason why the food item is on marketplace, price, etc.), and any other information that may be needed or considered desirable to have in analyzing the impact of food waste reduction and increase accuracy of food waste prediction.
[0095] Referring to FIG. 8, an example flowchart outlining operations of a process 800 is shown, in accordance with some embodiments of the present disclosure. The process 800 may be implemented by the food management application 200, and particularly by the analytics model 235 (e.g., by the processor such as the CPU cores 130A-130N of the analytics model) for providing analytics related data. The process 800 may include other, additional, or different operations depending on the embodiment. The process 800 describes the operation 325 in greater detail.
[0096] At operation 805, the food management application 200 receives data from one or more sources. In some embodiments, the food management application 200 may receive data from the suppliers 240. In some embodiments, the food management application 200 may receive data from the customers 245. In some embodiments, the food management application 200 may receive data from the providers 250. In some embodiments, the food management application 200 may receive data from one or more of the food waste prediction model 215, the channel analysis model 220, the transportation logistics model 225, or the marketplace management system 230. In some embodiments, the food management application 200 may receive data from other sources. Examples of the data that the food management application 200 may receive may include data such as the identity of the food items predicted to go waste, the volume of food items that are predicted to go waste, the identity of the suppliers that provide the predicted food waste food items, the quality of the food items that are predicted to go waste, the total cost of the food items if those food items are wasted, cost of transporting the wasted food items to landfill, any other cost of disposing the wasted food items, identity of customers that buy the food items predicted to go waste, the location of the suppliers 240 and the customers 245, identity and location of the providers 250 that assist with transportation of the food items, fuel cost, marketplace usage statistics, and any other information that may be needed or considered useful to have by the food management application 200.
[0097] At operation 810, the food management application 200 analyzes the data received at the operation 805. In some embodiments, the food management application 200 may analyze the data to determine, for example, cost savings, reduction in carbon emissions, the food items that were saved from going to waste, other types of impact on the climate from reducing food waste, diversion rate (e.g., the amount of food that was diverted from going to landfill by predicting the food waste in advance and allowing the customers to buy that food instead), optimization accuracy/utilization (e.g., how accurately the food waste was predicted, how accurately transportation logistics were determined, etc.), marketplace health such as how well is the marketplace working (e.g., number of crashes, etc.), number of orders placed on the marketplace, etc. Cost Savings reflect the costs of haulage and disposal of items that would have gone to the landfill. Reduction in carbon emissions estimates the number of trucks that would have gone to landfill and calculates gas and emissions. Diversion rate is a calculation of items placed on marketplace and sold versus not sold. Marketplace health is gathered from internal metrics such as platform stability.
[0098] At operation 815, the food management application 200 generates one or more reports based on the analysis of the operation 810. These reports may be used to showcase the impact of reducing food waste (e.g., on the climate), cost savings, impact consumer behavior (e.g., encourage more customers to participate in reducing food waste, encourage more suppliers to participate in reducing food waste, etc.), helping suppliers more accurately determine demand, etc.
[0099] Turning now to FIGS. 9-20, example user interfaces of the marketplace are shown, in accordance with some embodiments of the present disclosure. FIGS. 9-13 show example user interfaces for the supplier dashboard to be used by the suppliers 240 and FIGS. 14-20 show example user interfaces for the customer dashboard to be used by the customers 245. Although not shown, in some embodiments, the providers 250 may have a provider dashboard to plan for the transportation logistics. It is to be understood that the user interfaces of FIGS. 9-20 are only an example and not intended to be limiting in any way. These user interfaces are not intended to show every detail that may be displayed on the supplier and customer dashboards. In other embodiments, other, additional, or different details may be shown on one or more of the user interfaces of FIGS. 9-20. Further, the shape, size, configuration, font size and type, and other details of how the information is displayed on the user interfaces may vary from one embodiment to another.
[0100] In some embodiments, the user interfaces of FIGS. 9-20 may be accessed through a marketplace website or mobile application, as discussed above with respect to FIG. 2. In some embodiments, a marketplace application may be made available for access on a mobile device. The mobile device may include one or more circuits (e.g., one or more processors and non- transitory storage mediums housing one or more logics) that are structured to allow the mobile device to exchange data over a network (e.g., with the food management application 200), execute software applications, access websites, generate graphical user interfaces, and perform other operations described herein. The mobile device may include one or more of a smartphone or other cellular device, a wearable computing device (e.g., eyewear, a watch or bracelet, etc.), a tablet, a portable gaming device, a laptop, and other portable computing devices.
[0101] In some embodiments, the user may be required to first download a marketplace application prior to usage. For example, a provider (e.g., a software developer or publisher) may provide an executable file for downloading and installing the marketplace application (e.g., via the developer’s website, a digital marketplace, an app store, text message, etc.). Responsive to
the user selection of an appropriate link associated with the marketplace application, the executable file may be transmitted to the user’s mobile device and be installed on the mobile device. The marketplace application may be embodied on the mobile device as one or more processors and instructions stored in non-transitory memory that are executed by the one or more processors, along with hardware and associated logics depending on the operations performed by the marketplace application.
[0102] Upon installing and accessing (e.g., registering) the marketplace application on the mobile device, the user may be taken to a home screen. In some embodiments, upon installing the marketplace application and before allowing the user to access the home screen, the user may be presented with the terms of a “privacy policy” or other types of terms of agreement. The user may be required to accept the terms of the “privacy policy” or the other terms of agreement before proceeding to the home screen. In some embodiments, the “privacy policy” or the other terms of agreement may be presented the first time the user opens the marketplace application upon installation. In other embodiments, the “privacy policy” or the other terms of agreement may be presented to the user each time the user accesses (e.g., opens) the marketplace application. In yet other embodiments, the “privacy policy” or any other terms of agreement may be presented to the user periodically. In some embodiments, the user may be required to complete other actions upon installing the marketplace application before accessing the home screen.
[0103] Referring specifically to FIGS. 9-13, a home screen 900 of the supplier dashboard is shown, in accordance with some embodiments of the present disclosure. Via the home screen 900, the user may be required to enter a username in a username field 905 and/or a password in a password field 910. In some embodiments, the username to be entered in the username field 905 may be an email address or another username for a particular supplier. Further, in some embodiments, the password to be entered in the password field 910 may be a numeric, alphabetic, or alphanumeric number assigned to a particular supplier. In other embodiments, other types of authentication may be used to authenticate the supplier before allowing the supplier to access additional screens of the marketplace application. In some embodiments, the authentication via the username field 905 and the password field 910 may be skipped. In such cases, upon opening the marketplace application, the home screen 900 need not be presented. Rather, the interfaces discussed below (e.g., the interface of FIG. 10) may be presented instead. When the usemame/password fields are used, upon entering the username and password in the username field 905 and the password field 910, respectively, the user may click on a login button 915.
[0104] In some embodiments, if an incorrect username and/or password is entered, the home screen 900 may present an error message to the user on the display of the mobile device, or provide another indication (e.g., vibrate) to notify the user that the authentication information is incorrect. In some embodiments, the marketplace application may be configured to allow the user to try a designated number of times to enter the correct username and password before locking the user out of the marketplace application. If the user is locked out of the marketplace application, in some embodiments, the user may be presented with contact information of an entity to unlock the marketplace application. In other embodiments, the marketplace application may present other options to the user to unlock the marketplace application or to complete the authentication process. [0105] Upon successful authentication, the marketplace application may allow the supplier to view the interfaces of FIGS. 10-13. FIG. 10 shows a user interface 1000 that provides a list 1005 of products 1007 that the supplier uploads for possible sale through the marketplace. The user interface 1000 may provide at least some of the first set of inputs of the operation 405 that the food management application 200 may use in predicting food waste. The list 1005 may display a variety of information such as an item number (e.g., SKU of the food item) 1010, a description 1015 of the food item, visibility 1020 indicating whether the associated food item is to be considered for predicting food waste or not, a total quantity (e.g., volume) 1025 of the associated food item initially available, promised or sold quantity 1030, currently available quantity 1035 (e.g., difference between the total quantity 1025 and the sold quantity 1030), expiration date 1040 of the associated food item, and price 1045 of the associated food item. The list may display other, additional, or different details than those shown for each food item in the list 1005.
[0106] The supplier may add additional products to the list 1005 by clicking on button 1050. The supplier may also edit details of food items already on the list 1005 by selecting those items (e.g., by double clicking on the food item, etc.). For example, to edit the details of food item 1055 on the list 1005, the supplier may select that item to view a user interface 1100 of FIG. 11. The user interface 1100 may be similar to a dialog box that may open when the button 1050 is used. The user interface 1100 may provide one or more fields to allow the supplier to add or update the food items to be displayed on the list 1005. For example, the user interface 1100 may show a description field 1105 (corresponding to the description 1015), a category of the food item 1110, an item number field 1115 (corresponding to the item number 1010), a price field 1120 (corresponding to the price 1045), an initial available quantity field 1125 (corresponding to the total quantity 1025), a sold quantity field 1130 (corresponding to the sold quantity 1030), a
currently available quantity field 1135 (corresponding to the currently available quantity 1035), an expiration date field 1140, a shelf life field 1145 (e.g., expiration date minus current date), liability information 1150 (e.g., additional information related to quality, order information, and any other information that a customer may want to know before buying the food item), and supplier information 1155. By pressing an active button 1160, the food item of the user interface 1100 may be shown as visible on the list 1005. By pressing a hidden button 1165, the food item on the user interface 1100 may appear as invisible on the list 1005. The supplier may click on update button 1170 to update the listing of the food item on the list 1005.
[0107] FIG. 12 shows an example user interface 1200 that provides the supplier information about orders 1205. The user interface provides a list 1210 of current orders, including when each order was placed, order details such as order number (e.g., #1000), customer name (e.g., Frodo Baggins), number of items in the order, current status of the order, and any other information that may be considered useful to show. The user interface 1200 may also allow the supplier to search the orders using a search field 1215. The supplier may be provided with various filters 1220 by which to sort and filter the orders.
[0108] FIG. 13 shows an example user interface 1300 where the supplier may add, delete, or update various configuration details 1305. For example, by way of the user interface 1300, the supplier may add, delete, or update liabilities information, add or change pick-up locations, etc. The user interface 1300 may be used to allow the supplier to add other or additional details. [0109] Turning now to FIGS. 14-20, example user interfaces for a customer are shown, in accordance with some embodiments of the present disclosure. FIG. 14 shows an example home screen 1400 of the customer dashboard. Via the home screen 1400, the customer may be required to enter a username in a username field 1405 and/or a password in a password field 1410. The home screen 1400 may operate similar to the home screen 900 to authenticate the customer. Upon entering the username in the username field 1405, the password in the password field 1410, and clicking on a login button 1415, the customer may access the user interfaces of FIGS. 15-20 upon successful authentication.
[0110] FIG. 15 shows an example user interface 1500 that shows a marketplace 1505 showing a list of products 1510. The list of products 1510 includes those food items that the food management application 200 has determined as a match for the customer by way of channel analysis. For each food item on the list of products 1510, the user interface 1500 may show the description of the food item, expiration date of the food item, an available quantity of the food
item, and a price of the food item. The list of products 1510 may show additional details for each listed food item. The customer may purchase a food item from the list of products 1510 by clicking on a button 1515 and specifying the quantity of the food item desired, as shown in field 1520. The selected quantity of the food item may be added to a cart 1525 for check out and purchase. The user interface 1500 may also provide a search field 1530 to search, filter, and sort food items to be shown in the list of products 1510. In some embodiments, the customer may also be able to view additional details of a particular food item by double clicking or selecting in another way a food item from the list of products 1510. An example of additional details that the customer may be able to view for a food item is shown in FIG. 16 in user interface 1600. User interfaces 1700-1900 of FIGS. 17-19 show how the customer may check out and complete the order purchase. After purchase, the customer may review the order on user interface 2000. The user interface 2000 may also be used to view past orders placed by the customer.
[0111] The various illustrative logical blocks, circuits, modules, routines, and algorithm steps described in connection with the embodiments disclosed herein can be implemented as electronic hardware, or combinations of electronic hardware and computer software. To clearly illustrate this interchangeability, various illustrative components, blocks, modules, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware, or as software that runs on hardware, depends upon the particular application and design constraints imposed on the overall system. The described functionality can be implemented in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the disclosure. [01121 Moreover, the various illustrative logical blocks and modules described in connection with the embodiments disclosed herein can be implemented or performed by a machine, such as a general purpose processor device, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A control processor can synthesize a model for an FPGA. For example, the control processor can synthesize a model for logical programmable gates to implement a tensor array and/or a pixel array. The control channel can synthesize a model to connect the tensor array and/or pixel array on an FPGA, a reconfigurable chip and/or die, and/or the like. A general purpose processor device can be a microprocessor, but in the alternative, the processor device can be a controller, microcontroller, or state machine,
combinations of the same, or the like. A processor device can include electrical circuitry configured to process computer-executable instructions. In another embodiment, a processor device includes an FPGA or other programmable device that performs logic operations without processing computer-executable instructions. A processor device can also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Although described herein primarily with respect to digital technology, a processor device may also include primarily analog components. For example, some or all of the algorithms described herein may be implemented in analog circuitry or mixed analog and digital circuitry. A computing environment can include any type of computer system, including, but not limited to, a computer system based on a microprocessor, a mainframe computer, a digital signal processor, a portable computing device, a device controller, or a computational engine within an appliance, to name a few.
[0113] The elements of a method, process, routine, or algorithm described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by a processor device, or in a combination of the two. A software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of a non-transitory computer- readable storage medium. An exemplary storage medium can be coupled to the processor device such that the processor device can read information from, and write information to, the storage medium. In the alternative, the storage medium can be integral to the processor device. The processor device and the storage medium can reside in an ASIC. The ASIC can reside in a user terminal. In the alternative, the processor device and the storage medium can reside as discrete components in a user terminal.
[0114] Conditional language used herein, such as, among others, “can,” “could,” “might,” “may,” “e.g.,” and the like, unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain embodiments include, while other embodiments do not include, certain features, elements and/or steps. Thus, such conditional language is not generally intended to imply that features, elements and/or steps are in any way required for one or more embodiments or that one or more embodiments necessarily include logic for deciding, with or without other input or prompting, whether these features, elements and/or steps are included or are to be performed in any particular embodiment. The
terms “comprising,” “including,” “having,” and the like are synonymous and are used inclusively, in an open-ended fashion, and do not exclude additional elements, features, acts, operations, and so forth. Also, the term “or” is used in its inclusive sense (and not in its exclusive sense) so that when used, for example, to connect a list of elements, the term “or” means one, some, or all of the elements in the list.
[0115] While the above detailed description has shown, described, and pointed out novel features as applied to various embodiments, it can be understood that various omissions, substitutions, and changes in the form and details of the devices or algorithms illustrated can be made without departing from the spirit of the disclosure. As can be recognized, certain embodiments described herein can be embodied within a form that does not provide all of the features and benefits set forth herein, as some features can be used or practiced separately from others.
[0116] The herein described subject matter sometimes illustrates different components contained within, or connected with, different other components. It is to be understood that such depicted architectures are merely exemplary, and that in fact many other architectures can be implemented which achieve the same functionality. In a conceptual sense, any arrangement of components to achieve the same functionality is effectively “associated” such that the desired functionality is achieved. Hence, any two components herein combined to achieve a particular functionality can be seen as “associated with” each other such that the desired functionality is achieved, irrespective of architectures or intermedial components. Likewise, any two components so associated can also be viewed as being “operably connected,” or “operably coupled,” to each other to achieve the desired functionality, and any two components capable of being so associated can also be viewed as being “operably couplable,” to each other to achieve the desired functionality. Specific examples of operably couplable include but are not limited to physically mateable and/or physically interacting components and/or wirelessly interactable and/or wirelessly interacting components and/or logically interacting and/or logically interactable components.
[0117] With respect to the use of substantially any plural and/or singular terms herein, those having skill in the art can translate from the plural to the singular and/or from the singular to the plural as is appropriate to the context and/or application. The various singular/plural permutations may be expressly set forth herein for sake of clarity.
[0118] It will be understood by those within the art that, in general, terms used herein, and especially in the appended claims (e.g., bodies of the appended claims) are generally intended as “open” terms (e.g., the term “including” should be interpreted as “including but not limited to,” the term “having” should be interpreted as “having at least,” the term “includes” should be interpreted as “includes but is not limited to,” etc.). It will be further understood by those within the art that if a specific number of an introduced claim recitation is intended, such an intent will be explicitly recited in the claim, and in the absence of such recitation no such intent is present. For example, as an aid to understanding, the following appended claims may contain usage of the introductory phrases “at least one” and “one or more” to introduce claim recitations. However, the use of such phrases should not be construed to imply that the introduction of a claim recitation by the indefinite articles “a” or “an” limits any particular claim containing such introduced claim recitation to inventions containing only one such recitation, even when the same claim includes the introductory phrases “one or more” or “at least one” and indefinite articles such as “a” or “an” (e.g., “a” and/or “an” should typically be interpreted to mean “at least one” or “one or more”); the same holds true for the use of definite articles used to introduce claim recitations. In addition, even if a specific number of an introduced claim recitation is explicitly recited, those skilled in the art will recognize that such recitation should typically be interpreted to mean at least the recited number (e.g., the bare recitation of “two recitations,” without other modifiers, typically means at least two recitations, or two or more recitations). Furthermore, in those instances where a convention analogous to “at least one of A, B, and C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, and C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). In those instances, where a convention analogous to “at least one of A, B, or C, etc.” is used, in general such a construction is intended in the sense one having skill in the art would understand the convention (e.g., “a system having at least one of A, B, or C” would include but not be limited to systems that have A alone, B alone, C alone, A and B together, A and C together, B and C together, and/or A, B, and C together, etc.). It will be further understood by those within the art that virtually any disjunctive word and/or phrase presenting two or more alternative terms, whether in the description, claims, or drawings, should be understood to contemplate the possibilities of including one of the terms, either of the terms, or both terms. For example, the phrase “A or B”
will be understood to include the possibilities of “A” or “B” or “A and B.” Further, unless otherwise noted, the use of the words “approximate,” “about,” “around,” “substantially,” etc., mean plus or minus ten percent.
The foregoing description of illustrative embodiments has been presented for purposes of illustration and of description. It is not intended to be exhaustive or limiting with respect to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the disclosed embodiments. It is intended that the scope of the invention be defined by the claims appended hereto and their equivalents.
Claims
1. A system comprising: a memory having computer-readable instructions stored thereon; and a processor that executes the computer-readable instructions to: receive, from a first source, a first set of inputs associated with each of one or more food items; predict, using a first machine learning model and based on the first set of inputs, a first set of the one or more food items expected to go to waste within a predetermined time period; match, using a second machine learning model, the first set of the one or more food items with a second source based on a second set of inputs received from the second source to identify a second set of the one or more food items from the first set of the one or more food items; add the second set of the one or more food items to a database for purchase by the second source to reduce food waste; receive a request from the second source to purchase at least one of the second set of the one or more food items; and update the database responsive to the purchase.
2. The system of claim 1, wherein to predict the first set of the one or more food items, the processor executes computer-readable instructions to: compute, using the first machine learning model, a risk score for each food item of the one or more food items based on the first set of inputs, the risk score indicative of a likelihood of the each item going to waste within the predetermined time period; compare the risk score for the each food item with a threshold; in response to the risk score exceeding the threshold, determine that the each food item is expected to go waste within the predetermined time period; and add the each food item to the first set of the one or more food items.
3. The system of claim 1, wherein to predict the first set of the one or more food items, the processor executes computer-readable instructions to: determine, using the first machine learning model, a predicted pattern of one or more parameters for each food item of the one or more food items based on the first set of inputs for the predetermined time period; determine an expected pattern of the one or more parameters for the each food item within the predetermined time period; compare the predicted pattern with the expected pattern; determine that the each food item is expected to go waste upon the predicted pattern having a variance a greater than a threshold from the expected pattern; and add the each food item to the first set of the one or more food items.
4. The system of claim 1, wherein the processor executes computer-readable instructions to: determine a time to waste for each food item in the second set of the one or more food items based on an expiration date of the each food item; compare the time to waste for the each food item with a threshold; and in response to determining that the time to waste for the each food item is greater than the threshold, add the each food item to the first database.
5. The system of claim 1, wherein the processor executes computer-readable instructions to: determine a pick-up location of the at least one of the second set of the one or more food items purchased by the second source; determine a drop-off location of the at least one of the second set of the one or more food items purchased by the second source; determine a shipping requirement associated with the at least one of the second set of the one or more food items; determine a cost of delivery of the at least one of the second set of the one or more food items;
determine a cost of the at least one of the second set of the one or more food items; and identify a provider to deliver the at least one of the second set of the one or more food items based on the pick-up location, the drop-off location, the shipping requirement, the cost of delivery, and the cost of the at least one of the second set of the one or more food items.
6. The system of claim 1, wherein the processor executes computer-readable instructions to: provide an interface comprising a first dashboard to the first source to receive the first set of inputs and a second dashboard to the second source to receive the second set of inputs, wherein the first dashboard is accessible only to the first source and the second dashboard is accessible only to the second source; display the second set of the one or more food items in the second dashboard; and provide a shopping interface to the second source to purchase the at least one of the second set of the one or more food items via the second dashboard.
7. The system of claim 1, wherein the processor executes computer-readable instructions to: receive a third set of inputs from the first machine learning model, a fourth set of inputs from the second machine learning model, a fifth set of inputs associated with a purchase history of the one or more food items; and generate one or more reports based on analyzing the third set of inputs, the fourth set of inputs, and the fifth set of inputs.
8. A non-transitory computer-readable media comprising computer-readable instructions stored thereon that when executed by a processor causes the processor to: receive, from a first source, a first set of inputs associated with each of one or more food items; predict, using a first machine learning model and based on the first set of inputs, a first set of the one or more food items expected to go to waste within a predetermined time period;
match, using a second machine learning model, the first set of the one or more food items with a second source based on a second set of inputs received from the second source to identify a second set of the one or more food items from the first set of the one or more food items; add the second set of the one or more food items to a database for purchase by the second source to reduce food waste; receive a request from the second source to purchase at least one of the second set of the one or more food items; and update the database responsive to the purchase.
9. The non-transitory computer-readable media of claim 8, wherein to predict the first set of the one or more food items, the processor executes computer-readable instructions to: compute, using the first machine learning model, a risk score for each food item of the one or more food items based on the first set of inputs, the risk score indicative of a likelihood of the each item going to waste within the predetermined time period; compare the risk score for the each food item with a threshold; in response to the risk score exceeding the threshold, determine that the each food item is expected to go waste within the predetermined time period; and add the each food item to the first set of the one or more food items.
10. The non-transitory computer-readable media of claim 8, wherein to predict the first set of the one or more food items, the processor executes computer-readable instructions to: determine, using the first machine learning model, a predicted pattern of one or more parameters for each food item of the one or more food items based on the first set of inputs for the predetermined time period; determine an expected pattern of the one or more parameters for the each food item within the predetermined time period; compare the predicted pattern with the expected pattern; determine that the each food item is expected to go waste upon the predicted pattern having a variance a greater than a threshold from the expected pattern; and add the each food item to the first set of the one or more food items.
11. The non-transitory computer-readable media of claim 8, wherein the processor executes computer-readable instructions to: determine a time to waste for each food item in the second set of the one or more food items based on an expiration date of the each food item; compare the time to waste for the each food item with a threshold; and in response to determining that the time to waste for the each food item is greater than the threshold, add the each food item to the first database.
12. The non-transitory computer-readable media of claim 8, wherein the processor executes computer-readable instructions to: determine a pick-up location of the at least one of the second set of the one or more food items purchased by the second source; determine a drop-off location of the at least one of the second set of the one or more food items purchased by the second source; determine a shipping requirement associated with the at least one of the second set of the one or more food items; determine a cost of delivery of the at least one of the second set of the one or more food items; determine a cost of the at least one of the second set of the one or more food items; and identify a provider to deliver the at least one of the second set of the one or more food items based on the pick-up location, the drop-off location, the shipping requirement, the cost of delivery, and the cost of the at least one of the second set of the one or more food items.
13. The non-transitory computer-readable media of claim 8, wherein the processor executes computer-readable instructions to: provide an interface comprising a first dashboard to the first source to receive the first set of inputs and a second dashboard to the second source to receive the second set of inputs, wherein the first dashboard is accessible only to the first source and the second dashboard is accessible only to the second source;
display the second set of the one or more food items in the second dashboard; and provide a shopping interface to the second source to purchase the at least one of the second set of the one or more food items via the second dashboard.
14. The non-transitory computer-readable media of claim 8, wherein the processor executes computer-readable instructions to: receive a third set of inputs from the first machine learning model, a fourth set of inputs from the second machine learning model, a fifth set of inputs associated with a purchase history of the one or more food items; and generate one or more reports based on analyzing the third set of inputs, the fourth set of inputs, and the fifth set of inputs.
15. A method compri sing : receiving, from a first source, a first set of inputs associated with each of one or more food items; predicting, using a first machine learning model and based on the first set of inputs, a first set of the one or more food items expected to go to waste within a predetermined time period; matching, using a second machine learning model, the first set of the one or more food items with a second source based on a second set of inputs received from the second source to identify a second set of the one or more food items from the first set of the one or more food items; adding the second set of the one or more food items to a database for purchase by the second source to reduce food waste; receiving a request from the second source to purchase at least one of the second set of the one or more food items; and updating the database responsive to the purchase.
16. The method of claim 15, further comprising:
computing, using the first machine learning model, a risk score for each food item of the one or more food items based on the first set of inputs, the risk score indicative of a likelihood of the each item going to waste within the predetermined time period; comparing the risk score for the each food item with a threshold; in response to the risk score exceeding the threshold, determining that the each food item is expected to go waste within the predetermined time period; and adding the each food item to the first set of the one or more food items.
17. The method of claim 15, wherein to predict the first set of the one or more food items, the method further comprises: determining, using the first machine learning model, a predicted pattern of one or more parameters for each food item of the one or more food items based on the first set of inputs for the predetermined time period; determining an expected pattern of the one or more parameters for the each food item within the predetermined time period; comparing the predicted pattern with the expected pattern; determining that the each food item is expected to go waste upon the predicted pattern having a variance a greater than a threshold from the expected pattern; and adding the each food item to the first set of the one or more food items.
18. The method of claim 15, further comprising: determining a time to waste for each food item in the second set of the one or more food items based on an expiration date of the each food item; comparing the time to waste for the each food item with a threshold; and in response to determining that the time to waste for the each food item is greater than the threshold, adding the each food item to the first database.
19. The method of claim 15, further comprising: determining a pick-up location of the at least one of the second set of the one or more food items purchased by the second source;
determining a drop-off location of the at least one of the second set of the one or more food items purchased by the second source; determining a shipping requirement associated with the at least one of the second set of the one or more food items; determining a cost of delivery of the at least one of the second set of the one or more food items; determining a cost of the at least one of the second set of the one or more food items; and identify a provider to deliver the at least one of the second set of the one or more food items based on the pick-up location, the drop-off location, the shipping requirement, the cost of delivery, and the cost of the at least one of the second set of the one or more food items.
20. The method of claim 15, further comprising: providing an interface comprising a first dashboard to the first source to receive the first set of inputs and a second dashboard to the second source to receive the second set of inputs, wherein the first dashboard is accessible only to the first source and the second dashboard is accessible only to the second source; displaying the second set of the one or more food items in the second dashboard; and providing a shopping interface to the second source to purchase the at least one of the second set of the one or more food items via the second dashboard.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202363486189P | 2023-02-21 | 2023-02-21 | |
| US63/486,189 | 2023-02-21 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024177951A1 true WO2024177951A1 (en) | 2024-08-29 |
Family
ID=90458548
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2024/016427 Ceased WO2024177951A1 (en) | 2023-02-21 | 2024-02-20 | Management of food supply chain |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2024177951A1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119809522A (en) * | 2024-12-18 | 2025-04-11 | 深圳市丰宜科技有限公司 | A method for managing product expiration dates in unmanned retail cabinets based on machine learning models |
| CN120317679A (en) * | 2025-04-17 | 2025-07-15 | 中国科学院地理科学与资源研究所 | Risk management system and method based on food supply chain |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190102788A1 (en) * | 2017-10-04 | 2019-04-04 | Walmart Apollo, Llc | Perishable product conservation system |
| US20200302377A1 (en) * | 2019-03-18 | 2020-09-24 | International Business Machines Corporation | Reducing food waste by using a machine learning model |
| US20220343275A1 (en) * | 2019-09-18 | 2022-10-27 | Bao Tran | Production and logistics management |
-
2024
- 2024-02-20 WO PCT/US2024/016427 patent/WO2024177951A1/en not_active Ceased
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190102788A1 (en) * | 2017-10-04 | 2019-04-04 | Walmart Apollo, Llc | Perishable product conservation system |
| US20200302377A1 (en) * | 2019-03-18 | 2020-09-24 | International Business Machines Corporation | Reducing food waste by using a machine learning model |
| US20220343275A1 (en) * | 2019-09-18 | 2022-10-27 | Bao Tran | Production and logistics management |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119809522A (en) * | 2024-12-18 | 2025-04-11 | 深圳市丰宜科技有限公司 | A method for managing product expiration dates in unmanned retail cabinets based on machine learning models |
| CN120317679A (en) * | 2025-04-17 | 2025-07-15 | 中国科学院地理科学与资源研究所 | Risk management system and method based on food supply chain |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20210334881A1 (en) | Systems and methods for allocating and distributing inventory | |
| Ovezmyradov | Product availability and stockpiling in times of pandemic: causes of supply chain disruptions and preventive measures in retailing | |
| US8543473B2 (en) | Business partner collaboration and buy analysis | |
| WO2024177951A1 (en) | Management of food supply chain | |
| US20240037483A1 (en) | System and Method of Providing a Supply Chain Digital Hub | |
| US20190295032A1 (en) | Forecasting Returns for Retail Demand Planning | |
| US20200104771A1 (en) | Optimized Selection of Demand Forecast Parameters | |
| US20160162920A1 (en) | Systems and methods for purchasing price simulation and optimization | |
| US11354686B2 (en) | Short life cycle sales curve estimation | |
| US20220343237A1 (en) | Method for Providing Information Related to Item Scrap and an Apparatus for the Same | |
| CN112541722A (en) | Cross-region inventory supply method, device, electronic equipment and medium | |
| Dadouchi et al. | Recommender systems as an agility enabler in supply chain management | |
| CN113888268A (en) | An intelligent optimization service method and platform for dairy industry supply chain based on digital economy | |
| CN106716463A (en) | Physical distribution management system and price determination method using same | |
| US11080652B2 (en) | Method and system for supply chain management | |
| Saghiri et al. | Grocery omnichannel perishable inventories: performance measures and influencing factors | |
| CN108898312A (en) | Unmanned breakfast vending system | |
| US20220222689A1 (en) | Methods and apparatus for surge-adjusted forecasting | |
| US20230132654A1 (en) | Integrated agriculture information and management system, and methods of using the same | |
| US11544766B1 (en) | Point of sale mapping systems | |
| US10902379B2 (en) | System for customized unrequested item resolution | |
| JP2003345961A (en) | Stock risk management system and method for used products sales | |
| US20230316202A1 (en) | Methods and apparatuses for automatically predicting fill rates | |
| CN117236817A (en) | Digital logistics supply chain management system | |
| Shobur et al. | Optimization of Staple Products Using the Supply Chain Operation Reference (SCOR) To Customer Satisfaction in Central Java |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24713844 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |